---
Fuzzer filename: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
All functions:
  Function list name: All functions
  Elements:
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    RunTestPlanar
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 428
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          114
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - calloc
        - freerdp_bitmap_decompress_planar
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:411,43'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:411,13'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:417,7'
          Dst:             freerdp_bitmap_decompress_planar
    - 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:    116
      BranchProfiles:  []
      Callsites:       []
    - functionName:    TestPlanar
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          49
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - RunTestPlanar
        - freerdp_bitmap_planar_context_free
        - freerdp_bitmap_planar_context_new
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:434,34'
          Dst:             freerdp_bitmap_planar_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:439,2'
          Dst:             RunTestPlanar
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:441,2'
          Dst:             RunTestPlanar
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:445,2'
          Dst:             freerdp_bitmap_planar_context_free
    - functionName:    i_run_encode_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          119
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - bitmap_interleaved_context_reset
        - calloc
        - interleaved_decompress
        - winpr_RAND
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:349,19'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:350,19'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:351,14'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:360,2'
          Dst:             winpr_RAND
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:362,7'
          Dst:             bitmap_interleaved_context_reset
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:365,7'
          Dst:             interleaved_decompress
    - functionName:    progressive_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 328
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          109
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - calloc
        - progressive_context_free
        - progressive_context_new
        - progressive_create_surface_context
        - progressive_decompress
        - region16_init
        - region16_uninit
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:303,40'
          Dst:             progressive_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:305,2'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:309,15'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:313,7'
          Dst:             progressive_create_surface_context
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:317,7'
          Dst:             progressive_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:324,2'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:325,2'
          Dst:             progressive_context_free
    - functionName:    test_MppcDecompressBufferRdp5
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 280
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          78
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - mppc_context_free
        - mppc_context_new
        - mppc_decompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:266,23'
          Dst:             mppc_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:271,11'
          Dst:             mppc_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:278,2'
          Dst:             mppc_context_free
    - functionName:    test_MppcDecompressBellsRdp4
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          78
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - mppc_context_free
        - mppc_context_new
        - mppc_decompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:239,23'
          Dst:             mppc_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:244,11'
          Dst:             mppc_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:251,2'
          Dst:             mppc_context_free
    - functionName:    test_MppcDecompressBellsRdp5
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - mppc_context_free
        - mppc_context_new
        - mppc_decompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:211,23'
          Dst:             mppc_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:216,11'
          Dst:             mppc_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:224,2'
          Dst:             mppc_context_free
    - functionName:    test_NCrushDecompressBells
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          79
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ncrush_context_free
        - ncrush_context_new
        - ncrush_decompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:141,27'
          Dst:             ncrush_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:146,11'
          Dst:             ncrush_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:152,2'
          Dst:             ncrush_context_free
    - functionName:    test_ZGfxDecompressFoxSingle
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          80
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - zgfx_context_free
        - zgfx_context_new
        - zgfx_decompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:107,23'
          Dst:             zgfx_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:112,11'
          Dst:             zgfx_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:119,2'
          Dst:             zgfx_context_free
    - functionName:    test_ClearDecompressExample
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - clear_context_free
        - clear_context_new
        - clear_decompress
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:53,19'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:54,25'
          Dst:             clear_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:60,11'
          Dst:             clear_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:66,2'
          Dst:             clear_context_free
    - functionName:    TestFreeRDPCodecPlanar
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 450
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - TestPlanar
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:451,2'
          Dst:             TestPlanar
    - functionName:    TestFreeRDPCodecInterleaved
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 393
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - bitmap_interleaved_context_free
        - bitmap_interleaved_context_new
        - i_run_encode_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:382,40'
          Dst:             bitmap_interleaved_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:387,2'
          Dst:             i_run_encode_decode
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:388,2'
          Dst:             i_run_encode_decode
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:389,2'
          Dst:             i_run_encode_decode
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:392,2'
          Dst:             bitmap_interleaved_context_free
    - functionName:    TestFreeRDPCodecProgressive
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 331
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - progressive_decode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:332,2'
          Dst:             progressive_decode
    - functionName:    TestFreeRDPCodecMppc
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 287
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - test_MppcDecompressBellsRdp4
        - test_MppcDecompressBellsRdp5
        - test_MppcDecompressBufferRdp5
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:284,2'
          Dst:             test_MppcDecompressBellsRdp5
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:285,2'
          Dst:             test_MppcDecompressBellsRdp4
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:286,2'
          Dst:             test_MppcDecompressBufferRdp5
    - functionName:    TestFreeRDPCodecRemoteFX
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          101
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - region16_clear
        - region16_init
        - region16_print
        - region16_uninit
        - rfx_context_free
        - rfx_context_new
        - rfx_process_message
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:171,25'
          Dst:             rfx_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:172,15'
          Dst:             calloc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:183,2'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:184,7'
          Dst:             rfx_process_message
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:188,2'
          Dst:             region16_clear
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:189,7'
          Dst:             rfx_process_message
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:192,2'
          Dst:             region16_print
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:196,2'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:197,2'
          Dst:             rfx_context_free
    - functionName:    TestFreeRDPCodecNCrush
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - test_NCrushDecompressBells
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:158,2'
          Dst:             test_NCrushDecompressBells
    - functionName:    TestFreeRDPCodecZGfx
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 126
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - test_ZGfxDecompressFoxSingle
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:125,2'
          Dst:             test_ZGfxDecompressFoxSingle
    - functionName:    TestFreeRDPCodecXCrush
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          53
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - xcrush_context_free
        - xcrush_context_new
        - xcrush_decompress
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:88,27'
          Dst:             xcrush_context_new
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:91,2'
          Dst:             xcrush_decompress
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:92,2'
          Dst:             xcrush_context_free
    - functionName:    TestFreeRDPCodecClear
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - test_ClearDecompressExample
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:75,2'
          Dst:             test_ClearDecompressExample
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:76,2'
          Dst:             test_ClearDecompressExample
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:77,2'
          Dst:             test_ClearDecompressExample
    - functionName:    LLVMFuzzerTestOneInput
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/test/TestFuzzCodecs.c'
      linkageType:     externalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          58
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - TestFreeRDPCodecClear
        - TestFreeRDPCodecInterleaved
        - TestFreeRDPCodecMppc
        - TestFreeRDPCodecNCrush
        - TestFreeRDPCodecPlanar
        - TestFreeRDPCodecProgressive
        - TestFreeRDPCodecRemoteFX
        - TestFreeRDPCodecXCrush
        - TestFreeRDPCodecZGfx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:460,2'
          Dst:             TestFreeRDPCodecClear
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:461,2'
          Dst:             TestFreeRDPCodecXCrush
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:462,2'
          Dst:             TestFreeRDPCodecZGfx
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:463,2'
          Dst:             TestFreeRDPCodecNCrush
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:464,2'
          Dst:             TestFreeRDPCodecRemoteFX
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:465,2'
          Dst:             TestFreeRDPCodecMppc
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:466,2'
          Dst:             TestFreeRDPCodecProgressive
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:467,2'
          Dst:             TestFreeRDPCodecInterleaved
        - Src:             'libfreerdp/codec/test/TestFuzzCodecs.c:468,2'
          Dst:             TestFreeRDPCodecPlanar
    - functionName:    PLANAR_CONTROL_BYTE
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 101
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          97
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:101,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:101,9'
          Dst:             winpr_int_assert
    - functionName:    freerdp_bitmap_planar_write_rle_bytes
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1218
      functionLinenumberEnd: 1328
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          316
      EdgeCount:       71
      CyclomaticComplexity: 20
      functionsReached:
        - PLANAR_CONTROL_BYTE
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1241,20'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1247,20'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1254,19'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1261,18'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1291,19'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1296,19'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1302,18'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1307,18'
          Dst:             PLANAR_CONTROL_BYTE
        - Src:             'libfreerdp/codec/planar.c:1312,18'
          Dst:             PLANAR_CONTROL_BYTE
    - functionName:    freerdp_bitmap_planar_encode_rle_bytes
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1334
      functionLinenumberEnd: 1401
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          258
      EdgeCount:       48
      CyclomaticComplexity: 14
      functionsReached:
        - freerdp_bitmap_planar_write_rle_bytes
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1367,21'
          Dst:             freerdp_bitmap_planar_write_rle_bytes
        - Src:             'libfreerdp/codec/planar.c:1388,19'
          Dst:             freerdp_bitmap_planar_write_rle_bytes
    - functionName:    freerdp_bitmap_planar_compress_plane_rle
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1406
      functionLinenumberEnd: 1436
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          118
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - freerdp_bitmap_planar_encode_rle_bytes
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1419,7'
          Dst:             freerdp_bitmap_planar_encode_rle_bytes
    - functionName:    freerdp_bitmap_planar_delta_encode_plane
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1490
      functionLinenumberEnd: 1522
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          196
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1496,21'
          Dst:             calloc
    - functionName:    clamp
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 245
      functionLinenumberEnd: 246
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    check_source_available
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      bool
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          136
      EdgeCount:       41
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:252,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:253,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:253,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:257,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:    27
      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:    writeLine
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 547
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          313
      EdgeCount:       54
      CyclomaticComplexity: 6
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPWriteColor
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/planar.c:553,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:548,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:549,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:550,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:551,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:584,10'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/planar.c:585,6'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/planar.c:586,17'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:596,10'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/planar.c:597,6'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/planar.c:598,17'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PLANAR_CONTROL_BYTE_RAW_BYTES
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PLANAR_CONTROL_BYTE_RUN_LENGTH
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 105
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_planar_topdown_image
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1832
      functionLinenumberEnd: 1835
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1833,2'
          Dst:             winpr_int_assert
    - functionName:    freerdp_planar_switch_bgr
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1826
      functionLinenumberEnd: 1829
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1827,2'
          Dst:             winpr_int_assert
    - functionName:    freerdp_bitmap_planar_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1814
      functionLinenumberEnd: 1823
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1818,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/planar.c:1819,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/planar.c:1820,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/planar.c:1821,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/planar.c:1822,2'
          Dst:             winpr_aligned_free
    - functionName:    freerdp_bitmap_planar_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1780
      functionLinenumberEnd: 1811
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          120
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - freerdp_bitmap_planar_context_free
        - freerdp_bitmap_planar_context_reset
        - winpr_aligned_calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1782,30'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/planar.c:1801,7'
          Dst:             freerdp_bitmap_planar_context_reset
        - Src:             'libfreerdp/codec/planar.c:1805,3'
          Dst:             freerdp_bitmap_planar_context_free
    - functionName:    freerdp_bitmap_planar_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1722
      functionLinenumberEnd: 1776
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          336
      EdgeCount:       37
      CyclomaticComplexity: 12
      functionsReached:
        - winpr_aligned_recalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1746,15'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/planar.c:1751,9'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/planar.c:1756,9'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/planar.c:1761,9'
          Dst:             winpr_aligned_recalloc
    - functionName:    freerdp_bitmap_planar_compress_planes_rle
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1443
      functionLinenumberEnd: 1486
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          166
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - freerdp_bitmap_planar_compress_plane_rle
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1455,8'
          Dst:             freerdp_bitmap_planar_compress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1466,7'
          Dst:             freerdp_bitmap_planar_compress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1475,7'
          Dst:             freerdp_bitmap_planar_compress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1484,10'
          Dst:             freerdp_bitmap_planar_compress_plane_rle
    - functionName:    freerdp_bitmap_planar_delta_encode_planes
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1527
      functionLinenumberEnd: 1538
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          71
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - freerdp_bitmap_planar_delta_encode_plane
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1531,7'
          Dst:             freerdp_bitmap_planar_delta_encode_plane
    - functionName:    freerdp_split_color_planes
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1167
      functionLinenumberEnd: 1212
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          271
      EdgeCount:       48
      CyclomaticComplexity: 11
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1168,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1174,22'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:1185,26'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/codec/planar.c:1186,14'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:1187,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/codec/planar.c:1203,26'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/codec/planar.c:1204,14'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:1205,5'
          Dst:             FreeRDPSplitColor
    - functionName:    freerdp_bitmap_compress_planar
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1544
      functionLinenumberEnd: 1718
      functionDepth:   0
      returnType:      'N/A'
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          651
      EdgeCount:       105
      CyclomaticComplexity: 30
      functionsReached:
        - freerdp_bitmap_planar_compress_planes_rle
        - freerdp_bitmap_planar_delta_encode_planes
        - freerdp_split_color_planes
        - planar_invert_format
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:1559,12'
          Dst:             planar_invert_format
        - Src:             'libfreerdp/codec/planar.c:1561,7'
          Dst:             freerdp_split_color_planes
        - Src:             'libfreerdp/codec/planar.c:1567,8'
          Dst:             freerdp_bitmap_planar_delta_encode_planes
        - Src:             'libfreerdp/codec/planar.c:1571,8'
          Dst:             freerdp_bitmap_planar_compress_planes_rle
    - functionName:    planar_invert_format
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          137
      EdgeCount:       33
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/planar.c:119,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:116,2'
          Dst:             winpr_int_assert
    - functionName:    planar_subsample_expand
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 676
      functionLinenumberEnd: 708
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - size_t
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          141
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:680,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:681,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:685,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:692,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    planar_decompress_plane_rle_only
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         139
      ICount:          676
      EdgeCount:       165
      CyclomaticComplexity: 28
      functionsReached:
        - PLANAR_CONTROL_BYTE_RAW_BYTES
        - PLANAR_CONTROL_BYTE_RUN_LENGTH
        - WLog_Print_dbg_tag
        - check_source_available
        - clamp
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:270,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:271,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:281,9'
          Dst:             check_source_available
        - Src:             'libfreerdp/codec/planar.c:286,24'
          Dst:             PLANAR_CONTROL_BYTE_RUN_LENGTH
        - Src:             'libfreerdp/codec/planar.c:287,23'
          Dst:             PLANAR_CONTROL_BYTE_RAW_BYTES
        - Src:             'libfreerdp/codec/planar.c:302,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:308,10'
          Dst:             check_source_available
        - Src:             'libfreerdp/codec/planar.c:314,14'
          Dst:             clamp
        - Src:             'libfreerdp/codec/planar.c:322,14'
          Dst:             clamp
        - Src:             'libfreerdp/codec/planar.c:330,10'
          Dst:             check_source_available
        - Src:             'libfreerdp/codec/planar.c:342,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:342,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:347,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:347,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:351,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:351,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:352,14'
          Dst:             clamp
        - Src:             'libfreerdp/codec/planar.c:361,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:361,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:362,14'
          Dst:             clamp
    - functionName:    planar_set_plane
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 513
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - char
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          159
      EdgeCount:       35
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:518,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:519,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:520,2'
          Dst:             winpr_int_assert
    - functionName:    planar_decompress_plane_rle
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 508
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         169
      ICount:          821
      EdgeCount:       199
      CyclomaticComplexity: 32
      functionsReached:
        - PLANAR_CONTROL_BYTE_RAW_BYTES
        - PLANAR_CONTROL_BYTE_RUN_LENGTH
        - WLog_Print_dbg_tag
        - check_source_available
        - clamp
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:387,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:388,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:389,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:413,9'
          Dst:             check_source_available
        - Src:             'libfreerdp/codec/planar.c:418,24'
          Dst:             PLANAR_CONTROL_BYTE_RUN_LENGTH
        - Src:             'libfreerdp/codec/planar.c:419,23'
          Dst:             PLANAR_CONTROL_BYTE_RAW_BYTES
        - Src:             'libfreerdp/codec/planar.c:434,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:440,10'
          Dst:             check_source_available
        - Src:             'libfreerdp/codec/planar.c:448,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:448,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:456,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:456,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:464,10'
          Dst:             check_source_available
        - Src:             'libfreerdp/codec/planar.c:476,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:476,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:485,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:485,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:486,14'
          Dst:             clamp
        - Src:             'libfreerdp/codec/planar.c:495,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:495,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:496,14'
          Dst:             clamp
    - functionName:    planar_decompress_planes_raw
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          394
      EdgeCount:       97
      CyclomaticComplexity: 17
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - writeLine
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:619,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:623,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:623,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:630,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:630,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:636,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:645,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:656,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:656,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:658,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:666,8'
          Dst:             writeLine
    - functionName:    planar_skip_plane_rle
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 242
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          180
      EdgeCount:       39
      CyclomaticComplexity: 10
      functionsReached:
        - PLANAR_CONTROL_BYTE_RAW_BYTES
        - PLANAR_CONTROL_BYTE_RUN_LENGTH
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:189,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:197,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:203,26'
          Dst:             PLANAR_CONTROL_BYTE_RUN_LENGTH
        - Src:             'libfreerdp/codec/planar.c:204,25'
          Dst:             PLANAR_CONTROL_BYTE_RAW_BYTES
        - Src:             'libfreerdp/codec/planar.c:223,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:229,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:238,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeRDPColorHasAlpha
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_bitmap_decompress_planar
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 729
      functionLinenumberEnd: 1161
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         472
      ICount:          2544
      EdgeCount:       578
      CyclomaticComplexity: 108
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBytesPerPixel
        - WLog_Print_dbg_tag
        - freerdp_image_copy_no_overlap
        - planar_decompress_plane_rle
        - planar_decompress_plane_rle_only
        - planar_decompress_planes_raw
        - planar_invert_format
        - planar_set_plane
        - planar_skip_plane_rle
        - planar_subsample_expand
        - primitives_get
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:739,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/planar.c:741,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:742,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:749,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:757,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:764,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:774,14'
          Dst:             planar_invert_format
        - Src:             'libfreerdp/codec/planar.c:777,14'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/codec/planar.c:784,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:824,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:824,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:827,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:842,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:854,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:864,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:874,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:886,18'
          Dst:             planar_skip_plane_rle
        - Src:             'libfreerdp/codec/planar.c:897,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:897,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:900,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:903,17'
          Dst:             planar_skip_plane_rle
        - Src:             'libfreerdp/codec/planar.c:911,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:911,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:914,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:917,17'
          Dst:             planar_skip_plane_rle
        - Src:             'libfreerdp/codec/planar.c:924,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:924,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:927,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:930,17'
          Dst:             planar_skip_plane_rle
        - Src:             'libfreerdp/codec/planar.c:949,16'
          Dst:             planar_invert_format
        - Src:             'libfreerdp/codec/planar.c:960,9'
          Dst:             planar_decompress_planes_raw
        - Src:             'libfreerdp/codec/planar.c:976,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:985,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:993,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:993,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:992,13'
          Dst:             planar_decompress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1000,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1000,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:999,13'
          Dst:             planar_decompress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1007,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1007,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1006,13'
          Dst:             planar_decompress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1018,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1018,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1017,14'
          Dst:             planar_decompress_plane_rle
        - Src:             'libfreerdp/codec/planar.c:1022,14'
          Dst:             planar_set_plane
        - Src:             'libfreerdp/codec/planar.c:1034,9'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/planar.c:1038,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/planar.c:1049,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/planar.c:1073,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1073,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1072,14'
          Dst:             planar_decompress_plane_rle_only
        - Src:             'libfreerdp/codec/planar.c:1084,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1084,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1083,13'
          Dst:             planar_decompress_plane_rle_only
        - Src:             'libfreerdp/codec/planar.c:1091,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1091,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1090,13'
          Dst:             planar_decompress_plane_rle_only
        - Src:             'libfreerdp/codec/planar.c:1098,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1098,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1097,13'
          Dst:             planar_decompress_plane_rle_only
        - Src:             'libfreerdp/codec/planar.c:1116,10'
          Dst:             planar_subsample_expand
        - Src:             'libfreerdp/codec/planar.c:1125,10'
          Dst:             planar_subsample_expand
        - Src:             'libfreerdp/codec/planar.c:1135,9'
          Dst:             planar_decompress_planes_raw
        - Src:             'libfreerdp/codec/planar.c:1148,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1150,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1150,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1151,7'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1151,7'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/planar.c:1154,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    planar_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/planar.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 719
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - freerdp_bitmap_decompress_planar
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/planar.c:717,9'
          Dst:             freerdp_bitmap_decompress_planar
    - functionName:    WriteFgBgImage8to8
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - char
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          523
      EdgeCount:       147
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_8
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:41,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:45,7'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          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:    27
      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:    ensure_capacity_
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 381
      functionLinenumberEnd: 392
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - size_t
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          81
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    39
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:387,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    write_pixel_8
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          33
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    34
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:397,2'
          Dst:             winpr_int_assert
    - functionName:    WriteFirstLineFgBgImage8to8
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          474
      EdgeCount:       147
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_8
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:76,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:80,7'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
    - functionName:    WriteFgBgImage16to16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - char
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          523
      EdgeCount:       147
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_16
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:41,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:45,7'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
    - functionName:    write_pixel_16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 414
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          45
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    34
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:411,2'
          Dst:             winpr_int_assert
    - functionName:    WriteFirstLineFgBgImage16to16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          474
      EdgeCount:       147
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_16
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:76,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:80,7'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
    - functionName:    ExtractRunLengthMegaMega
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 274
      functionLinenumberEnd: 291
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          94
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - buffer_within_range_
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:277,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:278,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:279,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:281,7'
          Dst:             buffer_within_range_
    - functionName:    buffer_within_range_
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    39
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:158,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:159,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:163,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ExtractRunLengthLite
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 313
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          100
      EdgeCount:       29
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_within_range_
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:297,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:298,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:299,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:304,8'
          Dst:             buffer_within_range_
    - functionName:    ExtractRunLengthRegular
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 271
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          100
      EdgeCount:       29
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_within_range_
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:254,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:255,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:256,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:261,8'
          Dst:             buffer_within_range_
    - functionName:    ExtractRunLengthLiteFgBg
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 226
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          103
      EdgeCount:       29
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_within_range_
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:229,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:230,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:231,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:236,8'
          Dst:             buffer_within_range_
    - functionName:    ExtractRunLengthRegularFgBg
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 223
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          103
      EdgeCount:       29
      CyclomaticComplexity: 4
      functionsReached:
        - buffer_within_range_
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:204,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:205,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:206,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:211,8'
          Dst:             buffer_within_range_
    - functionName:    WriteFgBgImage24to24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 61
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - char
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          583
      EdgeCount:       147
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_24
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:41,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:45,7'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:48,2'
          Dst:             winpr_int_assert
    - functionName:    write_pixel_24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    34
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:403,2'
          Dst:             winpr_int_assert
    - functionName:    WriteFirstLineFgBgImage24to24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - char
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         127
      ICount:          474
      EdgeCount:       147
      CyclomaticComplexity: 22
      functionsReached:
        - WLog_Print_dbg_tag
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_24
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:76,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:80,7'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:83,2'
          Dst:             winpr_int_assert
    - functionName:    ExtractRunLength
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 374
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          177
      EdgeCount:       45
      CyclomaticComplexity: 2
      functionsReached:
        - ExtractRunLengthLite
        - ExtractRunLengthLiteFgBg
        - ExtractRunLengthMegaMega
        - ExtractRunLengthRegular
        - ExtractRunLengthRegularFgBg
        - buffer_within_range_
        - winpr_int_assert
      functionUses:    18
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/interleaved.c:333,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:321,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:322,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:323,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/interleaved.c:330,7'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/interleaved.c:336,16'
          Dst:             ExtractRunLengthRegularFgBg
        - Src:             'libfreerdp/codec/interleaved.c:340,16'
          Dst:             ExtractRunLengthLiteFgBg
        - Src:             'libfreerdp/codec/interleaved.c:347,16'
          Dst:             ExtractRunLengthRegular
        - Src:             'libfreerdp/codec/interleaved.c:352,16'
          Dst:             ExtractRunLengthLite
        - Src:             'libfreerdp/codec/interleaved.c:363,16'
          Dst:             ExtractRunLengthMegaMega
    - functionName:    ExtractCodeId
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 175
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    bitmap_interleaved_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 768
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Free
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:765,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/interleaved.c:766,2'
          Dst:             Stream_Free
        - Src:             'libfreerdp/codec/interleaved.c:767,2'
          Dst:             winpr_aligned_free
    - functionName:    bitmap_interleaved_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 731
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_New
        - bitmap_interleaved_context_free
        - winpr_aligned_calloc
        - winpr_aligned_recalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:733,45'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/interleaved.c:739,29'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/interleaved.c:744,22'
          Dst:             Stream_New
        - Src:             'libfreerdp/codec/interleaved.c:755,2'
          Dst:             bitmap_interleaved_context_free
    - functionName:    bitmap_interleaved_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 727
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Stream_Length
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1345
      functionLinenumberEnd: 1347
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1346,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_ResetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1378
      functionLinenumberEnd: 1381
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1379,3'
          Dst:             winpr_int_assert
    - functionName:    interleaved_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 659
      functionLinenumberEnd: 723
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          213
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - Stream_Free
        - Stream_Length
        - Stream_New
        - Stream_ResetPosition
        - Stream_SealLength
        - WLog_Print_dbg_tag
        - freerdp_bitmap_compress
        - freerdp_image_copy_no_overlap
      functionUses:    0
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/interleaved.c:686,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:673,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:679,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:704,7'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/interleaved.c:709,6'
          Dst:             Stream_New
        - Src:             'libfreerdp/codec/interleaved.c:714,2'
          Dst:             Stream_ResetPosition
        - Src:             'libfreerdp/codec/interleaved.c:716,12'
          Dst:             freerdp_bitmap_compress
        - Src:             'libfreerdp/codec/interleaved.c:719,2'
          Dst:             Stream_SealLength
        - Src:             'libfreerdp/codec/interleaved.c:720,22'
          Dst:             Stream_Length
        - Src:             'libfreerdp/codec/interleaved.c:721,2'
          Dst:             Stream_Free
    - functionName:    RleDecompress8to8
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         523
      ICount:          2023
      EdgeCount:       621
      CyclomaticComplexity: 100
      functionsReached:
        - ExtractCodeId
        - ExtractRunLength
        - WLog_Print_dbg_tag
        - WriteFgBgImage8to8
        - WriteFirstLineFgBgImage8to8
        - buffer_within_range_
        - ensure_capacity_
        - write_pixel_8
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/include/bitmap.h:215,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:121,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:128,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:153,10'
          Dst:             ExtractCodeId
        - Src:             'libfreerdp/codec/include/bitmap.h:163,16'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:172,11'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:175,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:179,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:190,11'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:193,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:197,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:222,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:229,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:234,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:254,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:258,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:261,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:265,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:277,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:281,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:285,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:296,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:303,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:308,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:316,16'
          Dst:             WriteFirstLineFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:330,16'
          Dst:             WriteFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:341,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:348,11'
          Dst:             WriteFirstLineFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:353,11'
          Dst:             WriteFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:365,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:369,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:371,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:382,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:389,10'
          Dst:             WriteFirstLineFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:394,10'
          Dst:             WriteFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:404,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:411,10'
          Dst:             WriteFirstLineFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:416,10'
          Dst:             WriteFgBgImage8to8
        - Src:             'libfreerdp/codec/include/bitmap.h:426,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:430,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:433,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:438,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:442,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:445,5'
          Dst:             write_pixel_8
        - Src:             'libfreerdp/codec/include/bitmap.h:449,5'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RleDecompress16to16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         691
      ICount:          2671
      EdgeCount:       813
      CyclomaticComplexity: 124
      functionsReached:
        - ExtractCodeId
        - ExtractRunLength
        - WLog_Print_dbg_tag
        - WriteFgBgImage16to16
        - WriteFirstLineFgBgImage16to16
        - buffer_within_range_
        - ensure_capacity_
        - winpr_int_assert
        - write_pixel_16
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/include/bitmap.h:215,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:121,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:128,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:153,10'
          Dst:             ExtractCodeId
        - Src:             'libfreerdp/codec/include/bitmap.h:163,16'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:172,11'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:175,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:179,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:190,11'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:193,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:197,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:222,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:229,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:231,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:231,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:234,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:254,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:258,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:260,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:260,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:261,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:263,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:263,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:265,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:277,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:281,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:283,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:283,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:285,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:296,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:303,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:305,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:305,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:308,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:316,16'
          Dst:             WriteFirstLineFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:330,16'
          Dst:             WriteFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:341,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:348,11'
          Dst:             WriteFirstLineFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:353,11'
          Dst:             WriteFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:365,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:369,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:371,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:382,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:389,10'
          Dst:             WriteFirstLineFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:394,10'
          Dst:             WriteFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:404,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:411,10'
          Dst:             WriteFirstLineFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:416,10'
          Dst:             WriteFgBgImage16to16
        - Src:             'libfreerdp/codec/include/bitmap.h:426,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:430,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:433,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:438,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:442,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:445,5'
          Dst:             write_pixel_16
        - Src:             'libfreerdp/codec/include/bitmap.h:449,5'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RleDecompress24to24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/include/bitmap.h'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         523
      ICount:          2292
      EdgeCount:       621
      CyclomaticComplexity: 100
      functionsReached:
        - ExtractCodeId
        - ExtractRunLength
        - WLog_Print_dbg_tag
        - WriteFgBgImage24to24
        - WriteFirstLineFgBgImage24to24
        - buffer_within_range_
        - ensure_capacity_
        - write_pixel_24
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/include/bitmap.h:215,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/include/bitmap.h:121,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:128,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/include/bitmap.h:153,10'
          Dst:             ExtractCodeId
        - Src:             'libfreerdp/codec/include/bitmap.h:163,16'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:172,11'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:175,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:179,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:182,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:190,11'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:193,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:197,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:200,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:222,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:229,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:234,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:239,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:243,6'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:254,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:258,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:261,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:265,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:268,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:277,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:281,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:285,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:288,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:296,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:303,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:308,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:316,16'
          Dst:             WriteFirstLineFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:330,16'
          Dst:             WriteFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:341,11'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:348,11'
          Dst:             WriteFirstLineFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:353,11'
          Dst:             WriteFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:365,17'
          Dst:             ExtractRunLength
        - Src:             'libfreerdp/codec/include/bitmap.h:369,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:371,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:374,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:382,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:389,10'
          Dst:             WriteFirstLineFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:394,10'
          Dst:             WriteFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:404,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:411,10'
          Dst:             WriteFirstLineFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:416,10'
          Dst:             WriteFgBgImage24to24
        - Src:             'libfreerdp/codec/include/bitmap.h:426,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:430,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:433,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:438,10'
          Dst:             buffer_within_range_
        - Src:             'libfreerdp/codec/include/bitmap.h:442,10'
          Dst:             ensure_capacity_
        - Src:             'libfreerdp/codec/include/bitmap.h:445,5'
          Dst:             write_pixel_24
        - Src:             'libfreerdp/codec/include/bitmap.h:449,5'
          Dst:             WLog_Print_dbg_tag
    - functionName:    interleaved_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/interleaved.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 652
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          345
      EdgeCount:       70
      CyclomaticComplexity: 17
      functionsReached:
        - RleDecompress16to16
        - RleDecompress24to24
        - RleDecompress8to8
        - WLog_Print_dbg_tag
        - freerdp_image_copy_no_overlap
        - winpr_aligned_recalloc
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/interleaved.c:555,2'
          Branch Sides:    []
        - Branch String:   'libfreerdp/codec/interleaved.c:606,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/interleaved.c:543,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:584,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:596,7'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/interleaved.c:602,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:609,9'
          Dst:             RleDecompress24to24
        - Src:             'libfreerdp/codec/interleaved.c:612,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:620,9'
          Dst:             RleDecompress16to16
        - Src:             'libfreerdp/codec/interleaved.c:623,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:630,9'
          Dst:             RleDecompress8to8
        - Src:             'libfreerdp/codec/interleaved.c:633,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:640,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/interleaved.c:644,7'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/interleaved.c:648,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    BitStream_GetRemainingLength
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:172,3'
          Dst:             winpr_int_assert
    - functionName:    BitStream_Shift
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          204
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - BitStream_Prefetch
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:101,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:123,5'
          Dst:             BitStream_Prefetch
        - Src:             'winpr/include/winpr/bitstream.h:134,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    BitStream_Prefetch
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          155
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:53,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:    27
      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:    progressive_rfx_srl_read
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1077
      functionLinenumberEnd: 1162
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         70
      ICount:          392
      EdgeCount:       85
      CyclomaticComplexity: 17
      functionsReached:
        - BitStream_Shift
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1078,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1081,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1095,3'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/progressive.c:1119,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1119,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1120,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/progressive.c:1135,2'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/progressive.c:1151,3'
          Dst:             BitStream_Shift
    - functionName:    rawShift
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1193
      functionLinenumberEnd: 1200
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          66
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - BitStream_Shift
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1194,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1195,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1199,2'
          Dst:             BitStream_Shift
    - functionName:    progressive_rfx_upgrade_state_finish
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1190
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          128
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - BitStream_GetRemainingLength
        - BitStream_Shift
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1179,3'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/progressive.c:1184,3'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/progressive.c:1186,6'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:1187,3'
          Dst:             BitStream_Shift
    - functionName:    progressive_rfx_upgrade_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1208
      functionLinenumberEnd: 1256
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         85
      ICount:          415
      EdgeCount:       100
      CyclomaticComplexity: 17
      functionsReached:
        - progressive_rfx_srl_read
        - rawShift
        - winpr_int_assert
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1219,12'
          Dst:             rawShift
        - Src:             'libfreerdp/codec/progressive.c:1223,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1223,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1235,12'
          Dst:             rawShift
        - Src:             'libfreerdp/codec/progressive.c:1240,12'
          Dst:             rawShift
        - Src:             'libfreerdp/codec/progressive.c:1246,12'
          Dst:             progressive_rfx_srl_read
        - Src:             'libfreerdp/codec/progressive.c:1247,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1247,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1252,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1252,19'
          Dst:             winpr_int_assert
    - functionName:    BitStream_Fetch
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          157
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - BitStream_Prefetch
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:70,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:82,3'
          Dst:             BitStream_Prefetch
    - functionName:    progressive_rfx_upgrade_component
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1266
      functionLinenumberEnd: 1329
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          380
      EdgeCount:       37
      CyclomaticComplexity: 13
      functionsReached:
        - BitStream_Attach
        - BitStream_Fetch
        - progressive_rfx_dwt_2d_decode
        - progressive_rfx_upgrade_block
        - progressive_rfx_upgrade_state_finish
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1276,2'
          Dst:             BitStream_Attach
        - Src:             'libfreerdp/codec/progressive.c:1277,2'
          Dst:             BitStream_Fetch
        - Src:             'libfreerdp/codec/progressive.c:1278,2'
          Dst:             BitStream_Attach
        - Src:             'libfreerdp/codec/progressive.c:1279,2'
          Dst:             BitStream_Fetch
        - Src:             'libfreerdp/codec/progressive.c:1282,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1286,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1290,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1294,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1298,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1302,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1306,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1310,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1314,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1320,7'
          Dst:             progressive_rfx_upgrade_block
        - Src:             'libfreerdp/codec/progressive.c:1324,7'
          Dst:             progressive_rfx_upgrade_state_finish
        - Src:             'libfreerdp/codec/progressive.c:1327,9'
          Dst:             progressive_rfx_dwt_2d_decode
    - functionName:    progressive_rfx_dwt_2d_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 848
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          170
      EdgeCount:       38
      CyclomaticComplexity: 10
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - primitives_get
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:814,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/progressive.c:832,24'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/progressive.c:843,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:846,2'
          Dst:             BufferPool_Return
    - functionName:    progressive_rfx_quant_sub
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          307
      EdgeCount:       31
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_rfx_quant_cmp_equal
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          175
      EdgeCount:       31
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_rfx_decode_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 853
      functionLinenumberEnd: 858
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_differential_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_differential.h'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          127
      EdgeCount:       31
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_differential.h:34,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_differential.h:34,12'
          Dst:             winpr_int_assert
    - functionName:    progressive_rfx_decode_component
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 927
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         49
      ICount:          409
      EdgeCount:       71
      CyclomaticComplexity: 24
      functionsReached:
        - primitives_get
        - progressive_rfx_decode_block
        - progressive_rfx_dwt_2d_decode
        - rfx_differential_decode
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:869,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/progressive.c:879,3'
          Dst:             rfx_differential_decode
        - Src:             'libfreerdp/codec/progressive.c:880,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:882,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:884,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:886,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:888,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:890,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:892,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:894,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:896,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:898,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:903,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:905,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:907,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:909,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:911,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:913,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:915,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:917,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:919,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:921,3'
          Dst:             rfx_differential_decode
        - Src:             'libfreerdp/codec/progressive.c:922,8'
          Dst:             progressive_rfx_decode_block
        - Src:             'libfreerdp/codec/progressive.c:925,9'
          Dst:             progressive_rfx_dwt_2d_decode
    - functionName:    progressive_rfx_quant_lsub
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 140
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          225
      EdgeCount:       31
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_rfx_quant_add
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          140
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_decompress_tile_upgrade
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1336
      functionLinenumberEnd: 1513
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          686
      EdgeCount:       88
      CyclomaticComplexity: 23
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - primitives_get
        - progressive_rfx_quant_add
        - progressive_rfx_quant_cmp_equal
        - progressive_rfx_quant_lsub
        - progressive_rfx_quant_sub
        - progressive_rfx_upgrade_component
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1362,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/progressive.c:1383,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1391,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1400,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1415,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1427,7'
          Dst:             progressive_rfx_quant_cmp_equal
        - Src:             'libfreerdp/codec/progressive.c:1428,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1428,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1430,7'
          Dst:             progressive_rfx_quant_cmp_equal
        - Src:             'libfreerdp/codec/progressive.c:1431,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1431,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1433,7'
          Dst:             progressive_rfx_quant_cmp_equal
        - Src:             'libfreerdp/codec/progressive.c:1434,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1434,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1437,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1439,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1440,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1441,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1442,7'
          Dst:             progressive_rfx_quant_sub
        - Src:             'libfreerdp/codec/progressive.c:1444,7'
          Dst:             progressive_rfx_quant_sub
        - Src:             'libfreerdp/codec/progressive.c:1446,7'
          Dst:             progressive_rfx_quant_sub
        - Src:             'libfreerdp/codec/progressive.c:1448,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1449,7'
          Dst:             progressive_rfx_quant_lsub
        - Src:             'libfreerdp/codec/progressive.c:1451,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1452,7'
          Dst:             progressive_rfx_quant_lsub
        - Src:             'libfreerdp/codec/progressive.c:1454,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1455,7'
          Dst:             progressive_rfx_quant_lsub
        - Src:             'libfreerdp/codec/progressive.c:1476,19'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/progressive.c:1481,11'
          Dst:             progressive_rfx_upgrade_component
        - Src:             'libfreerdp/codec/progressive.c:1489,11'
          Dst:             progressive_rfx_upgrade_component
        - Src:             'libfreerdp/codec/progressive.c:1497,11'
          Dst:             progressive_rfx_upgrade_component
        - Src:             'libfreerdp/codec/progressive.c:1511,2'
          Dst:             BufferPool_Return
    - functionName:    progressive_decompress_tile_first
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 1073
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          481
      EdgeCount:       39
      CyclomaticComplexity: 13
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - WLog_Print_dbg_tag
        - primitives_get
        - progressive_rfx_decode_component
        - progressive_rfx_quant_add
        - progressive_rfx_quant_lsub
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:954,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/progressive.c:973,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:981,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:990,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1005,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1024,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1025,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1026,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1027,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1028,7'
          Dst:             progressive_rfx_quant_lsub
        - Src:             'libfreerdp/codec/progressive.c:1030,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1031,7'
          Dst:             progressive_rfx_quant_lsub
        - Src:             'libfreerdp/codec/progressive.c:1033,2'
          Dst:             progressive_rfx_quant_add
        - Src:             'libfreerdp/codec/progressive.c:1034,7'
          Dst:             progressive_rfx_quant_lsub
        - Src:             'libfreerdp/codec/progressive.c:1045,19'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/progressive.c:1050,7'
          Dst:             progressive_rfx_decode_component
        - Src:             'libfreerdp/codec/progressive.c:1054,7'
          Dst:             progressive_rfx_decode_component
        - Src:             'libfreerdp/codec/progressive.c:1059,7'
          Dst:             progressive_rfx_decode_component
        - Src:             'libfreerdp/codec/progressive.c:1071,2'
          Dst:             BufferPool_Return
    - functionName:    progressive_surface_tile_replace
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 464
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          382
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - WLog_Print_dbg_tag
        - progressive_allocate_tile_cache
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:475,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:522,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:532,9'
          Dst:             progressive_allocate_tile_cache
    - functionName:    progressive_allocate_tile_cache
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 433
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          175
      EdgeCount:       38
      CyclomaticComplexity: 8
      functionsReached:
        - progressive_tile_new
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:401,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:402,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:411,14'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/progressive.c:420,23'
          Dst:             progressive_tile_new
        - Src:             'libfreerdp/codec/progressive.c:426,6'
          Dst:             winpr_aligned_recalloc
    - functionName:    progressive_tile_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         13
      ICount:          107
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - progressive_tile_free
        - winpr_aligned_calloc
        - winpr_aligned_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:358,31'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/progressive.c:368,23'
          Dst:             winpr_aligned_malloc
        - Src:             'libfreerdp/codec/progressive.c:376,23'
          Dst:             winpr_aligned_malloc
        - Src:             'libfreerdp/codec/progressive.c:384,26'
          Dst:             winpr_aligned_malloc
        - Src:             'libfreerdp/codec/progressive.c:392,2'
          Dst:             progressive_tile_free
    - functionName:    progressive_tile_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 325
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:328,3'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/progressive.c:329,3'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/progressive.c:330,3'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/progressive.c:331,3'
          Dst:             winpr_aligned_free
    - functionName:    progressive_process_tiles_tile_work_callback
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1658
      functionLinenumberEnd: 1682
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          113
      EdgeCount:       16
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - progressive_decompress_tile_first
        - progressive_decompress_tile_upgrade
        - rfx_get_progressive_block_type_string
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/progressive.c:1664,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1668,4'
          Dst:             progressive_decompress_tile_first
        - Src:             'libfreerdp/codec/progressive.c:1673,4'
          Dst:             progressive_decompress_tile_upgrade
        - Src:             'libfreerdp/codec/progressive.c:1677,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1677,4'
          Dst:             rfx_get_progressive_block_type_string
        - Src:             'libfreerdp/codec/progressive.c:1677,4'
          Dst:             WLog_PrintTextMessage
    - functionName:    progressive_tile_read_upgrade
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1520
      functionLinenumberEnd: 1591
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         84
      ICount:          387
      EdgeCount:       97
      CyclomaticComplexity: 15
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Pointer
        - Stream_SafeSeekEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - progressive_surface_tile_replace
        - stream_read_u16_le
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1524,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1531,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1532,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1533,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1534,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1535,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1536,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1537,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1538,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1539,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1540,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1541,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1542,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1544,18'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1545,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1547,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1547,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1551,18'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1552,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1554,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1554,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1558,19'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1559,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1561,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1561,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1566,19'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1567,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1569,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1569,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1574,19'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1575,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1577,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1577,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1582,19'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1583,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1585,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1585,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1590,9'
          Dst:             progressive_surface_tile_replace
    - 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:    21
      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_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:    25
      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_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1313,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:    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:    4
      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_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:    progressive_tile_read
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1599
      functionLinenumberEnd: 1654
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - short
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         67
      ICount:          316
      EdgeCount:       77
      CyclomaticComplexity: 12
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Pointer
        - Stream_SafeSeekEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - progressive_surface_tile_replace
        - stream_read_u16_le
        - stream_read_u8
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1603,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1609,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1610,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1611,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1612,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1613,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1614,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1617,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1620,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1621,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1622,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1623,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1625,15'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1626,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1628,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1628,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1632,16'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1633,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1635,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1635,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1639,16'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1640,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1642,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1642,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1646,18'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:1647,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/progressive.c:1649,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1649,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1653,9'
          Dst:             progressive_surface_tile_replace
    - functionName:    progressive_process_tiles
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1690
      functionLinenumberEnd: 1832
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         134
      ICount:          681
      EdgeCount:       160
      CyclomaticComplexity: 28
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_GetPosition
        - Stream_GetRemainingLength
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - progressive_process_tiles_tile_work_callback
        - progressive_tile_read
        - progressive_tile_read_upgrade
        - rfx_get_progressive_block_type_string
        - stream_read_u16_le
        - stream_read_u32_le
        - winpr_CloseThreadpoolWork
        - winpr_CreateThreadpoolWork
        - winpr_SubmitThreadpoolWork
        - winpr_WaitForThreadpoolWorkCallbacks
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/progressive.c:1727,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1693,23'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:1699,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1700,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1702,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1705,10'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:1706,34'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:1708,22'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:1710,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1711,3'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/progressive.c:1720,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1720,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1724,8'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1730,10'
          Dst:             progressive_tile_read
        - Src:             'libfreerdp/codec/progressive.c:1736,10'
          Dst:             progressive_tile_read
        - Src:             'libfreerdp/codec/progressive.c:1742,10'
          Dst:             progressive_tile_read_upgrade
        - Src:             'libfreerdp/codec/progressive.c:1747,5'
          Dst:             rfx_get_progressive_block_type_string
        - Src:             'libfreerdp/codec/progressive.c:1747,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1752,16'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:1755,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1755,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1762,8'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:1765,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1765,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1773,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1773,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1790,37'
          Dst:             winpr_CreateThreadpoolWork
        - Src:             'libfreerdp/codec/progressive.c:1790,37'
          Dst:             progressive_process_tiles_tile_work_callback
        - Src:             'libfreerdp/codec/progressive.c:1794,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1794,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1800,4'
          Dst:             winpr_SubmitThreadpoolWork
        - Src:             'libfreerdp/codec/progressive.c:1802,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1802,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:1806,4'
          Dst:             progressive_process_tiles_tile_work_callback
        - Src:             'libfreerdp/codec/progressive.c:1811,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1811,4'
          Dst:             rfx_get_progressive_block_type_string
        - Src:             'libfreerdp/codec/progressive.c:1811,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1821,4'
          Dst:             winpr_WaitForThreadpoolWorkCallbacks
        - Src:             'libfreerdp/codec/progressive.c:1822,4'
          Dst:             winpr_CloseThreadpoolWork
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1366
      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:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1364,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1365,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:    5
      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:    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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,3'
          Dst:             winpr_int_assert
    - functionName:    progressive_rfx_quant_lcmp_less_equal
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          145
      EdgeCount:       31
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_rfx_quant_lcmp_greater_equal
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 228
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          145
      EdgeCount:       31
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_component_codec_quant_read
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          115
      EdgeCount:       13
      CyclomaticComplexity: 2
      functionsReached:
        - stream_read_u8
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:64,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:67,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:70,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:73,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:76,2'
          Dst:             stream_read_u8
    - functionName:    progressive_wb_read_region_header
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2028
      functionLinenumberEnd: 2110
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         117
      ICount:          535
      EdgeCount:       138
      CyclomaticComplexity: 23
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_GetRemainingLength
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2031,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:2036,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:2037,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2038,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:2039,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:2040,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:2041,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2042,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/progressive.c:2046,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2046,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2053,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2053,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2060,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2060,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2066,21'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:2066,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2066,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2074,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2074,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2082,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2082,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2090,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2090,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2098,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2098,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2105,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2105,4'
          Dst:             WLog_PrintTextMessage
    - functionName:    progressive_wb_skip_region
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2115
      functionLinenumberEnd: 2127
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          126
      EdgeCount:       34
      CyclomaticComplexity: 7
      functionsReached:
        - Stream_SafeSeekEx
        - progressive_wb_read_region_header
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2119,6'
          Dst:             progressive_wb_read_region_header
        - Src:             'libfreerdp/codec/progressive.c:2123,7'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2123,7'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2123,7'
          Dst:             Stream_SafeSeekEx
    - functionName:    progressive_wb_region
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2134
      functionLinenumberEnd: 2248
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          620
      EdgeCount:       132
      CyclomaticComplexity: 24
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - progressive_component_codec_quant_read
        - progressive_process_tiles
        - progressive_rfx_quant_lcmp_greater_equal
        - progressive_rfx_quant_lcmp_less_equal
        - progressive_wb_read_region_header
        - progressive_wb_skip_region
        - stream_read_u16_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2148,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2149,10'
          Dst:             progressive_wb_skip_region
        - Src:             'libfreerdp/codec/progressive.c:2153,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2154,10'
          Dst:             progressive_wb_skip_region
        - Src:             'libfreerdp/codec/progressive.c:2159,7'
          Dst:             progressive_wb_read_region_header
        - Src:             'libfreerdp/codec/progressive.c:2166,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2167,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2168,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2169,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2175,3'
          Dst:             progressive_component_codec_quant_read
        - Src:             'libfreerdp/codec/progressive.c:2177,8'
          Dst:             progressive_rfx_quant_lcmp_greater_equal
        - Src:             'libfreerdp/codec/progressive.c:2179,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2179,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2184,8'
          Dst:             progressive_rfx_quant_lcmp_less_equal
        - Src:             'libfreerdp/codec/progressive.c:2186,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2186,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2196,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:2198,3'
          Dst:             progressive_component_codec_quant_read
        - Src:             'libfreerdp/codec/progressive.c:2199,3'
          Dst:             progressive_component_codec_quant_read
        - Src:             'libfreerdp/codec/progressive.c:2200,3'
          Dst:             progressive_component_codec_quant_read
        - Src:             'libfreerdp/codec/progressive.c:2212,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2212,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2213,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2213,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2244,22'
          Dst:             progressive_process_tiles
    - functionName:    progressive_wb_context
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1979
      functionLinenumberEnd: 2022
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          193
      EdgeCount:       43
      CyclomaticComplexity: 10
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - stream_read_u16_le
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1986,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1986,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1992,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1995,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:1996,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1997,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/progressive.c:2000,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2004,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2009,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2011,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2013,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    progressive_wb_frame_end
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1941
      functionLinenumberEnd: 1974
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          138
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - Stream_GetRemainingLength
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1949,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1949,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1955,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:1957,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1957,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:1957,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1968,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1970,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    progressive_wb_frame_begin
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1889
      functionLinenumberEnd: 1936
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          122
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - stream_read_u16_le
        - stream_read_u32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1897,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1897,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1903,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1906,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/progressive.c:1907,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1923,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:1929,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    progressive_wb_sync
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1837
      functionLinenumberEnd: 1884
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          185
      EdgeCount:       48
      CyclomaticComplexity: 10
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - stream_read_u16_le
        - stream_read_u32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:1847,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1847,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1853,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:1860,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/progressive.c:1861,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:1865,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1865,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1873,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:1873,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:1880,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    clampi16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 592
      functionLinenumberEnd: 598
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_rfx_idwt_y
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 673
      functionLinenumberEnd: 742
      functionDepth:   0
      returnType:      void
      argCount:        9
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          309
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - clampi16
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:685,16'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:686,16'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:694,9'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:695,9'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:710,11'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:715,10'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:718,11'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:727,9'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:730,10'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:735,10'
          Dst:             clampi16
    - functionName:    progressive_rfx_idwt_x
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 604
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      void
      argCount:        9
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          293
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - clampi16
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:615,14'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:616,14'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:624,9'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:625,9'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:638,13'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:644,10'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:646,13'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:654,9'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:656,12'
          Dst:             clampi16
        - Src:             'libfreerdp/codec/progressive.c:660,12'
          Dst:             clampi16
    - functionName:    progressive_rfx_get_band_h_count
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 750
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          31
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_rfx_get_band_l_count
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 745
      functionLinenumberEnd: 746
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    progressive_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2689
      functionLinenumberEnd: 2701
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          46
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BufferPool_Free
        - HashTable_Free
        - Stream_Free
        - rfx_context_free
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2693,2'
          Dst:             Stream_Free
        - Src:             'libfreerdp/codec/progressive.c:2694,2'
          Dst:             Stream_Free
        - Src:             'libfreerdp/codec/progressive.c:2695,2'
          Dst:             rfx_context_free
        - Src:             'libfreerdp/codec/progressive.c:2697,2'
          Dst:             BufferPool_Free
        - Src:             'libfreerdp/codec/progressive.c:2698,2'
          Dst:             HashTable_Free
        - Src:             'libfreerdp/codec/progressive.c:2700,2'
          Dst:             winpr_aligned_free
    - functionName:    progressive_context_new_ex
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2646
      functionLinenumberEnd: 2686
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          147
      EdgeCount:       32
      CyclomaticComplexity: 9
      functionsReached:
        - BufferPool_New
        - HashTable_New
        - HashTable_ValueObject
        - Stream_New
        - WLog_Get
        - progressive_context_free
        - rfx_context_new_ex
        - winpr_aligned_calloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2648,28'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/progressive.c:2655,21'
          Dst:             WLog_Get
        - Src:             'libfreerdp/codec/progressive.c:2658,29'
          Dst:             rfx_context_new_ex
        - Src:             'libfreerdp/codec/progressive.c:2661,24'
          Dst:             Stream_New
        - Src:             'libfreerdp/codec/progressive.c:2664,23'
          Dst:             Stream_New
        - Src:             'libfreerdp/codec/progressive.c:2667,28'
          Dst:             BufferPool_New
        - Src:             'libfreerdp/codec/progressive.c:2670,33'
          Dst:             HashTable_New
        - Src:             'libfreerdp/codec/progressive.c:2675,18'
          Dst:             HashTable_ValueObject
        - Src:             'libfreerdp/codec/progressive.c:2676,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2683,2'
          Dst:             progressive_context_free
    - functionName:    progressive_surface_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          75
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - progressive_tile_free
        - winpr_aligned_free
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:347,4'
          Dst:             progressive_tile_free
        - Src:             'libfreerdp/codec/progressive.c:351,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/progressive.c:352,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/progressive.c:353,2'
          Dst:             winpr_aligned_free
    - functionName:    progressive_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2641
      functionLinenumberEnd: 2642
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - progressive_context_new_ex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2642,9'
          Dst:             progressive_context_new_ex
    - functionName:    progressive_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2636
      functionLinenumberEnd: 2637
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Stream_ResetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1378
      functionLinenumberEnd: 1381
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1379,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1287
      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:1286,3'
          Dst:             winpr_int_assert
    - functionName:    progressive_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2507
      functionLinenumberEnd: 2633
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         250
      ICount:          1094
      EdgeCount:       287
      CyclomaticComplexity: 39
      functionsReached:
        - Stream_Buffer
        - Stream_EnsureRemainingCapacity
        - Stream_GetPosition
        - Stream_ResetPosition
        - WLog_Print_dbg_tag
        - progressive_rfx_write_message_progressive_simple
        - region16_n_rects
        - region16_rects
        - rfx_context_set_pixel_format
        - rfx_encode_message
        - rfx_message_free
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/progressive.c:2522,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2549,18'
          Dst:             region16_n_rects
        - Src:             'libfreerdp/codec/progressive.c:2550,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2550,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2556,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/progressive.c:2558,10'
          Dst:             Stream_Buffer
        - Src:             'libfreerdp/codec/progressive.c:2561,38'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/progressive.c:2584,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2585,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2586,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2586,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2586,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2586,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2587,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2587,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2587,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2587,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2597,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2598,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2599,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2600,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2604,2'
          Dst:             Stream_ResetPosition
        - Src:             'libfreerdp/codec/progressive.c:2608,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2608,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2609,37'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2609,37'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2610,2'
          Dst:             rfx_context_set_pixel_format
        - Src:             'libfreerdp/codec/progressive.c:2611,12'
          Dst:             rfx_encode_message
        - Src:             'libfreerdp/codec/progressive.c:2615,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2619,7'
          Dst:             progressive_rfx_write_message_progressive_simple
        - Src:             'libfreerdp/codec/progressive.c:2620,2'
          Dst:             rfx_message_free
        - Src:             'libfreerdp/codec/progressive.c:2625,22'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:2626,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2629,15'
          Dst:             Stream_Buffer
    - functionName:    progressive_rfx_write_message_progressive_simple
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2492
      functionLinenumberEnd: 2499
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          66
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - rfx_write_message_progressive_simple
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2495,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2496,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2497,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2499,9'
          Dst:             rfx_write_message_progressive_simple
    - functionName:    update_tiles
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2325
      functionLinenumberEnd: 2416
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         97
      ICount:          589
      EdgeCount:       115
      CyclomaticComplexity: 20
      functionsReached:
        - freerdp_image_copy_no_overlap
        - region16_init
        - region16_intersect_rect
        - region16_rects
        - region16_uninit
        - region16_union_rect
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2328,2'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/progressive.c:2339,8'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/progressive.c:2341,4'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/progressive.c:2352,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2355,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2357,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2360,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2360,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2363,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2363,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2368,3'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/progressive.c:2369,8'
          Dst:             region16_intersect_rect
        - Src:             'libfreerdp/codec/progressive.c:2371,4'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/progressive.c:2374,17'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/progressive.c:2391,9'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/progressive.c:2399,10'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/progressive.c:2401,6'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/progressive.c:2407,3'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/progressive.c:2414,2'
          Dst:             region16_uninit
    - functionName:    progressive_parse_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2254
      functionLinenumberEnd: 2317
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          230
      EdgeCount:       51
      CyclomaticComplexity: 8
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_GetRemainingLength
        - Stream_Pointer
        - Stream_Seek
        - Stream_StaticConstInit
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - WLog_Print_dbg_tag
        - progressive_wb_context
        - progressive_wb_frame_begin
        - progressive_wb_frame_end
        - progressive_wb_region
        - progressive_wb_sync
        - stream_read_u16_le
        - stream_read_u32_le
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/progressive.c:2278,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2260,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2262,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:2265,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/progressive.c:2266,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/progressive.c:2270,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/progressive.c:2273,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/progressive.c:2275,31'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/progressive.c:2275,2'
          Dst:             Stream_StaticConstInit
        - Src:             'libfreerdp/codec/progressive.c:2276,2'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/progressive.c:2281,9'
          Dst:             progressive_wb_sync
        - Src:             'libfreerdp/codec/progressive.c:2285,9'
          Dst:             progressive_wb_frame_begin
        - Src:             'libfreerdp/codec/progressive.c:2289,9'
          Dst:             progressive_wb_frame_end
        - Src:             'libfreerdp/codec/progressive.c:2293,9'
          Dst:             progressive_wb_context
        - Src:             'libfreerdp/codec/progressive.c:2297,9'
          Dst:             progressive_wb_region
        - Src:             'libfreerdp/codec/progressive.c:2301,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2301,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2308,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:2310,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2310,3'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:2310,3'
          Dst:             WLog_PrintTextMessage
    - functionName:    progressive_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2423
      functionLinenumberEnd: 2487
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          274
      EdgeCount:       65
      CyclomaticComplexity: 9
      functionsReached:
        - Stream_GetPosition
        - Stream_GetRemainingLength
        - Stream_StaticConstInit
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - progressive_get_surface_data
        - progressive_parse_block
        - update_tiles
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/progressive.c:2449,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:2426,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2427,41'
          Dst:             progressive_get_surface_data
        - Src:             'libfreerdp/codec/progressive.c:2431,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2431,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2437,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2446,15'
          Dst:             Stream_StaticConstInit
        - Src:             'libfreerdp/codec/progressive.c:2447,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:2462,23'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:2464,9'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/progressive.c:2466,7'
          Dst:             progressive_parse_block
        - Src:             'libfreerdp/codec/progressive.c:2471,22'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/progressive.c:2474,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/progressive.c:2474,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/progressive.c:2482,7'
          Dst:             update_tiles
    - functionName:    progressive_get_surface_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 322
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - HashTable_GetItemValue
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:321,9'
          Dst:             HashTable_GetItemValue
    - functionName:    progressive_rfx_dwt_2d_decode_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 759
      functionLinenumberEnd: 798
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          137
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - progressive_rfx_get_band_h_count
        - progressive_rfx_get_band_l_count
        - progressive_rfx_idwt_x
        - progressive_rfx_idwt_y
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:770,24'
          Dst:             progressive_rfx_get_band_l_count
        - Src:             'libfreerdp/codec/progressive.c:771,24'
          Dst:             progressive_rfx_get_band_h_count
        - Src:             'libfreerdp/codec/progressive.c:790,2'
          Dst:             progressive_rfx_idwt_x
        - Src:             'libfreerdp/codec/progressive.c:793,2'
          Dst:             progressive_rfx_idwt_x
        - Src:             'libfreerdp/codec/progressive.c:796,2'
          Dst:             progressive_rfx_idwt_y
    - functionName:    rfx_dwt_2d_extrapolate_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 801
      functionLinenumberEnd: 807
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - progressive_rfx_dwt_2d_decode_block
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:802,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:803,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/progressive.c:804,2'
          Dst:             progressive_rfx_dwt_2d_decode_block
        - Src:             'libfreerdp/codec/progressive.c:805,2'
          Dst:             progressive_rfx_dwt_2d_decode_block
        - Src:             'libfreerdp/codec/progressive.c:806,2'
          Dst:             progressive_rfx_dwt_2d_decode_block
    - functionName:    progressive_delete_surface_context
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 570
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - progressive_set_surface_data
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:568,2'
          Dst:             progressive_set_surface_data
    - functionName:    progressive_set_surface_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 311
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          51
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - HashTable_Insert
        - HashTable_Remove
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:307,10'
          Dst:             HashTable_Insert
        - Src:             'libfreerdp/codec/progressive.c:309,2'
          Dst:             HashTable_Remove
    - functionName:    progressive_surface_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 458
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - short
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          92
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - progressive_allocate_tile_cache
        - progressive_surface_context_free
        - winpr_aligned_calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:438,71'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/progressive.c:451,7'
          Dst:             progressive_allocate_tile_cache
        - Src:             'libfreerdp/codec/progressive.c:453,3'
          Dst:             progressive_surface_context_free
    - functionName:    progressive_create_surface_context
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/progressive.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - short
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          66
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - progressive_get_surface_data
        - progressive_set_surface_data
        - progressive_surface_context_free
        - progressive_surface_context_new
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/progressive.c:546,41'
          Dst:             progressive_get_surface_data
        - Src:             'libfreerdp/codec/progressive.c:550,13'
          Dst:             progressive_surface_context_new
        - Src:             'libfreerdp/codec/progressive.c:555,8'
          Dst:             progressive_set_surface_data
        - Src:             'libfreerdp/codec/progressive.c:557,4'
          Dst:             progressive_surface_context_free
    - functionName:    rfx_write_progressive_tile_simple
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2423
      functionLinenumberEnd: 2450
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         180
      ICount:          496
      EdgeCount:       181
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2425,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2426,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2427,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2430,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2433,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2434,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2434,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2434,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2435,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2435,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2435,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2436,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2436,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2436,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2437,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2437,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2437,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2438,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2438,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2438,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2439,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2439,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2439,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2440,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2441,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2441,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2441,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2442,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2442,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2442,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2443,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2443,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2443,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2444,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2445,2'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/rfx.c:2446,2'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/rfx.c:2447,2'
          Dst:             Stream_Write
    - 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:    53
      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_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:    21
      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_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:    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:    6
      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_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:    8
      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_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_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_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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:236,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1366
      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:1364,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1365,3'
          Dst:             winpr_int_assert
    - functionName:    rfx_write_tile
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1564
      functionLinenumberEnd: 1585
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         144
      ICount:          431
      EdgeCount:       146
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - rfx_tile_length
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1565,26'
          Dst:             rfx_tile_length
        - Src:             'libfreerdp/codec/rfx.c:1568,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:1571,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1572,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1572,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1572,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1573,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1573,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1573,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1574,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1574,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1574,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1575,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1575,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1575,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1576,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1576,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1576,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1577,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1577,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1577,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1578,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1578,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1578,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1579,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1579,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1579,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1580,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1580,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1580,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1581,2'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/rfx.c:1582,2'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/rfx.c:1583,2'
          Dst:             Stream_Write
    - functionName:    rfx_tile_length
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1558
      functionLinenumberEnd: 1560
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          43
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1559,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_rect_const
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 376
      functionLinenumberEnd: 380
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          67
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:377,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:378,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:379,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_write_message_channels
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1510
      functionLinenumberEnd: 1519
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         77
      ICount:          156
      EdgeCount:       77
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1511,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1513,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1514,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1515,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1516,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1517,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1517,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1517,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1518,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1518,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1518,2'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    rfx_write_message_codec_versions
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1498
      functionLinenumberEnd: 1506
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         59
      ICount:          90
      EdgeCount:       59
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1499,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1501,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1502,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1503,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1504,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1505,2'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    rfx_write_message_context
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1523
      functionLinenumberEnd: 1541
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         83
      ICount:          171
      EdgeCount:       83
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - rfx_update_context_properties
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1525,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1527,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1528,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1529,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1530,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1531,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1532,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1539,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1539,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1539,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1540,2'
          Dst:             rfx_update_context_properties
    - functionName:    rfx_update_context_properties
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1469
      functionLinenumberEnd: 1481
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          73
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1472,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_write_message_sync
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1493
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         49
      ICount:          78
      EdgeCount:       49
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1487,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1489,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1490,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1491,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:1492,2'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    rfx_clone_rects
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1916
      functionLinenumberEnd: 1935
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         36
      ICount:          142
      EdgeCount:       39
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_aligned_calloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1917,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1918,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1920,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1921,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1926,15'
          Dst:             winpr_aligned_calloc
    - functionName:    rfx_clone_quants
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1939
      functionLinenumberEnd: 1954
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          100
      EdgeCount:       31
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1940,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1941,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1943,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1944,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_process_message_tile_work_callback
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 781
      functionLinenumberEnd: 789
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          116
      EdgeCount:       33
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - rfx_decode_rgb
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:783,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:784,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:785,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:787,7'
          Dst:             rfx_decode_rgb
        - Src:             'libfreerdp/codec/rfx.c:788,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:788,3'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_allocate_tiles
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 793
      functionLinenumberEnd: 811
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          174
      EdgeCount:       51
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:794,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:797,18'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/rfx.c:803,23'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:803,23'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:806,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Seek_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1203
      functionLinenumberEnd: 1205
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Seek
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1204,3'
          Dst:             Stream_Seek
    - functionName:    rfx_message_get_rect
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 388
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          67
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:385,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:386,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:387,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_resize_rects
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 672
      functionLinenumberEnd: 681
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          54
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:673,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:676,6'
          Dst:             winpr_aligned_recalloc
    - functionName:    Stream_Seek_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1199
      functionLinenumberEnd: 1201
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Stream_Seek
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1200,3'
          Dst:             Stream_Seek
    - 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_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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,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:    rfx_write_progressive_frame_end
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2406
      functionLinenumberEnd: 2418
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          82
      EdgeCount:       39
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2408,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2409,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2411,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2414,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2415,2'
          Dst:             Stream_Write_UINT32_unchecked
    - functionName:    rfx_write_progressive_region
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2307
      functionLinenumberEnd: 2381
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         290
      ICount:          965
      EdgeCount:       296
      CyclomaticComplexity: 8
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_GetPosition
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - rfx_write_progressive_tile_simple
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2311,23'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/rfx.c:2313,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2314,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2315,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2323,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2328,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2331,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2332,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2332,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2332,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2333,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2334,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2334,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2334,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2335,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2336,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2336,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2336,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2337,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2338,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2339,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2339,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2339,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2340,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2340,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2340,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2346,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2346,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2346,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2347,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2347,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2347,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2348,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2348,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2348,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2349,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2349,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2349,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2364,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2364,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2364,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2365,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2365,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2365,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2366,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2366,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2366,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2367,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2367,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2367,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2368,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2368,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2368,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2374,8'
          Dst:             rfx_write_progressive_tile_simple
        - Src:             'libfreerdp/codec/rfx.c:2378,21'
          Dst:             Stream_GetPosition
    - functionName:    rfx_write_progressive_frame_begin
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2386
      functionLinenumberEnd: 2401
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          145
      EdgeCount:       69
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2388,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2389,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2390,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2392,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2395,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2396,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2397,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2397,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2397,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2398,2'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    rfx_write_progressive_wb_context
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2288
      functionLinenumberEnd: 2302
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         68
      ICount:          118
      EdgeCount:       69
      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:             'libfreerdp/codec/rfx.c:2290,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2291,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2293,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2296,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2297,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2298,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2299,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2300,2'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    rfx_write_progressive_wb_sync
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2270
      functionLinenumberEnd: 2283
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          106
      EdgeCount:       59
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2272,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2273,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2275,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2278,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2279,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2280,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2281,2'
          Dst:             Stream_Write_UINT16_unchecked
    - 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:    rfx_write_message_progressive_simple
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2488
      functionLinenumberEnd: 2515
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          129
      EdgeCount:       40
      CyclomaticComplexity: 8
      functionsReached:
        - WLog_Print_dbg_tag
        - rfx_write_progressive_frame_begin
        - rfx_write_progressive_frame_end
        - rfx_write_progressive_region
        - rfx_write_progressive_wb_context
        - rfx_write_progressive_wb_sync
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2489,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2490,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2491,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2495,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/rfx.c:2499,7'
          Dst:             rfx_write_progressive_wb_sync
        - Src:             'libfreerdp/codec/rfx.c:2502,7'
          Dst:             rfx_write_progressive_wb_context
        - Src:             'libfreerdp/codec/rfx.c:2505,7'
          Dst:             rfx_write_progressive_frame_begin
        - Src:             'libfreerdp/codec/rfx.c:2508,7'
          Dst:             rfx_write_progressive_region
        - Src:             'libfreerdp/codec/rfx.c:2511,7'
          Dst:             rfx_write_progressive_frame_end
    - functionName:    rfx_get_progressive_block_type_string
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2453
      functionLinenumberEnd: 2483
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - short
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          58
      EdgeCount:       20
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/rfx.c:2454,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    rfx_message_get_frame_idx
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2263
      functionLinenumberEnd: 2265
      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:             'libfreerdp/codec/rfx.c:2264,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_context_get_frame_idx
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2257
      functionLinenumberEnd: 2259
      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:             'libfreerdp/codec/rfx.c:2258,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_context_get_mode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2251
      functionLinenumberEnd: 2253
      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:             'libfreerdp/codec/rfx.c:2252,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_context_set_mode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2244
      functionLinenumberEnd: 2247
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2245,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_compose_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2231
      functionLinenumberEnd: 2241
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          75
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - rfx_encode_message
        - rfx_message_free
        - rfx_write_message
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2232,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2234,6'
          Dst:             rfx_encode_message
        - Src:             'libfreerdp/codec/rfx.c:2238,19'
          Dst:             rfx_write_message
        - Src:             'libfreerdp/codec/rfx.c:2239,2'
          Dst:             rfx_message_free
    - functionName:    rfx_encode_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1670
      functionLinenumberEnd: 1912
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - int
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         357
      ICount:          1734
      EdgeCount:       418
      CyclomaticComplexity: 63
      functionsReached:
        - BufferPool_Take
        - ObjectPool_Take
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - computeRegion
        - region16_extents
        - region16_init
        - region16_intersects_rect
        - region16_rects
        - region16_uninit
        - region16_union_rect
        - rfx_compose_message_tile_work_callback
        - rfx_encode_rgb
        - rfx_ensure_tiles
        - rfx_message_free
        - rfx_tile_length
        - rfx_update_context_properties
        - setupWorkers
        - winpr_CloseThreadpoolWork
        - winpr_CreateThreadpoolWork
        - winpr_SubmitThreadpoolWork
        - winpr_WaitForThreadpoolWorkCallbacks
        - winpr_aligned_calloc
        - winpr_aligned_free
        - winpr_aligned_malloc
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1683,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1684,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1685,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1686,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1687,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1688,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1690,32'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:1693,2'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/rfx.c:1694,2'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/rfx.c:1697,3'
          Dst:             rfx_update_context_properties
        - Src:             'libfreerdp/codec/rfx.c:1703,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1706,22'
          Dst:             winpr_aligned_malloc
        - Src:             'libfreerdp/codec/rfx.c:1722,8'
          Dst:             computeRegion
        - Src:             'libfreerdp/codec/rfx.c:1726,34'
          Dst:             region16_extents
        - Src:             'libfreerdp/codec/rfx.c:1727,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1728,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1733,9'
          Dst:             rfx_ensure_tiles
        - Src:             'libfreerdp/codec/rfx.c:1736,9'
          Dst:             setupWorkers
        - Src:             'libfreerdp/codec/rfx.c:1748,17'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/rfx.c:1750,27'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:1753,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1753,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1775,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1775,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1777,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1777,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1794,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1794,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1796,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1796,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1799,11'
          Dst:             region16_intersects_rect
        - Src:             'libfreerdp/codec/rfx.c:1802,35'
          Dst:             ObjectPool_Take
        - Src:             'libfreerdp/codec/rfx.c:1806,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1806,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1807,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1807,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1808,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1808,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1809,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1809,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1819,8'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:1832,24'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/rfx.c:1839,12'
          Dst:             rfx_ensure_tiles
        - Src:             'libfreerdp/codec/rfx.c:1849,18'
          Dst:             winpr_CreateThreadpoolWork
        - Src:             'libfreerdp/codec/rfx.c:1849,18'
          Dst:             rfx_compose_message_tile_work_callback
        - Src:             'libfreerdp/codec/rfx.c:1855,8'
          Dst:             winpr_SubmitThreadpoolWork
        - Src:             'libfreerdp/codec/rfx.c:1861,13'
          Dst:             rfx_encode_rgb
        - Src:             'libfreerdp/codec/rfx.c:1865,12'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/rfx.c:1888,6'
          Dst:             winpr_WaitForThreadpoolWorkCallbacks
        - Src:             'libfreerdp/codec/rfx.c:1889,6'
          Dst:             winpr_CloseThreadpoolWork
        - Src:             'libfreerdp/codec/rfx.c:1896,24'
          Dst:             rfx_tile_length
        - Src:             'libfreerdp/codec/rfx.c:1897,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1897,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1900,3'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1901,3'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1906,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1906,2'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1908,2'
          Dst:             rfx_message_free
        - Src:             'libfreerdp/codec/rfx.c:1909,2'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1910,2'
          Dst:             region16_uninit
    - functionName:    rfx_write_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2204
      functionLinenumberEnd: 2225
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          122
      EdgeCount:       36
      CyclomaticComplexity: 8
      functionsReached:
        - rfx_compose_message_header
        - rfx_write_message_frame_begin
        - rfx_write_message_frame_end
        - rfx_write_message_region
        - rfx_write_message_tileset
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2205,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2206,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2210,8'
          Dst:             rfx_compose_message_header
        - Src:             'libfreerdp/codec/rfx.c:2216,7'
          Dst:             rfx_write_message_frame_begin
        - Src:             'libfreerdp/codec/rfx.c:2217,7'
          Dst:             rfx_write_message_region
        - Src:             'libfreerdp/codec/rfx.c:2218,7'
          Dst:             rfx_write_message_tileset
        - Src:             'libfreerdp/codec/rfx.c:2219,7'
          Dst:             rfx_write_message_frame_end
    - functionName:    rfx_message_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1463
      functionLinenumberEnd: 1466
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - rfx_message_clear
        - winpr_aligned_free
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1464,7'
          Dst:             rfx_message_clear
        - Src:             'libfreerdp/codec/rfx.c:1465,3'
          Dst:             winpr_aligned_free
    - functionName:    rfx_message_clear
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1430
      functionLinenumberEnd: 1460
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          119
      EdgeCount:       23
      CyclomaticComplexity: 7
      functionsReached:
        - BufferPool_Return
        - ObjectPool_Return
        - rfx_allocate_tiles
        - winpr_aligned_free
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1434,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:1446,5'
          Dst:             BufferPool_Return
        - Src:             'libfreerdp/codec/rfx.c:1450,4'
          Dst:             ObjectPool_Return
        - Src:             'libfreerdp/codec/rfx.c:1453,3'
          Dst:             rfx_allocate_tiles
    - functionName:    rfx_compose_message_header
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1545
      functionLinenumberEnd: 1555
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - rfx_write_message_channels
        - rfx_write_message_codec_versions
        - rfx_write_message_context
        - rfx_write_message_sync
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1546,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1547,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:1550,2'
          Dst:             rfx_write_message_sync
        - Src:             'libfreerdp/codec/rfx.c:1551,2'
          Dst:             rfx_write_message_context
        - Src:             'libfreerdp/codec/rfx.c:1552,2'
          Dst:             rfx_write_message_codec_versions
        - Src:             'libfreerdp/codec/rfx.c:1553,2'
          Dst:             rfx_write_message_channels
    - functionName:    rfx_write_message_frame_begin
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2130
      functionLinenumberEnd: 2144
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         82
      ICount:          155
      EdgeCount:       83
      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:             'libfreerdp/codec/rfx.c:2131,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2132,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2134,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2137,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2138,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2139,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2140,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2141,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2141,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2141,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2142,2'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    rfx_write_message_region
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2149
      functionLinenumberEnd: 2182
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         174
      ICount:          416
      EdgeCount:       177
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - rfx_message_get_rect_const
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2150,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2151,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2157,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2160,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2161,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2161,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2161,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2162,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2163,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2164,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2165,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2165,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2165,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2169,26'
          Dst:             rfx_message_get_rect_const
        - Src:             'libfreerdp/codec/rfx.c:2170,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2173,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2173,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2173,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2174,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2174,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2174,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2175,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2175,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2175,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2176,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2176,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2176,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2179,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2180,2'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    rfx_write_message_tileset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2078
      functionLinenumberEnd: 2125
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         306
      ICount:          919
      EdgeCount:       329
      CyclomaticComplexity: 25
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - rfx_write_tile
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2079,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2080,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2084,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2087,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2088,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2088,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2088,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2089,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2090,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2091,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2092,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2093,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2093,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2093,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2094,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2096,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2097,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2097,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2097,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2098,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2098,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2098,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2103,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2104,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2115,8'
          Dst:             rfx_write_tile
    - functionName:    rfx_write_message_frame_end
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2188
      functionLinenumberEnd: 2200
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          106
      EdgeCount:       59
      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:             'libfreerdp/codec/rfx.c:2189,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2190,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2192,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/rfx.c:2195,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2196,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2197,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/rfx.c:2198,2'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    computeRegion
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1608
      functionLinenumberEnd: 1627
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          268
      EdgeCount:       66
      CyclomaticComplexity: 10
      functionsReached:
        - region16_intersect_rect
        - region16_union_rect
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1609,40'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1609,40'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1610,31'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1610,31'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1612,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1622,8'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/rfx.c:1626,9'
          Dst:             region16_intersect_rect
    - functionName:    rfx_ensure_tiles
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1657
      functionLinenumberEnd: 1665
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          85
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - rfx_allocate_tiles
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1658,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1664,9'
          Dst:             rfx_allocate_tiles
    - functionName:    setupWorkers
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1632
      functionLinenumberEnd: 1654
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          100
      EdgeCount:       25
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1633,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1636,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1643,15'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/rfx.c:1648,15'
          Dst:             winpr_aligned_recalloc
    - functionName:    rfx_compose_message_tile_work_callback
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1596
      functionLinenumberEnd: 1604
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          111
      EdgeCount:       33
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - rfx_encode_rgb
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1598,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1599,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1600,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1602,7'
          Dst:             rfx_encode_rgb
        - Src:             'libfreerdp/codec/rfx.c:1603,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1603,3'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_message_list_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2042
      functionLinenumberEnd: 2050
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2043,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2044,26'
          Dst:             calloc
        - Src:             'libfreerdp/codec/rfx.c:2045,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_split_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1959
      functionLinenumberEnd: 2019
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         86
      ICount:          409
      EdgeCount:       98
      CyclomaticComplexity: 14
      functionsReached:
        - rfx_allocate_tiles
        - rfx_clone_quants
        - rfx_clone_rects
        - rfx_tile_length
        - winpr_aligned_calloc
        - winpr_aligned_free
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1960,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1961,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1962,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1971,20'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:1981,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1982,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1984,31'
          Dst:             rfx_tile_length
        - Src:             'libfreerdp/codec/rfx.c:1992,9'
          Dst:             rfx_clone_quants
        - Src:             'libfreerdp/codec/rfx.c:1994,9'
          Dst:             rfx_clone_rects
        - Src:             'libfreerdp/codec/rfx.c:1997,9'
          Dst:             rfx_allocate_tiles
        - Src:             'libfreerdp/codec/rfx.c:2001,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2001,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2003,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2015,3'
          Dst:             rfx_allocate_tiles
        - Src:             'libfreerdp/codec/rfx.c:2017,2'
          Dst:             winpr_aligned_free
    - functionName:    rfx_encode_messages
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2058
      functionLinenumberEnd: 2073
      functionDepth:   0
      returnType:      'N/A'
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          102
      EdgeCount:       22
      CyclomaticComplexity: 4
      functionsReached:
        - rfx_encode_message
        - rfx_message_free
        - rfx_message_list_new
        - rfx_split_message
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2059,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2060,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2063,6'
          Dst:             rfx_encode_message
        - Src:             'libfreerdp/codec/rfx.c:2067,22'
          Dst:             rfx_split_message
        - Src:             'libfreerdp/codec/rfx.c:2068,2'
          Dst:             rfx_message_free
        - Src:             'libfreerdp/codec/rfx.c:2072,9'
          Dst:             rfx_message_list_new
    - functionName:    rfx_message_list_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2031
      functionLinenumberEnd: 2037
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          53
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - rfx_message_clear
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2035,3'
          Dst:             rfx_message_clear
    - functionName:    rfx_message_list_get
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2022
      functionLinenumberEnd: 2028
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          65
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:2023,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:2026,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_rect_count
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1423
      functionLinenumberEnd: 1425
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1424,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_rects
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1415
      functionLinenumberEnd: 1419
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          46
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1416,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_tile_count
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1408
      functionLinenumberEnd: 1410
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          31
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1409,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_tiles
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1393
      functionLinenumberEnd: 1404
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1394,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_quants
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1384
      functionLinenumberEnd: 1388
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          46
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1385,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_message_get_tile
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 367
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          68
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:368,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:369,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:370,2'
          Dst:             winpr_int_assert
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_process_message_frame_end
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 653
      functionLinenumberEnd: 669
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          155
      EdgeCount:       53
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:654,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:655,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:656,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:657,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:658,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:662,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:662,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:667,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:667,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message_tileset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 817
      functionLinenumberEnd: 1113
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         236
      ICount:          1380
      EdgeCount:       283
      CyclomaticComplexity: 49
      functionsReached:
        - ObjectPool_Return
        - ObjectPool_Take
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_GetRemainingLength
        - Stream_Pointer
        - Stream_SafeSeekEx
        - Stream_Seek_UINT16
        - Stream_Seek_UINT8
        - Stream_StaticInit
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - rfx_allocate_tiles
        - rfx_decode_rgb
        - rfx_process_message_tile_work_callback
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
        - winpr_CloseThreadpoolWork
        - winpr_CreateThreadpoolWork
        - winpr_SubmitThreadpoolWork
        - winpr_WaitForThreadpoolWorkCallbacks
        - winpr_aligned_calloc
        - winpr_aligned_free
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:832,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:833,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:834,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:835,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:839,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:839,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:845,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:848,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:851,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:851,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:855,2'
          Dst:             Stream_Seek_UINT16
        - Src:             'libfreerdp/codec/rfx.c:856,2'
          Dst:             Stream_Seek_UINT16
        - Src:             'libfreerdp/codec/rfx.c:857,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:858,2'
          Dst:             Stream_Seek_UINT8
        - Src:             'libfreerdp/codec/rfx.c:862,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:862,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:866,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:873,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/rfx.c:875,15'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/rfx.c:882,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:888,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:891,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:894,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:897,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:900,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:903,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:903,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:916,3'
          Dst:             ObjectPool_Return
        - Src:             'libfreerdp/codec/rfx.c:920,7'
          Dst:             rfx_allocate_tiles
        - Src:             'libfreerdp/codec/rfx.c:925,29'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:926,42'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/rfx.c:931,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:937,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:946,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx.c:954,28'
          Dst:             ObjectPool_Take
        - Src:             'libfreerdp/codec/rfx.c:956,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:956,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:965,9'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:967,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:967,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:974,40'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/rfx.c:974,59'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx.c:974,10'
          Dst:             Stream_StaticInit
        - Src:             'libfreerdp/codec/rfx.c:975,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:977,4'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/rfx.c:979,9'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/rfx.c:985,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:987,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:987,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:997,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:997,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1004,4'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:1005,4'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:1006,4'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:1009,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1009,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1017,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1017,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1025,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1025,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1032,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:1033,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:1034,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:1035,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:1036,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:1037,18'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/rfx.c:1038,9'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/rfx.c:1043,19'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/rfx.c:1044,9'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/rfx.c:1049,19'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/rfx.c:1050,9'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/rfx.c:1069,29'
          Dst:             winpr_CreateThreadpoolWork
        - Src:             'libfreerdp/codec/rfx.c:1069,29'
          Dst:             rfx_process_message_tile_work_callback
        - Src:             'libfreerdp/codec/rfx.c:1072,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1072,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1077,5'
          Dst:             winpr_SubmitThreadpoolWork
        - Src:             'libfreerdp/codec/rfx.c:1082,10'
          Dst:             rfx_decode_rgb
        - Src:             'libfreerdp/codec/rfx.c:1095,4'
          Dst:             winpr_WaitForThreadpoolWorkCallbacks
        - Src:             'libfreerdp/codec/rfx.c:1096,4'
          Dst:             winpr_CloseThreadpoolWork
        - Src:             'libfreerdp/codec/rfx.c:1100,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:1101,2'
          Dst:             winpr_aligned_free
    - 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:    23
      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:    16
      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_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:    5
      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_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,3'
          Dst:             winpr_int_assert
    - functionName:    rfx_process_message_region
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 687
      functionLinenumberEnd: 770
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         92
      ICount:          426
      EdgeCount:       106
      CyclomaticComplexity: 16
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_Seek_UINT8
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - rfx_message_get_rect
        - rfx_resize_rects
        - stream_read_u16_le
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:691,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:692,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:693,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:694,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:698,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:698,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:704,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:707,2'
          Dst:             Stream_Seek_UINT8
        - Src:             'libfreerdp/codec/rfx.c:708,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:719,8'
          Dst:             rfx_resize_rects
        - Src:             'libfreerdp/codec/rfx.c:729,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:732,7'
          Dst:             rfx_resize_rects
        - Src:             'libfreerdp/codec/rfx.c:738,20'
          Dst:             rfx_message_get_rect
        - Src:             'libfreerdp/codec/rfx.c:740,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:741,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:742,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:743,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:744,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:744,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:749,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:752,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:753,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:757,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:757,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:764,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:764,3'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message_frame_begin
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 648
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          175
      EdgeCount:       54
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u32_le
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:625,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:626,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:627,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:628,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:632,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:632,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:638,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:641,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/rfx.c:643,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:644,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:644,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message_channels
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 563
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         65
      ICount:          300
      EdgeCount:       75
      CyclomaticComplexity: 12
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_Seek
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:514,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:515,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:518,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:521,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:528,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:528,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:532,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:536,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:540,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:540,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:545,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:546,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:550,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:550,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:557,2'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/rfx.c:558,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:558,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message_codec_versions
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         58
      ICount:          250
      EdgeCount:       66
      CyclomaticComplexity: 10
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:469,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:470,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:473,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:476,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:477,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:478,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:483,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:483,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:490,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:490,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:497,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:497,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:502,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:502,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message_context
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 567
      functionLinenumberEnd: 616
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         73
      ICount:          311
      EdgeCount:       80
      CyclomaticComplexity: 9
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/rfx.c:597,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:572,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:573,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:576,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:579,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:580,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:581,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:582,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:582,2'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:590,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:590,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:594,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:594,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:601,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:601,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:606,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:606,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:610,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:610,4'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message_sync
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         47
      ICount:          196
      EdgeCount:       53
      CyclomaticComplexity: 8
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u32_le
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:436,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:437,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:441,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:444,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/rfx.c:447,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:447,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:451,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:454,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:454,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:459,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:459,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_process_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1119
      functionLinenumberEnd: 1380
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         308
      ICount:          1501
      EdgeCount:       359
      CyclomaticComplexity: 53
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_GetRemainingLength
        - Stream_Pointer
        - Stream_Seek
        - Stream_StaticConstInit
        - Stream_StaticInit
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - freerdp_image_copy_no_overlap
        - region16_init
        - region16_intersect_rect
        - region16_rects
        - region16_uninit
        - region16_union_rect
        - rfx_message_clear
        - rfx_message_get_tile
        - rfx_process_message_channels
        - rfx_process_message_codec_versions
        - rfx_process_message_context
        - rfx_process_message_frame_begin
        - rfx_process_message_frame_end
        - rfx_process_message_region
        - rfx_process_message_sync
        - rfx_process_message_tileset
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/rfx.c:1217,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:1127,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1130,15'
          Dst:             Stream_StaticConstInit
        - Src:             'libfreerdp/codec/rfx.c:1132,15'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx.c:1140,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/rfx.c:1141,3'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/rfx.c:1142,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1142,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1147,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1147,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1151,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:1156,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1156,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1166,9'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/rfx.c:1170,4'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:1171,4'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/rfx.c:1175,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1175,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1185,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1185,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1196,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1196,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1207,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1207,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1214,60'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/rfx.c:1214,24'
          Dst:             Stream_StaticInit
        - Src:             'libfreerdp/codec/rfx.c:1215,3'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/rfx.c:1224,10'
          Dst:             rfx_process_message_sync
        - Src:             'libfreerdp/codec/rfx.c:1228,10'
          Dst:             rfx_process_message_context
        - Src:             'libfreerdp/codec/rfx.c:1232,10'
          Dst:             rfx_process_message_codec_versions
        - Src:             'libfreerdp/codec/rfx.c:1236,10'
          Dst:             rfx_process_message_channels
        - Src:             'libfreerdp/codec/rfx.c:1247,10'
          Dst:             rfx_process_message_frame_begin
        - Src:             'libfreerdp/codec/rfx.c:1252,10'
          Dst:             rfx_process_message_region
        - Src:             'libfreerdp/codec/rfx.c:1257,10'
          Dst:             rfx_process_message_tileset
        - Src:             'libfreerdp/codec/rfx.c:1262,10'
          Dst:             rfx_process_message_frame_end
        - Src:             'libfreerdp/codec/rfx.c:1267,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1267,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1278,28'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/rfx.c:1279,39'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/rfx.c:1280,3'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/rfx.c:1282,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1283,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1289,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1290,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1291,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1292,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1294,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1294,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1295,23'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1295,23'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1299,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1299,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1300,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1300,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1303,9'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/rfx.c:1305,5'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1306,5'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1314,27'
          Dst:             rfx_message_get_tile
        - Src:             'libfreerdp/codec/rfx.c:1316,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1317,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:1323,4'
          Dst:             region16_init
        - Src:             'libfreerdp/codec/rfx.c:1324,9'
          Dst:             region16_intersect_rect
        - Src:             'libfreerdp/codec/rfx.c:1326,5'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1327,5'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1330,18'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/rfx.c:1343,10'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/rfx.c:1347,6'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1348,6'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1349,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1349,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx.c:1357,11'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/rfx.c:1359,7'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1360,7'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1366,4'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1369,3'
          Dst:             region16_uninit
        - Src:             'libfreerdp/codec/rfx.c:1374,3'
          Dst:             rfx_message_clear
        - Src:             'libfreerdp/codec/rfx.c:1378,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx.c:1378,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    rfx_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 419
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          195
      EdgeCount:       55
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:423,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:423,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:424,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:424,20'
          Dst:             winpr_int_assert
    - functionName:    rfx_context_get_palette
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 415
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:414,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_context_set_palette
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 410
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:408,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_context_get_pixel_format
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 400
      functionLinenumberEnd: 402
      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:             'libfreerdp/codec/rfx.c:401,2'
          Dst:             winpr_int_assert
    - functionName:    rfx_profiler_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          56
      EdgeCount:       37
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_profiler_print
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         40
      ICount:          60
      EdgeCount:       41
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 327
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          133
      EdgeCount:       39
      CyclomaticComplexity: 5
      functionsReached:
        - BufferPool_Free
        - ObjectPool_Free
        - rfx_message_clear
        - rfx_profiler_free
        - rfx_profiler_print
        - winpr_aligned_free
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:333,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:336,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:337,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:338,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:341,2'
          Dst:             rfx_message_clear
        - Src:             'libfreerdp/codec/rfx.c:342,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:343,2'
          Dst:             rfx_profiler_print
        - Src:             'libfreerdp/codec/rfx.c:344,2'
          Dst:             rfx_profiler_free
        - Src:             'libfreerdp/codec/rfx.c:348,3'
          Dst:             ObjectPool_Free
        - Src:             'libfreerdp/codec/rfx.c:351,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:352,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:360,3'
          Dst:             BufferPool_Free
        - Src:             'libfreerdp/codec/rfx.c:361,3'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:363,2'
          Dst:             winpr_aligned_free
    - functionName:    rfx_init_neon
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/neon/rfx_neon.h'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - rfx_init_neon_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/neon/rfx_neon.h:31,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/codec/neon/rfx_neon.h:34,2'
          Dst:             rfx_init_neon_int
    - functionName:    rfx_init_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/rfx_sse2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - rfx_init_sse2_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/rfx_sse2.h:32,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/codec/sse/rfx_sse2.h:33,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/codec/sse/rfx_sse2.h:36,2'
          Dst:             rfx_init_sse2_int
    - functionName:    rfx_profiler_create
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         36
      ICount:          56
      EdgeCount:       37
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_context_set_pixel_format
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 392
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         30
      ICount:          115
      EdgeCount:       33
      CyclomaticComplexity: 5
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:393,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:395,21'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/rfx.c:396,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx.c:396,28'
          Dst:             winpr_int_assert
    - functionName:    rfx_decoder_tile_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 191
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          44
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_aligned_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:187,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx.c:189,3'
          Dst:             winpr_aligned_free
    - functionName:    rfx_decoder_tile_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          55
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_aligned_calloc
        - winpr_aligned_free
        - winpr_aligned_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:167,26'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:170,28'
          Dst:             winpr_aligned_malloc
        - Src:             'libfreerdp/codec/rfx.c:172,3'
          Dst:             winpr_aligned_free
    - functionName:    rfx_encoder_tile_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 202
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_aligned_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:201,2'
          Dst:             winpr_aligned_free
    - functionName:    rfx_encoder_tile_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_aligned_calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:196,9'
          Dst:             winpr_aligned_calloc
    - functionName:    rfx_tile_init
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          44
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_context_new_ex
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         33
      ICount:          253
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - BufferPool_New
        - ObjectPool_New
        - ObjectPool_Object
        - RegCloseKey
        - RegOpenKeyExA
        - RegQueryValueExA
        - WLog_Get
        - freerdp_getApplicatonDetailsRegKey
        - primitives_get
        - rfx_context_free
        - rfx_context_set_pixel_format
        - rfx_init_neon
        - rfx_init_sse2
        - rfx_profiler_create
        - winpr_aligned_calloc
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:212,39'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:219,44'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx.c:224,14'
          Dst:             WLog_Get
        - Src:             'libfreerdp/codec/rfx.c:225,19'
          Dst:             ObjectPool_New
        - Src:             'libfreerdp/codec/rfx.c:231,19'
          Dst:             ObjectPool_Object
        - Src:             'libfreerdp/codec/rfx.c:259,21'
          Dst:             BufferPool_New
        - Src:             'libfreerdp/codec/rfx.c:269,15'
          Dst:             freerdp_getApplicatonDetailsRegKey
        - Src:             'libfreerdp/codec/rfx.c:274,8'
          Dst:             RegOpenKeyExA
        - Src:             'libfreerdp/codec/rfx.c:283,9'
          Dst:             RegQueryValueExA
        - Src:             'libfreerdp/codec/rfx.c:287,5'
          Dst:             RegCloseKey
        - Src:             'libfreerdp/codec/rfx.c:297,8'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/rfx.c:302,2'
          Dst:             rfx_context_set_pixel_format
        - Src:             'libfreerdp/codec/rfx.c:304,2'
          Dst:             rfx_profiler_create
        - Src:             'libfreerdp/codec/rfx.c:313,2'
          Dst:             rfx_init_sse2
        - Src:             'libfreerdp/codec/rfx.c:314,2'
          Dst:             rfx_init_neon
        - Src:             'libfreerdp/codec/rfx.c:321,2'
          Dst:             rfx_context_free
    - functionName:    rfx_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - rfx_context_new_ex
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx.c:206,9'
          Dst:             rfx_context_new_ex
    - functionName:    band_match
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 524
      functionLinenumberEnd: 541
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          124
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    next_band
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 519
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          98
      EdgeCount:       29
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:506,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:507,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:508,2'
          Dst:             winpr_int_assert
    - functionName:    region16_uninit
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 949
      functionLinenumberEnd: 954
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          35
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - freeRegion
        - winpr_int_assert
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:950,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:952,2'
          Dst:             freeRegion
    - functionName:    freeRegion
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    region16_intersect_rect
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 946
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          328
      EdgeCount:       64
      CyclomaticComplexity: 15
      functionsReached:
        - allocateRegion
        - freeRegion
        - rectangle_is_empty
        - rectangles_intersection
        - region16_clear
        - region16_extents
        - region16_rects
        - region16_simplify_bands
        - region16_union_rect
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:872,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:873,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:875,31'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/region.c:879,3'
          Dst:             region16_clear
        - Src:             'libfreerdp/codec/region.c:883,35'
          Dst:             region16_extents
        - Src:             'libfreerdp/codec/region.c:887,21'
          Dst:             rectangles_intersection
        - Src:             'libfreerdp/codec/region.c:888,3'
          Dst:             region16_clear
        - Src:             'libfreerdp/codec/region.c:891,11'
          Dst:             region16_union_rect
        - Src:             'libfreerdp/codec/region.c:896,28'
          Dst:             allocateRegion
        - Src:             'libfreerdp/codec/region.c:912,4'
          Dst:             freeRegion
        - Src:             'libfreerdp/codec/region.c:916,7'
          Dst:             rectangles_intersection
        - Src:             'libfreerdp/codec/region.c:922,8'
          Dst:             rectangle_is_empty
        - Src:             'libfreerdp/codec/region.c:942,2'
          Dst:             freeRegion
        - Src:             'libfreerdp/codec/region.c:945,9'
          Dst:             region16_simplify_bands
    - functionName:    region16_rects
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         35
      ICount:          143
      EdgeCount:       42
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    9
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:107,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:107,14'
          Dst:             winpr_int_assert
    - functionName:    region16_clear
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - freeRegion
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:224,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:226,2'
          Dst:             freeRegion
    - functionName:    region16_extents
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rectangles_intersection
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          212
      EdgeCount:       41
      CyclomaticComplexity: 7
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:175,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:176,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:177,2'
          Dst:             winpr_int_assert
    - functionName:    region16_union_rect
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 645
      functionLinenumberEnd: 834
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         119
      ICount:          856
      EdgeCount:       152
      CyclomaticComplexity: 35
      functionsReached:
        - allocateRegion
        - freeRegion
        - nextRect
        - rectangle_contained_in_band
        - region16_copy_band_with_union
        - region16_extents
        - region16_extents_noconst
        - region16_n_rects
        - region16_rects
        - region16_rects_noconst
        - region16_simplify_bands
        - resizeRegion
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:649,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:650,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:652,35'
          Dst:             region16_extents
        - Src:             'libfreerdp/codec/region.c:653,29'
          Dst:             region16_extents_noconst
        - Src:             'libfreerdp/codec/region.c:655,25'
          Dst:             region16_n_rects
        - Src:             'libfreerdp/codec/region.c:661,8'
          Dst:             resizeRegion
        - Src:             'libfreerdp/codec/region.c:664,27'
          Dst:             region16_rects_noconst
        - Src:             'libfreerdp/codec/region.c:665,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:675,43'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:675,43'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:675,28'
          Dst:             allocateRegion
        - Src:             'libfreerdp/codec/region.c:685,27'
          Dst:             nextRect
        - Src:             'libfreerdp/codec/region.c:696,36'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/region.c:702,7'
          Dst:             rectangle_contained_in_band
        - Src:             'libfreerdp/codec/region.c:718,9'
          Dst:             region16_copy_band_with_union
        - Src:             'libfreerdp/codec/region.c:753,10'
          Dst:             region16_copy_band_with_union
        - Src:             'libfreerdp/codec/region.c:764,9'
          Dst:             region16_copy_band_with_union
        - Src:             'libfreerdp/codec/region.c:771,10'
          Dst:             region16_copy_band_with_union
        - Src:             'libfreerdp/codec/region.c:798,28'
          Dst:             nextRect
        - Src:             'libfreerdp/codec/region.c:814,27'
          Dst:             nextRect
        - Src:             'libfreerdp/codec/region.c:830,2'
          Dst:             freeRegion
        - Src:             'libfreerdp/codec/region.c:833,9'
          Dst:             region16_simplify_bands
    - functionName:    allocateRegion
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          62
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:237,24'
          Dst:             calloc
        - Src:             'libfreerdp/codec/region.c:243,17'
          Dst:             calloc
    - functionName:    rectangle_is_empty
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:142,2'
          Dst:             winpr_int_assert
    - functionName:    region16_simplify_bands
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 576
      functionLinenumberEnd: 642
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         72
      ICount:          322
      EdgeCount:       87
      CyclomaticComplexity: 17
      functionsReached:
        - band_match
        - next_band
        - region16_n_rects
        - region16_rects_noconst
        - resizeRegion
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:589,22'
          Dst:             region16_n_rects
        - Src:             'libfreerdp/codec/region.c:595,24'
          Dst:             region16_rects_noconst
        - Src:             'libfreerdp/codec/region.c:601,25'
          Dst:             next_band
        - Src:             'libfreerdp/codec/region.c:606,40'
          Dst:             band_match
        - Src:             'libfreerdp/codec/region.c:621,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:621,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:637,29'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:637,29'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:637,8'
          Dst:             resizeRegion
    - functionName:    region16_n_rects
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         33
      ICount:          118
      EdgeCount:       37
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:87,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:91,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:91,9'
          Dst:             winpr_int_assert
    - functionName:    region16_rects_noconst
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 122
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:114,2'
          Dst:             winpr_int_assert
    - functionName:    resizeRegion
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 276
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         20
      ICount:          143
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - allocateRegion
        - freeRegion
        - realloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:277,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:280,3'
          Dst:             freeRegion
        - Src:             'libfreerdp/codec/region.c:287,18'
          Dst:             allocateRegion
        - Src:             'libfreerdp/codec/region.c:291,24'
          Dst:             realloc
    - 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:    22
      BranchProfiles:  []
      Callsites:       []
    - functionName:    region16_extents_noconst
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 133
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          23
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nextRect
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 273
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          86
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - freeRegion
        - realloc
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:257,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:260,25'
          Dst:             realloc
        - Src:             'libfreerdp/codec/region.c:263,4'
          Dst:             freeRegion
    - functionName:    rectangle_contained_in_band
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 551
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          157
      EdgeCount:       43
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:552,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:553,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:554,2'
          Dst:             winpr_int_assert
    - functionName:    region16_copy_band_with_union
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 502
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - short
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          433
      EdgeCount:       95
      CyclomaticComplexity: 21
      functionsReached:
        - nextRect
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:409,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:410,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:411,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:412,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:445,24'
          Dst:             nextRect
        - Src:             'libfreerdp/codec/region.c:474,24'
          Dst:             nextRect
        - Src:             'libfreerdp/codec/region.c:487,23'
          Dst:             nextRect
    - functionName:    region16_intersects_rect
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 837
      functionLinenumberEnd: 864
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          140
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - rectangles_intersects
        - region16_extents
        - region16_rects
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:844,29'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/region.c:849,35'
          Dst:             region16_extents
        - Src:             'libfreerdp/codec/region.c:852,10'
          Dst:             rectangles_intersects
        - Src:             'libfreerdp/codec/region.c:854,7'
          Dst:             rectangles_intersects
        - Src:             'libfreerdp/codec/region.c:859,7'
          Dst:             rectangles_intersects
    - functionName:    rectangles_intersects
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - rectangles_intersection
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:170,9'
          Dst:             rectangles_intersection
    - functionName:    region16_to_string
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 365
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          116
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - _strdup
        - rectangle_to_string
        - region16_rects
        - winpr_asprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:367,10'
          Dst:             _strdup
        - Src:             'libfreerdp/codec/region.c:370,30'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/region.c:374,2'
          Dst:             winpr_asprintf
        - Src:             'libfreerdp/codec/region.c:385,4'
          Dst:             winpr_asprintf
        - Src:             'libfreerdp/codec/region.c:393,18'
          Dst:             rectangle_to_string
        - Src:             'libfreerdp/codec/region.c:392,3'
          Dst:             winpr_asprintf
        - Src:             'libfreerdp/codec/region.c:399,2'
          Dst:             winpr_asprintf
    - functionName:    rectangle_to_string
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          74
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - snprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:191,9'
          Dst:             snprintf
        - Src:             'libfreerdp/codec/region.c:193,9'
          Dst:             snprintf
    - 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:    53
      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:    region16_print
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          88
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - region16_rects
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:345,30'
          Dst:             region16_rects
        - Src:             'libfreerdp/codec/region.c:347,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/region.c:356,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/region.c:359,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    region16_copy_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 311
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          123
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - allocateRegion
        - freeRegion
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:312,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:313,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:315,2'
          Dst:             freeRegion
        - Src:             'libfreerdp/codec/region.c:320,15'
          Dst:             allocateRegion
    - functionName:    region16_copy
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          63
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - region16_copy_data
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:333,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:334,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:338,9'
          Dst:             region16_copy_data
    - functionName:    rectangles_clone
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          70
      EdgeCount:       19
      CyclomaticComplexity: 5
      functionsReached:
        - calloc
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:205,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:207,24'
          Dst:             calloc
    - functionName:    rectangles_equal
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          100
      EdgeCount:       25
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:160,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/region.c:161,2'
          Dst:             winpr_int_assert
    - functionName:    region16_is_empty
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 156
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:152,2'
          Dst:             winpr_int_assert
    - functionName:    region16_init
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/region.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/region.c:79,2'
          Dst:             winpr_int_assert
    - functionName:    ncrush_find_match_length
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2346
      functionLinenumberEnd: 2364
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          100
      EdgeCount:       30
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2351,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2352,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2353,2'
          Dst:             winpr_int_assert
    - functionName:    ncrush_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3039
      functionLinenumberEnd: 3041
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ncrush_generate_tables
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2935
      functionLinenumberEnd: 2991
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         59
      ICount:          297
      EdgeCount:       71
      CyclomaticComplexity: 14
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2936,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2979,3'
          Dst:             winpr_int_assert
    - functionName:    ncrush_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 3011
      functionLinenumberEnd: 3036
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          77
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - calloc
        - ncrush_context_free
        - ncrush_context_reset
        - ncrush_generate_tables
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:3012,44'
          Dst:             calloc
        - Src:             'libfreerdp/codec/ncrush.c:3024,6'
          Dst:             ncrush_generate_tables
        - Src:             'libfreerdp/codec/ncrush.c:3026,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/ncrush.c:3030,2'
          Dst:             ncrush_context_reset
        - Src:             'libfreerdp/codec/ncrush.c:3034,2'
          Dst:             ncrush_context_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:    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:    ncrush_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2994
      functionLinenumberEnd: 3008
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2995,2'
          Dst:             winpr_int_assert
    - functionName:    NCrushWriteFinish
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2010
      functionLinenumberEnd: 2015
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          47
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2011,2'
          Dst:             winpr_int_assert
    - functionName:    NCrushWriteBits
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1992
      functionLinenumberEnd: 2007
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          110
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:1993,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1994,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1995,2'
          Dst:             winpr_int_assert
    - functionName:    ncrush_find_best_match
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2369
      functionLinenumberEnd: 2482
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         93
      ICount:          549
      EdgeCount:       116
      CyclomaticComplexity: 25
      functionsReached:
        - ncrush_find_match_length
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2372,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2373,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2447,9'
          Dst:             ncrush_find_match_length
        - Src:             'libfreerdp/codec/ncrush.c:2449,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2450,5'
          Dst:             winpr_int_assert
    - functionName:    ncrush_hash_table_add
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2324
      functionLinenumberEnd: 2342
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         45
      ICount:          186
      EdgeCount:       49
      CyclomaticComplexity: 6
      functionsReached:
        - get_word
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2329,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2330,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2331,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2335,41'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2336,41'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2336,41'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2336,21'
          Dst:             get_word
    - functionName:    get_word
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1922
      functionLinenumberEnd: 1928
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:1925,2'
          Dst:             winpr_int_assert
    - functionName:    NCrushWriteStart
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1980
      functionLinenumberEnd: 1988
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          62
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:1981,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1982,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1983,2'
          Dst:             winpr_int_assert
    - functionName:    ncrush_move_encoder_windows
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2485
      functionLinenumberEnd: 2520
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         90
      ICount:          371
      EdgeCount:       103
      CyclomaticComplexity: 15
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2486,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2487,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2498,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2499,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2505,47'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2505,47'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2515,49'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2515,49'
          Dst:             winpr_int_assert
    - functionName:    ncrush_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2524
      functionLinenumberEnd: 2932
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         324
      ICount:          1836
      EdgeCount:       403
      CyclomaticComplexity: 81
      functionsReached:
        - NCrushWriteBits
        - NCrushWriteFinish
        - NCrushWriteStart
        - get_word
        - ncrush_context_reset
        - ncrush_find_best_match
        - ncrush_hash_table_add
        - ncrush_move_encoder_windows
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2558,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2560,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2561,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2562,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2563,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2564,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2565,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2580,8'
          Dst:             ncrush_move_encoder_windows
        - Src:             'libfreerdp/codec/ncrush.c:2605,2'
          Dst:             NCrushWriteStart
        - Src:             'libfreerdp/codec/ncrush.c:2618,51'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2618,51'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2618,2'
          Dst:             ncrush_hash_table_add
        - Src:             'libfreerdp/codec/ncrush.c:2626,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2627,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2641,40'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2641,40'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2641,9'
          Dst:             ncrush_find_best_match
        - Src:             'libfreerdp/codec/ncrush.c:2663,5'
          Dst:             ncrush_context_reset
        - Src:             'libfreerdp/codec/ncrush.c:2678,14'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2683,4'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2695,5'
          Dst:             ncrush_context_reset
        - Src:             'libfreerdp/codec/ncrush.c:2772,15'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2780,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2781,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2781,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2783,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2800,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2801,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2801,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2803,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2819,15'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2824,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2842,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2843,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2843,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2845,5'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2862,4'
          Dst:             ncrush_context_reset
        - Src:             'libfreerdp/codec/ncrush.c:2878,13'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2883,3'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2888,3'
          Dst:             ncrush_context_reset
        - Src:             'libfreerdp/codec/ncrush.c:2902,9'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2903,2'
          Dst:             NCrushWriteBits
        - Src:             'libfreerdp/codec/ncrush.c:2904,2'
          Dst:             NCrushWriteFinish
        - Src:             'libfreerdp/codec/ncrush.c:2906,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2907,2'
          Dst:             winpr_int_assert
    - functionName:    NCrushFetchBits
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1944
      functionLinenumberEnd: 1977
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          172
      EdgeCount:       43
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:1945,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1946,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1947,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:1948,2'
          Dst:             winpr_int_assert
    - functionName:    get_dword
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1932
      functionLinenumberEnd: 1939
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          64
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:1934,2'
          Dst:             winpr_int_assert
    - functionName:    ncrush_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/ncrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2019
      functionLinenumberEnd: 2320
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         282
      ICount:          1500
      EdgeCount:       348
      CyclomaticComplexity: 68
      functionsReached:
        - NCrushFetchBits
        - WLog_Print_dbg_tag
        - get_dword
        - get_word
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/ncrush.c:2036,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2037,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2038,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2039,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2075,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/ncrush.c:2083,16'
          Dst:             get_dword
        - Src:             'libfreerdp/codec/ncrush.c:2088,24'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2095,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2095,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2097,9'
          Dst:             NCrushFetchBits
        - Src:             'libfreerdp/codec/ncrush.c:2105,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/ncrush.c:2128,25'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2135,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2135,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2138,9'
          Dst:             NCrushFetchBits
        - Src:             'libfreerdp/codec/ncrush.c:2156,25'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2159,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2159,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2162,10'
          Dst:             NCrushFetchBits
        - Src:             'libfreerdp/codec/ncrush.c:2189,26'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2197,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2197,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2199,10'
          Dst:             NCrushFetchBits
        - Src:             'libfreerdp/codec/ncrush.c:2203,25'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2211,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2211,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2213,9'
          Dst:             NCrushFetchBits
        - Src:             'libfreerdp/codec/ncrush.c:2231,25'
          Dst:             get_word
        - Src:             'libfreerdp/codec/ncrush.c:2234,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2234,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2237,10'
          Dst:             NCrushFetchBits
        - Src:             'libfreerdp/codec/ncrush.c:2308,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/ncrush.c:2314,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/ncrush.c:2315,2'
          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_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:    xcrush_clear_hash_table_range
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          145
      EdgeCount:       35
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:308,2'
          Dst:             winpr_int_assert
    - functionName:    xcrush_find_next_matching_chunk
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          156
      EdgeCount:       40
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:339,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:364,2'
          Dst:             winpr_int_assert
    - functionName:    xcrush_find_match_length
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 507
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          392
      EdgeCount:       76
      CyclomaticComplexity: 20
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:430,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:431,2'
          Dst:             winpr_int_assert
    - functionName:    xcrush_insert_chunk
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          271
      EdgeCount:       58
      CyclomaticComplexity: 10
      functionsReached:
        - winpr_int_assert
        - xcrush_clear_hash_table_range
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:373,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:383,3'
          Dst:             xcrush_clear_hash_table_range
        - Src:             'libfreerdp/codec/xcrush.c:400,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:405,29'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:405,29'
          Dst:             winpr_int_assert
    - functionName:    xcrush_update_hash
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          100
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:169,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:170,2'
          Dst:             winpr_int_assert
    - functionName:    xcrush_append_chunk
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          285
      EdgeCount:       80
      CyclomaticComplexity: 11
      functionsReached:
        - winpr_int_assert
        - xcrush_update_hash
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:195,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:196,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:197,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:209,55'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:209,55'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:209,23'
          Dst:             xcrush_update_hash
        - Src:             'libfreerdp/codec/xcrush.c:210,53'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:210,53'
          Dst:             winpr_int_assert
    - functionName:    _rotl
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/crt.h'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          16
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    xcrush_compute_chunks
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 292
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          346
      EdgeCount:       70
      CyclomaticComplexity: 15
      functionsReached:
        - _rotl
        - winpr_int_assert
        - xcrush_append_chunk
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:227,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:228,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:229,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:239,14'
          Dst:             _rotl
        - Src:             'libfreerdp/codec/xcrush.c:245,14'
          Dst:             _rotl
        - Src:             'libfreerdp/codec/xcrush.c:250,9'
          Dst:             xcrush_append_chunk
        - Src:             'libfreerdp/codec/xcrush.c:255,14'
          Dst:             _rotl
        - Src:             'libfreerdp/codec/xcrush.c:260,9'
          Dst:             xcrush_append_chunk
        - Src:             'libfreerdp/codec/xcrush.c:265,14'
          Dst:             _rotl
        - Src:             'libfreerdp/codec/xcrush.c:270,9'
          Dst:             xcrush_append_chunk
        - Src:             'libfreerdp/codec/xcrush.c:275,14'
          Dst:             _rotl
        - Src:             'libfreerdp/codec/xcrush.c:280,9'
          Dst:             xcrush_append_chunk
        - Src:             'libfreerdp/codec/xcrush.c:285,26'
          Dst:             xcrush_append_chunk
    - functionName:    xcrush_generate_output
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 767
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         125
      ICount:          605
      EdgeCount:       145
      CyclomaticComplexity: 22
      functionsReached:
        - winpr_Data_Write_UINT16
        - winpr_Data_Write_UINT32
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:691,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:692,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:693,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:694,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:702,40'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:702,40'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:702,2'
          Dst:             winpr_Data_Write_UINT16
        - Src:             'libfreerdp/codec/xcrush.c:713,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:713,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:712,3'
          Dst:             winpr_Data_Write_UINT16
        - Src:             'libfreerdp/codec/xcrush.c:716,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:720,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:720,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:719,3'
          Dst:             winpr_Data_Write_UINT16
        - Src:             'libfreerdp/codec/xcrush.c:721,3'
          Dst:             winpr_Data_Write_UINT32
    - functionName:    xcrush_optimize_matches
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 675
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          310
      EdgeCount:       32
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:624,2'
          Dst:             winpr_int_assert
    - functionName:    xcrush_find_all_matches
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 609
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         57
      ICount:          396
      EdgeCount:       76
      CyclomaticComplexity: 21
      functionsReached:
        - winpr_int_assert
        - xcrush_find_match_length
        - xcrush_find_next_matching_chunk
        - xcrush_insert_chunk
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:523,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:535,12'
          Dst:             xcrush_insert_chunk
        - Src:             'libfreerdp/codec/xcrush.c:550,15'
          Dst:             xcrush_find_match_length
        - Src:             'libfreerdp/codec/xcrush.c:575,14'
          Dst:             xcrush_find_next_matching_chunk
    - functionName:    xcrush_compute_signatures
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 296
      functionLinenumberEnd: 303
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - xcrush_compute_chunks
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:299,6'
          Dst:             xcrush_compute_chunks
    - functionName:    xcrush_copy_bytes_no_overlap
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 786
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          177
      EdgeCount:       44
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:774,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:774,22'
          Dst:             winpr_int_assert
    - functionName:    xcrush_copy_bytes
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 800
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          88
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
        - xcrush_copy_bytes_no_overlap
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:791,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:792,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:797,10'
          Dst:             xcrush_copy_bytes_no_overlap
    - 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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:60,3'
          Dst:             winpr_int_assert
    - functionName:    xcrush_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1210
      functionLinenumberEnd: 1216
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - mppc_context_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:1213,3'
          Dst:             mppc_context_free
    - functionName:    xcrush_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1189
      functionLinenumberEnd: 1207
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          58
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - mppc_context_new
        - xcrush_context_free
        - xcrush_context_reset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:1190,44'
          Dst:             calloc
        - Src:             'libfreerdp/codec/xcrush.c:1196,17'
          Dst:             mppc_context_new
        - Src:             'libfreerdp/codec/xcrush.c:1200,2'
          Dst:             xcrush_context_reset
        - Src:             'libfreerdp/codec/xcrush.c:1204,2'
          Dst:             xcrush_context_free
    - functionName:    xcrush_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1167
      functionLinenumberEnd: 1186
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - mppc_context_reset
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:1168,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1185,2'
          Dst:             mppc_context_reset
    - functionName:    xcrush_compress_l1
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 984
      functionLinenumberEnd: 1053
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          291
      EdgeCount:       73
      CyclomaticComplexity: 11
      functionsReached:
        - winpr_int_assert
        - xcrush_compute_signatures
        - xcrush_find_all_matches
        - xcrush_generate_output
        - xcrush_optimize_matches
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:992,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:993,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:994,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:995,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:996,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:997,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1013,20'
          Dst:             xcrush_compute_signatures
        - Src:             'libfreerdp/codec/xcrush.c:1017,13'
          Dst:             xcrush_find_all_matches
        - Src:             'libfreerdp/codec/xcrush.c:1027,14'
          Dst:             xcrush_optimize_matches
        - Src:             'libfreerdp/codec/xcrush.c:1035,14'
          Dst:             xcrush_generate_output
    - functionName:    xcrush_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1059
      functionLinenumberEnd: 1164
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          372
      EdgeCount:       88
      CyclomaticComplexity: 16
      functionsReached:
        - mppc_compress
        - winpr_int_assert
        - xcrush_compress_l1
        - xcrush_context_reset
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:1071,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1072,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1073,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1074,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1075,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1076,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:1089,11'
          Dst:             xcrush_compress_l1
        - Src:             'libfreerdp/codec/xcrush.c:1117,12'
          Dst:             mppc_compress
        - Src:             'libfreerdp/codec/xcrush.c:1128,4'
          Dst:             xcrush_context_reset
    - functionName:    xcrush_decompress_l1
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 806
      functionLinenumberEnd: 931
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          599
      EdgeCount:       138
      CyclomaticComplexity: 30
      functionsReached:
        - winpr_Data_Get_UINT16
        - winpr_Data_Get_UINT32
        - winpr_int_assert
        - xcrush_copy_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:823,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:828,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:829,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:830,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:853,16'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'libfreerdp/codec/xcrush.c:863,18'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'libfreerdp/codec/xcrush.c:864,24'
          Dst:             winpr_Data_Get_UINT16
        - Src:             'libfreerdp/codec/xcrush.c:866,8'
          Dst:             winpr_Data_Get_UINT32
        - Src:             'libfreerdp/codec/xcrush.c:888,5'
          Dst:             xcrush_copy_bytes
        - Src:             'libfreerdp/codec/xcrush.c:903,4'
          Dst:             xcrush_copy_bytes
        - Src:             'libfreerdp/codec/xcrush.c:911,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:911,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:916,3'
          Dst:             xcrush_copy_bytes
    - functionName:    xcrush_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/xcrush.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 978
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          185
      EdgeCount:       41
      CyclomaticComplexity: 6
      functionsReached:
        - mppc_decompress
        - winpr_int_assert
        - xcrush_decompress_l1
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/xcrush.c:943,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:948,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:949,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:950,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/xcrush.c:966,7'
          Dst:             xcrush_decompress_l1
        - Src:             'libfreerdp/codec/xcrush.c:971,6'
          Dst:             mppc_decompress
        - Src:             'libfreerdp/codec/xcrush.c:976,11'
          Dst:             xcrush_decompress_l1
    - functionName:    BitStream_Prefetch
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          155
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:53,3'
          Dst:             winpr_int_assert
    - functionName:    mppc_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/mppc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 858
      functionLinenumberEnd: 864
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          30
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BitStream_Free
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/mppc.c:861,3'
          Dst:             BitStream_Free
    - functionName:    mppc_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/mppc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 824
      functionLinenumberEnd: 855
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          80
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BitStream_New
        - calloc
        - mppc_context_free
        - mppc_context_reset
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/mppc.c:825,23'
          Dst:             calloc
        - Src:             'libfreerdp/codec/mppc.c:843,13'
          Dst:             BitStream_New
        - Src:             'libfreerdp/codec/mppc.c:848,2'
          Dst:             mppc_context_reset
        - Src:             'libfreerdp/codec/mppc.c:853,2'
          Dst:             mppc_context_free
    - functionName:    mppc_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/mppc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 805
      functionLinenumberEnd: 821
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          71
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/mppc.c:806,2'
          Dst:             winpr_int_assert
    - functionName:    mppc_set_compression_level
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/mppc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 789
      functionLinenumberEnd: 802
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          51
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/mppc.c:790,2'
          Dst:             winpr_int_assert
    - functionName:    BitStream_Flush
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 97
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          148
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:87,3'
          Dst:             winpr_int_assert
    - functionName:    BitStream_Write_Bits
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 146
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          141
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - BitStream_Flush
        - winpr_int_assert
      functionUses:    26
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:147,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:159,4'
          Dst:             BitStream_Flush
    - functionName:    mppc_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/mppc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 786
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         246
      ICount:          1361
      EdgeCount:       316
      CyclomaticComplexity: 72
      functionsReached:
        - BitStream_Attach
        - BitStream_Flush
        - BitStream_Write_Bits
        - mppc_context_reset
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/mppc.c:463,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:464,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:465,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:466,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:467,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:468,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:471,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:474,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:507,2'
          Dst:             BitStream_Attach
        - Src:             'libfreerdp/codec/mppc.c:532,5'
          Dst:             mppc_context_reset
        - Src:             'libfreerdp/codec/mppc.c:548,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:554,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:581,5'
          Dst:             mppc_context_reset
        - Src:             'libfreerdp/codec/mppc.c:595,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:601,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:607,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:613,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:622,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:628,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:634,6'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:643,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:649,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:655,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:661,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:667,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:673,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:679,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:685,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:691,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:697,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:703,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:709,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:716,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:723,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:730,5'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:741,4'
          Dst:             mppc_context_reset
        - Src:             'libfreerdp/codec/mppc.c:757,4'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:763,4'
          Dst:             BitStream_Write_Bits
        - Src:             'libfreerdp/codec/mppc.c:769,2'
          Dst:             BitStream_Flush
    - functionName:    BitStream_Shift
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          204
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - BitStream_Prefetch
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    24
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:101,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:123,5'
          Dst:             BitStream_Prefetch
        - Src:             'winpr/include/winpr/bitstream.h:134,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:    BitStream_Fetch
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          157
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - BitStream_Prefetch
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:70,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:82,3'
          Dst:             BitStream_Prefetch
    - functionName:    mppc_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/mppc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         147
      ICount:          806
      EdgeCount:       184
      CyclomaticComplexity: 39
      functionsReached:
        - BitStream_Attach
        - BitStream_Fetch
        - BitStream_Shift
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/mppc.c:102,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:103,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:104,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:105,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:108,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:111,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/mppc.c:116,2'
          Dst:             BitStream_Attach
        - Src:             'libfreerdp/codec/mppc.c:117,2'
          Dst:             BitStream_Fetch
        - Src:             'libfreerdp/codec/mppc.c:151,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/mppc.c:164,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:176,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:192,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:201,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:210,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:219,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:236,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:245,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:254,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:275,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:284,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:293,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:302,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:311,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:320,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:329,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:338,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:347,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:356,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:365,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:374,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:383,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:392,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:401,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/mppc.c:415,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/mppc.c:423,4'
          Dst:             WLog_Print_dbg_tag
    - 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:    1
      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_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:    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:    3
      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:    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_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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,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:    zgfx_history_buffer_ring_read
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         171
      ICount:          672
      EdgeCount:       199
      CyclomaticComplexity: 30
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:188,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:188,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:192,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:192,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:194,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:194,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:200,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:200,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:208,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:208,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:212,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:212,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:217,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:217,3'
          Dst:             winpr_int_assert
    - functionName:    zgfx_GetBits
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 120
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          102
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    zgfx_history_buffer_ring_write
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          238
      EdgeCount:       42
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:159,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:159,25'
          Dst:             winpr_int_assert
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,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:    zgfx_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 636
      functionLinenumberEnd: 638
      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:    zgfx_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 632
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
        - zgfx_context_reset
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:623,24'
          Dst:             calloc
        - Src:             'libfreerdp/codec/zgfx.c:629,3'
          Dst:             zgfx_context_reset
    - functionName:    zgfx_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 616
      functionLinenumberEnd: 618
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Stream_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1287
      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:1286,3'
          Dst:             winpr_int_assert
    - functionName:    zgfx_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 599
      functionLinenumberEnd: 612
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          65
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_Buffer
        - Stream_Free
        - Stream_GetPosition
        - Stream_New
        - zgfx_compress_to_stream
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:601,15'
          Dst:             Stream_New
        - Src:             'libfreerdp/codec/zgfx.c:602,11'
          Dst:             zgfx_compress_to_stream
        - Src:             'libfreerdp/codec/zgfx.c:603,21'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/zgfx.c:608,18'
          Dst:             Stream_Buffer
        - Src:             'libfreerdp/codec/zgfx.c:611,2'
          Dst:             Stream_Free
    - functionName:    zgfx_compress_to_stream
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 594
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         165
      ICount:          632
      EdgeCount:       190
      CyclomaticComplexity: 27
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_GetPosition
        - Stream_Length
        - Stream_SealLength
        - Stream_Seek
        - Stream_SetPosition
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - WLog_Print_dbg_tag
        - winpr_int_assert
        - zgfx_compress_segment
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:532,8'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/zgfx.c:534,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/zgfx.c:542,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:542,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:542,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/zgfx.c:547,23'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/zgfx.c:548,5'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/zgfx.c:549,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:549,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:549,5'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/zgfx.c:556,17'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/zgfx.c:557,4'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/zgfx.c:560,18'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/zgfx.c:562,8'
          Dst:             zgfx_compress_segment
        - Src:             'libfreerdp/codec/zgfx.c:568,27'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/zgfx.c:571,9'
          Dst:             Stream_SetPosition
        - Src:             'libfreerdp/codec/zgfx.c:573,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:573,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:573,4'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/zgfx.c:574,9'
          Dst:             Stream_SetPosition
        - Src:             'libfreerdp/codec/zgfx.c:581,2'
          Dst:             Stream_SealLength
        - Src:             'libfreerdp/codec/zgfx.c:586,8'
          Dst:             Stream_SetPosition
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:588,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/zgfx.c:589,33'
          Dst:             Stream_Length
        - Src:             'libfreerdp/codec/zgfx.c:589,8'
          Dst:             Stream_SetPosition
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1366
      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:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1364,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1365,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:    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:    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:    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:    2
      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:    zgfx_compress_segment
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 506
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         83
      ICount:          306
      EdgeCount:       93
      CyclomaticComplexity: 12
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write
        - Stream_Write_UINT8_unchecked
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:496,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/zgfx.c:498,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:503,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/zgfx.c:504,2'
          Dst:             Stream_Write
    - 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_Length
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1345
      functionLinenumberEnd: 1347
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1346,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:    2
      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_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:    zgfx_append
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 405
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          137
      EdgeCount:       31
      CyclomaticComplexity: 5
      functionsReached:
        - realloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:387,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:388,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:389,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:398,14'
          Dst:             realloc
    - functionName:    zgfx_decompress_segment
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 225
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         96
      ICount:          656
      EdgeCount:       121
      CyclomaticComplexity: 27
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_Pointer
        - Stream_SafeSeekEx
        - stream_read_u8
        - winpr_int_assert
        - zgfx_GetBits
        - zgfx_history_buffer_ring_read
        - zgfx_history_buffer_ring_write
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:236,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:237,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:244,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/zgfx.c:247,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/zgfx.c:249,14'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/zgfx.c:250,7'
          Dst:             Stream_SafeSeekEx
        - Src:             'libfreerdp/codec/zgfx.c:255,3'
          Dst:             zgfx_history_buffer_ring_write
        - Src:             'libfreerdp/codec/zgfx.c:287,5'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:297,6'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:311,6'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:317,7'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:327,8'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:333,9'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:336,8'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:343,43'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:343,43'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:343,7'
          Dst:             zgfx_history_buffer_ring_read
        - Src:             'libfreerdp/codec/zgfx.c:346,7'
          Dst:             zgfx_history_buffer_ring_write
        - Src:             'libfreerdp/codec/zgfx.c:353,7'
          Dst:             zgfx_GetBits
        - Src:             'libfreerdp/codec/zgfx.c:368,7'
          Dst:             zgfx_history_buffer_ring_write
    - 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:    zgfx_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/zgfx.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          298
      EdgeCount:       84
      CyclomaticComplexity: 16
      functionsReached:
        - Stream_CheckAndLogRequiredLengthEx
        - Stream_GetRemainingLength
        - Stream_StaticConstInit
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
        - winpr_int_assert
        - zgfx_append
        - zgfx_decompress_segment
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/zgfx.c:416,20'
          Dst:             Stream_StaticConstInit
        - Src:             'libfreerdp/codec/zgfx.c:418,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:419,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:420,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:421,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/zgfx.c:426,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/zgfx.c:429,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/zgfx.c:433,46'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/zgfx.c:433,8'
          Dst:             zgfx_decompress_segment
        - Src:             'libfreerdp/codec/zgfx.c:438,9'
          Dst:             zgfx_append
        - Src:             'libfreerdp/codec/zgfx.c:453,8'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/zgfx.c:456,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/zgfx.c:457,3'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/zgfx.c:461,9'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'libfreerdp/codec/zgfx.c:464,4'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/zgfx.c:466,9'
          Dst:             zgfx_decompress_segment
        - Src:             'libfreerdp/codec/zgfx.c:469,9'
          Dst:             zgfx_append
    - functionName:    clear_decompress_subcode_rlex
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         144
      ICount:          778
      EdgeCount:       179
      CyclomaticComplexity: 37
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPWriteColor
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:170,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:173,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:175,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:180,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:180,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:184,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:192,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:193,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:194,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:195,16'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/clear.c:208,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:211,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:212,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:220,9'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:223,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:228,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:231,5'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/clear.c:238,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:238,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:245,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:245,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:254,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:254,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:262,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:262,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:271,48'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:275,5'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:288,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:288,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:296,48'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:302,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:302,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:309,5'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:323,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:323,3'
          Dst:             WLog_PrintTextMessage
    - 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:    20
      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_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:    9
      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_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:    6
      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:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,3'
          Dst:             winpr_int_assert
    - 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:    5
      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_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:    clear_decompress_nscodec
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          79
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_Pointer
        - Stream_Seek
        - nsc_process_message
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:141,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:144,51'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/clear.c:144,7'
          Dst:             nsc_process_message
        - Src:             'libfreerdp/codec/clear.c:147,2'
          Dst:             Stream_Seek
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Get_UINT8
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 347
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:347,10'
          Dst:             stream_read_u8
    - functionName:    Stream_Get_UINT32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 412
      functionLinenumberEnd: 413
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - stream_read_u32_le
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:413,10'
          Dst:             stream_read_u32_le
    - functionName:    Stream_Get_UINT16
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 369
      functionDepth:   0
      returnType:      short
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - stream_read_u16_le
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:369,10'
          Dst:             stream_read_u16_le
    - functionName:    FreeRDPConvertColor
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPSplitColor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:277,3'
          Dst:             FreeRDPSplitColor
        - Src:             'include/freerdp/codec/color.h:278,10'
          Dst:             FreeRDPGetColor
    - functionName:    resize_vbar_entry
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 604
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          176
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - winpr_aligned_recalloc
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:575,22'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:580,14'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/clear.c:584,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:584,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:597,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:597,3'
          Dst:             WLog_PrintTextMessage
    - functionName:    convert_color
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 121
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          87
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - freerdp_image_copy_no_overlap
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:128,9'
          Dst:             freerdp_image_copy_no_overlap
    - functionName:    clear_reset_glyph_cache
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         7
      ICount:          42
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_aligned_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:111,3'
          Dst:             winpr_aligned_free
    - functionName:    clear_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1332
      functionLinenumberEnd: 1343
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - clear_reset_glyph_cache
        - clear_reset_vbar_storage
        - nsc_context_free
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:1336,2'
          Dst:             nsc_context_free
        - Src:             'libfreerdp/codec/clear.c:1337,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/clear.c:1339,2'
          Dst:             clear_reset_vbar_storage
        - Src:             'libfreerdp/codec/clear.c:1340,2'
          Dst:             clear_reset_glyph_cache
        - Src:             'libfreerdp/codec/clear.c:1342,2'
          Dst:             winpr_aligned_free
    - functionName:    clear_reset_vbar_storage
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          97
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:90,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/clear.c:100,4'
          Dst:             winpr_aligned_free
    - functionName:    clear_resize_buffer
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 359
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         62
      ICount:          256
      EdgeCount:       73
      CyclomaticComplexity: 13
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:337,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:344,45'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/clear.c:344,45'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/clear.c:343,22'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/clear.c:348,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:348,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:354,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/clear.c:354,21'
          Dst:             winpr_int_assert
    - functionName:    clear_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1298
      functionLinenumberEnd: 1329
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          93
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - WLog_Get
        - clear_context_free
        - clear_context_reset
        - clear_resize_buffer
        - nsc_context_new
        - updateContextFormat
        - winpr_aligned_calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:1299,41'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/clear.c:1303,15'
          Dst:             WLog_Get
        - Src:             'libfreerdp/codec/clear.c:1305,15'
          Dst:             nsc_context_new
        - Src:             'libfreerdp/codec/clear.c:1310,7'
          Dst:             updateContextFormat
        - Src:             'libfreerdp/codec/clear.c:1313,7'
          Dst:             clear_resize_buffer
        - Src:             'libfreerdp/codec/clear.c:1319,7'
          Dst:             clear_context_reset
        - Src:             'libfreerdp/codec/clear.c:1326,2'
          Dst:             clear_context_free
    - functionName:    updateContextFormat
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1054
      functionLinenumberEnd: 1076
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          116
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - FreeRDPAreColorFormatsEqualNoAlpha
        - FreeRDPGetColorFormatName
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - nsc_context_set_parameters
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:1062,9'
          Dst:             FreeRDPAreColorFormatsEqualNoAlpha
        - Src:             'libfreerdp/codec/clear.c:1064,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1064,5'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/codec/clear.c:1064,5'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/codec/clear.c:1064,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1075,9'
          Dst:             nsc_context_set_parameters
    - functionName:    clear_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          24
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    clear_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1278
      functionLinenumberEnd: 1280
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          47
      EdgeCount:       11
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:1279,2'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1279,2'
          Dst:             WLog_PrintTextMessage
    - functionName:    clear_decompress_subcodecs_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 462
      functionLinenumberEnd: 568
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          505
      EdgeCount:       96
      CyclomaticComplexity: 20
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_Get_UINT16
        - Stream_Get_UINT32
        - Stream_Get_UINT8
        - Stream_Pointer
        - Stream_Seek
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - clear_decompress_nscodec
        - clear_decompress_subcode_rlex
        - clear_resize_buffer
        - convert_color
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/clear.c:519,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:465,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:470,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:473,25'
          Dst:             Stream_Get_UINT16
        - Src:             'libfreerdp/codec/clear.c:474,25'
          Dst:             Stream_Get_UINT16
        - Src:             'libfreerdp/codec/clear.c:475,24'
          Dst:             Stream_Get_UINT16
        - Src:             'libfreerdp/codec/clear.c:476,25'
          Dst:             Stream_Get_UINT16
        - Src:             'libfreerdp/codec/clear.c:477,38'
          Dst:             Stream_Get_UINT32
        - Src:             'libfreerdp/codec/clear.c:478,28'
          Dst:             Stream_Get_UINT8
        - Src:             'libfreerdp/codec/clear.c:481,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:488,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:488,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:495,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:495,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:503,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:503,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:510,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:510,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:516,8'
          Dst:             clear_resize_buffer
        - Src:             'libfreerdp/codec/clear.c:523,37'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:528,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:528,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:535,24'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/clear.c:534,10'
          Dst:             convert_color
        - Src:             'libfreerdp/codec/clear.c:539,5'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/clear.c:544,10'
          Dst:             clear_decompress_nscodec
        - Src:             'libfreerdp/codec/clear.c:552,10'
          Dst:             clear_decompress_subcode_rlex
        - Src:             'libfreerdp/codec/clear.c:560,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:560,5'
          Dst:             WLog_PrintTextMessage
    - functionName:    clear_decompress_bands_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 612
      functionLinenumberEnd: 927
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         233
      ICount:          1368
      EdgeCount:       292
      CyclomaticComplexity: 61
      functionsReached:
        - FreeRDPConvertColor
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPReadColor
        - FreeRDPWriteColor
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - resize_vbar_entry
        - stream_read_u16_le
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:615,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:635,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:638,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:639,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:640,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:641,3'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:642,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:643,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:644,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:646,14'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/clear.c:650,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:650,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:657,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:657,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:672,9'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:675,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:681,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:681,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:692,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:692,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:697,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:700,5'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:712,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:712,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:721,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:721,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:726,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:732,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:732,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:742,10'
          Dst:             resize_vbar_entry
        - Src:             'libfreerdp/codec/clear.c:751,38'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:753,6'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:754,6'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:755,6'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:756,14'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/clear.c:758,11'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:775,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:775,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:779,11'
          Dst:             resize_vbar_entry
        - Src:             'libfreerdp/codec/clear.c:785,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:785,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:797,6'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:797,6'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:808,10'
          Dst:             resize_vbar_entry
        - Src:             'libfreerdp/codec/clear.c:823,7'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:824,20'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:841,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:845,7'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:845,7'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:853,46'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:853,14'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/codec/clear.c:856,11'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:859,19'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:870,12'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:873,20'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:883,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:883,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:888,10'
          Dst:             resize_vbar_entry
        - Src:             'libfreerdp/codec/clear.c:913,38'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:914,21'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/codec/clear.c:915,14'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/clear.c:917,11'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:920,20'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    clear_decompress_residual_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 453
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          364
      EdgeCount:       74
      CyclomaticComplexity: 16
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPWriteColor
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - clear_resize_buffer
        - convert_color
        - stream_read_u16_le
        - stream_read_u32_le
        - stream_read_u8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:375,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:382,7'
          Dst:             clear_resize_buffer
        - Src:             'libfreerdp/codec/clear.c:395,8'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:398,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:399,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:400,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:401,3'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:403,11'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/clear.c:407,9'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:410,4'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:415,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:418,5'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/clear.c:425,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:425,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:434,4'
          Dst:             FreeRDPWriteColor
        - Src:             'libfreerdp/codec/clear.c:435,17'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:441,22'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:445,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:445,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:450,9'
          Dst:             convert_color
    - functionName:    clear_decompress_glyph_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 936
      functionLinenumberEnd: 1050
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         136
      ICount:          670
      EdgeCount:       168
      CyclomaticComplexity: 34
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - Stream_CheckAndLogRequiredLengthWLogEx
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - convert_color
        - stream_read_u16_le
        - winpr_aligned_recalloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:944,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:944,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:953,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:953,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:958,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:961,2'
          Dst:             stream_read_u16_le
        - Src:             'libfreerdp/codec/clear.c:965,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:965,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:977,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:977,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:986,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:986,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:993,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:993,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:999,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:1000,10'
          Dst:             convert_color
        - Src:             'libfreerdp/codec/clear.c:1006,22'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/clear.c:1013,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1013,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1022,16'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/clear.c:1026,5'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1026,5'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1032,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/clear.c:1032,24'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/clear.c:1039,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1039,4'
          Dst:             WLog_PrintTextMessage
    - functionName:    clear_decompress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/clear.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1083
      functionLinenumberEnd: 1270
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         203
      ICount:          921
      EdgeCount:       251
      CyclomaticComplexity: 50
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_GetRemainingLength
        - Stream_StaticConstInit
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - clear_decompress_bands_data
        - clear_decompress_glyph_data
        - clear_decompress_residual_data
        - clear_decompress_subcodecs_data
        - clear_reset_vbar_storage
        - freerdp_image_copy_no_overlap
        - stream_read_u32_le
        - stream_read_u8
        - updateContextFormat
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/clear.c:1104,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1104,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1111,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1111,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1116,15'
          Dst:             Stream_StaticConstInit
        - Src:             'libfreerdp/codec/clear.c:1121,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/clear.c:1124,7'
          Dst:             updateContextFormat
        - Src:             'libfreerdp/codec/clear.c:1127,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:1128,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/clear.c:1135,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1135,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1137,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1137,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1146,3'
          Dst:             clear_reset_vbar_storage
        - Src:             'libfreerdp/codec/clear.c:1149,7'
          Dst:             clear_decompress_glyph_data
        - Src:             'libfreerdp/codec/clear.c:1153,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1153,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1158,6'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/clear.c:1165,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1165,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1172,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/clear.c:1173,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/clear.c:1174,2'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/clear.c:1178,8'
          Dst:             clear_decompress_residual_data
        - Src:             'libfreerdp/codec/clear.c:1182,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1182,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1189,8'
          Dst:             clear_decompress_bands_data
        - Src:             'libfreerdp/codec/clear.c:1192,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1192,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1199,8'
          Dst:             clear_decompress_subcodecs_data
        - Src:             'libfreerdp/codec/clear.c:1203,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1203,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1213,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1213,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1220,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1220,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1229,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1229,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1238,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1238,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1245,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1245,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1254,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/clear.c:1254,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/clear.c:1260,8'
          Dst:             freerdp_image_copy_no_overlap
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/../../primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    63
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/../../primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    93
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_dwt_2d_encode_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/rfx_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 463
      functionLinenumberEnd: 471
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         135
      ICount:          3213
      EdgeCount:       175
      CyclomaticComplexity: 42
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:464,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:465,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:449,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:458,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:459,2'
          Dst:             STORE_SI128
    - functionName:    rfx_dwt_2d_decode_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/rfx_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 346
      functionLinenumberEnd: 354
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         171
      ICount:          3460
      EdgeCount:       223
      CyclomaticComplexity: 54
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:347,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:348,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:336,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:340,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:342,2'
          Dst:             STORE_SI128
    - functionName:    rfx_quantization_encode_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/rfx_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         452
      ICount:          3028
      EdgeCount:       541
      CyclomaticComplexity: 91
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:145,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:147,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:160,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:160,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:159,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:159,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:159,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:159,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:162,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:162,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:161,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:161,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:161,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:161,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:164,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:164,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:163,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:163,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:163,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:163,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:166,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:166,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:165,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:165,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:165,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:165,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:168,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:168,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:167,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:167,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:167,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:167,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:170,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:170,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:169,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:169,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:169,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:169,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:172,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:172,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:171,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:171,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:171,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:171,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:174,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:174,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:173,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:173,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:173,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:173,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:176,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:176,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:175,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:175,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:175,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:175,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:178,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:178,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:177,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:177,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:177,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:177,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:179,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:179,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:179,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:179,2'
          Dst:             STORE_SI128
    - functionName:    rfx_quantization_decode_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/rfx_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 116
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         221
      ICount:          1347
      EdgeCount:       274
      CyclomaticComplexity: 55
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:93,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:94,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:95,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:105,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:105,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:105,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:105,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:106,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:106,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:106,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:106,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:107,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:107,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:107,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:107,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:108,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:108,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:108,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:108,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:109,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:109,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:109,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:109,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:110,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:110,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:110,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:110,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:111,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:111,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:111,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:111,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:112,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:112,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:112,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:112,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:113,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:113,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:113,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:113,2'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:114,2'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:114,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:114,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:114,2'
          Dst:             STORE_SI128
    - 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:    rfx_init_sse2_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/rfx_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 475
      functionLinenumberEnd: 490
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          37
      EdgeCount:       11
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/rfx_sse2.c:477,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:    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:    rfx_init_neon_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/neon/rfx_neon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 539
      functionLinenumberEnd: 552
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/neon/rfx_neon.c:549,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    primitives_init_optimized
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          40
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_YCoCg_opt
        - primitives_init_YUV_opt
        - primitives_init_add_opt
        - primitives_init_alphaComp_opt
        - primitives_init_andor_opt
        - primitives_init_colors_opt
        - primitives_init_copy_opt
        - primitives_init_generic
        - primitives_init_set_opt
        - primitives_init_shift_opt
        - primitives_init_sign_opt
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:94,2'
          Dst:             primitives_init_generic
        - Src:             'libfreerdp/primitives/primitives.c:97,2'
          Dst:             primitives_init_add_opt
        - Src:             'libfreerdp/primitives/primitives.c:98,2'
          Dst:             primitives_init_andor_opt
        - Src:             'libfreerdp/primitives/primitives.c:99,2'
          Dst:             primitives_init_alphaComp_opt
        - Src:             'libfreerdp/primitives/primitives.c:100,2'
          Dst:             primitives_init_copy_opt
        - Src:             'libfreerdp/primitives/primitives.c:101,2'
          Dst:             primitives_init_set_opt
        - Src:             'libfreerdp/primitives/primitives.c:102,2'
          Dst:             primitives_init_shift_opt
        - Src:             'libfreerdp/primitives/primitives.c:103,2'
          Dst:             primitives_init_sign_opt
        - Src:             'libfreerdp/primitives/primitives.c:104,2'
          Dst:             primitives_init_colors_opt
        - Src:             'libfreerdp/primitives/primitives.c:105,2'
          Dst:             primitives_init_YCoCg_opt
        - Src:             'libfreerdp/primitives/primitives.c:106,2'
          Dst:             primitives_init_YUV_opt
    - functionName:    primitives_init_generic
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_YCoCg
        - primitives_init_YUV
        - primitives_init_add
        - primitives_init_alphaComp
        - primitives_init_andor
        - primitives_init_colors
        - primitives_init_copy
        - primitives_init_set
        - primitives_init_shift
        - primitives_init_sign
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:70,2'
          Dst:             primitives_init_add
        - Src:             'libfreerdp/primitives/primitives.c:71,2'
          Dst:             primitives_init_andor
        - Src:             'libfreerdp/primitives/primitives.c:72,2'
          Dst:             primitives_init_alphaComp
        - Src:             'libfreerdp/primitives/primitives.c:73,2'
          Dst:             primitives_init_copy
        - Src:             'libfreerdp/primitives/primitives.c:74,2'
          Dst:             primitives_init_set
        - Src:             'libfreerdp/primitives/primitives.c:75,2'
          Dst:             primitives_init_shift
        - Src:             'libfreerdp/primitives/primitives.c:76,2'
          Dst:             primitives_init_sign
        - Src:             'libfreerdp/primitives/primitives.c:77,2'
          Dst:             primitives_init_colors
        - Src:             'libfreerdp/primitives/primitives.c:78,2'
          Dst:             primitives_init_YCoCg
        - Src:             'libfreerdp/primitives/primitives.c:79,2'
          Dst:             primitives_init_YUV
    - functionName:    primitives_auto_init_cb
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:318,9'
          Dst:             primitives_init
    - functionName:    primitives_init
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 344
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          54
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_autodetect_best
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/primitives.c:323,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:326,11'
          Dst:             primitives_autodetect_best
        - Src:             'libfreerdp/primitives/primitives.c:341,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    primitives_autodetect_best
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          87
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_by_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:232,16'
          Dst:             primitives_get_by_type
        - Src:             'libfreerdp/primitives/primitives.c:235,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/primitives/primitives.c:238,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/primitives/primitives.c:275,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/primitives/primitives.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:    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:    primitives_get_by_type
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          60
      EdgeCount:       15
      CyclomaticComplexity: 3
      functionsReached:
        - primitives_init_cpu_cb
        - primitives_init_generic_cb
        - winpr_InitOnceExecuteOnce
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/primitives.c:398,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:394,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/primitives/primitives.c:394,7'
          Dst:             primitives_init_generic_cb
        - Src:             'libfreerdp/primitives/primitives.c:409,9'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/primitives/primitives.c:409,9'
          Dst:             primitives_init_cpu_cb
    - functionName:    primitives_init_generic_cb
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_generic
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:89,9'
          Dst:             primitives_init_generic
    - functionName:    primitives_init_cpu_cb
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_optimized
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:308,10'
          Dst:             primitives_init_optimized
    - functionName:    primtives_hint_str
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 455
      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:   'libfreerdp/primitives/primitives.c:442,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    primitives_avc444_frame_type_str
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       10
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/primitives.c:427,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    primitives_flags
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 422
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    primitives_get_generic
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - primitives_init_generic_cb
        - winpr_InitOnceExecuteOnce
      functionUses:    14
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:386,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/primitives/primitives.c:386,7'
          Dst:             primitives_init_generic_cb
    - functionName:    setup
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 362
      functionLinenumberEnd: 376
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         10
      ICount:          39
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - primitives_auto_init_cb
        - primitives_init_cpu_cb
        - primitives_init_generic_cb
        - winpr_InitOnceExecuteOnce
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:363,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/primitives/primitives.c:363,7'
          Dst:             primitives_init_generic_cb
        - Src:             'libfreerdp/primitives/primitives.c:367,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/primitives/primitives.c:367,7'
          Dst:             primitives_init_cpu_cb
        - Src:             'libfreerdp/primitives/primitives.c:374,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/primitives/primitives.c:374,7'
          Dst:             primitives_auto_init_cb
    - functionName:    primitives_get
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - setup
      functionUses:    12
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/primitives.c:380,2'
          Dst:             setup
    - functionName:    primitives_uninit
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 358
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         9
      ICount:          41
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    primitives_get_hints
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    primitives_set_hints
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/primitives.c'
      linkageType:     InternalLinkage
      functionLinenumber: 39
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    init_app_details
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          52
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strncpy
        - updateDetailsString
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:77,22'
          Dst:             strncpy
        - Src:             'libfreerdp/utils/helpers.c:78,22'
          Dst:             strncpy
        - Src:             'libfreerdp/utils/helpers.c:87,2'
          Dst:             updateDetailsString
    - 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:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    updateDetailsString
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         24
      ICount:          85
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertUtf8NToWChar
        - snprintf
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:47,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/utils/helpers.c:48,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/utils/helpers.c:52,10'
          Dst:             snprintf
        - Src:             'libfreerdp/utils/helpers.c:55,10'
          Dst:             snprintf
        - Src:             'libfreerdp/utils/helpers.c:60,9'
          Dst:             snprintf
        - Src:             'libfreerdp/utils/helpers.c:64,9'
          Dst:             snprintf
        - Src:             'libfreerdp/utils/helpers.c:67,8'
          Dst:             ConvertUtf8NToWChar
    - functionName:    freerdp_GetJSONConfigFile
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 308
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WINPR_JSON_ParseFromFile
        - freerdp_GetConfigFilePath
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:301,15'
          Dst:             freerdp_GetConfigFilePath
        - Src:             'libfreerdp/utils/helpers.c:305,21'
          Dst:             WINPR_JSON_ParseFromFile
    - functionName:    freerdp_GetConfigFilePath
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 254
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         25
      ICount:          156
      EdgeCount:       34
      CyclomaticComplexity: 11
      functionsReached:
        - GetCombinedPathV
        - GetKnownPath
        - _stricmp
        - freerdp_areApplicationDetailsCustomized
        - freerdp_getApplicationDetailsProduct
        - freerdp_getApplicationDetailsVendor
        - freerdp_getApplicationDetailsVersion
        - freerdp_settings_get_legacy_config_path
        - getCustomConfigPath
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:258,26'
          Dst:             freerdp_areApplicationDetailsCustomized
        - Src:             'libfreerdp/utils/helpers.c:261,10'
          Dst:             getCustomConfigPath
        - Src:             'libfreerdp/utils/helpers.c:265,23'
          Dst:             freerdp_getApplicationDetailsVendor
        - Src:             'libfreerdp/utils/helpers.c:266,24'
          Dst:             freerdp_getApplicationDetailsProduct
        - Src:             'libfreerdp/utils/helpers.c:267,26'
          Dst:             freerdp_getApplicationDetailsVersion
        - Src:             'libfreerdp/utils/helpers.c:273,18'
          Dst:             _stricmp
        - Src:             'libfreerdp/utils/helpers.c:274,10'
          Dst:             freerdp_settings_get_legacy_config_path
        - Src:             'libfreerdp/utils/helpers.c:277,17'
          Dst:             GetKnownPath
        - Src:             'libfreerdp/utils/helpers.c:283,10'
          Dst:             GetCombinedPathV
        - Src:             'libfreerdp/utils/helpers.c:285,10'
          Dst:             GetCombinedPathV
        - Src:             'libfreerdp/utils/helpers.c:294,15'
          Dst:             GetCombinedPathV
    - functionName:    freerdp_areApplicationDetailsCustomized
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 195
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          5
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getCustomConfigPath
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          117
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - GetCombinedPathV
        - GetKnownSubPathV
        - freerdp_getApplicationDetailsProduct
        - freerdp_getApplicationDetailsVendor
        - freerdp_getApplicationDetailsVersion
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:224,23'
          Dst:             freerdp_getApplicationDetailsVendor
        - Src:             'libfreerdp/utils/helpers.c:225,24'
          Dst:             freerdp_getApplicationDetailsProduct
        - Src:             'libfreerdp/utils/helpers.c:226,26'
          Dst:             freerdp_getApplicationDetailsVersion
        - Src:             'libfreerdp/utils/helpers.c:231,17'
          Dst:             GetKnownSubPathV
        - Src:             'libfreerdp/utils/helpers.c:237,10'
          Dst:             GetCombinedPathV
        - Src:             'libfreerdp/utils/helpers.c:239,10'
          Dst:             GetCombinedPathV
        - Src:             'libfreerdp/utils/helpers.c:248,15'
          Dst:             GetCombinedPathV
    - functionName:    freerdp_getApplicationDetailsVendor
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 134
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - initializeApplicationDetails
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:131,7'
          Dst:             initializeApplicationDetails
    - functionName:    freerdp_getApplicationDetailsProduct
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 137
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - initializeApplicationDetails
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:138,7'
          Dst:             initializeApplicationDetails
    - functionName:    freerdp_getApplicationDetailsVersion
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 181
      functionDepth:   0
      returnType:      size_t
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          28
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - initializeApplicationDetails
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:178,7'
          Dst:             initializeApplicationDetails
    - functionName:    freerdp_settings_get_legacy_config_path
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 216
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - GetCombinedPath
        - GetKnownSubPath
        - tolower
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:206,22'
          Dst:             tolower
        - Src:             'libfreerdp/utils/helpers.c:208,15'
          Dst:             GetKnownSubPath
        - Src:             'libfreerdp/utils/helpers.c:213,19'
          Dst:             GetCombinedPath
    - functionName:    tolower
      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:    initializeApplicationDetails
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      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:             'libfreerdp/utils/helpers.c:94,9'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/utils/helpers.c:94,9'
          Dst:             init_app_details
    - functionName:    freerdp_getApplicationDetailsStringW
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 189
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_getApplicationDetailsString
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 184
      functionLinenumberEnd: 185
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_getApplicatonDetailsRegKey
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          41
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - freerdp_getApplicatonDetailsCombined
        - winpr_asprintf
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:145,14'
          Dst:             freerdp_getApplicatonDetailsCombined
        - Src:             'libfreerdp/utils/helpers.c:151,8'
          Dst:             winpr_asprintf
    - functionName:    freerdp_getApplicatonDetailsCombined
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - freerdp_getApplicationDetailsProduct
        - freerdp_getApplicationDetailsVendor
        - freerdp_getApplicationDetailsVersion
        - winpr_asprintf
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:158,26'
          Dst:             freerdp_getApplicationDetailsVersion
        - Src:             'libfreerdp/utils/helpers.c:159,23'
          Dst:             freerdp_getApplicationDetailsVendor
        - Src:             'libfreerdp/utils/helpers.c:160,24'
          Dst:             freerdp_getApplicationDetailsProduct
        - Src:             'libfreerdp/utils/helpers.c:166,9'
          Dst:             winpr_asprintf
        - Src:             'libfreerdp/utils/helpers.c:170,9'
          Dst:             winpr_asprintf
    - functionName:    freerdp_setApplicationDetails
      functionSourceFile: '/src/FreeRDP/libfreerdp/utils/helpers.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 127
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          123
      EdgeCount:       30
      CyclomaticComplexity: 10
      functionsReached:
        - PathGetSeparatorA
        - freerdp_getApplicatonDetailsCombined
        - initializeApplicationDetails
        - strncpy
        - strnlen
        - updateDetailsString
        - winpr_setApplicationDetails
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/utils/helpers.c:99,7'
          Dst:             initializeApplicationDetails
        - Src:             'libfreerdp/utils/helpers.c:104,22'
          Dst:             strnlen
        - Src:             'libfreerdp/utils/helpers.c:105,22'
          Dst:             strnlen
        - Src:             'libfreerdp/utils/helpers.c:109,7'
          Dst:             strncpy
        - Src:             'libfreerdp/utils/helpers.c:112,7'
          Dst:             strncpy
        - Src:             'libfreerdp/utils/helpers.c:118,25'
          Dst:             PathGetSeparatorA
        - Src:             'libfreerdp/utils/helpers.c:119,14'
          Dst:             freerdp_getApplicatonDetailsCombined
        - Src:             'libfreerdp/utils/helpers.c:123,18'
          Dst:             winpr_setApplicationDetails
        - Src:             'libfreerdp/utils/helpers.c:125,2'
          Dst:             updateDetailsString
    - 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:    48
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_image_copy_generic
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 951
      functionDepth:   0
      returnType:      int
      argCount:        17
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          222
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - FreeRDPConvertColor
        - FreeRDPReadColor_int
        - FreeRDPWriteColorIgnoreAlpha_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:924,18'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:926,21'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/color.c:927,8'
          Dst:             FreeRDPWriteColorIgnoreAlpha_int
        - Src:             'libfreerdp/codec/color.c:932,12'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:935,10'
          Dst:             FreeRDPWriteColorIgnoreAlpha_int
        - Src:             'libfreerdp/codec/color.c:942,16'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/color.c:943,10'
          Dst:             FreeRDPWriteColorIgnoreAlpha_int
    - functionName:    FreeRDPReadColor_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       22
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetColorFormatName
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    11
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.h:117,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.h:115,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.h:117,10'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.h:135,9'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/codec/color.h:147,4'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/codec/color.h:147,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeRDPConvertColor
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPSplitColor
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:277,3'
          Dst:             FreeRDPSplitColor
        - Src:             'include/freerdp/codec/color.h:278,10'
          Dst:             FreeRDPGetColor
    - functionName:    FreeRDPWriteColorIgnoreAlpha_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 108
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          113
      EdgeCount:       41
      CyclomaticComplexity: 22
      functionsReached:
        - FreeRDPWriteColor_int
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.h:87,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.h:86,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.h:95,11'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.h:103,11'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.h:106,11'
          Dst:             FreeRDPWriteColor_int
    - functionName:    FreeRDPWriteColor_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          146
      EdgeCount:       20
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetColorFormatName
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    14
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.h:42,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.h:41,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.h:42,10'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.h:63,9'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/codec/color.h:75,4'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/codec/color.h:75,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPColorHasAlpha
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPGetColorFormatName
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1406
      functionLinenumberEnd: 1439
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          122
      EdgeCount:       46
      CyclomaticComplexity: 24
      functionsReached: []
      functionUses:    8
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.c:1411,2'
          Branch Sides:    []
      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:    12
      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:    FreeRDPSplitColor
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1478
      functionLinenumberEnd: 1857
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         310
      ICount:          1634
      EdgeCount:       404
      CyclomaticComplexity: 96
      functionsReached:
        - FreeRDPGetColorFormatName
        - FreeRDPSplitColor
        - WLog_Print_dbg_tag
      functionUses:    28
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.c:1481,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1804,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/codec/color.c:1854,4'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/codec/color.c:1854,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeRDPGetColor
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1875
      functionLinenumberEnd: 1964
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          385
      EdgeCount:       55
      CyclomaticComplexity: 29
      functionsReached:
        - FreeRDPGetColorFormatName
        - WLog_Print_dbg_tag
      functionUses:    21
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.c:1882,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1961,4'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/codec/color.c:1961,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    freerdp_image_copy_bgrx32_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 884
      functionLinenumberEnd: 904
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          157
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_image_copy_bgr24_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 854
      functionLinenumberEnd: 874
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          157
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_image_inverted_pointer_color
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 351
      functionLinenumberEnd: 362
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          33
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:362,9'
          Dst:             FreeRDPGetColor
    - functionName:    freerdp_image_copy_from_pointer_data_xbpp
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 754
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          494
      EdgeCount:       93
      CyclomaticComplexity: 25
      functionsReached:
        - FreeRDPConvertColor
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor_int
        - FreeRDPWriteColor_int
        - WLog_Print_dbg_tag
        - freerdp_image_inverted_pointer_color
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:631,20'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:646,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/color.c:665,47'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:704,16'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:709,16'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:719,16'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:735,15'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/color.c:743,17'
          Dst:             freerdp_image_inverted_pointer_color
        - Src:             'libfreerdp/codec/color.c:746,12'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/color.c:747,9'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.c:749,17'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    freerdp_image_copy_from_pointer_data_1bpp
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 534
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          423
      EdgeCount:       80
      CyclomaticComplexity: 22
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPWriteColor_int
        - freerdp_image_inverted_pointer_color
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:566,47'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:600,13'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/color.c:602,13'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/color.c:604,13'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/color.c:606,13'
          Dst:             freerdp_image_inverted_pointer_color
        - Src:             'libfreerdp/codec/color.c:608,9'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.c:610,17'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    FreeRDPReadColor
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1870
      functionLinenumberEnd: 1871
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPReadColor_int
      functionUses:    23
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1871,9'
          Dst:             FreeRDPReadColor_int
    - functionName:    FreeRDPWriteColor
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1865
      functionLinenumberEnd: 1866
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPWriteColor_int
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1866,9'
          Dst:             FreeRDPWriteColor_int
    - functionName:    FreeRDPWriteColorIgnoreAlpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1860
      functionLinenumberEnd: 1861
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPWriteColorIgnoreAlpha_int
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1861,9'
          Dst:             FreeRDPWriteColorIgnoreAlpha_int
    - functionName:    FreeRDPGetColorFromatFromName
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1442
      functionLinenumberEnd: 1474
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          238
      EdgeCount:       70
      CyclomaticComplexity: 24
      functionsReached:
        - strcmp
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1450,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1451,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1452,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1453,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1454,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1455,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1456,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1457,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1458,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1459,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1460,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1461,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1462,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1463,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1464,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1465,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1466,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1467,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1468,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1469,2'
          Dst:             strcmp
        - Src:             'libfreerdp/codec/color.c:1470,2'
          Dst:             strcmp
    - 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:    44
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPAreColorFormatsEqualNoAlpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1401
      functionLinenumberEnd: 1402
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPAreColorFormatsEqualNoAlpha_int
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1402,9'
          Dst:             FreeRDPAreColorFormatsEqualNoAlpha_int
    - functionName:    FreeRDPAreColorFormatsEqualNoAlpha_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    freerdp_image_scale
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1287
      functionLinenumberEnd: 1398
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         44
      ICount:          219
      EdgeCount:       50
      CyclomaticComplexity: 8
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - WLog_Print_dbg_tag
        - freerdp_image_copy_no_overlap
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1289,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1291,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1294,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1295,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1297,36'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1300,36'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1302,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1302,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1303,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1303,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1313,10'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/color.c:1394,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    freerdp_image_copy_no_overlap
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1971
      functionLinenumberEnd: 1999
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          278
      EdgeCount:       71
      CyclomaticComplexity: 9
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - overlapping
        - primitives_get
        - winpr_int_assert
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1974,11'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/color.c:1976,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1978,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1984,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1985,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1987,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1989,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1991,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1991,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1992,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1992,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1993,2'
          Dst:             overlapping
        - Src:             'libfreerdp/codec/color.c:1993,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1994,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1995,2'
          Dst:             winpr_int_assert
    - functionName:    overlapping
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 845
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          149
      EdgeCount:       30
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:836,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:837,2'
          Dst:             winpr_int_assert
    - functionName:    freerdp_image_fill_ex
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1224
      functionLinenumberEnd: 1258
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          220
      EdgeCount:       45
      CyclomaticComplexity: 8
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPReadColor_int
        - FreeRDPSplitColor
        - FreeRDPWriteColor_int
        - freerdp_image_fill
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1225,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1228,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1229,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1230,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1230,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1232,6'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/codec/color.c:1234,22'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1238,3'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/codec/color.c:1247,27'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:1249,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/codec/color.c:1250,27'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/color.c:1251,10'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.c:1257,9'
          Dst:             freerdp_image_fill
    - functionName:    freerdp_image_fill
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1186
      functionLinenumberEnd: 1219
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          228
      EdgeCount:       43
      CyclomaticComplexity: 9
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - FreeRDPWriteColor_int
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1190,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1193,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1197,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1199,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1201,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1201,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1208,8'
          Dst:             FreeRDPWriteColor_int
    - functionName:    freerdp_image_copy
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1148
      functionLinenumberEnd: 1182
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         55
      ICount:          279
      EdgeCount:       66
      CyclomaticComplexity: 13
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - freerdp_image_copy_no_overlap
        - freerdp_image_copy_overlap
        - overlapping
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1158,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1160,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1163,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1164,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1166,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1169,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1171,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1171,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1172,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1172,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1174,19'
          Dst:             overlapping
        - Src:             'libfreerdp/codec/color.c:1176,10'
          Dst:             freerdp_image_copy_overlap
        - Src:             'libfreerdp/codec/color.c:1179,9'
          Dst:             freerdp_image_copy_no_overlap
    - functionName:    freerdp_image_copy_overlap
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1002
      functionLinenumberEnd: 1142
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         121
      ICount:          834
      EdgeCount:       151
      CyclomaticComplexity: 32
      functionsReached:
        - FreeRDPAreColorFormatsEqualNoAlpha_int
        - FreeRDPColorHasAlpha
        - FreeRDPConvertColor
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor_int
        - FreeRDPWriteColor_int
        - freerdp_image_copy_no_overlap_dst_alpha
        - overlapping
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:1003,25'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1004,25'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1017,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1019,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:1022,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1023,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1024,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1024,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1025,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1025,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1026,2'
          Dst:             overlapping
        - Src:             'libfreerdp/codec/color.c:1026,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:1038,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1041,33'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:1049,49'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/codec/color.c:1051,10'
          Dst:             freerdp_image_copy_no_overlap_dst_alpha
        - Src:             'libfreerdp/codec/color.c:1056,11'
          Dst:             FreeRDPAreColorFormatsEqualNoAlpha_int
        - Src:             'libfreerdp/codec/color.c:1114,19'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:1116,22'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/color.c:1117,9'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.c:1122,13'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:1125,11'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.c:1132,17'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/codec/color.c:1133,11'
          Dst:             FreeRDPWriteColor_int
    - functionName:    freerdp_image_copy_no_overlap_dst_alpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 958
      functionLinenumberEnd: 996
      functionDepth:   0
      returnType:      int
      argCount:        17
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          175
      EdgeCount:       61
      CyclomaticComplexity: 31
      functionsReached:
        - freerdp_image_copy_bgr24_bgrx32
        - freerdp_image_copy_bgrx32_bgrx32
        - freerdp_image_copy_generic
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.c:962,2'
          Branch Sides:    []
        - Branch String:   'libfreerdp/codec/color.c:965,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/codec/color.c:978,4'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:959,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:960,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:969,13'
          Dst:             freerdp_image_copy_bgr24_bgrx32
        - Src:             'libfreerdp/codec/color.c:982,13'
          Dst:             freerdp_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/codec/color.c:993,9'
          Dst:             freerdp_image_copy_generic
    - functionName:    freerdp_image_copy_from_pointer_data_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 808
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          222
      EdgeCount:       34
      CyclomaticComplexity: 4
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - WLog_Print_dbg_tag
        - freerdp_image_copy_from_pointer_data_1bpp
        - freerdp_image_copy_from_pointer_data_xbpp
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.c:788,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:770,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:773,27'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:774,28'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:776,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:780,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:780,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:791,11'
          Dst:             freerdp_image_copy_from_pointer_data_1bpp
        - Src:             'libfreerdp/codec/color.c:799,11'
          Dst:             freerdp_image_copy_from_pointer_data_xbpp
        - Src:             'libfreerdp/codec/color.c:804,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    freerdp_image_copy_from_pointer_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 816
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      int
      argCount:        13
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          51
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - freerdp_image_copy_from_pointer_data_int
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:821,9'
          Dst:             freerdp_image_copy_from_pointer_data_int
    - functionName:    div_ceil
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          14
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    round_up
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 399
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - div_ceil
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:399,13'
          Dst:             div_ceil
    - functionName:    fill_gdi_palette_for_icon
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 371
      functionLinenumberEnd: 390
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          106
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - FreeRDPReadColor_int
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:372,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:382,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/color.c:388,25'
          Dst:             FreeRDPReadColor_int
    - functionName:    freerdp_image_copy_from_icon_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - short
        - short
        - 'N/A'
        - short
        - 'N/A'
        - short
        - 'N/A'
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         58
      ICount:          400
      EdgeCount:       72
      CyclomaticComplexity: 16
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - FreeRDPGetColor
        - FreeRDPReadColor_int
        - FreeRDPSplitColor
        - FreeRDPWriteColor_int
        - WLog_Print_dbg_tag
        - div_ceil
        - fill_gdi_palette_for_icon
        - freerdp_image_copy_no_overlap
        - round_up
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/color.c:427,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:417,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:420,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:420,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:438,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/color.c:458,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/color.c:463,45'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:465,3'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:465,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/color.c:472,2'
          Dst:             fill_gdi_palette_for_icon
        - Src:             'libfreerdp/codec/color.c:473,7'
          Dst:             freerdp_image_copy_no_overlap
        - Src:             'libfreerdp/codec/color.c:478,6'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/codec/color.c:481,19'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:488,34'
          Dst:             div_ceil
        - Src:             'libfreerdp/codec/color.c:488,25'
          Dst:             round_up
        - Src:             'libfreerdp/codec/color.c:489,55'
          Dst:             div_ceil
        - Src:             'libfreerdp/codec/color.c:492,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'libfreerdp/codec/color.c:510,20'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/codec/color.c:511,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/codec/color.c:512,13'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/codec/color.c:513,10'
          Dst:             FreeRDPWriteColor_int
    - functionName:    freerdp_image_copy_from_monochrome
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      int
      argCount:        11
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          266
      EdgeCount:       57
      CyclomaticComplexity: 13
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetBytesPerPixel
        - FreeRDPWriteColor_int
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:305,6'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/color.c:307,34'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:315,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:316,2'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:316,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:328,47'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/color.c:339,10'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/codec/color.c:342,14'
          Dst:             FreeRDPWriteColor_int
    - functionName:    freerdp_glyph_convert_ex
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 297
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - int
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          204
      EdgeCount:       47
      CyclomaticComplexity: 12
      functionsReached:
        - winpr_aligned_malloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:270,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/color.c:272,25'
          Dst:             winpr_aligned_malloc
    - functionName:    freerdp_glyph_convert
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/color.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 250
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - freerdp_glyph_convert_ex
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/color.c:250,9'
          Dst:             freerdp_glyph_convert_ex
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,3'
          Dst:             winpr_int_assert
    - functionName:    GETPIXEL32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 53
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          46
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    out_from_count_3
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 438
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          208
      EdgeCount:       81
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:421,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:421,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:421,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:426,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:427,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:427,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:427,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:431,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:432,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:432,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:432,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:435,3'
          Dst:             Stream_Write
    - 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:    60
      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_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:    16
      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
      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:    4
      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_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:    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:    out_bicolor_count_3
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 272
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         158
      ICount:          423
      EdgeCount:       161
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:250,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:250,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:250,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:255,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:256,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:256,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:256,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:260,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:261,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:261,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:261,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:264,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:264,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:264,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:265,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:265,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:265,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:266,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:266,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:266,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:267,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:267,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:267,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:268,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:268,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:268,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:269,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:269,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:269,3'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    out_color_count_3
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         116
      ICount:          301
      EdgeCount:       119
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:123,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:123,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:123,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:128,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:129,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:129,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:129,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:133,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:134,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:134,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:134,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:137,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:137,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:137,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:139,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:139,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:139,3'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:140,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:140,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:140,3'
          Dst:             Stream_Write_UINT8_unchecked
    - functionName:    out_counts_mix_count_3
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 378
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          185
      EdgeCount:       77
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:363,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:363,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:363,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:368,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:369,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:369,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:369,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:373,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:374,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:374,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:374,4'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    out_fill_count_3
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 324
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          183
      EdgeCount:       77
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:309,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:309,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:309,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:314,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:315,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:315,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:315,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:319,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:320,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:320,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:320,4'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    out_copy_count_3
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 206
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          196
      EdgeCount:       77
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Pointer
        - Stream_ResetPosition
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:188,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:188,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:188,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:193,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:194,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:194,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:194,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:198,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:199,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:199,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:199,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:202,22'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/bitmap.c:202,3'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/bitmap.c:205,2'
          Dst:             Stream_ResetPosition
    - functionName:    Stream_ResetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1378
      functionLinenumberEnd: 1381
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/stream.h:1379,3'
          Dst:             winpr_int_assert
    - functionName:    IN_PIXEL32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - GETPIXEL32
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:78,10'
          Dst:             GETPIXEL32
    - functionName:    Stream_Buffer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1285
      functionLinenumberEnd: 1287
      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:1286,3'
          Dst:             winpr_int_assert
    - functionName:    GETPIXEL16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          118
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:49,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:49,9'
          Dst:             winpr_int_assert
    - functionName:    out_from_count_2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 408
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         77
      ICount:          208
      EdgeCount:       81
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:391,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:391,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:391,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:396,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:397,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:397,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:397,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:401,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:402,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:402,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:402,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:405,3'
          Dst:             Stream_Write
    - functionName:    out_bicolor_count_2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      short
      argCount:        4
      argTypes:
        - short
        - 'N/A'
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         102
      ICount:          267
      EdgeCount:       105
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:219,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:219,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:219,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:224,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:225,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:225,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:225,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:229,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:230,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:230,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:230,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:233,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:233,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:233,3'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:234,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:234,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:234,3'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    out_color_count_2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          223
      EdgeCount:       91
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:93,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:93,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:93,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:98,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:99,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:99,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:99,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:103,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:104,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:104,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:104,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:107,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:107,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:107,3'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    out_counts_mix_count_2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 330
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          185
      EdgeCount:       77
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:336,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:336,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:336,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:341,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:342,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:342,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:342,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:346,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:347,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:347,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:347,4'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    reset_counts
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    16
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:42,2'
          Dst:             winpr_int_assert
    - functionName:    out_fill_count_2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 298
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         74
      ICount:          183
      EdgeCount:       77
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:283,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:283,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:283,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:288,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:289,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:289,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:289,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:293,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:294,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:294,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:294,4'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    out_copy_count_2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 175
      functionDepth:   0
      returnType:      short
      argCount:        3
      argTypes:
        - short
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         74
      ICount:          196
      EdgeCount:       77
      CyclomaticComplexity: 5
      functionsReached:
        - Stream_Buffer
        - Stream_ResetPosition
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    15
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:157,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:157,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:157,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:162,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:163,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:163,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:163,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:167,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:168,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:168,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:168,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:171,22'
          Dst:             Stream_Buffer
        - Src:             'libfreerdp/codec/bitmap.c:171,3'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/bitmap.c:174,2'
          Dst:             Stream_ResetPosition
    - functionName:    IN_PIXEL16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      short
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          52
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - GETPIXEL16
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:66,10'
          Dst:             GETPIXEL16
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1366
      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:1364,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1365,3'
          Dst:             winpr_int_assert
    - functionName:    freerdp_bitmap_compress_24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 456
      functionLinenumberEnd: 772
      functionDepth:   0
      returnType:      size_t
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         385
      ICount:          2342
      EdgeCount:       525
      CyclomaticComplexity: 142
      functionsReached:
        - IN_PIXEL32
        - Stream_GetPosition
        - Stream_ResetPosition
        - Stream_Write_UINT8_unchecked
        - out_bicolor_count_3
        - out_color_count_3
        - out_copy_count_3
        - out_counts_mix_count_3
        - out_fill_count_3
        - out_from_count_3
        - reset_counts
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:474,14'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/bitmap.c:490,25'
          Dst:             IN_PIXEL32
        - Src:             'libfreerdp/codec/bitmap.c:491,26'
          Dst:             IN_PIXEL32
        - Src:             'libfreerdp/codec/bitmap.c:503,14'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:504,26'
          Dst:             out_fill_count_3
        - Src:             'libfreerdp/codec/bitmap.c:505,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:521,14'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:522,25'
          Dst:             out_counts_mix_count_3
        - Src:             'libfreerdp/codec/bitmap.c:523,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:540,14'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:541,27'
          Dst:             out_color_count_3
        - Src:             'libfreerdp/codec/bitmap.c:542,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:562,14'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:564,10'
          Dst:             out_bicolor_count_3
        - Src:             'libfreerdp/codec/bitmap.c:565,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:585,14'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:587,10'
          Dst:             out_from_count_3
        - Src:             'libfreerdp/codec/bitmap.c:588,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:634,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:634,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:634,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:635,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:635,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:635,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:636,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:636,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:636,4'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:653,13'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:654,25'
          Dst:             out_fill_count_3
        - Src:             'libfreerdp/codec/bitmap.c:655,5'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:668,13'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:669,24'
          Dst:             out_counts_mix_count_3
        - Src:             'libfreerdp/codec/bitmap.c:670,5'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:683,13'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:685,9'
          Dst:             out_from_count_3
        - Src:             'libfreerdp/codec/bitmap.c:686,5'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:699,2'
          Dst:             Stream_ResetPosition
        - Src:             'libfreerdp/codec/bitmap.c:709,9'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:710,23'
          Dst:             out_fill_count_3
        - Src:             'libfreerdp/codec/bitmap.c:720,9'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:721,22'
          Dst:             out_counts_mix_count_3
        - Src:             'libfreerdp/codec/bitmap.c:731,9'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:732,24'
          Dst:             out_color_count_3
        - Src:             'libfreerdp/codec/bitmap.c:745,11'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:746,26'
          Dst:             out_bicolor_count_3
        - Src:             'libfreerdp/codec/bitmap.c:752,9'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:753,26'
          Dst:             out_bicolor_count_3
        - Src:             'libfreerdp/codec/bitmap.c:763,9'
          Dst:             out_copy_count_3
        - Src:             'libfreerdp/codec/bitmap.c:764,22'
          Dst:             out_from_count_3
        - Src:             'libfreerdp/codec/bitmap.c:768,9'
          Dst:             out_copy_count_3
    - functionName:    freerdp_bitmap_compress_16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 779
      functionLinenumberEnd: 1093
      functionDepth:   0
      returnType:      size_t
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         357
      ICount:          2330
      EdgeCount:       497
      CyclomaticComplexity: 142
      functionsReached:
        - IN_PIXEL16
        - Stream_GetPosition
        - Stream_ResetPosition
        - Stream_Write_UINT16_unchecked
        - out_bicolor_count_2
        - out_color_count_2
        - out_copy_count_2
        - out_counts_mix_count_2
        - out_fill_count_2
        - out_from_count_2
        - reset_counts
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:797,14'
          Dst:             Stream_GetPosition
        - Src:             'libfreerdp/codec/bitmap.c:813,25'
          Dst:             IN_PIXEL16
        - Src:             'libfreerdp/codec/bitmap.c:814,26'
          Dst:             IN_PIXEL16
        - Src:             'libfreerdp/codec/bitmap.c:826,14'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:827,26'
          Dst:             out_fill_count_2
        - Src:             'libfreerdp/codec/bitmap.c:828,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:844,14'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:845,25'
          Dst:             out_counts_mix_count_2
        - Src:             'libfreerdp/codec/bitmap.c:846,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:863,14'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:864,27'
          Dst:             out_color_count_2
        - Src:             'libfreerdp/codec/bitmap.c:865,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:885,14'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:887,10'
          Dst:             out_bicolor_count_2
        - Src:             'libfreerdp/codec/bitmap.c:888,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:908,14'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:910,10'
          Dst:             out_from_count_2
        - Src:             'libfreerdp/codec/bitmap.c:911,6'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:957,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:957,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/bitmap.c:957,4'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/bitmap.c:974,13'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:975,25'
          Dst:             out_fill_count_2
        - Src:             'libfreerdp/codec/bitmap.c:976,5'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:989,13'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:990,24'
          Dst:             out_counts_mix_count_2
        - Src:             'libfreerdp/codec/bitmap.c:991,5'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:1004,13'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1006,9'
          Dst:             out_from_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1007,5'
          Dst:             reset_counts
        - Src:             'libfreerdp/codec/bitmap.c:1020,2'
          Dst:             Stream_ResetPosition
        - Src:             'libfreerdp/codec/bitmap.c:1030,9'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1031,23'
          Dst:             out_fill_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1041,9'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1042,22'
          Dst:             out_counts_mix_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1052,9'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1053,24'
          Dst:             out_color_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1066,11'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1067,26'
          Dst:             out_bicolor_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1073,9'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1074,26'
          Dst:             out_bicolor_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1084,9'
          Dst:             out_copy_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1085,22'
          Dst:             out_from_count_2
        - Src:             'libfreerdp/codec/bitmap.c:1089,9'
          Dst:             out_copy_count_2
    - functionName:    freerdp_bitmap_compress
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/bitmap.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1098
      functionLinenumberEnd: 1115
      functionDepth:   0
      returnType:      size_t
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 10
      functionsReached:
        - Stream_ResetPosition
        - freerdp_bitmap_compress_16
        - freerdp_bitmap_compress_24
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/bitmap.c:1101,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/bitmap.c:1099,2'
          Dst:             Stream_ResetPosition
        - Src:             'libfreerdp/codec/bitmap.c:1105,11'
          Dst:             freerdp_bitmap_compress_16
        - Src:             'libfreerdp/codec/bitmap.c:1109,11'
          Dst:             freerdp_bitmap_compress_24
    - functionName:    rfx_differential_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_differential.h'
      linkageType:     InternalLinkage
      functionLinenumber: 27
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         27
      ICount:          127
      EdgeCount:       31
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_differential.h:34,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_differential.h:34,12'
          Dst:             winpr_int_assert
    - functionName:    rfx_decode_component
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         47
      ICount:          169
      EdgeCount:       50
      CyclomaticComplexity: 5
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - rfx_differential_decode
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_decode.c:45,22'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/rfx_decode.c:46,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_decode.c:50,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_decode.c:56,4'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/rfx_decode.c:56,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/rfx_decode.c:63,2'
          Dst:             rfx_differential_decode
        - Src:             'libfreerdp/codec/rfx_decode.c:76,2'
          Dst:             BufferPool_Return
    - functionName:    rfx_decode_rgb
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_decode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          182
      EdgeCount:       24
      CyclomaticComplexity: 6
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - primitives_get
        - rfx_decode_component
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_decode.c:98,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/rfx_decode.c:103,19'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/rfx_decode.c:107,7'
          Dst:             rfx_decode_component
        - Src:             'libfreerdp/codec/rfx_decode.c:110,7'
          Dst:             rfx_decode_component
        - Src:             'libfreerdp/codec/rfx_decode.c:113,7'
          Dst:             rfx_decode_component
        - Src:             'libfreerdp/codec/rfx_decode.c:128,2'
          Dst:             BufferPool_Return
    - functionName:    rfx_dwt_2d_encode_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_dwt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         167
      ICount:          931
      EdgeCount:       196
      CyclomaticComplexity: 31
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_dwt.c:158,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:158,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:164,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:164,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:190,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:190,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:194,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:194,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:204,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:204,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:208,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:208,12'
          Dst:             winpr_int_assert
    - functionName:    rfx_dwt_2d_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_dwt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 230
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - rfx_dwt_2d_encode_block
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_dwt.c:224,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:225,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:227,2'
          Dst:             rfx_dwt_2d_encode_block
        - Src:             'libfreerdp/codec/rfx_dwt.c:228,2'
          Dst:             rfx_dwt_2d_encode_block
        - Src:             'libfreerdp/codec/rfx_dwt.c:229,2'
          Dst:             rfx_dwt_2d_encode_block
    - functionName:    rfx_dwt_2d_decode_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_dwt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         275
      ICount:          1350
      EdgeCount:       316
      CyclomaticComplexity: 43
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_dwt.c:53,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:53,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:54,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:54,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:58,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:58,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:59,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:59,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:71,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:71,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:72,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:72,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:79,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:79,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:80,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:80,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:99,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:99,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:108,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:108,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:112,23'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:112,23'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:118,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:118,22'
          Dst:             winpr_int_assert
    - functionName:    rfx_dwt_2d_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_dwt.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          54
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - rfx_dwt_2d_decode_block
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_dwt.c:124,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:125,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_dwt.c:127,2'
          Dst:             rfx_dwt_2d_decode_block
        - Src:             'libfreerdp/codec/rfx_dwt.c:128,2'
          Dst:             rfx_dwt_2d_decode_block
        - Src:             'libfreerdp/codec/rfx_dwt.c:129,2'
          Dst:             rfx_dwt_2d_decode_block
    - functionName:    rfx_differential_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_differential.h'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         28
      ICount:          135
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_differential.h:47,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_differential.h:47,10'
          Dst:             winpr_int_assert
    - functionName:    rfx_encode_component
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 270
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          202
      EdgeCount:       58
      CyclomaticComplexity: 8
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - rfx_differential_encode
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_encode.c:240,22'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/rfx_encode.c:253,2'
          Dst:             rfx_differential_encode
        - Src:             'libfreerdp/codec/rfx_encode.c:266,2'
          Dst:             BufferPool_Return
        - Src:             'libfreerdp/codec/rfx_encode.c:268,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:268,10'
          Dst:             winpr_int_assert
    - functionName:    rfx_encode_format_rgb
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 228
      functionDepth:   0
      returnType:      void
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         85
      ICount:          869
      EdgeCount:       101
      CyclomaticComplexity: 18
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/rfx_encode.c:59,3'
          Branch Sides:    []
      Callsites:       []
    - functionName:    rfx_encode_rgb
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 338
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         92
      ICount:          462
      EdgeCount:       107
      CyclomaticComplexity: 17
      functionsReached:
        - BufferPool_Return
        - BufferPool_Take
        - primitives_get
        - rfx_encode_component
        - rfx_encode_format_rgb
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_encode.c:283,24'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/rfx_encode.c:286,25'
          Dst:             BufferPool_Take
        - Src:             'libfreerdp/codec/rfx_encode.c:299,2'
          Dst:             rfx_encode_format_rgb
        - Src:             'libfreerdp/codec/rfx_encode.c:318,7'
          Dst:             rfx_encode_component
        - Src:             'libfreerdp/codec/rfx_encode.c:321,7'
          Dst:             rfx_encode_component
        - Src:             'libfreerdp/codec/rfx_encode.c:324,7'
          Dst:             rfx_encode_component
        - Src:             'libfreerdp/codec/rfx_encode.c:327,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:327,15'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:328,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:328,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:329,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:329,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_encode.c:335,7'
          Dst:             BufferPool_Return
    - functionName:    rfx_quantization_encode_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_quantization.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         52
      ICount:          209
      EdgeCount:       60
      CyclomaticComplexity: 10
      functionsReached:
        - winpr_int_assert
      functionUses:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_quantization.c:92,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:92,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:96,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:96,10'
          Dst:             winpr_int_assert
    - functionName:    rfx_quantization_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_quantization.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 129
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          163
      EdgeCount:       30
      CyclomaticComplexity: 4
      functionsReached:
        - rfx_quantization_encode_block
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_quantization.c:104,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:105,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:106,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:115,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:116,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:117,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:118,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:119,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:120,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:121,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:122,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:123,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:124,2'
          Dst:             rfx_quantization_encode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:127,2'
          Dst:             rfx_quantization_encode_block
    - functionName:    rfx_quantization_decode_block
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_quantization.c'
      linkageType:     InternalLinkage
      functionLinenumber: 50
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          47
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    rfx_quantization_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_quantization.c'
      linkageType:     InternalLinkage
      functionLinenumber: 59
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          175
      EdgeCount:       30
      CyclomaticComplexity: 4
      functionsReached:
        - primitives_get
        - rfx_quantization_decode_block
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_quantization.c:60,30'
          Dst:             primitives_get
        - Src:             'libfreerdp/codec/rfx_quantization.c:61,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:62,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:63,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_quantization.c:73,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:74,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:75,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:76,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:77,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:78,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:79,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:80,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:81,2'
          Dst:             rfx_quantization_decode_block
        - Src:             'libfreerdp/codec/rfx_quantization.c:82,2'
          Dst:             rfx_quantization_decode_block
    - 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:    __lzcnt
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/intrin.h'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BitStream_Prefetch
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          155
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:53,3'
          Dst:             winpr_int_assert
    - functionName:    rfx_bitstream_get_processed_bytes
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_bitstream.h:129,3'
          Dst:             winpr_int_assert
    - functionName:    rfx_bitstream_flush
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          48
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - rfx_bitstream_put_bits
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_bitstream.h:100,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_bitstream.h:104,4'
          Dst:             rfx_bitstream_put_bits
    - functionName:    rfx_bitstream_put_bits
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          206
      EdgeCount:       43
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_bitstream.h:78,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_bitstream.h:78,17'
          Dst:             winpr_int_assert
    - functionName:    Get2MagSign
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 620
      functionLinenumberEnd: 624
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         48
      ICount:          166
      EdgeCount:       55
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:622,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:622,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:623,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:623,9'
          Dst:             winpr_int_assert
    - functionName:    rfx_rlgr_code_gr
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 630
      functionLinenumberEnd: 654
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - OutputBit
        - UpdateParam
        - rfx_bitstream_put_bits
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:636,2'
          Dst:             OutputBit
        - Src:             'libfreerdp/codec/rfx_rlgr.c:637,2'
          Dst:             OutputBit
        - Src:             'libfreerdp/codec/rfx_rlgr.c:642,3'
          Dst:             rfx_bitstream_put_bits
        - Src:             'libfreerdp/codec/rfx_rlgr.c:648,9'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:652,9'
          Dst:             UpdateParam
    - functionName:    OutputBit
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 607
      functionLinenumberEnd: 615
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          69
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - rfx_bitstream_put_bits
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:611,3'
          Dst:             rfx_bitstream_put_bits
        - Src:             'libfreerdp/codec/rfx_rlgr.c:614,3'
          Dst:             rfx_bitstream_put_bits
    - functionName:    UpdateParam
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         60
      ICount:          216
      EdgeCount:       69
      CyclomaticComplexity: 11
      functionsReached:
        - winpr_int_assert
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:70,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:73,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:73,28'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:80,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:80,13'
          Dst:             winpr_int_assert
    - functionName:    rfx_bitstream_attach
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          130
      EdgeCount:       39
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_bitstream.h:44,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_bitstream.h:47,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_bitstream.h:48,16'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_bitstream.h:48,16'
          Dst:             winpr_int_assert
    - functionName:    rfx_rlgr_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 658
      functionLinenumberEnd: 792
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         95
      ICount:          487
      EdgeCount:       118
      CyclomaticComplexity: 25
      functionsReached:
        - Get2MagSign
        - OutputBit
        - UpdateParam
        - rfx_bitstream_attach
        - rfx_bitstream_flush
        - rfx_bitstream_get_processed_bytes
        - rfx_bitstream_put_bits
        - rfx_rlgr_code_gr
        - winpr_aligned_calloc
        - winpr_aligned_free
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:659,38'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/rfx_rlgr.c:664,2'
          Dst:             rfx_bitstream_attach
        - Src:             'libfreerdp/codec/rfx_rlgr.c:697,5'
          Dst:             OutputBit
        - Src:             'libfreerdp/codec/rfx_rlgr.c:699,9'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:704,4'
          Dst:             OutputBit
        - Src:             'libfreerdp/codec/rfx_rlgr.c:707,4'
          Dst:             rfx_bitstream_put_bits
        - Src:             'libfreerdp/codec/rfx_rlgr.c:717,4'
          Dst:             OutputBit
        - Src:             'libfreerdp/codec/rfx_rlgr.c:718,4'
          Dst:             rfx_rlgr_code_gr
        - Src:             'libfreerdp/codec/rfx_rlgr.c:720,8'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:734,13'
          Dst:             Get2MagSign
        - Src:             'libfreerdp/codec/rfx_rlgr.c:735,5'
          Dst:             rfx_rlgr_code_gr
        - Src:             'libfreerdp/codec/rfx_rlgr.c:742,10'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:746,10'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:762,14'
          Dst:             Get2MagSign
        - Src:             'libfreerdp/codec/rfx_rlgr.c:764,14'
          Dst:             Get2MagSign
        - Src:             'libfreerdp/codec/rfx_rlgr.c:767,5'
          Dst:             rfx_rlgr_code_gr
        - Src:             'libfreerdp/codec/rfx_rlgr.c:771,5'
          Dst:             rfx_bitstream_put_bits
        - Src:             'libfreerdp/codec/rfx_rlgr.c:777,10'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:781,10'
          Dst:             UpdateParam
        - Src:             'libfreerdp/codec/rfx_rlgr.c:787,2'
          Dst:             rfx_bitstream_flush
        - Src:             'libfreerdp/codec/rfx_rlgr.c:788,28'
          Dst:             rfx_bitstream_get_processed_bytes
        - Src:             'libfreerdp/codec/rfx_rlgr.c:789,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/rfx_rlgr.c:791,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:791,9'
          Dst:             winpr_int_assert
    - functionName:    BitStream_Shift
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 100
      functionLinenumberEnd: 136
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          204
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - BitStream_Prefetch
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:101,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:123,5'
          Dst:             BitStream_Prefetch
        - Src:             'winpr/include/winpr/bitstream.h:134,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    BitStream_Shift32
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 143
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          32
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - BitStream_Shift
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:140,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:141,3'
          Dst:             BitStream_Shift
        - Src:             'winpr/include/winpr/bitstream.h:142,3'
          Dst:             BitStream_Shift
    - functionName:    lzcnt_s
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         58
      ICount:          220
      EdgeCount:       65
      CyclomaticComplexity: 9
      functionsReached:
        - __lzcnt
        - winpr_int_assert
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:113,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:120,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:127,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:134,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:141,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:145,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:149,9'
          Dst:             __lzcnt
    - functionName:    BitStream_GetRemainingLength
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 171
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:172,3'
          Dst:             winpr_int_assert
    - functionName:    BitStream_Fetch
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/bitstream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 69
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          157
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - BitStream_Prefetch
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/bitstream.h:70,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/bitstream.h:82,3'
          Dst:             BitStream_Prefetch
    - functionName:    rfx_rlgr_init
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 92
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - IsProcessorFeaturePresentEx
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:97,12'
          Dst:             IsProcessorFeaturePresentEx
    - functionName:    rfx_rlgr_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/rfx_rlgr.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 585
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         699
      ICount:          2977
      EdgeCount:       837
      CyclomaticComplexity: 140
      functionsReached:
        - BitStream_Attach
        - BitStream_Fetch
        - BitStream_GetRemainingLength
        - BitStream_Shift
        - BitStream_Shift32
        - lzcnt_s
        - rfx_rlgr_init
        - winpr_InitOnceExecuteOnce
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/rfx_rlgr.c:175,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'libfreerdp/codec/rfx_rlgr.c:175,7'
          Dst:             rfx_rlgr_init
        - Src:             'libfreerdp/codec/rfx_rlgr.c:197,2'
          Dst:             BitStream_Attach
        - Src:             'libfreerdp/codec/rfx_rlgr.c:198,2'
          Dst:             BitStream_Fetch
        - Src:             'libfreerdp/codec/rfx_rlgr.c:200,10'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:210,10'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:212,19'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:215,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:215,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:217,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:217,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:219,27'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:221,5'
          Dst:             BitStream_Shift32
        - Src:             'libfreerdp/codec/rfx_rlgr.c:223,11'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:225,13'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:230,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:231,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:231,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:234,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:236,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:239,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:258,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:263,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:267,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:271,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:275,10'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:277,12'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:282,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:282,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:284,27'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:286,5'
          Dst:             BitStream_Shift32
        - Src:             'libfreerdp/codec/rfx_rlgr.c:288,11'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:290,13'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:295,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:296,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:296,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:299,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:301,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:304,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:308,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:316,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:357,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:357,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:359,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:359,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:363,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:363,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:367,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:367,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:387,10'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:389,19'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:394,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:394,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:396,27'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:398,5'
          Dst:             BitStream_Shift32
        - Src:             'libfreerdp/codec/rfx_rlgr.c:400,11'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:402,13'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:407,5'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:408,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:408,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:411,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:413,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:416,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:420,8'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:428,4'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:489,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:489,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:491,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:491,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:506,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:506,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:507,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:507,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:507,18'
          Dst:             lzcnt_s
        - Src:             'libfreerdp/codec/rfx_rlgr.c:510,9'
          Dst:             BitStream_GetRemainingLength
        - Src:             'libfreerdp/codec/rfx_rlgr.c:518,5'
          Dst:             BitStream_Shift
        - Src:             'libfreerdp/codec/rfx_rlgr.c:546,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:546,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:548,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:548,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:557,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:557,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:559,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:559,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:563,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:563,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:570,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:570,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:574,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:574,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:579,11'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/rfx_rlgr.c:579,11'
          Dst:             winpr_int_assert
    - functionName:    nsc_rle_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 183
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          288
      EdgeCount:       54
      CyclomaticComplexity: 16
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - 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_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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/include/winpr/endian.h:114,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,3'
          Dst:             winpr_int_assert
    - 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:    3
      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_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:    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:    1
      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:    nsc_stream_initialize
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          188
      EdgeCount:       45
      CyclomaticComplexity: 7
      functionsReached:
        - Stream_CheckAndLogRequiredLengthWLogEx
        - Stream_Pointer
        - Stream_Seek
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - stream_read_u32_le
        - stream_read_u8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:235,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:236,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:237,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
        - Src:             'libfreerdp/codec/nsc.c:243,3'
          Dst:             stream_read_u32_le
        - Src:             'libfreerdp/codec/nsc.c:247,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/nsc.c:250,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/nsc.c:250,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/nsc.c:255,2'
          Dst:             stream_read_u8
        - Src:             'libfreerdp/codec/nsc.c:256,2'
          Dst:             Stream_Seek
        - Src:             'libfreerdp/codec/nsc.c:257,20'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/nsc.c:259,9'
          Dst:             Stream_CheckAndLogRequiredLengthWLogEx
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_rle_decompress_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 231
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         32
      ICount:          206
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - nsc_rle_decode
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:192,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:211,9'
          Dst:             nsc_rle_decode
    - functionName:    nsc_context_initialize
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          278
      EdgeCount:       42
      CyclomaticComplexity: 12
      functionsReached:
        - nsc_stream_initialize
        - winpr_aligned_recalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:264,7'
          Dst:             nsc_stream_initialize
        - Src:             'libfreerdp/codec/nsc.c:271,15'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/nsc.c:291,23'
          Dst:             winpr_aligned_recalloc
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    nsc_process_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 543
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - short
        - int
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         125
      ICount:          585
      EdgeCount:       147
      CyclomaticComplexity: 24
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - Stream_StaticConstInit
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - freerdp_image_copy_no_overlap
        - nsc_context_initialize
        - nsc_rle_decompress_data
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/nsc.c:478,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:440,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:446,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/nsc.c:446,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/nsc.c:453,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/nsc.c:453,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/nsc.c:459,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/nsc.c:459,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/nsc.c:464,15'
          Dst:             Stream_StaticConstInit
        - Src:             'libfreerdp/codec/nsc.c:468,36'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/nsc.c:473,3'
          Dst:             WLog_IsLevelActive
        - Src:             'libfreerdp/codec/nsc.c:473,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'libfreerdp/codec/nsc.c:504,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:504,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:505,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:505,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:506,8'
          Dst:             nsc_context_initialize
        - Src:             'libfreerdp/codec/nsc.c:515,8'
          Dst:             nsc_rle_decompress_data
        - Src:             'libfreerdp/codec/nsc.c:540,10'
          Dst:             freerdp_image_copy_no_overlap
    - functionName:    nsc_context_set_parameters
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 408
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          66
      EdgeCount:       19
      CyclomaticComplexity: 11
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/nsc.c:412,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    nsc_profiler_print
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 317
      functionLinenumberEnd: 326
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          22
      EdgeCount:       25
      CyclomaticComplexity: 14
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_context_free
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 397
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          79
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - nsc_profiler_print
        - winpr_aligned_free
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:385,4'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/nsc.c:387,3'
          Dst:             nsc_profiler_print
        - Src:             'libfreerdp/codec/nsc.c:392,3'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/nsc.c:395,2'
          Dst:             winpr_aligned_free
        - Src:             'libfreerdp/codec/nsc.c:396,2'
          Dst:             winpr_aligned_free
    - functionName:    nsc_init_neon
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/neon/nsc_neon.h'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - nsc_init_neon_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/neon/nsc_neon.h:31,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/codec/neon/nsc_neon.h:34,2'
          Dst:             nsc_init_neon_int
    - functionName:    nsc_init_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.h'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - nsc_init_sse2_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.h:31,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/codec/sse/nsc_sse2.h:32,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/codec/sse/nsc_sse2.h:35,2'
          Dst:             nsc_init_sse2_int
    - functionName:    nsc_decode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         324
      ICount:          1424
      EdgeCount:       377
      CyclomaticComplexity: 55
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:52,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:53,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:53,21'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:85,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:85,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:86,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:86,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:87,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:87,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:93,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:93,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:93,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:93,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:93,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:93,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:94,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:94,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:94,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:94,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:94,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:94,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:95,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:95,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:95,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:95,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:95,17'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc.c:95,17'
          Dst:             winpr_int_assert
    - functionName:    nsc_context_new
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         17
      ICount:          80
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Get
        - nsc_context_free
        - nsc_init_neon
        - nsc_init_sse2
        - winpr_aligned_calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc.c:343,39'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/nsc.c:348,37'
          Dst:             winpr_aligned_calloc
        - Src:             'libfreerdp/codec/nsc.c:353,23'
          Dst:             WLog_Get
        - Src:             'libfreerdp/codec/nsc.c:366,2'
          Dst:             nsc_init_sse2
        - Src:             'libfreerdp/codec/nsc.c:367,2'
          Dst:             nsc_init_neon
        - Src:             'libfreerdp/codec/nsc.c:372,2'
          Dst:             nsc_context_free
    - functionName:    nsc_context_reset
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 339
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          53
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    0
      BranchProfiles:  []
      Callsites:       []
    - 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_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:    3
      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_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:    4
      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_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:    2
      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_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_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:    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:    4
      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:    nsc_rle_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 336
      functionLinenumberEnd: 387
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          292
      EdgeCount:       61
      CyclomaticComplexity: 12
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:361,4'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:362,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:362,13'
          Dst:             winpr_int_assert
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,3'
          Dst:             winpr_int_assert
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_decompose_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 505
      functionLinenumberEnd: 517
      functionDepth:   0
      returnType:      int
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          83
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - FreeRDPGetBitsPerPixel
        - Stream_GetRemainingLength
        - Stream_Pointer
        - Stream_Seek
        - nsc_process_message
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:506,16'
          Dst:             Stream_GetRemainingLength
        - Src:             'libfreerdp/codec/nsc_encode.c:511,44'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/codec/nsc_encode.c:512,35'
          Dst:             Stream_Pointer
        - Src:             'libfreerdp/codec/nsc_encode.c:511,7'
          Dst:             nsc_process_message
        - Src:             'libfreerdp/codec/nsc_encode.c:515,2'
          Dst:             Stream_Seek
    - functionName:    nsc_write_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         112
      ICount:          386
      EdgeCount:       117
      CyclomaticComplexity: 7
      functionsReached:
        - Stream_EnsureRemainingCapacity
        - Stream_Write
        - Stream_Write_UINT16_unchecked
        - Stream_Write_UINT32_unchecked
        - Stream_Write_UINT8_unchecked
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:426,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'libfreerdp/codec/nsc_encode.c:429,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:429,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:429,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:430,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:430,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:430,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:432,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:432,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:432,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:434,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:434,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:434,2'
          Dst:             Stream_Write_UINT32_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:435,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:435,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:435,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:436,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:436,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:436,2'
          Dst:             Stream_Write_UINT8_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:437,2'
          Dst:             Stream_Write_UINT16_unchecked
        - Src:             'libfreerdp/codec/nsc_encode.c:440,3'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/nsc_encode.c:443,3'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/nsc_encode.c:447,3'
          Dst:             Stream_Write
        - Src:             'libfreerdp/codec/nsc_encode.c:451,3'
          Dst:             Stream_Write
    - functionName:    nsc_rle_compress_data
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 391
      functionLinenumberEnd: 417
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          109
      EdgeCount:       16
      CyclomaticComplexity: 5
      functionsReached:
        - nsc_rle_encode
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:405,16'
          Dst:             nsc_rle_encode
    - functionName:    nsc_context_initialize_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          268
      EdgeCount:       30
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_aligned_free
        - winpr_aligned_recalloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:76,23'
          Dst:             winpr_aligned_recalloc
        - Src:             'libfreerdp/codec/nsc_encode.c:109,4'
          Dst:             winpr_aligned_free
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    nsc_compose_message
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          488
      EdgeCount:       128
      CyclomaticComplexity: 20
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - nsc_context_initialize_encode
        - nsc_rle_compress_data
        - nsc_write_message
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:467,22'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/codec/nsc_encode.c:469,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:469,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:470,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:470,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:472,7'
          Dst:             nsc_context_initialize_encode
        - Src:             'libfreerdp/codec/nsc_encode.c:484,2'
          Dst:             nsc_rle_compress_data
        - Src:             'libfreerdp/codec/nsc_encode.c:495,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:495,27'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:497,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:497,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:498,9'
          Dst:             nsc_write_message
    - functionName:    nsc_encode_subsampling
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 273
      functionLinenumberEnd: 314
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          247
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_argb_to_aycocg
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         60
      ICount:          851
      EdgeCount:       70
      CyclomaticComplexity: 12
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/nsc_encode.c:144,4'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:131,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/nsc_encode.c:131,19'
          Dst:             winpr_int_assert
    - functionName:    nsc_encode
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/nsc_encode.c'
      linkageType:     InternalLinkage
      functionLinenumber: 318
      functionLinenumberEnd: 332
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          81
      EdgeCount:       24
      CyclomaticComplexity: 8
      functionsReached:
        - nsc_encode_argb_to_aycocg
        - nsc_encode_subsampling
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/nsc_encode.c:322,7'
          Dst:             nsc_encode_argb_to_aycocg
        - Src:             'libfreerdp/codec/nsc_encode.c:327,8'
          Dst:             nsc_encode_subsampling
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/../../primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_rgb8
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 246
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          407
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_a4
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 241
      functionDepth:   0
      returnType:      size_t
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         5
      ICount:          465
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_rgb16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         507
      ICount:          2231
      EdgeCount:       579
      CyclomaticComplexity: 74
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:174,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:174,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:175,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:175,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:176,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:176,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:177,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:177,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:178,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:178,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:179,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:179,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:180,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:180,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:181,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:181,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:183,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:183,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:185,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:185,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:187,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:187,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:189,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:189,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:191,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:191,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:193,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:193,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:195,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:195,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:197,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:197,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:199,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:199,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:201,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:201,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:203,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:203,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:205,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:205,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:207,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:207,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:209,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:209,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:211,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:211,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:213,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:213,6'
          Dst:             winpr_int_assert
    - functionName:    nsc_encode_next_bgr16
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         507
      ICount:          2231
      EdgeCount:       579
      CyclomaticComplexity: 74
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:127,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:127,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:128,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:128,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:129,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:129,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:130,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:130,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:131,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:131,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:132,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:132,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:133,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:133,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:134,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:134,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:136,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:136,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:138,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:138,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:140,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:140,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:142,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:142,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:144,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:144,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:146,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:146,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:148,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:148,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:150,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:150,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:152,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:152,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:154,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:154,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:156,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:156,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:158,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:158,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:160,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:160,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:162,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:162,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:164,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:164,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:166,6'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:166,6'
          Dst:             winpr_int_assert
    - functionName:    nsc_encode_next_rgb24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          271
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_bgr24
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          271
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_rgba32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          293
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_rgbx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          271
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_bgra32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 58
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          293
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 53
      functionDepth:   0
      returnType:      size_t
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          271
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/../../primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    nsc_encode_next_rgba
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 268
      functionLinenumberEnd: 304
      functionDepth:   0
      returnType:      size_t
      argCount:        7
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          148
      EdgeCount:       29
      CyclomaticComplexity: 16
      functionsReached:
        - nsc_encode_next_a4
        - nsc_encode_next_bgr16
        - nsc_encode_next_bgr24
        - nsc_encode_next_bgra32
        - nsc_encode_next_bgrx32
        - nsc_encode_next_rgb16
        - nsc_encode_next_rgb24
        - nsc_encode_next_rgb8
        - nsc_encode_next_rgba32
        - nsc_encode_next_rgbx32
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/codec/sse/nsc_sse2.c:269,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:272,11'
          Dst:             nsc_encode_next_bgrx32
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:275,11'
          Dst:             nsc_encode_next_bgra32
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:278,11'
          Dst:             nsc_encode_next_rgbx32
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:281,11'
          Dst:             nsc_encode_next_rgba32
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:284,11'
          Dst:             nsc_encode_next_bgr24
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:287,11'
          Dst:             nsc_encode_next_rgb24
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:290,11'
          Dst:             nsc_encode_next_bgr16
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:293,11'
          Dst:             nsc_encode_next_rgb16
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:296,11'
          Dst:             nsc_encode_next_a4
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:299,11'
          Dst:             nsc_encode_next_rgb8
    - functionName:    nsc_encode_subsampling_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 384
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          382
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:407,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:408,25'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:412,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:418,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:419,25'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:423,5'
          Dst:             STORE_SI128
    - functionName:    nsc_encode_argb_to_aycocg_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          735
      EdgeCount:       66
      CyclomaticComplexity: 15
      functionsReached:
        - STORE_SI128
        - nsc_encode_next_rgba
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:316,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:316,19'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:333,22'
          Dst:             nsc_encode_next_rgba
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:346,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:348,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:350,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:352,4'
          Dst:             STORE_SI128
    - functionName:    nsc_encode_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 435
      functionLinenumberEnd: 443
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          49
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - nsc_encode_argb_to_aycocg_sse2
        - nsc_encode_subsampling_sse2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:436,7'
          Dst:             nsc_encode_argb_to_aycocg_sse2
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:440,10'
          Dst:             nsc_encode_subsampling_sse2
    - 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:    nsc_init_sse2_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/sse/nsc_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 447
      functionLinenumberEnd: 456
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         5
      ICount:          22
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/sse/nsc_sse2.c:449,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:    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:    nsc_init_neon_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/codec/neon/nsc_neon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 43
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/codec/neon/nsc_neon.c:41,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    add
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_add.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 41
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    primitives_init_add_sse3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_add.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_add_sse3_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_add.h:35,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_add.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_add.h:39,2'
          Dst:             primitives_init_add_sse3_int
    - functionName:    primitives_init_add_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_add.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 83
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_add
        - primitives_init_add_sse3
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_add.c:81,2'
          Dst:             primitives_init_add
        - Src:             'libfreerdp/primitives/prim_add.c:82,2'
          Dst:             primitives_init_add_sse3
    - functionName:    primitives_init_add
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_add.c'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_add_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_add.c'
      linkageType:     InternalLinkage
      functionLinenumber: 46
      functionLinenumberEnd: 56
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          89
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_add.c:51,13'
          Dst:             add
        - Src:             'libfreerdp/primitives/prim_add.c:54,13'
          Dst:             add
    - functionName:    general_add_16s_inplace
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_add.c'
      linkageType:     InternalLinkage
      functionLinenumber: 61
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          61
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - add
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_add.c:64,13'
          Dst:             add
    - functionName:    primitives_init_andor_sse3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_andor.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_andor_sse3_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_andor.h:35,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_andor.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_andor.h:39,2'
          Dst:             primitives_init_andor_sse3_int
    - functionName:    primitives_init_andor_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_andor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_andor
        - primitives_init_andor_sse3
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_andor.c:64,2'
          Dst:             primitives_init_andor
        - Src:             'libfreerdp/primitives/prim_andor.c:65,2'
          Dst:             primitives_init_andor_sse3
    - functionName:    primitives_init_andor
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_andor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_andC_32u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_andor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_orC_32u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_andor.c'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 52
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          48
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    primitives_init_alphaComp_sse3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_alphaComp.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_alphaComp_sse3_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_alphaComp.h:35,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_alphaComp.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_alphaComp.h:39,2'
          Dst:             primitives_init_alphaComp_sse3_int
    - functionName:    primitives_init_alphaComp_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_alphaComp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 95
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_alphaComp
        - primitives_init_alphaComp_sse3
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_alphaComp.c:96,2'
          Dst:             primitives_init_alphaComp
        - Src:             'libfreerdp/primitives/prim_alphaComp.c:97,2'
          Dst:             primitives_init_alphaComp_sse3
    - functionName:    primitives_init_alphaComp
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_alphaComp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 92
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_alphaComp_argb
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_alphaComp.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 85
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          190
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writeScanlineGeneric
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 348
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         70
      ICount:          308
      EdgeCount:       80
      CyclomaticComplexity: 12
      functionsReached:
        - getPixelWriteFunction
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:336,30'
          Dst:             getPixelWriteFunction
        - Src:             'libfreerdp/primitives/prim_colors.c:345,46'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:345,46'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:346,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:346,18'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:346,55'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:346,55'
          Dst:             winpr_int_assert
    - functionName:    getPixelWriteFunction
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       28
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_internal.h:179,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    writePixelARGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelXRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelABGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelXBGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelRGBA
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelRGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelBGRA
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelBGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelGenericAlpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPWriteColor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:160,17'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/primitives/prim_internal.h:161,2'
          Dst:             FreeRDPWriteColor
    - functionName:    writePixelGeneric
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPWriteColorIgnoreAlpha
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:169,17'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/primitives/prim_internal.h:170,2'
          Dst:             FreeRDPWriteColorIgnoreAlpha
    - functionName:    writeScanlineRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 352
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          85
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CLIP
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:358,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:359,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:360,18'
          Dst:             CLIP
    - functionName:    CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writeScanlineBGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 382
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          85
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CLIP
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:375,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:376,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:377,18'
          Dst:             CLIP
    - functionName:    writeScanlineRGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 404
      functionLinenumberEnd: 418
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          89
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CLIP
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:410,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:411,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:412,18'
          Dst:             CLIP
    - functionName:    writeScanlineXBGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 422
      functionLinenumberEnd: 436
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          89
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CLIP
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:428,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:429,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:430,18'
          Dst:             CLIP
    - functionName:    writeScanlineXRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 440
      functionLinenumberEnd: 454
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          89
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CLIP
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:446,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:447,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:448,18'
          Dst:             CLIP
    - functionName:    getScanlineWriteFunction
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 488
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          67
      EdgeCount:       32
      CyclomaticComplexity: 17
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_colors.c:461,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    writeScanlineBGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 386
      functionLinenumberEnd: 400
      functionDepth:   0
      returnType:      void
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          89
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - CLIP
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:392,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:393,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:394,18'
          Dst:             CLIP
    - functionName:    general_RGBToRGB_16s8u_P3AC4R_general
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          106
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - getScanlineWriteFunction
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:502,36'
          Dst:             getScanlineWriteFunction
        - Src:             'libfreerdp/primitives/prim_colors.c:503,27'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_RGBToRGB_16s8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          99
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - writeScanlineBGRX
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:528,27'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_colors.c:532,3'
          Dst:             writeScanlineBGRX
    - functionName:    general_yCbCrToRGB_16s8u_P3AC4R_general
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 161
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          205
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - CLIP
        - FreeRDPGetBytesPerPixel
        - getPixelWriteFunction
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:134,36'
          Dst:             getPixelWriteFunction
        - Src:             'libfreerdp/primitives/prim_colors.c:135,27'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_colors.c:152,51'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:152,60'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:152,69'
          Dst:             CLIP
    - functionName:    general_yCbCrToRGB_16s8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         158
      ICount:          684
      EdgeCount:       181
      CyclomaticComplexity: 25
      functionsReached:
        - CLIP
        - FreeRDPGetBytesPerPixel
        - winpr_int_assert
        - writePixelBGRX
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:89,27'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_colors.c:100,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:100,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:102,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:102,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:104,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:104,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:106,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:106,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:108,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:108,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:109,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:109,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:110,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:110,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:111,55'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:111,64'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:111,73'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:111,11'
          Dst:             writePixelBGRX
    - functionName:    primitives_init_colors_neon
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.h'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_colors_neon_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.h:45,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_colors.h:48,2'
          Dst:             primitives_init_colors_neon_int
    - functionName:    primitives_init_colors_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_colors_sse2_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.h:35,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_colors.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_colors.h:39,2'
          Dst:             primitives_init_colors_sse2_int
    - functionName:    primitives_init_colors_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 572
      functionLinenumberEnd: 576
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_colors
        - primitives_init_colors_neon
        - primitives_init_colors_sse2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:573,2'
          Dst:             primitives_init_colors
        - Src:             'libfreerdp/primitives/prim_colors.c:574,2'
          Dst:             primitives_init_colors_sse2
        - Src:             'libfreerdp/primitives/prim_colors.c:575,2'
          Dst:             primitives_init_colors_neon
    - functionName:    primitives_init_colors
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 563
      functionLinenumberEnd: 568
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_yCbCrToRGB_16s8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 180
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - general_yCbCrToRGB_16s8u_P3AC4R_BGRX
        - general_yCbCrToRGB_16s8u_P3AC4R_general
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_colors.c:169,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:173,11'
          Dst:             general_yCbCrToRGB_16s8u_P3AC4R_BGRX
        - Src:             'libfreerdp/primitives/prim_colors.c:177,11'
          Dst:             general_yCbCrToRGB_16s8u_P3AC4R_general
    - functionName:    general_yCbCrToRGB_16s16s_P3P3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 262
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         53
      ICount:          371
      EdgeCount:       61
      CyclomaticComplexity: 10
      functionsReached:
        - CLIP
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:206,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:206,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:208,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:208,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:249,14'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:250,14'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_colors.c:251,14'
          Dst:             CLIP
    - functionName:    general_RGBToYCbCr_16s16s_P3P3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 330
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         71
      ICount:          420
      EdgeCount:       85
      CyclomaticComplexity: 16
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:287,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:287,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:289,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_colors.c:289,20'
          Dst:             winpr_int_assert
    - functionName:    general_RGBToRGB_16s8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_colors.c'
      linkageType:     InternalLinkage
      functionLinenumber: 549
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - general_RGBToRGB_16s8u_P3AC4R_BGRX
        - general_RGBToRGB_16s8u_P3AC4R_general
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_colors.c:550,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_colors.c:554,11'
          Dst:             general_RGBToRGB_16s8u_P3AC4R_BGRX
        - Src:             'libfreerdp/primitives/prim_colors.c:557,11'
          Dst:             general_RGBToRGB_16s8u_P3AC4R_general
    - functionName:    generic_image_copy_bgrx32_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          232
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    generic_image_copy_bgr24_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          232
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    generic_image_copy_no_overlap_no_alpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 360
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      int
      argCount:        18
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          102
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - FreeRDPAreColorFormatsEqualNoAlpha
        - generic_image_copy_no_overlap_convert
        - generic_image_copy_no_overlap_memcpy
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:361,6'
          Dst:             FreeRDPAreColorFormatsEqualNoAlpha
        - Src:             'libfreerdp/primitives/prim_copy.c:362,10'
          Dst:             generic_image_copy_no_overlap_memcpy
        - Src:             'libfreerdp/primitives/prim_copy.c:367,10'
          Dst:             generic_image_copy_no_overlap_convert
    - functionName:    generic_image_copy_no_overlap_memcpy
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        18
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          199
      EdgeCount:       32
      CyclomaticComplexity: 6
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:273,26'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_copy.c:274,26'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_copy.c:286,10'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:286,10'
          Dst:             winpr_int_assert
    - functionName:    generic_image_copy_no_overlap_convert
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 264
      functionDepth:   0
      returnType:      int
      argCount:        17
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          223
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - FreeRDPConvertColor
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor_int
        - FreeRDPWriteColor_int
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:235,26'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_copy.c:236,26'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_copy.c:250,25'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/primitives/prim_copy.c:251,28'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/primitives/prim_copy.c:252,9'
          Dst:             FreeRDPWriteColor_int
        - Src:             'libfreerdp/primitives/prim_copy.c:257,25'
          Dst:             FreeRDPReadColor_int
        - Src:             'libfreerdp/primitives/prim_copy.c:258,28'
          Dst:             FreeRDPConvertColor
        - Src:             'libfreerdp/primitives/prim_copy.c:259,9'
          Dst:             FreeRDPWriteColor_int
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    FreeRDPReadColor_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/../codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 152
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          151
      EdgeCount:       22
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetColorFormatName
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/../codec/color.h:117,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/../codec/color.h:115,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/../codec/color.h:117,10'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/primitives/../codec/color.h:135,9'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/primitives/../codec/color.h:147,4'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/primitives/../codec/color.h:147,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeRDPConvertColor
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPSplitColor
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:277,3'
          Dst:             FreeRDPSplitColor
        - Src:             'include/freerdp/codec/color.h:278,10'
          Dst:             FreeRDPGetColor
    - functionName:    FreeRDPWriteColor_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/../codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 80
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          146
      EdgeCount:       20
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBitsPerPixel
        - FreeRDPGetColorFormatName
        - WLog_Print_dbg_tag
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/../codec/color.h:42,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/../codec/color.h:41,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/../codec/color.h:42,10'
          Dst:             FreeRDPGetBitsPerPixel
        - Src:             'libfreerdp/primitives/../codec/color.h:63,9'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/primitives/../codec/color.h:75,4'
          Dst:             FreeRDPGetColorFormatName
        - Src:             'libfreerdp/primitives/../codec/color.h:75,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPColorHasAlpha
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      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:    generic_image_copy_no_overlap_dst_alpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 297
      functionLinenumberEnd: 352
      functionDepth:   0
      returnType:      int
      argCount:        17
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          237
      EdgeCount:       78
      CyclomaticComplexity: 39
      functionsReached:
        - generic_image_copy_bgr24_bgrx32
        - generic_image_copy_bgrx32_bgrx32
        - generic_image_copy_no_overlap_convert
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_copy.c:301,2'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/prim_copy.c:304,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/prim_copy.c:317,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/prim_copy.c:330,4'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:298,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:299,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:308,13'
          Dst:             generic_image_copy_bgr24_bgrx32
        - Src:             'libfreerdp/primitives/prim_copy.c:321,13'
          Dst:             generic_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/primitives/prim_copy.c:334,13'
          Dst:             generic_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/primitives/prim_copy.c:338,13'
          Dst:             generic_image_copy_bgr24_bgrx32
        - Src:             'libfreerdp/primitives/prim_copy.c:349,9'
          Dst:             generic_image_copy_no_overlap_convert
    - functionName:    memory_regions_overlap_2d
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         137
      ICount:          514
      EdgeCount:       158
      CyclomaticComplexity: 23
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:64,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:64,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:65,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:65,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:66,29'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:66,29'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:74,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:74,30'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:75,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:75,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:76,29'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:76,29'
          Dst:             winpr_int_assert
    - functionName:    memory_regions_overlap_1d
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          59
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    primitives_init_copy_avx2
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_copy_avx2_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.h:56,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_copy.h:59,2'
          Dst:             primitives_init_copy_avx2_int
    - functionName:    primitives_init_copy_sse41
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.h'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_copy_sse41_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.h:46,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_copy.h:49,2'
          Dst:             primitives_init_copy_sse41_int
    - functionName:    primitives_init_copy_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 433
      functionLinenumberEnd: 439
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_copy
        - primitives_init_copy_avx2
        - primitives_init_copy_sse41
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:434,2'
          Dst:             primitives_init_copy
        - Src:             'libfreerdp/primitives/prim_copy.c:435,2'
          Dst:             primitives_init_copy_sse41
        - Src:             'libfreerdp/primitives/prim_copy.c:437,2'
          Dst:             primitives_init_copy_avx2
    - functionName:    primitives_init_copy
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 424
      functionLinenumberEnd: 430
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_copy_8u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 89
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - memory_regions_overlap_1d
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:90,6'
          Dst:             memory_regions_overlap_1d
    - functionName:    general_copy_8u_AC4r
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 147
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         64
      ICount:          282
      EdgeCount:       76
      CyclomaticComplexity: 14
      functionsReached:
        - memory_regions_overlap_2d
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:113,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:113,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:118,6'
          Dst:             memory_regions_overlap_2d
        - Src:             'libfreerdp/primitives/prim_copy.c:124,32'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_copy.c:124,32'
          Dst:             winpr_int_assert
    - functionName:    generic_image_copy_no_overlap
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_copy.c'
      linkageType:     InternalLinkage
      functionLinenumber: 380
      functionLinenumberEnd: 420
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          224
      EdgeCount:       44
      CyclomaticComplexity: 13
      functionsReached:
        - FreeRDPColorHasAlpha
        - FreeRDPGetBytesPerPixel
        - generic_image_copy_no_overlap_dst_alpha
        - generic_image_copy_no_overlap_no_alpha
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_copy.c:397,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_copy.c:400,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_copy.c:408,49'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/primitives/prim_copy.c:409,10'
          Dst:             generic_image_copy_no_overlap_dst_alpha
        - Src:             'libfreerdp/primitives/prim_copy.c:414,10'
          Dst:             generic_image_copy_no_overlap_no_alpha
    - functionName:    primitives_init_set_sse2
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_set_sse2_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_set.h:35,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_set.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_set.h:39,2'
          Dst:             primitives_init_set_sse2_int
    - functionName:    primitives_init_set_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 137
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_set
        - primitives_init_set_sse2
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_set.c:135,2'
          Dst:             primitives_init_set
        - Src:             'libfreerdp/primitives/prim_set.c:136,2'
          Dst:             primitives_init_set_sse2
    - functionName:    primitives_init_set
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 131
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_set_8u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 31
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          17
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_set_32s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          140
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - primitives_get
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_set.c:60,24'
          Dst:             primitives_get
        - Src:             'libfreerdp/primitives/prim_set.c:70,3'
          Dst:             winpr_int_assert
    - functionName:    general_set_32u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          141
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - primitives_get
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_set.c:101,10'
          Dst:             primitives_get
        - Src:             'libfreerdp/primitives/prim_set.c:111,3'
          Dst:             winpr_int_assert
    - functionName:    general_zero
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_set.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 38
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          11
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    shift
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 30
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - short
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          99
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:30,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:30,9'
          Dst:             winpr_int_assert
    - functionName:    primitives_init_shift_sse3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.h'
      linkageType:     InternalLinkage
      functionLinenumber: 33
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_shift_sse3_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.h:34,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_shift.h:35,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_shift.h:38,2'
          Dst:             primitives_init_shift_sse3_int
    - functionName:    primitives_init_shift_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 147
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_shift
        - primitives_init_shift_sse3
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:148,2'
          Dst:             primitives_init_shift
        - Src:             'libfreerdp/primitives/prim_shift.c:149,2'
          Dst:             primitives_init_shift_sse3
    - functionName:    primitives_init_shift
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 134
      functionLinenumberEnd: 144
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          27
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_lShiftC_16s_inplace
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 45
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          70
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - shift
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:42,16'
          Dst:             shift
    - functionName:    general_lShiftC_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 59
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          72
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - shift
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:56,13'
          Dst:             shift
    - functionName:    general_rShiftC_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          146
      EdgeCount:       39
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:71,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:71,13'
          Dst:             winpr_int_assert
    - functionName:    general_lShiftC_16u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 79
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         33
      ICount:          147
      EdgeCount:       39
      CyclomaticComplexity: 8
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:86,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:86,13'
          Dst:             winpr_int_assert
    - functionName:    general_rShiftC_16u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          67
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_shiftC_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          187
      EdgeCount:       58
      CyclomaticComplexity: 10
      functionsReached:
        - general_lShiftC_16s
        - general_rShiftC_16s
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:114,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:114,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:114,10'
          Dst:             general_rShiftC_16s
        - Src:             'libfreerdp/primitives/prim_shift.c:116,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:116,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:116,10'
          Dst:             general_lShiftC_16s
    - functionName:    general_shiftC_16u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_shift.c'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 130
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          187
      EdgeCount:       58
      CyclomaticComplexity: 10
      functionsReached:
        - general_lShiftC_16u
        - general_rShiftC_16u
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_shift.c:127,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:127,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:127,10'
          Dst:             general_rShiftC_16u
        - Src:             'libfreerdp/primitives/prim_shift.c:129,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:129,36'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_shift.c:129,10'
          Dst:             general_lShiftC_16u
    - functionName:    primitives_init_sign_ssse3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_sign.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - IsProcessorFeaturePresentEx
        - primitives_init_sign_ssse3_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_sign.h:35,7'
          Dst:             IsProcessorFeaturePresentEx
        - Src:             'libfreerdp/primitives/prim_sign.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_sign.h:39,2'
          Dst:             primitives_init_sign_ssse3_int
    - functionName:    primitives_init_sign_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_sign.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_sign
        - primitives_init_sign_ssse3
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_sign.c:48,2'
          Dst:             primitives_init_sign
        - Src:             'libfreerdp/primitives/prim_sign.c:49,2'
          Dst:             primitives_init_sign_ssse3
    - functionName:    primitives_init_sign
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_sign.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 44
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_sign_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_sign.c'
      linkageType:     InternalLinkage
      functionLinenumber: 29
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          134
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_sign.c:33,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_sign.c:33,13'
          Dst:             winpr_int_assert
    - functionName:    general_RGBToAVC444YUVv2_ANY_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1918
      functionLinenumberEnd: 2051
      functionDepth:   0
      returnType:      void
      argCount:        16
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         48
      ICount:          530
      EdgeCount:       61
      CyclomaticComplexity: 15
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1919,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:1921,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1940,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1942,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1943,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1944,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1945,9'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1953,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1955,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1956,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1957,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1958,9'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1972,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1974,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1975,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1976,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1977,9'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1991,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1993,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1994,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1995,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1996,9'
          Dst:             RGB2V
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    RGB2Y
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          105
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    43
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:281,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:281,9'
          Dst:             winpr_int_assert
    - functionName:    RGB2U
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    31
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:288,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:288,9'
          Dst:             winpr_int_assert
    - functionName:    RGB2V
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    31
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:295,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:295,9'
          Dst:             winpr_int_assert
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_RGBToAVC444YUVv2_ANY
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2058
      functionLinenumberEnd: 2148
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          353
      EdgeCount:       25
      CyclomaticComplexity: 7
      functionsReached:
        - general_RGBToAVC444YUVv2_ANY_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:2129,3'
          Dst:             general_RGBToAVC444YUVv2_ANY_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:2142,3'
          Dst:             general_RGBToAVC444YUVv2_ANY_DOUBLE_ROW
    - functionName:    general_RGBToAVC444YUVv2_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2311
      functionLinenumberEnd: 2351
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          331
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - int_general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:2332,3'
          Dst:             int_general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:2345,3'
          Dst:             int_general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
    - functionName:    int_general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2158
      functionLinenumberEnd: 2288
      functionDepth:   0
      returnType:      void
      argCount:        16
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         79
      ICount:          628
      EdgeCount:       95
      CyclomaticComplexity: 18
      functionsReached:
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:2159,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:2160,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:2161,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:2162,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:2163,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:2186,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:2187,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:2188,9'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:2197,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:2198,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:2199,9'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:2214,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:2215,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:2216,9'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:2231,9'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:2232,9'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:2233,9'
          Dst:             RGB2V
    - functionName:    general_RGBToAVC444YUV_ANY_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1666
      functionLinenumberEnd: 1776
      functionDepth:   0
      returnType:      void
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         72
      ICount:          601
      EdgeCount:       87
      CyclomaticComplexity: 17
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1667,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:1688,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1690,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1691,28'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1692,28'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1693,28'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1701,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1703,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1704,10'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1705,10'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1706,10'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1714,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1716,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1717,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1718,16'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1719,16'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1727,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1729,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1730,10'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1731,10'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1732,10'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1748,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1748,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1750,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1750,22'
          Dst:             winpr_int_assert
    - functionName:    general_RGBToAVC444YUV_RGBX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1514
      functionLinenumberEnd: 1614
      functionDepth:   0
      returnType:      void
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          611
      EdgeCount:       93
      CyclomaticComplexity: 17
      functionsReached:
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1515,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1537,28'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1538,28'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1539,28'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1548,10'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1549,10'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1550,10'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1559,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1560,16'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1561,16'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1570,10'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1571,10'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1572,10'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1588,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1588,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1589,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1589,22'
          Dst:             winpr_int_assert
    - functionName:    general_RGBToAVC444YUV_ANY
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1783
      functionLinenumberEnd: 1864
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          269
      EdgeCount:       26
      CyclomaticComplexity: 6
      functionsReached:
        - general_RGBToAVC444YUV_ANY_DOUBLE_ROW
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1845,3'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1860,3'
          Dst:             general_RGBToAVC444YUV_ANY_DOUBLE_ROW
    - functionName:    general_RGBToAVC444YUV_RGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1622
      functionLinenumberEnd: 1658
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          323
      EdgeCount:       17
      CyclomaticComplexity: 5
      functionsReached:
        - general_RGBToAVC444YUV_RGBX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1644,3'
          Dst:             general_RGBToAVC444YUV_RGBX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:1655,3'
          Dst:             general_RGBToAVC444YUV_RGBX_DOUBLE_ROW
    - functionName:    general_RGBToAVC444YUV_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1471
      functionLinenumberEnd: 1506
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          299
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - int_general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1491,3'
          Dst:             int_general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:1502,3'
          Dst:             int_general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
    - functionName:    int_general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1349
      functionLinenumberEnd: 1451
      functionDepth:   0
      returnType:      void
      argCount:        12
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         78
      ICount:          628
      EdgeCount:       93
      CyclomaticComplexity: 17
      functionsReached:
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1350,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1374,28'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1375,28'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1376,28'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1385,10'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1386,10'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1387,10'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1396,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1397,16'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1398,16'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1407,10'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1408,10'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1409,10'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1425,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1425,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1426,22'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:1426,22'
          Dst:             winpr_int_assert
    - functionName:    general_ChromaV2ToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 222
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          383
      EdgeCount:       20
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_ChromaV1ToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          433
      EdgeCount:       29
      CyclomaticComplexity: 8
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_LumaToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          449
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    fillI444_single
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 899
      functionLinenumberEnd: 918
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          139
      EdgeCount:       27
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:900,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:901,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:902,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:903,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:905,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:910,23'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:911,2'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:912,17'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:913,17'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:914,17'
          Dst:             RGB2V
    - functionName:    general_RGBToI444_SINGLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 923
      functionLinenumberEnd: 928
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          50
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - fillI444_single
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:926,3'
          Dst:             fillI444_single
    - functionName:    general_RGBToI444_8u_RGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 934
      functionLinenumberEnd: 948
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          104
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached:
        - general_RGBToI444_SINGLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:945,3'
          Dst:             general_RGBToI444_SINGLE_ROW
    - functionName:    fillYUV_single
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 801
      functionLinenumberEnd: 822
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          162
      EdgeCount:       32
      CyclomaticComplexity: 3
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:802,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:803,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:804,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:805,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:806,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:813,24'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:814,3'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:815,18'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:816,18'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:817,18'
          Dst:             RGB2V
    - functionName:    fillYUV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 761
      functionLinenumberEnd: 796
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          227
      EdgeCount:       37
      CyclomaticComplexity: 4
      functionsReached:
        - CLIP
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:762,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:763,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:764,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:765,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:766,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:777,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:778,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:779,19'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:780,19'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:781,19'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:792,18'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_YUV.c:795,18'
          Dst:             CLIP
    - functionName:    CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_RGBToYUV444_SINGLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 840
      functionLinenumberEnd: 847
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - fillYUV_single
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:842,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:845,3'
          Dst:             fillYUV_single
    - functionName:    general_RGBToYUV444_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 828
      functionLinenumberEnd: 835
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          64
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - fillYUV
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:830,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:833,3'
          Dst:             fillYUV
    - functionName:    BGRX_fillYUV_single
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 678
      functionLinenumberEnd: 698
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          147
      EdgeCount:       32
      CyclomaticComplexity: 3
      functionsReached:
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:679,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:680,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:681,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:682,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:692,24'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:693,3'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:694,20'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:695,20'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:696,20'
          Dst:             RGB2V
    - functionName:    BGRX_fillYUV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 644
      functionLinenumberEnd: 673
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          274
      EdgeCount:       37
      CyclomaticComplexity: 4
      functionsReached:
        - CONDITIONAL_CLIP
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:645,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:646,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:647,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:648,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:660,25'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:661,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:662,24'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:663,24'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:664,24'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:670,18'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/prim_YUV.c:672,18'
          Dst:             CONDITIONAL_CLIP
    - functionName:    CONDITIONAL_CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CLIP
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:217,13'
          Dst:             CLIP
    - functionName:    general_BGRXToYUV444_SINGLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 716
      functionLinenumberEnd: 723
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - BGRX_fillYUV_single
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:718,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:721,3'
          Dst:             BGRX_fillYUV_single
    - functionName:    general_BGRXToYUV444_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 704
      functionLinenumberEnd: 711
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - BGRX_fillYUV
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:706,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:709,3'
          Dst:             BGRX_fillYUV
    - functionName:    general_RGBToYUV444_8u_P3AC4R_RGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 854
      functionLinenumberEnd: 878
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          221
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - general_RGBToYUV444_DOUBLE_ROW
        - general_RGBToYUV444_SINGLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:866,3'
          Dst:             general_RGBToYUV444_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:875,3'
          Dst:             general_RGBToYUV444_SINGLE_ROW
    - functionName:    general_RGBToYUV444_8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 730
      functionLinenumberEnd: 755
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          217
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - general_BGRXToYUV444_DOUBLE_ROW
        - general_BGRXToYUV444_SINGLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:742,3'
          Dst:             general_BGRXToYUV444_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:752,3'
          Dst:             general_BGRXToYUV444_SINGLE_ROW
    - functionName:    general_RGBToYUV420_ANY
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1203
      functionLinenumberEnd: 1321
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          575
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - FreeRDPReadColor
        - FreeRDPSplitColor
        - RGB2U
        - RGB2V
        - RGB2Y
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1204,21'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:1233,12'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1234,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1238,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1243,13'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1244,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1248,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1252,12'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1253,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1257,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1262,13'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1263,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1267,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1273,14'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1274,14'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1293,19'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1294,4'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1298,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1303,13'
          Dst:             FreeRDPReadColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1304,5'
          Dst:             FreeRDPSplitColor
        - Src:             'libfreerdp/primitives/prim_YUV.c:1308,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1314,14'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1315,14'
          Dst:             RGB2V
    - functionName:    general_RGBToYUV420_RGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1081
      functionLinenumberEnd: 1196
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          597
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - RGB2U
        - RGB2V
        - RGB2Y
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1109,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1120,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1131,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1143,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1149,14'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1150,14'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1172,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1183,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1189,14'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1190,14'
          Dst:             RGB2V
    - functionName:    general_RGBToYUV420_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 967
      functionLinenumberEnd: 1074
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          596
      EdgeCount:       35
      CyclomaticComplexity: 9
      functionsReached:
        - RGB2U
        - RGB2V
        - RGB2Y
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:998,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1006,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1013,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1021,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1027,14'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1028,14'
          Dst:             RGB2V
        - Src:             'libfreerdp/primitives/prim_YUV.c:1053,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1061,16'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/prim_YUV.c:1067,14'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/prim_YUV.c:1068,14'
          Dst:             RGB2V
    - functionName:    general_YUV444ToRGB_SINGLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 377
      functionLinenumberEnd: 391
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          110
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - getPixelWriteFunction
        - winpr_int_assert
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:378,30'
          Dst:             getPixelWriteFunction
        - Src:             'libfreerdp/primitives/prim_YUV.c:380,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:388,11'
          Dst:             writeYUVPixel
    - functionName:    getPixelWriteFunction
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       28
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    3
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_internal.h:179,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    writeYUVPixel
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - YUV2B
        - YUV2G
        - YUV2R
        - winpr_int_assert
      functionUses:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:301,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:302,17'
          Dst:             YUV2R
        - Src:             'libfreerdp/primitives/prim_internal.h:303,17'
          Dst:             YUV2G
        - Src:             'libfreerdp/primitives/prim_internal.h:304,17'
          Dst:             YUV2B
        - Src:             'libfreerdp/primitives/prim_internal.h:305,27'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    YUV2R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - C
        - CLIP
        - D
        - E
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:251,25'
          Dst:             C
        - Src:             'libfreerdp/primitives/prim_internal.h:251,36'
          Dst:             D
        - Src:             'libfreerdp/primitives/prim_internal.h:251,49'
          Dst:             E
        - Src:             'libfreerdp/primitives/prim_internal.h:253,9'
          Dst:             CLIP
    - functionName:    YUV2G
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - C
        - CLIP
        - D
        - E
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:259,25'
          Dst:             C
        - Src:             'libfreerdp/primitives/prim_internal.h:259,37'
          Dst:             D
        - Src:             'libfreerdp/primitives/prim_internal.h:259,50'
          Dst:             E
        - Src:             'libfreerdp/primitives/prim_internal.h:261,9'
          Dst:             CLIP
    - functionName:    YUV2B
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - C
        - CLIP
        - D
        - E
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:267,25'
          Dst:             C
        - Src:             'libfreerdp/primitives/prim_internal.h:267,38'
          Dst:             D
        - Src:             'libfreerdp/primitives/prim_internal.h:267,49'
          Dst:             E
        - Src:             'libfreerdp/primitives/prim_internal.h:269,9'
          Dst:             CLIP
    - functionName:    C
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    D
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    E
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelARGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelXRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelABGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelXBGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelRGBA
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelRGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelBGRA
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelBGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelGenericAlpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPWriteColor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:160,17'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/primitives/prim_internal.h:161,2'
          Dst:             FreeRDPWriteColor
    - functionName:    writePixelGeneric
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPWriteColorIgnoreAlpha
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:169,17'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/primitives/prim_internal.h:170,2'
          Dst:             FreeRDPWriteColorIgnoreAlpha
    - functionName:    general_YUV444ToRGB_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 344
      functionLinenumberEnd: 371
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         68
      ICount:          382
      EdgeCount:       79
      CyclomaticComplexity: 13
      functionsReached:
        - CONDITIONAL_CLIP
        - getPixelWriteFunction
        - winpr_int_assert
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:345,30'
          Dst:             getPixelWriteFunction
        - Src:             'libfreerdp/primitives/prim_YUV.c:347,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:361,33'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:361,33'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:361,10'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/prim_YUV.c:365,33'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:365,33'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:365,10'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/prim_YUV.c:367,15'
          Dst:             writeYUVPixel
    - functionName:    general_YUV444ToBGRX_SINGLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 479
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          105
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_int_assert
        - writePixelBGRX
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:468,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:476,11'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:476,11'
          Dst:             writePixelBGRX
    - functionName:    general_YUV444ToBGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 436
      functionLinenumberEnd: 461
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          283
      EdgeCount:       24
      CyclomaticComplexity: 5
      functionsReached:
        - CONDITIONAL_CLIP
        - winpr_int_assert
        - writePixelBGRX
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:437,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:442,21'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/prim_YUV.c:445,21'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/prim_YUV.c:457,15'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:457,15'
          Dst:             writePixelBGRX
    - functionName:    general_YUV444ToRGB_8u_P3AC4R_general
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 429
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          259
      EdgeCount:       31
      CyclomaticComplexity: 4
      functionsReached:
        - general_YUV444ToRGB_DOUBLE_ROW
        - general_YUV444ToRGB_SINGLE_ROW
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:399,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:400,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:401,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:417,3'
          Dst:             general_YUV444ToRGB_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:426,3'
          Dst:             general_YUV444ToRGB_SINGLE_ROW
    - functionName:    general_YUV444ToRGB_8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 486
      functionLinenumberEnd: 514
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          259
      EdgeCount:       31
      CyclomaticComplexity: 4
      functionsReached:
        - general_YUV444ToBGRX_DOUBLE_ROW
        - general_YUV444ToBGRX_SINGLE_ROW
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:487,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:488,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:489,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:502,3'
          Dst:             general_YUV444ToBGRX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/prim_YUV.c:512,3'
          Dst:             general_YUV444ToBGRX_SINGLE_ROW
    - functionName:    general_YUV420ToRGB_8u_P3AC4R_single_line
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 580
      functionLinenumberEnd: 600
      functionDepth:   0
      returnType:      void
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          170
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:589,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:590,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:598,3'
          Dst:             writeYUVPixel
    - functionName:    general_YUV420ToRGB_8u_P3AC4R_double_line
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 573
      functionDepth:   0
      returnType:      void
      argCount:        10
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          253
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:554,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:555,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:559,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:560,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:568,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:571,3'
          Dst:             writeYUVPixel
    - functionName:    primitives_init_YUV_neon
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.h'
      linkageType:     InternalLinkage
      functionLinenumber: 44
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_YUV_neon_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.h:45,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_YUV.h:48,2'
          Dst:             primitives_init_YUV_neon_int
    - functionName:    primitives_init_YUV_sse41
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.h'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          36
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - IsProcessorFeaturePresent
        - IsProcessorFeaturePresentEx
        - primitives_init_YUV_sse41_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.h:35,7'
          Dst:             IsProcessorFeaturePresentEx
        - Src:             'libfreerdp/primitives/prim_YUV.h:36,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_YUV.h:39,2'
          Dst:             primitives_init_YUV_sse41_int
    - functionName:    primitives_init_YUV_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2388
      functionLinenumberEnd: 2392
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_YUV
        - primitives_init_YUV_neon
        - primitives_init_YUV_sse41
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:2389,2'
          Dst:             primitives_init_YUV
        - Src:             'libfreerdp/primitives/prim_YUV.c:2390,2'
          Dst:             primitives_init_YUV_sse41
        - Src:             'libfreerdp/primitives/prim_YUV.c:2391,2'
          Dst:             primitives_init_YUV_neon
    - functionName:    primitives_init_YUV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2375
      functionLinenumberEnd: 2385
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_YUV420ToRGB_8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 606
      functionLinenumberEnd: 638
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          240
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - general_YUV420ToRGB_8u_P3AC4R_double_line
        - general_YUV420ToRGB_8u_P3AC4R_single_line
        - getPixelWriteFunction
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:607,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YUV.c:608,27'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YUV.c:609,30'
          Dst:             getPixelWriteFunction
        - Src:             'libfreerdp/primitives/prim_YUV.c:622,3'
          Dst:             general_YUV420ToRGB_8u_P3AC4R_double_line
        - Src:             'libfreerdp/primitives/prim_YUV.c:634,3'
          Dst:             general_YUV420ToRGB_8u_P3AC4R_single_line
    - functionName:    general_YUV444ToRGB_8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 521
      functionLinenumberEnd: 532
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          58
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - general_YUV444ToRGB_8u_P3AC4R_BGRX
        - general_YUV444ToRGB_8u_P3AC4R_general
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:522,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:526,11'
          Dst:             general_YUV444ToRGB_8u_P3AC4R_BGRX
        - Src:             'libfreerdp/primitives/prim_YUV.c:529,11'
          Dst:             general_YUV444ToRGB_8u_P3AC4R_general
    - functionName:    general_RGBToYUV420_8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1328
      functionLinenumberEnd: 1342
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          73
      EdgeCount:       21
      CyclomaticComplexity: 12
      functionsReached:
        - general_RGBToYUV420_ANY
        - general_RGBToYUV420_BGRX
        - general_RGBToYUV420_RGBX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:1329,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1333,11'
          Dst:             general_RGBToYUV420_BGRX
        - Src:             'libfreerdp/primitives/prim_YUV.c:1337,11'
          Dst:             general_RGBToYUV420_RGBX
        - Src:             'libfreerdp/primitives/prim_YUV.c:1340,11'
          Dst:             general_RGBToYUV420_ANY
    - functionName:    general_RGBToYUV444_8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 885
      functionLinenumberEnd: 894
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          57
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - general_RGBToYUV444_8u_P3AC4R_BGRX
        - general_RGBToYUV444_8u_P3AC4R_RGB
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:886,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:890,11'
          Dst:             general_RGBToYUV444_8u_P3AC4R_BGRX
        - Src:             'libfreerdp/primitives/prim_YUV.c:892,11'
          Dst:             general_RGBToYUV444_8u_P3AC4R_RGB
    - functionName:    general_RGBToI444_8u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 959
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         4
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 5
      functionsReached:
        - general_RGBToI444_8u_RGB
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:956,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:959,11'
          Dst:             general_RGBToI444_8u_RGB
    - functionName:    general_YUV420CombineToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 231
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          153
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - general_ChromaV1ToYUV444
        - general_ChromaV2ToYUV444
        - general_LumaToYUV444
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:241,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:244,11'
          Dst:             general_LumaToYUV444
        - Src:             'libfreerdp/primitives/prim_YUV.c:247,11'
          Dst:             general_ChromaV1ToYUV444
        - Src:             'libfreerdp/primitives/prim_YUV.c:250,11'
          Dst:             general_ChromaV2ToYUV444
    - functionName:    general_YUV444SplitToYUV420
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 262
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         32
      ICount:          423
      EdgeCount:       40
      CyclomaticComplexity: 10
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_RGBToAVC444YUV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1873
      functionLinenumberEnd: 1908
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          242
      EdgeCount:       66
      CyclomaticComplexity: 18
      functionsReached:
        - general_RGBToAVC444YUV_ANY
        - general_RGBToAVC444YUV_BGRX
        - general_RGBToAVC444YUV_RGBX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:1889,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1894,11'
          Dst:             general_RGBToAVC444YUV_BGRX
        - Src:             'libfreerdp/primitives/prim_YUV.c:1899,11'
          Dst:             general_RGBToAVC444YUV_RGBX
        - Src:             'libfreerdp/primitives/prim_YUV.c:1903,11'
          Dst:             general_RGBToAVC444YUV_ANY
    - functionName:    general_RGBToAVC444YUVv2
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2358
      functionLinenumberEnd: 2372
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          65
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - general_RGBToAVC444YUVv2_ANY
        - general_RGBToAVC444YUVv2_BGRX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_YUV.c:2359,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:2363,11'
          Dst:             general_RGBToAVC444YUVv2_BGRX
        - Src:             'libfreerdp/primitives/prim_YUV.c:2367,11'
          Dst:             general_RGBToAVC444YUVv2_ANY
    - functionName:    general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 2298
      functionLinenumberEnd: 2303
      functionDepth:   0
      returnType:      void
      argCount:        16
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          60
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - int_general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:2299,2'
          Dst:             int_general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
    - functionName:    general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YUV.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1460
      functionLinenumberEnd: 1463
      functionDepth:   0
      returnType:      void
      argCount:        12
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          48
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - int_general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YUV.c:1461,2'
          Dst:             int_general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
    - functionName:    writePixelGeneric
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPWriteColorIgnoreAlpha
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:169,17'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/primitives/prim_internal.h:170,2'
          Dst:             FreeRDPWriteColorIgnoreAlpha
    - functionName:    writePixelGenericAlpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          41
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetColor
        - FreeRDPWriteColor
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:160,17'
          Dst:             FreeRDPGetColor
        - Src:             'libfreerdp/primitives/prim_internal.h:161,2'
          Dst:             FreeRDPWriteColor
    - functionName:    writePixelBGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelBGRA
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 49
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelRGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelRGBA
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 71
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelXBGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelABGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 109
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelXRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writePixelARGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          41
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    convert
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YCoCg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 31
      functionLinenumberEnd: 33
      functionDepth:   0
      returnType:      short
      argCount:        2
      argTypes:
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          18
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    getPixelWriteFunction
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          84
      EdgeCount:       28
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/prim_internal.h:179,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    primitives_init_YCoCg_neon
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YCoCg.h'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          27
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - IsProcessorFeaturePresent
        - primitives_init_YCoCg_neon_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YCoCg.h:48,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_YCoCg.h:50,2'
          Dst:             primitives_init_YCoCg_neon_int
    - functionName:    primitives_init_YCoCg_ssse3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YCoCg.h'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 42
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          44
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - IsProcessorFeaturePresent
        - IsProcessorFeaturePresentEx
        - primitives_init_YCoCg_ssse3_int
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YCoCg.h:36,7'
          Dst:             IsProcessorFeaturePresentEx
        - Src:             'libfreerdp/primitives/prim_YCoCg.h:37,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_YCoCg.h:38,7'
          Dst:             IsProcessorFeaturePresent
        - Src:             'libfreerdp/primitives/prim_YCoCg.h:41,2'
          Dst:             primitives_init_YCoCg_ssse3_int
    - functionName:    primitives_init_YCoCg_opt
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YCoCg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - primitives_init_YCoCg
        - primitives_init_YCoCg_neon
        - primitives_init_YCoCg_ssse3
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:79,2'
          Dst:             primitives_init_YCoCg
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:80,2'
          Dst:             primitives_init_YCoCg_ssse3
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:81,2'
          Dst:             primitives_init_YCoCg_neon
    - functionName:    primitives_init_YCoCg
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YCoCg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    general_YCoCgToRGB_8u_AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_YCoCg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 41
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         56
      ICount:          316
      EdgeCount:       65
      CyclomaticComplexity: 11
      functionsReached:
        - CLIP
        - FreeRDPGetBytesPerPixel
        - convert
        - getPixelWriteFunction
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:42,27'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:43,30'
          Dst:             getPixelWriteFunction
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:47,32'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:47,32'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:48,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:48,26'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:52,21'
          Dst:             convert
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:53,21'
          Dst:             convert
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:64,51'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:64,60'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/prim_YCoCg.c:64,69'
          Dst:             CLIP
    - 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:    primitives_init_colors_neon_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/neon/prim_colors_neon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/neon/prim_colors_neon.c:271,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:    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:    primitives_init_YCoCg_neon_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/neon/prim_YCoCg_neon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/neon/prim_YCoCg_neon.c:165,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:    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:    primitives_init_YUV_neon_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/neon/prim_YUV_neon.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 838
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/neon/prim_YUV_neon.c:835,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    mm_between_epi16_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 76
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    15
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_prefetch_buffer
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       10
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse2_yCbCrToRGB_16s8u_P3AC4R_RGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 435
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          1398
      EdgeCount:       122
      CyclomaticComplexity: 14
      functionsReached:
        - CLIP
        - LOAD_SI128
        - STORE_SI128
        - mm_between_epi16_int
        - mm_prefetch_buffer
        - mm_set1_epu32
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:296,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:297,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:298,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:324,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:329,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:332,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:338,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:344,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:349,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:350,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:355,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:358,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:364,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:370,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:375,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:392,10'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:402,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:404,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:406,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:408,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:423,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:423,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:424,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:424,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:425,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:425,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:426,15'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:427,15'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:428,15'
          Dst:             CLIP
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    39
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set1_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    27
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    18
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse2_yCbCrToRGB_16s8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 106
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         110
      ICount:          1398
      EdgeCount:       122
      CyclomaticComplexity: 14
      functionsReached:
        - CLIP
        - LOAD_SI128
        - STORE_SI128
        - mm_between_epi16_int
        - mm_prefetch_buffer
        - mm_set1_epu32
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:127,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:128,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:129,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:155,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:160,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:163,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:169,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:175,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:180,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:181,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:186,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:189,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:195,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:201,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:206,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:223,10'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:233,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:235,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:237,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:239,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:254,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:254,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:255,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:255,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:256,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:256,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:257,15'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:258,15'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:259,15'
          Dst:             CLIP
    - functionName:    sse2_RGBToRGB_16s8u_P3AC4R_XRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 902
      functionLinenumberEnd: 1004
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          414
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - CLIP
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:906,20'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:928,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:930,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:937,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:939,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:946,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:948,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:965,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:970,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:975,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:980,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:988,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:989,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:990,19'
          Dst:             CLIP
    - functionName:    sse2_RGBToRGB_16s8u_P3AC4R_XBGR
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 791
      functionLinenumberEnd: 893
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          414
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - CLIP
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:796,20'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:817,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:819,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:826,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:828,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:835,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:837,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:854,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:859,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:864,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:869,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:877,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:878,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:879,19'
          Dst:             CLIP
    - functionName:    sse2_RGBToRGB_16s8u_P3AC4R_RGBX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 680
      functionLinenumberEnd: 782
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          414
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - CLIP
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:685,20'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:706,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:708,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:715,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:717,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:724,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:726,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:743,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:748,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:753,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:758,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:766,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:767,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:768,19'
          Dst:             CLIP
    - functionName:    sse2_RGBToRGB_16s8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 574
      functionLinenumberEnd: 671
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          414
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - CLIP
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:579,20'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:600,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:602,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:609,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:611,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:618,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:620,10'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:632,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:637,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:642,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:647,6'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:655,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:656,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:657,19'
          Dst:             CLIP
    - functionName:    sse2_RGBToYCbCr_16s16s_P3P3
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          1232
      EdgeCount:       90
      CyclomaticComplexity: 19
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_between_epi16_int
        - mm_prefetch_buffer
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:501,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:501,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:502,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:502,25'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:504,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:505,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:506,2'
          Dst:             mm_prefetch_buffer
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:525,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:526,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:527,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:538,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:539,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:545,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:546,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:552,4'
          Dst:             mm_between_epi16_int
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:553,4'
          Dst:             STORE_SI128
    - functionName:    sse2_yCbCrToRGB_16s8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 442
      functionLinenumberEnd: 464
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          156
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - sse2_yCbCrToRGB_16s8u_P3AC4R_BGRX
        - sse2_yCbCrToRGB_16s8u_P3AC4R_RGBX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_colors_sse2.c:451,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:455,11'
          Dst:             sse2_yCbCrToRGB_16s8u_P3AC4R_BGRX
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:459,11'
          Dst:             sse2_yCbCrToRGB_16s8u_P3AC4R_RGBX
    - functionName:    sse2_RGBToRGB_16s8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1013
      functionLinenumberEnd: 1039
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         30
      ICount:          188
      EdgeCount:       35
      CyclomaticComplexity: 7
      functionsReached:
        - sse2_RGBToRGB_16s8u_P3AC4R_BGRX
        - sse2_RGBToRGB_16s8u_P3AC4R_RGBX
        - sse2_RGBToRGB_16s8u_P3AC4R_XBGR
        - sse2_RGBToRGB_16s8u_P3AC4R_XRGB
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_colors_sse2.c:1018,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:1022,11'
          Dst:             sse2_RGBToRGB_16s8u_P3AC4R_BGRX
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:1026,11'
          Dst:             sse2_RGBToRGB_16s8u_P3AC4R_RGBX
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:1030,11'
          Dst:             sse2_RGBToRGB_16s8u_P3AC4R_XBGR
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:1034,11'
          Dst:             sse2_RGBToRGB_16s8u_P3AC4R_XRGB
    - 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:    primitives_init_colors_sse2_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_colors_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1056
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:1045,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_colors_sse2.c:1047,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    mm_set1_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    34
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set1_epu8
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          93
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse2_set_32u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_set_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 208
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         25
      ICount:          263
      EdgeCount:       33
      CyclomaticComplexity: 10
      functionsReached:
        - STORE_SI128
        - mm_set1_epu32
        - primitives_get_generic
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:121,29'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:150,9'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:158,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:160,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:162,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:164,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:166,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:168,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:170,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:172,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:174,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:176,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:178,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:180,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:182,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:184,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:186,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:188,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:199,3'
          Dst:             STORE_SI128
    - functionName:    sse2_set_32s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_set_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 212
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sse2_set_32u
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:214,9'
          Dst:             sse2_set_32u
    - functionName:    sse2_set_8u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_set_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - char
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         20
      ICount:          239
      EdgeCount:       26
      CyclomaticComplexity: 8
      functionsReached:
        - STORE_SI128
        - mm_set1_epu8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:57,9'
          Dst:             mm_set1_epu8
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:65,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:67,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:69,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:71,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:73,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:75,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:77,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:79,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:81,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:83,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:85,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:87,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:89,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:91,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:93,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:95,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:106,3'
          Dst:             STORE_SI128
    - 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:    primitives_init_set_sse2_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_set_sse2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          25
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:222,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_set_sse2.c:226,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    23
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    28
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse3_add_16s_inplace
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_add_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         51
      ICount:          655
      EdgeCount:       64
      CyclomaticComplexity: 15
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:79,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:80,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:81,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:82,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:83,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:84,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:85,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:86,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:93,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:94,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:95,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:96,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:98,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:99,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:100,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:101,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:117,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:118,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:119,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:120,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:121,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:122,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:123,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:124,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:131,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:132,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:133,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:134,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:136,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:137,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:138,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:139,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:155,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:156,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:160,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:161,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:168,49'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:168,49'
          Dst:             winpr_int_assert
    - functionName:    sse3_add_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_add_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          293
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:35,1'
          Dst:             STORE_SI128
    - 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:    primitives_init_add_sse3_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_add_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 176
      functionLinenumberEnd: 187
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:178,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_add_sse3.c:180,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set1_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse2_alphaComp_argb
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_alphaComp_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 200
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         34
      ICount:          657
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:73,3'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:63,17'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:126,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:129,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:175,4'
          Dst:             STORE_SI128
    - 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:    primitives_init_alphaComp_sse3_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_alphaComp_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 205
      functionLinenumberEnd: 215
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:207,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_alphaComp_sse3.c:208,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set1_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse3_orC_32u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_andor_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          311
      EdgeCount:       42
      CyclomaticComplexity: 8
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:36,1'
          Dst:             STORE_SI128
    - functionName:    sse3_andC_32u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_andor_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         36
      ICount:          311
      EdgeCount:       42
      CyclomaticComplexity: 8
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:34,1'
          Dst:             STORE_SI128
    - 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:    primitives_init_andor_sse3_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_andor_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:44,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_andor_sse3.c:46,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    45
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    45
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse2_rShiftC_16u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_shift_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          371
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:43,1'
          Dst:             STORE_SI128
    - functionName:    sse2_lShiftC_16u
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_shift_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 40
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          372
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:40,1'
          Dst:             STORE_SI128
    - functionName:    sse2_rShiftC_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_shift_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          371
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:37,1'
          Dst:             STORE_SI128
    - functionName:    sse2_lShiftC_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_shift_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 34
      functionLinenumberEnd: 34
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          372
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:34,1'
          Dst:             STORE_SI128
    - functionName:    sse2_lShiftC_16s_inplace
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_shift_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 135
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          507
      EdgeCount:       58
      CyclomaticComplexity: 14
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:83,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:84,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:85,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:86,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:87,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:88,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:89,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:90,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:103,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:104,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:105,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:106,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:107,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:108,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:109,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:110,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:121,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:126,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:132,53'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:132,53'
          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:    primitives_init_shift_sse3_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_shift_sse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          31
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:147,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_shift_sse3.c:149,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ssse3_sign_16s
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_sign_ssse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 36
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         76
      ICount:          1038
      EdgeCount:       93
      CyclomaticComplexity: 19
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:57,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:57,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:84,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:86,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:88,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:90,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:96,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:98,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:100,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:102,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:123,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:125,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:127,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:129,11'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:135,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:137,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:139,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:141,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:153,18'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:156,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:164,13'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:164,13'
          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:    primitives_init_sign_ssse3_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_sign_ssse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 174
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:176,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_sign_ssse3.c:181,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set1_epu8
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - char
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          93
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set1_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 57
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          33
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    ssse3_YCoCgRToRGB_8u_AC4R_no_invert
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YCoCg_ssse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 197
      functionLinenumberEnd: 341
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         171
      ICount:          1012
      EdgeCount:       199
      CyclomaticComplexity: 30
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
        - mm_set1_epu8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:220,44'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:220,44'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:221,49'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:221,49'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:234,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:236,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:256,10'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:260,9'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:269,9'
          Dst:             mm_set1_epu8
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:313,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:315,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:325,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:325,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:326,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:326,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:326,50'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:326,50'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:332,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:332,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:333,12'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:333,12'
          Dst:             winpr_int_assert
    - functionName:    ssse3_YCoCgRToRGB_8u_AC4R_invert
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YCoCg_ssse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         120
      ICount:          848
      EdgeCount:       139
      CyclomaticComplexity: 21
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set1_epu32
        - mm_set1_epu8
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:46,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:47,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:68,44'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:68,44'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:69,49'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:69,49'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:88,9'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:90,9'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:110,10'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:114,9'
          Dst:             mm_set1_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:123,9'
          Dst:             mm_set1_epu8
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:163,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:165,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:175,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:175,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:176,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:176,8'
          Dst:             winpr_int_assert
    - functionName:    ssse3_YCoCgRToRGB_8u_AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YCoCg_ssse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 367
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - char
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         95
      ICount:          365
      EdgeCount:       106
      CyclomaticComplexity: 13
      functionsReached:
        - ssse3_YCoCgRToRGB_8u_AC4R_invert
        - ssse3_YCoCgRToRGB_8u_AC4R_no_invert
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:349,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:354,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:354,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:355,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:355,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:353,11'
          Dst:             ssse3_YCoCgRToRGB_8u_AC4R_invert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:360,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:360,14'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:361,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:361,8'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:359,11'
          Dst:             ssse3_YCoCgRToRGB_8u_AC4R_no_invert
    - 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:    primitives_init_YCoCg_ssse3_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YCoCg_ssse3.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 383
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:375,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_YCoCg_ssse3.c:377,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    mm_set_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          36
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse_image_copy_bgrx32_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_sse4_1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 132
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          342
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:116,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:117,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:119,4'
          Dst:             STORE_SI128
    - functionName:    sse_image_copy_bgr24_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_sse4_1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          244
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set_epu32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:48,23'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:49,24'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:66,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:68,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:71,4'
          Dst:             STORE_SI128
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse_image_copy_no_overlap_dst_alpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_sse4_1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 192
      functionDepth:   0
      returnType:      int
      argCount:        18
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          224
      EdgeCount:       76
      CyclomaticComplexity: 38
      functionsReached:
        - primitives_get_generic
        - sse_image_copy_bgr24_bgrx32
        - sse_image_copy_bgrx32_bgrx32
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_sse4_1.c:145,2'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_sse4_1.c:148,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_sse4_1.c:161,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_sse4_1.c:174,4'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:142,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:143,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:152,13'
          Dst:             sse_image_copy_bgr24_bgrx32
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:165,13'
          Dst:             sse_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:178,13'
          Dst:             sse_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:189,22'
          Dst:             primitives_get_generic
    - functionName:    FreeRDPColorHasAlpha
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    sse_image_copy_no_overlap
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_sse4_1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          262
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - FreeRDPAreColorFormatsEqualNoAlpha
        - FreeRDPColorHasAlpha
        - FreeRDPGetBytesPerPixel
        - generic_image_copy_no_overlap_memcpy
        - primitives_get_generic
        - sse_image_copy_no_overlap_dst_alpha
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:217,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:220,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:228,49'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:229,10'
          Dst:             sse_image_copy_no_overlap_dst_alpha
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:233,11'
          Dst:             FreeRDPAreColorFormatsEqualNoAlpha
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:234,10'
          Dst:             generic_image_copy_no_overlap_memcpy
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:240,23'
          Dst:             primitives_get_generic
    - 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:    primitives_init_copy_sse41_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_sse4_1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 257
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_sse4_1.c:251,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    sse41_ChromaV2ToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1584
      functionLinenumberEnd: 1692
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         27
      ICount:          1213
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - LOAD_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1617,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1624,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1654,24'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1655,24'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1668,24'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1669,24'
          Dst:             LOAD_SI128
    - functionName:    LOAD_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 70
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    48
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse41_ChromaV1ToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1486
      functionLinenumberEnd: 1577
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         29
      ICount:          669
      EdgeCount:       37
      CyclomaticComplexity: 10
      functionsReached:
        - LOAD_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1554,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1561,23'
          Dst:             LOAD_SI128
    - functionName:    sse41_LumaToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1399
      functionLinenumberEnd: 1479
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          713
      EdgeCount:       23
      CyclomaticComplexity: 6
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1445,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1448,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1449,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1450,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1451,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1454,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1457,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1458,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1459,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1460,5'
          Dst:             STORE_SI128
    - functionName:    STORE_SI128
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 74
      functionLinenumberEnd: 77
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          20
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    16
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BGRX_fillRGB_single
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 446
      functionLinenumberEnd: 462
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          128
      EdgeCount:       32
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
        - writePixelBGRX
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:447,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:448,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:449,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:450,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:460,3'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:460,3'
          Dst:             writePixelBGRX
    - functionName:    writePixelBGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 55
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          40
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    writeYUVPixel
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 306
      functionDepth:   0
      returnType:      'N/A'
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBytesPerPixel
        - YUV2B
        - YUV2G
        - YUV2R
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:301,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:302,17'
          Dst:             YUV2R
        - Src:             'libfreerdp/primitives/prim_internal.h:303,17'
          Dst:             YUV2G
        - Src:             'libfreerdp/primitives/prim_internal.h:304,17'
          Dst:             YUV2B
        - Src:             'libfreerdp/primitives/prim_internal.h:305,27'
          Dst:             FreeRDPGetBytesPerPixel
    - functionName:    YUV2R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 250
      functionLinenumberEnd: 253
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - C
        - CLIP
        - D
        - E
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:251,25'
          Dst:             C
        - Src:             'libfreerdp/primitives/prim_internal.h:251,36'
          Dst:             D
        - Src:             'libfreerdp/primitives/prim_internal.h:251,49'
          Dst:             E
        - Src:             'libfreerdp/primitives/prim_internal.h:253,9'
          Dst:             CLIP
    - functionName:    YUV2G
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 261
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - C
        - CLIP
        - D
        - E
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:259,25'
          Dst:             C
        - Src:             'libfreerdp/primitives/prim_internal.h:259,37'
          Dst:             D
        - Src:             'libfreerdp/primitives/prim_internal.h:259,50'
          Dst:             E
        - Src:             'libfreerdp/primitives/prim_internal.h:261,9'
          Dst:             CLIP
    - functionName:    YUV2B
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 266
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          37
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - C
        - CLIP
        - D
        - E
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:267,25'
          Dst:             C
        - Src:             'libfreerdp/primitives/prim_internal.h:267,38'
          Dst:             D
        - Src:             'libfreerdp/primitives/prim_internal.h:267,49'
          Dst:             E
        - Src:             'libfreerdp/primitives/prim_internal.h:269,9'
          Dst:             CLIP
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    C
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 235
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    D
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 240
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    E
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 244
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CONDITIONAL_CLIP
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 226
      functionDepth:   0
      returnType:      char
      argCount:        2
      argTypes:
        - int
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          70
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CLIP
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:217,13'
          Dst:             CLIP
    - functionName:    sse41_yuv2x_single
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 229
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         7
      ICount:          587
      EdgeCount:       8
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse41_yuv2x
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 272
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - short
        - short
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          224
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - sse41_yuv2x_single
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:282,25'
          Dst:             sse41_yuv2x_single
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:287,25'
          Dst:             sse41_yuv2x_single
    - functionName:    sse41_yuv2b
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 308
      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:
        - sse41_yuv2x
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:308,9'
          Dst:             sse41_yuv2x
    - functionName:    sse41_yuv2g
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 302
      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:
        - sse41_yuv2x
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:302,9'
          Dst:             sse41_yuv2x
    - functionName:    sse41_yuv2r
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 296
      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:
        - sse41_yuv2x
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:296,9'
          Dst:             sse41_yuv2x
    - functionName:    diffmask
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 368
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          98
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    calcavg
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 357
      functionLinenumberEnd: 364
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          158
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mm_set_epu8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:362,24'
          Dst:             mm_set_epu8
    - functionName:    mm_set_epu8
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 43
      functionLinenumberEnd: 51
      functionDepth:   0
      returnType:      'N/A'
      argCount:        16
      argTypes:
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          120
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    odd0sum
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 347
      functionLinenumberEnd: 353
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          44
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mm_set_epu8
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:350,23'
          Dst:             mm_set_epu8
    - functionName:    odd1sum
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 343
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          134
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse41_BGRX_fillRGB_pixel
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 336
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          315
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - mm_set_epu8
        - sse41_yuv2b
        - sse41_yuv2g
        - sse41_yuv2r
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:316,20'
          Dst:             sse41_yuv2r
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:319,20'
          Dst:             sse41_yuv2g
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:320,20'
          Dst:             sse41_yuv2b
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:324,23'
          Dst:             mm_set_epu8
    - functionName:    sse41_filter
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 398
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          117
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - calcavg
        - diffmask
        - mm_set_epu8
        - odd0sum
        - odd1sum
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:380,24'
          Dst:             odd1sum
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:381,22'
          Dst:             odd0sum
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:384,24'
          Dst:             mm_set_epu8
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:387,22'
          Dst:             calcavg
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:388,24'
          Dst:             diffmask
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:393,24'
          Dst:             mm_set_epu8
    - functionName:    BGRX_fillRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 194
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      void
      argCount:        6
      argTypes:
        - size_t
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         42
      ICount:          275
      EdgeCount:       47
      CyclomaticComplexity: 7
      functionsReached:
        - CONDITIONAL_CLIP
        - winpr_int_assert
        - writePixelBGRX
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:195,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:196,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:197,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:198,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:217,9'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:218,9'
          Dst:             CONDITIONAL_CLIP
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:221,4'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:221,4'
          Dst:             writePixelBGRX
    - functionName:    sse41_BGRX_fillRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 402
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         31
      ICount:          106
      EdgeCount:       32
      CyclomaticComplexity: 3
      functionsReached:
        - sse41_BGRX_fillRGB_pixel
        - sse41_filter
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:403,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:404,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:405,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:406,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:408,2'
          Dst:             sse41_filter
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:409,2'
          Dst:             sse41_filter
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:413,3'
          Dst:             sse41_BGRX_fillRGB_pixel
    - functionName:    sse41_YUV444ToRGB_8u_P3AC4R_BGRX_SINGLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 467
      functionLinenumberEnd: 475
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          61
      EdgeCount:       14
      CyclomaticComplexity: 3
      functionsReached:
        - BGRX_fillRGB_single
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:468,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:472,3'
          Dst:             BGRX_fillRGB_single
    - functionName:    sse41_YUV444ToRGB_8u_P3AC4R_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 420
      functionLinenumberEnd: 440
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          151
      EdgeCount:       19
      CyclomaticComplexity: 4
      functionsReached:
        - BGRX_fillRGB
        - LOAD_SI128
        - sse41_BGRX_fillRGB
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:421,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:427,25'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:427,51'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:428,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:428,45'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:429,19'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:429,45'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:432,3'
          Dst:             sse41_BGRX_fillRGB
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:437,3'
          Dst:             BGRX_fillRGB
    - functionName:    sse41_YUV444ToRGB_8u_P3AC4R_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 482
      functionLinenumberEnd: 512
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         16
      ICount:          245
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - sse41_YUV444ToRGB_8u_P3AC4R_BGRX_DOUBLE_ROW
        - sse41_YUV444ToRGB_8u_P3AC4R_BGRX_SINGLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:495,7'
          Dst:             sse41_YUV444ToRGB_8u_P3AC4R_BGRX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:506,7'
          Dst:             sse41_YUV444ToRGB_8u_P3AC4R_BGRX_SINGLE_ROW
    - functionName:    mm_set_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_avxsse.h'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          36
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    12
      BranchProfiles:  []
      Callsites:       []
    - functionName:    sse41_YUV444Pixel
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 122
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - char
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          798
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - mm_set_epu32
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:48,27'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:49,24'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:50,24'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:51,24'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:52,28'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:53,25'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:54,25'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:55,25'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:56,27'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:57,24'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:58,24'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:60,31'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:61,31'
          Dst:             mm_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:121,2'
          Dst:             STORE_SI128
    - functionName:    sse41_YUV420ToRGB_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 129
      functionLinenumberEnd: 173
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         18
      ICount:          322
      EdgeCount:       22
      CyclomaticComplexity: 6
      functionsReached:
        - LOAD_SI128
        - sse41_YUV444Pixel
        - writePixelBGRX
        - writeYUVPixel
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:144,22'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:145,25'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:146,25'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:152,10'
          Dst:             sse41_YUV444Pixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:153,10'
          Dst:             sse41_YUV444Pixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:154,10'
          Dst:             sse41_YUV444Pixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:155,10'
          Dst:             sse41_YUV444Pixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:163,20'
          Dst:             writeYUVPixel
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:163,20'
          Dst:             writePixelBGRX
    - functionName:    sse41_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1081
      functionLinenumberEnd: 1322
      functionDepth:   0
      returnType:      void
      argCount:        15
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          2410
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1092,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1093,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1094,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1095,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1096,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1097,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1098,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1099,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1111,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1125,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1318,2'
          Dst:             general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
    - functionName:    sse41_RGBToAVC444YUVv2_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1329
      functionLinenumberEnd: 1375
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          381
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
        - sse41_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1350,3'
          Dst:             sse41_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1368,3'
          Dst:             general_RGBToAVC444YUVv2_BGRX_DOUBLE_ROW
    - functionName:    sse41_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 790
      functionLinenumberEnd: 996
      functionDepth:   0
      returnType:      void
      argCount:        11
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          1864
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:802,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:803,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:804,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:805,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:806,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:807,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:808,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:809,23'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:827,4'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:832,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:900,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:978,5'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:994,2'
          Dst:             general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
    - functionName:    sse41_RGBToAVC444YUV_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1003
      functionLinenumberEnd: 1039
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          314
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
        - sse41_RGBToAVC444YUV_BGRX_DOUBLE_ROW
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1022,3'
          Dst:             sse41_RGBToAVC444YUV_BGRX_DOUBLE_ROW
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1034,3'
          Dst:             general_RGBToAVC444YUV_BGRX_DOUBLE_ROW
    - functionName:    RGB2V
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 293
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:295,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:295,9'
          Dst:             winpr_int_assert
    - functionName:    RGB2U
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 286
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          106
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:288,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:288,9'
          Dst:             winpr_int_assert
    - functionName:    RGB2Y
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/prim_internal.h'
      linkageType:     InternalLinkage
      functionLinenumber: 279
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      char
      argCount:        3
      argTypes:
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          105
      EdgeCount:       27
      CyclomaticComplexity: 5
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/prim_internal.h:281,9'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/prim_internal.h:281,9'
          Dst:             winpr_int_assert
    - functionName:    sse41_BGRX_TO_YUV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 585
      functionLinenumberEnd: 596
      functionDepth:   0
      returnType:      void
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          97
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - RGB2U
        - RGB2V
        - RGB2Y
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:591,15'
          Dst:             RGB2Y
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:593,15'
          Dst:             RGB2U
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:595,15'
          Dst:             RGB2V
    - functionName:    sse41_RGBToYUV420_BGRX_Y
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 601
      functionLinenumberEnd: 640
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          281
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached:
        - LOAD_SI128
        - STORE_SI128
        - sse41_BGRX_TO_YUV
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:611,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:615,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:621,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:625,17'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:633,3'
          Dst:             STORE_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:638,3'
          Dst:             sse41_BGRX_TO_YUV
    - functionName:    sse41_RGBToYUV420_BGRX_UV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 648
      functionLinenumberEnd: 730
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         95
      ICount:          1044
      EdgeCount:       109
      CyclomaticComplexity: 16
      functionsReached:
        - CLIP
        - LOAD_SI128
        - sse41_BGRX_TO_YUV
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:663,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:664,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:667,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:668,8'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:671,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:672,8'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:675,16'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:676,8'
          Dst:             LOAD_SI128
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:716,3'
          Dst:             sse41_BGRX_TO_YUV
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:717,3'
          Dst:             sse41_BGRX_TO_YUV
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:718,3'
          Dst:             sse41_BGRX_TO_YUV
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:719,3'
          Dst:             sse41_BGRX_TO_YUV
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:720,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:720,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:721,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:721,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:722,19'
          Dst:             CLIP
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:725,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:725,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:726,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:726,20'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:727,19'
          Dst:             CLIP
    - functionName:    sse41_RGBToYUV420_BGRX
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 735
      functionLinenumberEnd: 764
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         17
      ICount:          206
      EdgeCount:       21
      CyclomaticComplexity: 6
      functionsReached:
        - sse41_RGBToYUV420_BGRX_UV
        - sse41_RGBToYUV420_BGRX_Y
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:751,3'
          Dst:             sse41_RGBToYUV420_BGRX_UV
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:752,3'
          Dst:             sse41_RGBToYUV420_BGRX_Y
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:753,3'
          Dst:             sse41_RGBToYUV420_BGRX_Y
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:760,3'
          Dst:             sse41_RGBToYUV420_BGRX_Y
    - functionName:    sse41_YUV420CombineToYUV444
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1700
      functionLinenumberEnd: 1724
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          153
      EdgeCount:       36
      CyclomaticComplexity: 10
      functionsReached:
        - sse41_ChromaV1ToYUV444
        - sse41_ChromaV2ToYUV444
        - sse41_LumaToYUV444
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1710,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1713,11'
          Dst:             sse41_LumaToYUV444
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1716,11'
          Dst:             sse41_ChromaV1ToYUV444
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1719,11'
          Dst:             sse41_ChromaV2ToYUV444
    - functionName:    sse41_YUV444ToRGB_8u_P3AC4R
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 528
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - sse41_YUV444ToRGB_8u_P3AC4R_BGRX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:519,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:523,11'
          Dst:             sse41_YUV444ToRGB_8u_P3AC4R_BGRX
    - functionName:    sse41_YUV420ToRGB
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - sse41_YUV420ToRGB_BGRX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:180,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:184,11'
          Dst:             sse41_YUV420ToRGB_BGRX
    - functionName:    sse41_RGBToAVC444YUVv2
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1382
      functionLinenumberEnd: 1394
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - sse41_RGBToAVC444YUVv2_BGRX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1383,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1387,11'
          Dst:             sse41_RGBToAVC444YUVv2_BGRX
    - functionName:    sse41_RGBToAVC444YUV
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1046
      functionLinenumberEnd: 1058
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          71
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - sse41_RGBToAVC444YUV_BGRX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1047,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1051,11'
          Dst:             sse41_RGBToAVC444YUV_BGRX
    - functionName:    sse41_RGBToYUV420
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 779
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          62
      EdgeCount:       15
      CyclomaticComplexity: 9
      functionsReached:
        - sse41_RGBToYUV420_BGRX
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:770,2'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:774,11'
          Dst:             sse41_RGBToYUV420_BGRX
    - 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:    primitives_init_YUV_sse41_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_YUV_sse4.1.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1728
      functionLinenumberEnd: 1743
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          34
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1730,12'
          Dst:             primitives_get_generic
        - Src:             'libfreerdp/primitives/sse/prim_YUV_sse4.1.c:1732,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    mm256_set_epu32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_avx2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 39
      functionDepth:   0
      returnType:      'N/A'
      argCount:        8
      argTypes:
        - int
        - int
        - int
        - int
        - int
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          64
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avx2_image_copy_bgrx32_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_avx2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          459
      EdgeCount:       15
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avx2_image_copy_bgr24_bgrx32
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_avx2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 103
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          341
      EdgeCount:       18
      CyclomaticComplexity: 5
      functionsReached:
        - mm256_set_epu32
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:54,23'
          Dst:             mm256_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:56,24'
          Dst:             mm256_set_epu32
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:58,28'
          Dst:             mm256_set_epu32
    - functionName:    FreeRDPGetBitsPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 200
      functionLinenumberEnd: 201
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          9
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    avx2_image_copy_no_overlap_dst_alpha
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_avx2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 213
      functionDepth:   0
      returnType:      int
      argCount:        18
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          224
      EdgeCount:       76
      CyclomaticComplexity: 38
      functionsReached:
        - avx2_image_copy_bgr24_bgrx32
        - avx2_image_copy_bgrx32_bgrx32
        - primitives_get_generic
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_avx2.c:166,2'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_avx2.c:169,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_avx2.c:182,4'
          Branch Sides:    []
        - Branch String:   'libfreerdp/primitives/sse/prim_copy_avx2.c:195,4'
          Branch Sides:    []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:163,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:164,2'
          Dst:             winpr_int_assert
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:173,13'
          Dst:             avx2_image_copy_bgr24_bgrx32
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:186,13'
          Dst:             avx2_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:199,13'
          Dst:             avx2_image_copy_bgrx32_bgrx32
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:210,22'
          Dst:             primitives_get_generic
    - functionName:    FreeRDPColorHasAlpha
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 214
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          15
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FreeRDPGetBytesPerPixel
      functionSourceFile: '/src/FreeRDP/include/freerdp/codec/color.h'
      linkageType:     InternalLinkage
      functionLinenumber: 294
      functionLinenumberEnd: 295
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FreeRDPGetBitsPerPixel
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'include/freerdp/codec/color.h:295,11'
          Dst:             FreeRDPGetBitsPerPixel
    - functionName:    avx2_image_copy_no_overlap
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_avx2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 221
      functionLinenumberEnd: 265
      functionDepth:   0
      returnType:      int
      argCount:        14
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
        - int
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         35
      ICount:          262
      EdgeCount:       47
      CyclomaticComplexity: 14
      functionsReached:
        - FreeRDPAreColorFormatsEqualNoAlpha
        - FreeRDPColorHasAlpha
        - FreeRDPGetBytesPerPixel
        - avx2_image_copy_no_overlap_dst_alpha
        - generic_image_copy_no_overlap_memcpy
        - primitives_get_generic
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:238,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:241,23'
          Dst:             FreeRDPGetBytesPerPixel
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:249,49'
          Dst:             FreeRDPColorHasAlpha
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:250,10'
          Dst:             avx2_image_copy_no_overlap_dst_alpha
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:254,11'
          Dst:             FreeRDPAreColorFormatsEqualNoAlpha
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:255,10'
          Dst:             generic_image_copy_no_overlap_memcpy
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:261,23'
          Dst:             primitives_get_generic
    - 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:    primitives_init_copy_avx2_int
      functionSourceFile: '/src/FreeRDP/libfreerdp/primitives/sse/prim_copy_avx2.c'
      linkageType:     InternalLinkage
      functionLinenumber: 270
      functionLinenumberEnd: 278
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'libfreerdp/primitives/sse/prim_copy_avx2.c:272,2'
          Dst:             WLog_Print_dbg_tag
    - 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:    12
      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:    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:    3
      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:    winpr_RAND_pseudo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crypto/rand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 81
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_RAND
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crypto/rand.c:82,9'
          Dst:             winpr_RAND
    - functionName:    winpr_RAND
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crypto/rand.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          43
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - RAND_bytes
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crypto/rand.c:44,6'
          Dst:             RAND_bytes
    - functionName:    RAND_bytes
      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:    RegUnLoadKeyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 623
      functionLinenumberEnd: 625
      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/registry/registry.c:624,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:    43
      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:    RegUnLoadKeyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 617
      functionLinenumberEnd: 619
      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/registry/registry.c:618,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegSetValueExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 611
      functionLinenumberEnd: 613
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 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/registry/registry.c:612,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegSetValueExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 605
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 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/registry/registry.c:604,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegSetKeySecurity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 595
      functionLinenumberEnd: 597
      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/registry/registry.c:596,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegSaveKeyExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 589
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:588,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegSaveKeyExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 581
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:580,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegRestoreKeyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 571
      functionLinenumberEnd: 573
      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/registry/registry.c:572,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegRestoreKeyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 566
      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/registry/registry.c:565,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegQueryValueExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 501
      functionLinenumberEnd: 560
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         40
      ICount:          206
      EdgeCount:       45
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_Print_dbg_tag
        - reg_read_int
        - reg_type_string
        - regsz_length
        - strcmp
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry.c:519,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:508,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:514,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/registry/registry.c:524,13'
          Dst:             reg_read_int
        - Src:             'winpr/libwinpr/registry/registry.c:527,28'
          Dst:             regsz_length
        - Src:             'winpr/libwinpr/registry/registry.c:534,7'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:549,6'
          Dst:             reg_type_string
        - Src:             'winpr/libwinpr/registry/registry.c:549,6'
          Dst:             WLog_Print_dbg_tag
    - functionName:    reg_read_int
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 369
      functionLinenumberEnd: 415
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         38
      ICount:          163
      EdgeCount:       43
      CyclomaticComplexity: 7
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry.c:375,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:373,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:404,3'
          Dst:             winpr_int_assert
    - functionName:    regsz_length
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 48
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WLog_Print_dbg_tag
        - strnlen
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:55,18'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/registry/registry.c:57,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegQueryValueExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 494
      functionDepth:   0
      returnType:      int
      argCount:        6
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         46
      ICount:          231
      EdgeCount:       53
      CyclomaticComplexity: 9
      functionsReached:
        - ConvertUtf8NToWChar
        - ConvertWCharToUtf8Alloc
        - WLog_Print_dbg_tag
        - reg_read_int
        - reg_type_string
        - regsz_length
        - strcmp
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry.c:445,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:430,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:432,14'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/registry/registry.c:440,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/registry/registry.c:450,15'
          Dst:             reg_read_int
        - Src:             'winpr/libwinpr/registry/registry.c:455,10'
          Dst:             regsz_length
        - Src:             'winpr/libwinpr/registry/registry.c:466,7'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:473,11'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/registry/registry.c:482,6'
          Dst:             reg_type_string
        - Src:             'winpr/libwinpr/registry/registry.c:482,6'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegQueryInfoKeyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 365
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:364,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegQueryInfoKeyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 351
      functionDepth:   0
      returnType:      int
      argCount:        12
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          36
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:350,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegOpenUserClassesRoot
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 335
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 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/registry/registry.c:336,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegGetInstance
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 66
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          25
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - reg_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:64,14'
          Dst:             reg_open
    - functionName:    RegOpenKeyExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 300
      functionLinenumberEnd: 331
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         28
      ICount:          121
      EdgeCount:       33
      CyclomaticComplexity: 7
      functionsReached:
        - RegGetInstance
        - WLog_Print_dbg_tag
        - _stricmp
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:301,13'
          Dst:             RegGetInstance
        - Src:             'winpr/libwinpr/registry/registry.c:308,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/registry/registry.c:312,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:317,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry.c:319,25'
          Dst:             _stricmp
    - functionName:    RegOpenKeyExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 296
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          52
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ConvertWCharToUtf8Alloc
        - RegOpenKeyExA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:289,14'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/registry/registry.c:293,7'
          Dst:             RegOpenKeyExA
    - functionName:    RegOpenCurrentUser
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 281
      functionLinenumberEnd: 283
      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/registry/registry.c:282,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegNotifyChangeKeyValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:276,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegLoadMUIStringA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 269
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:268,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegLoadMUIStringW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 260
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:259,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegLoadKeyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 251
      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/registry/registry.c:250,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegLoadKeyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 242
      functionLinenumberEnd: 244
      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/registry/registry.c:243,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegLoadAppKeyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 235
      functionLinenumberEnd: 237
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:236,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegLoadAppKeyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 229
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          22
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:228,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegGetValueA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 219
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:220,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegGetValueW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 212
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          26
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:211,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegGetKeySecurity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 201
      functionLinenumberEnd: 203
      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/registry/registry.c:202,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegFlushKey
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 194
      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/registry/registry.c:193,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegEnumValueA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 188
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:187,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegEnumValueW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 177
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:178,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegEnumKeyExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:169,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegEnumKeyExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 158
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:159,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDisablePredefinedCacheEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 148
      functionLinenumberEnd: 150
      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/registry/registry.c:149,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDeleteValueA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 144
      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/registry/registry.c:143,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDeleteValueW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 138
      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/registry/registry.c:137,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDeleteTreeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 132
      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/registry/registry.c:131,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDeleteTreeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 126
      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/registry/registry.c:125,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDeleteKeyExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 118
      functionLinenumberEnd: 120
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:119,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegDeleteKeyExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 113
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          20
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry.c:112,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegCreateKeyExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 106
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - '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/registry/registry.c:105,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegCreateKeyExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 96
      functionDepth:   0
      returnType:      int
      argCount:        9
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
        - '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/registry/registry.c:95,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegCopyTreeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 86
      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/registry/registry.c:85,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegCopyTreeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 79
      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/registry/registry.c:78,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    RegCloseKey
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 72
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_GetConfigFilePathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1414
      functionLinenumberEnd: 1419
      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:1417,14'
          Dst:             winpr_GetConfigFilePathVA
    - functionName:    winpr_GetConfigFilePathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1378
      functionLinenumberEnd: 1404
      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:1380,23'
          Dst:             winpr_getApplicationDetailsVendor
        - Src:             'winpr/libwinpr/path/path.c:1381,24'
          Dst:             winpr_getApplicationDetailsProduct
        - Src:             'winpr/libwinpr/path/path.c:1382,26'
          Dst:             winpr_getApplicationDetailsVersion
        - Src:             'winpr/libwinpr/path/path.c:1387,17'
          Dst:             GetKnownSubPathV
        - Src:             'winpr/libwinpr/path/path.c:1393,10'
          Dst:             GetCombinedPathV
        - Src:             'winpr/libwinpr/path/path.c:1395,10'
          Dst:             GetCombinedPathV
        - Src:             'winpr/libwinpr/path/path.c:1400,15'
          Dst:             GetCombinedPathVA
    - functionName:    winpr_GetConfigFilePath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1407
      functionLinenumberEnd: 1411
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:1409,10'
          Dst:             winpr_GetConfigFilePathV
        - Src:             'winpr/libwinpr/path/path.c:1410,9'
          Dst:             winpr_GetConfigFilePathV
    - functionName:    winpr_RemoveDirectory_RecursiveW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1368
      functionLinenumberEnd: 1375
      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:1369,15'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/path.c:1372,18'
          Dst:             winpr_RemoveDirectory_RecursiveA
    - functionName:    winpr_RemoveDirectory_RecursiveA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1296
      functionLinenumberEnd: 1365
      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:1302,29'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/path.c:1304,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/path.c:1307,2'
          Dst:             strncat
        - Src:             'winpr/libwinpr/path/path.c:1310,21'
          Dst:             NativePathCchAppendA
        - Src:             'winpr/libwinpr/path/path.c:1317,9'
          Dst:             FindFirstFileA
        - Src:             'winpr/libwinpr/path/path.c:1326,23'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/path.c:1334,21'
          Dst:             concat
        - Src:             'winpr/libwinpr/path/path.c:1339,11'
          Dst:             winpr_RemoveDirectory_RecursiveA
        - Src:             'winpr/libwinpr/path/path.c:1344,11'
          Dst:             winpr_DeleteFile
        - Src:             'winpr/libwinpr/path/path.c:1352,19'
          Dst:             FindNextFileA
        - Src:             'winpr/libwinpr/path/path.c:1357,8'
          Dst:             winpr_RemoveDirectory
        - Src:             'winpr/libwinpr/path/path.c:1362,2'
          Dst:             FindClose
    - 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:    53
      BranchProfiles:  []
      Callsites:       []
    - 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:    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: 1284
      functionLinenumberEnd: 1293
      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:1286,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/path.c:1290,2'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/path/path.c:1291,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: 1261
      functionLinenumberEnd: 1281
      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:1262,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    PathGetSharedLibraryExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1191
      functionLinenumberEnd: 1258
      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:1193,47'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1196,6'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1197,49'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1200,6'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1202,6'
          Dst:             InitializeConstWCharFromUtf8
        - Src:             'winpr/libwinpr/path/path.c:1204,6'
          Dst:             InitializeConstWCharFromUtf8
    - functionName:    PathGetSharedLibraryExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1135
      functionLinenumberEnd: 1188
      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: 1115
      functionLinenumberEnd: 1122
      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: 1105
      functionLinenumberEnd: 1112
      functionDepth:   0
      returnType:      char
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathCchConvertStyleW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1046
      functionLinenumberEnd: 1098
      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: 991
      functionLinenumberEnd: 1043
      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: 976
      functionLinenumberEnd: 978
      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:977,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:    32
      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: 970
      functionLinenumberEnd: 972
      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:971,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchStripPrefixW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 928
      functionLinenumberEnd: 963
      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:945,22'
          Dst:             _wcslen
        - Src:             'winpr/libwinpr/path/path.c:947,11'
          Dst:             HRESULT_FROM_WIN32
        - Src:             'winpr/libwinpr/path/path.c:949,7'
          Dst:             IsCharAlphaW
        - Src:             'winpr/libwinpr/path/path.c:951,8'
          Dst:             wmemmove_s
        - Src:             'winpr/libwinpr/path/path.c:952,12'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchStripPrefixA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 893
      functionLinenumberEnd: 925
      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:910,7'
          Dst:             IsCharAlphaA
        - Src:             'winpr/libwinpr/path/path.c:912,8'
          Dst:             memmove_s
        - Src:             'winpr/libwinpr/path/path.c:913,12'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchStripToRootW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 883
      functionLinenumberEnd: 885
      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:884,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchStripToRootA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 877
      functionLinenumberEnd: 879
      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:878,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchSkipRootW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 867
      functionLinenumberEnd: 869
      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:868,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchSkipRootA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 863
      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:862,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathIsUNCExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 843
      functionLinenumberEnd: 854
      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: 829
      functionLinenumberEnd: 840
      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: 819
      functionLinenumberEnd: 821
      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:820,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchIsRootA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 813
      functionLinenumberEnd: 815
      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:814,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 803
      functionLinenumberEnd: 805
      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:804,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 797
      functionLinenumberEnd: 799
      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:798,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRenameExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 787
      functionLinenumberEnd: 789
      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:788,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRenameExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 780
      functionLinenumberEnd: 782
      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:781,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchFindExtensionW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 769
      functionLinenumberEnd: 771
      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:770,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchFindExtensionA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 726
      functionLinenumberEnd: 765
      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: 642
      functionLinenumberEnd: 644
      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:643,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCombineExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 634
      functionLinenumberEnd: 636
      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:635,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCombineW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 622
      functionLinenumberEnd: 624
      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:623,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchCombineA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 617
      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:616,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathAllocCanonicalizeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 587
      functionLinenumberEnd: 603
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - ConvertUtf8ToWCharAlloc
        - ConvertWCharToUtf8Alloc
        - PathAllocCanonicalizeA
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:592,14'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/path.c:597,15'
          Dst:             PathAllocCanonicalizeA
        - Src:             'winpr/libwinpr/path/path.c:599,18'
          Dst:             ConvertUtf8ToWCharAlloc
    - functionName:    PathAllocCanonicalizeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 573
      functionLinenumberEnd: 584
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         13
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - WLog_Print_dbg_tag
        - winpr_PathCanonicalize
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:579,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/path.c:580,17'
          Dst:             winpr_PathCanonicalize
    - functionName:    winpr_PathCanonicalize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 499
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         27
      ICount:          131
      EdgeCount:       33
      CyclomaticComplexity: 8
      functionsReached:
        - replace
        - replace_dotdot
        - replace_trailing_dotdot
        - strlen
        - strndup
        - strnlen
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:467,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/path.c:469,21'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/path.c:477,14'
          Dst:             strndup
        - Src:             'winpr/libwinpr/path/path.c:480,2'
          Dst:             replace
        - Src:             'winpr/libwinpr/path/path.c:481,2'
          Dst:             replace
        - Src:             'winpr/libwinpr/path/path.c:482,7'
          Dst:             replace_dotdot
        - Src:             'winpr/libwinpr/path/path.c:482,36'
          Dst:             replace_trailing_dotdot
        - Src:             'winpr/libwinpr/path/path.c:489,17'
          Dst:             strnlen
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    replace
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 396
      functionLinenumberEnd: 407
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          53
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strnlen
        - strstr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:397,21'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/path.c:400,15'
          Dst:             strstr
        - Src:             'winpr/libwinpr/path/path.c:406,22'
          Dst:             strnlen
    - functionName:    replace_dotdot
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 413
      functionLinenumberEnd: 437
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          92
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - strnlen
        - strstr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:418,15'
          Dst:             strstr
        - Src:             'winpr/libwinpr/path/path.c:434,22'
          Dst:             strnlen
    - functionName:    replace_trailing_dotdot
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 460
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         13
      ICount:          80
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - strcmp
        - strnlen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:442,21'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/path.c:446,6'
          Dst:             strcmp
    - 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:    8
      BranchProfiles:  []
      Callsites:       []
    - functionName:    PathCchCanonicalizeExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 565
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PathCchCanonicalizeW
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:564,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/path.c:565,9'
          Dst:             PathCchCanonicalizeW
    - functionName:    PathCchCanonicalizeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 523
      functionLinenumberEnd: 542
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         10
      ICount:          74
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - ConvertUtf8NToWChar
        - ConvertWCharToUtf8Alloc
        - PathCchCanonicalizeA
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:526,14'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/path.c:530,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/path.c:537,15'
          Dst:             PathCchCanonicalizeA
        - Src:             'winpr/libwinpr/path/path.c:539,8'
          Dst:             ConvertUtf8NToWChar
    - functionName:    PathCchCanonicalizeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 507
      functionLinenumberEnd: 520
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         8
      ICount:          59
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - strncpy
        - strnlen
        - winpr_PathCanonicalize
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:508,14'
          Dst:             winpr_PathCanonicalize
        - Src:             'winpr/libwinpr/path/path.c:511,21'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/path.c:517,2'
          Dst:             strncpy
    - functionName:    PathCchCanonicalizeExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 552
      functionLinenumberEnd: 555
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          37
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - PathCchCanonicalizeA
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/path.c:554,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/path/path.c:555,9'
          Dst:             PathCchCanonicalizeA
    - functionName:    PathCchAppendExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 387
      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:386,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAppendExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 380
      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:379,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:    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:    11
      BranchProfiles:  []
      Callsites:       []
    - 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: 235
      functionLinenumberEnd: 237
      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:236,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveBackslashExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 229
      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:228,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAddSeparatorExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:15,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:19,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:34,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSeparatorExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - strnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:43,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:47,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:62,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:15,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:19,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:34,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - strnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:43,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:47,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:62,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 14
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:15,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:19,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:34,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparatorEx.h'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          107
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - strnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:43,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:47,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparatorEx.h:62,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchRemoveBackslashW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 163
      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:162,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchRemoveBackslashA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/path.c'
      linkageType:     InternalLinkage
      functionLinenumber: 155
      functionLinenumberEnd: 157
      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:156,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    PathCchAddSeparatorW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:12,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:16,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:31,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSeparatorA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - strnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:38,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:42,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:57,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:12,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:16,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:31,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddSlashA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - strnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:38,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:42,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:57,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 11
      functionLinenumberEnd: 32
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - _wcsnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:12,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:16,31'
          Dst:             _wcsnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:31,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    PathCchAddBackslashA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/include/PathCchAddSeparator.h'
      linkageType:     InternalLinkage
      functionLinenumber: 37
      functionLinenumberEnd: 58
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          103
      EdgeCount:       26
      CyclomaticComplexity: 7
      functionsReached:
        - HRESULT_FROM_WIN32
        - strnlen
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:38,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:42,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/path/include/PathCchAddSeparator.h:57,9'
          Dst:             HRESULT_FROM_WIN32
    - functionName:    winpr_PathMakePath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 889
      functionLinenumberEnd: 906
      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:893,9'
          Dst:             PathMakePathA
    - functionName:    PathMakePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 606
      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:562,21'
          Dst:             PathGetSeparatorA
        - Src:             'winpr/libwinpr/path/shell.c:578,14'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/path/shell.c:589,12'
          Dst:             strchr
        - Src:             'winpr/libwinpr/path/shell.c:592,7'
          Dst:             mkdir
        - Src:             'winpr/libwinpr/path/shell.c:593,8'
          Dst:             __errno_location
    - 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:    15
      BranchProfiles:  []
      Callsites:       []
    - 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:    __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:    151
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_RemoveDirectory
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 840
      functionLinenumberEnd: 849
      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:842,12'
          Dst:             rmdir
        - Src:             'winpr/libwinpr/path/shell.c:845,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/path/shell.c:845,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/path/shell.c:845,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/path/shell.c:847,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: 814
      functionLinenumberEnd: 837
      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:819,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: 760
      functionLinenumberEnd: 811
      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:764,8'
          Dst:             stat64
        - Src:             'winpr/libwinpr/path/shell.c:770,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/path/shell.c:778,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/path/shell.c:783,8'
          Dst:             rename
        - Src:             'winpr/libwinpr/path/shell.c:786,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/path/shell.c:786,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/path/shell.c:786,3'
          Dst:             SetLastError
    - 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:    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: 755
      functionLinenumberEnd: 756
      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:756,9'
          Dst:             winpr_MoveFileEx
    - functionName:    PathIsDirectoryEmptyW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 738
      functionLinenumberEnd: 749
      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:743,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:746,8'
          Dst:             PathIsDirectoryEmptyA
    - functionName:    PathIsDirectoryEmptyA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 735
      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:718,13'
          Dst:             opendir
        - Src:             'winpr/libwinpr/path/shell.c:724,15'
          Dst:             readdir64
        - Src:             'winpr/libwinpr/path/shell.c:726,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/path/shell.c:726,39'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/path/shell.c:733,2'
          Dst:             closedir
    - 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:    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:    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:    winpr_PathFileExists
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 869
      functionLinenumberEnd: 886
      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:873,9'
          Dst:             PathFileExistsA
    - functionName:    PathFileExistsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 691
      functionLinenumberEnd: 694
      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:694,10'
          Dst:             stat64
    - functionName:    PathFileExistsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 698
      functionLinenumberEnd: 711
      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:704,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:708,8'
          Dst:             winpr_PathFileExists
    - functionName:    PathIsRelativeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 674
      functionLinenumberEnd: 687
      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:681,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:684,8'
          Dst:             PathIsRelativeA
    - functionName:    PathIsRelativeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 666
      functionLinenumberEnd: 671
      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: 609
      functionLinenumberEnd: 661
      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:615,23'
          Dst:             PathGetSeparatorW
        - Src:             'winpr/libwinpr/path/shell.c:616,21'
          Dst:             PathGetSeparatorA
        - Src:             'winpr/libwinpr/path/shell.c:632,8'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/path/shell.c:644,12'
          Dst:             strchr
        - Src:             'winpr/libwinpr/path/shell.c:647,7'
          Dst:             mkdir
        - Src:             'winpr/libwinpr/path/shell.c:648,8'
          Dst:             __errno_location
    - functionName:    GetCombinedPathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 487
      functionLinenumberEnd: 493
      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:    10
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:491,14'
          Dst:             GetCombinedPathVA
    - functionName:    GetCombinedPathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 497
      functionLinenumberEnd: 553
      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:504,20'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:509,18'
          Dst:             winpr_vasprintf
        - Src:             'winpr/libwinpr/path/shell.c:522,22'
          Dst:             calloc
        - Src:             'winpr/libwinpr/path/shell.c:530,6'
          Dst:             PathCchConvertStyleA
        - Src:             'winpr/libwinpr/path/shell.c:539,6'
          Dst:             PathCchConvertStyleA
        - Src:             'winpr/libwinpr/path/shell.c:542,11'
          Dst:             NativePathCchAppendA
    - functionName:    GetCombinedPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 484
      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:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:482,10'
          Dst:             GetCombinedPathV
        - Src:             'winpr/libwinpr/path/shell.c:483,9'
          Dst:             GetCombinedPathV
    - functionName:    GetEnvironmentSubPathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 468
      functionLinenumberEnd: 477
      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:469,14'
          Dst:             GetEnvironmentPath
        - Src:             'winpr/libwinpr/path/shell.c:474,18'
          Dst:             GetCombinedPathVA
    - functionName:    GetEnvironmentPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 426
      functionLinenumberEnd: 449
      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:430,10'
          Dst:             GetEnvironmentVariableX
        - Src:             'winpr/libwinpr/path/shell.c:439,13'
          Dst:             GetEnvironmentVariableX
    - functionName:    GetEnvironmentSubPathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 459
      functionLinenumberEnd: 464
      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:462,14'
          Dst:             GetEnvironmentSubPathVA
    - functionName:    GetEnvironmentSubPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 452
      functionLinenumberEnd: 456
      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:454,10'
          Dst:             GetEnvironmentSubPathV
        - Src:             'winpr/libwinpr/path/shell.c:455,9'
          Dst:             GetEnvironmentSubPathV
    - functionName:    GetKnownSubPathVA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 415
      functionLinenumberEnd: 423
      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:416,20'
          Dst:             GetKnownPath
        - Src:             'winpr/libwinpr/path/shell.c:420,18'
          Dst:             GetCombinedPathVA
    - functionName:    GetKnownPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 353
      functionLinenumberEnd: 394
      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:    3
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/path/shell.c:356,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:359,11'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:363,11'
          Dst:             GetPath_TEMP
        - Src:             'winpr/libwinpr/path/shell.c:367,11'
          Dst:             GetPath_XDG_DATA_HOME
        - Src:             'winpr/libwinpr/path/shell.c:371,11'
          Dst:             GetPath_XDG_CONFIG_HOME
        - Src:             'winpr/libwinpr/path/shell.c:375,11'
          Dst:             GetPath_XDG_CACHE_HOME
        - Src:             'winpr/libwinpr/path/shell.c:379,11'
          Dst:             GetPath_XDG_RUNTIME_DIR
        - Src:             'winpr/libwinpr/path/shell.c:383,11'
          Dst:             GetPath_SYSTEM_CONFIG_HOME
        - Src:             'winpr/libwinpr/path/shell.c:392,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/shell.c:392,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/path/shell.c:392,3'
          Dst:             GetKnownPathIdString
        - Src:             'winpr/libwinpr/path/shell.c:392,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetPath_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 115
      functionLinenumberEnd: 124
      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:122,9'
          Dst:             GetEnvAlloc
    - functionName:    GetPath_TEMP
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 141
      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:135,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:138,10'
          Dst:             _strdup
    - functionName:    GetPath_XDG_DATA_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 145
      functionLinenumberEnd: 183
      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:160,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:165,9'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:170,9'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:179,8'
          Dst:             snprintf
    - functionName:    GetPath_XDG_CONFIG_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 231
      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:205,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:210,9'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:213,10'
          Dst:             GetPath_TEMP
        - Src:             'winpr/libwinpr/path/shell.c:218,9'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:227,8'
          Dst:             snprintf
    - functionName:    GetPath_XDG_CACHE_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 249
      functionLinenumberEnd: 301
      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:278,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:283,15'
          Dst:             GetPath_HOME
        - Src:             'winpr/libwinpr/path/shell.c:288,9'
          Dst:             strlen
        - Src:             'winpr/libwinpr/path/shell.c:297,8'
          Dst:             snprintf
    - functionName:    GetPath_XDG_RUNTIME_DIR
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 304
      functionLinenumberEnd: 350
      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:342,9'
          Dst:             GetEnvAlloc
        - Src:             'winpr/libwinpr/path/shell.c:348,9'
          Dst:             GetPath_TEMP
    - functionName:    GetPath_SYSTEM_CONFIG_HOME
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 245
      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:243,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: 88
      functionLinenumberEnd: 112
      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:93,10'
          Dst:             GetEnvironmentVariableX
        - Src:             'winpr/libwinpr/path/shell.c:102,13'
          Dst:             GetEnvironmentVariableX
    - functionName:    GetKnownSubPathV
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 405
      functionLinenumberEnd: 411
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          28
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - GetKnownSubPathVA
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:409,14'
          Dst:             GetKnownSubPathVA
    - functionName:    GetKnownSubPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/path/shell.c'
      linkageType:     InternalLinkage
      functionLinenumber: 398
      functionLinenumberEnd: 402
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          35
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - GetKnownSubPathV
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/path/shell.c:400,10'
          Dst:             GetKnownSubPathV
        - Src:             'winpr/libwinpr/path/shell.c:401,9'
          Dst:             GetKnownSubPathV
    - 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:    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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_ParseFromFileFP
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 38
      functionLinenumberEnd: 63
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         38
      ICount:          168
      EdgeCount:       47
      CyclomaticComplexity: 11
      functionsReached:
        - WINPR_JSON_ParseWithLength
        - _ftelli64
        - calloc
        - fread
        - fseek
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json.c:42,6'
          Dst:             fseek
        - Src:             'winpr/libwinpr/utils/json/json.c:45,21'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/utils/json/json.c:49,6'
          Dst:             fseek
        - Src:             'winpr/libwinpr/utils/json/json.c:52,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/json/json.c:52,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/json/json.c:53,14'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/json/json.c:58,19'
          Dst:             fread
        - Src:             'winpr/libwinpr/utils/json/json.c:60,10'
          Dst:             WINPR_JSON_ParseWithLength
    - 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:    4
      BranchProfiles:  []
      Callsites:       []
    - 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:    5
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_ParseFromFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json.c'
      linkageType:     InternalLinkage
      functionLinenumber: 28
      functionLinenumberEnd: 35
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - WINPR_JSON_ParseFromFileFP
        - fclose
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json.c:29,13'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/json/json.c:32,21'
          Dst:             WINPR_JSON_ParseFromFileFP
        - Src:             'winpr/libwinpr/utils/json/json.c:33,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:    10
      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: 251
      functionLinenumberEnd: 264
      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:    46
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:253,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:254,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:256,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:259,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:260,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_SafeZeroEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 525
      functionLinenumberEnd: 532
      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_CheckAndLogRequiredCapacityEx
        - Stream_Zero
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:526,7'
          Dst:             Stream_CheckAndLogRequiredCapacityEx
        - Src:             'winpr/libwinpr/utils/stream.c:530,2'
          Dst:             Stream_Zero
    - functionName:    Stream_CheckAndLogRequiredCapacityEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 330
      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:316,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:317,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:325,7'
          Dst:             Stream_CheckAndLogRequiredCapacityExVa
    - 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_CheckAndLogRequiredCapacityExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 334
      functionLinenumberEnd: 342
      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:335,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:336,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:339,53'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/utils/stream.c:339,10'
          Dst:             Stream_CheckAndLogRequiredCapacityWLogExVa
    - functionName:    Stream_CheckAndLogRequiredCapacityWLogExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 367
      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:350,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:351,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:357,9'
          Dst:             vsnprintf
        - Src:             'winpr/libwinpr/utils/stream.c:359,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/stream.c:359,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/stream.c:363,3'
          Dst:             winpr_log_backtrace_ex
    - 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:    Stream_SafeSeekEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 515
      functionLinenumberEnd: 522
      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:    17
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:516,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:520,2'
          Dst:             Stream_Seek
    - functionName:    Stream_CheckAndLogRequiredLengthEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 407
      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:    20
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:394,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:395,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:402,19'
          Dst:             Stream_CheckAndLogRequiredLengthExVa
    - functionName:    Stream_GetRemainingLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 281
      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:    36
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:269,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:270,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:271,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:273,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:276,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:277,3'
          Dst:             winpr_log_backtrace
    - functionName:    Stream_CheckAndLogRequiredLengthExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 411
      functionLinenumberEnd: 419
      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:412,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:413,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:416,51'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/utils/stream.c:416,10'
          Dst:             Stream_CheckAndLogRequiredLengthWLogExVa
    - functionName:    Stream_CheckAndLogRequiredLengthWLogExVa
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 444
      functionLinenumberEnd: 462
      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:445,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:446,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:452,9'
          Dst:             vsnprintf
        - Src:             'winpr/libwinpr/utils/stream.c:454,3'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/utils/stream.c:454,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/utils/stream.c:458,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: 502
      functionLinenumberEnd: 512
      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:503,21'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/stream.c:507,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:510,2'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/stream.c:511,9'
          Dst:             ConvertWCharNToUtf8
    - functionName:    Stream_ConstPointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1318
      functionLinenumberEnd: 1320
      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:1319,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Read_UTF16_String_As_UTF8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 488
      functionLinenumberEnd: 498
      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:489,21'
          Dst:             Stream_ConstPointer
        - Src:             'winpr/libwinpr/utils/stream.c:493,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:496,2'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/stream.c:497,9'
          Dst:             ConvertWCharNToUtf8Alloc
    - functionName:    Stream_Pointer
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1312
      functionLinenumberEnd: 1314
      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:1313,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Write_UTF16_String_From_UTF8
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 466
      functionLinenumberEnd: 485
      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:468,15'
          Dst:             Stream_Pointer
        - Src:             'winpr/libwinpr/utils/stream.c:472,8'
          Dst:             Stream_CheckAndLogRequiredCapacityEx
        - Src:             'winpr/libwinpr/utils/stream.c:475,8'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/utils/stream.c:479,3'
          Dst:             Stream_Seek
        - Src:             'winpr/libwinpr/utils/stream.c:483,3'
          Dst:             Stream_Zero
    - functionName:    Stream_CheckAndLogRequiredLengthWLogEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 438
      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:    40
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:424,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:425,24'
          Dst:             Stream_GetRemainingLength
        - Src:             'winpr/libwinpr/utils/stream.c:433,7'
          Dst:             Stream_CheckAndLogRequiredLengthWLogExVa
    - functionName:    Stream_CheckAndLogRequiredCapacityWLogEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 372
      functionLinenumberEnd: 388
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:374,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:375,24'
          Dst:             Stream_GetRemainingCapacity
        - Src:             'winpr/libwinpr/utils/stream.c:383,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: 300
      functionLinenumberEnd: 311
      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:301,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:302,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:304,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/stream.c:308,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: 284
      functionLinenumberEnd: 297
      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:285,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:286,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:290,7'
          Dst:             Stream_CheckAndLogRequiredCapacityEx
        - Src:             'winpr/libwinpr/utils/stream.c:294,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:294,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:294,3'
          Dst:             Stream_Write_UINT16_unchecked
    - functionName:    Stream_SealLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 217
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:205,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:206,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:208,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:213,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:214,3'
          Dst:             winpr_log_backtrace
    - functionName:    Stream_SetLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 181
      functionLinenumberEnd: 189
      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:182,13'
          Dst:             Stream_Capacity
    - functionName:    Stream_Capacity
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1355
      functionLinenumberEnd: 1357
      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:1356,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 178
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          67
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - Stream_EnsureValidity
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:171,3'
          Dst:             Stream_EnsureValidity
    - functionName:    Stream_EnsureValidity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 156
      functionLinenumberEnd: 165
      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:159,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:159,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:159,2'
          Dst:             abort
        - Src:             'winpr/libwinpr/utils/stream.c:160,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:160,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:160,2'
          Dst:             abort
        - Src:             'winpr/libwinpr/utils/stream.c:163,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:163,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:163,2'
          Dst:             abort
        - Src:             'winpr/libwinpr/utils/stream.c:164,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/stream.c:164,2'
          Dst:             winpr_log_backtrace
        - Src:             'winpr/libwinpr/utils/stream.c:164,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:    Stream_StaticInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 139
      functionLinenumberEnd: 152
      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:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:142,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/stream.c:143,2'
          Dst:             winpr_int_assert
    - functionName:    Stream_StaticConstInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 135
      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:135,9'
          Dst:             Stream_StaticInit
    - functionName:    Stream_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 124
      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:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:100,6'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/stream.c:107,22'
          Dst:             calloc
    - functionName:    Stream_EnsureRemainingCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 84
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         8
      ICount:          56
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - Stream_Capacity
        - Stream_EnsureCapacity
        - Stream_GetPosition
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:85,21'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/stream.c:88,19'
          Dst:             Stream_Capacity
        - Src:             'winpr/libwinpr/utils/stream.c:89,35'
          Dst:             Stream_Capacity
        - Src:             'winpr/libwinpr/utils/stream.c:89,10'
          Dst:             Stream_EnsureCapacity
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1366
      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:1364,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1365,3'
          Dst:             winpr_int_assert
    - functionName:    Stream_EnsureCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 45
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          148
      EdgeCount:       26
      CyclomaticComplexity: 7
      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:56,26'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/stream.c:70,20'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/stream.c:80,9'
          Dst:             Stream_SetPosition
    - functionName:    Stream_SetPosition
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/stream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 200
      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:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/stream.c:193,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:    39
      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:    5
      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:    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:    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:    1
      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:    __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:    _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:    BitStream_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BitStream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 172
      functionLinenumberEnd: 177
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          26
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    BitStream_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BitStream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 168
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:166,32'
          Dst:             calloc
    - functionName:    BitStream_Attach
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BitStream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          75
      EdgeCount:       15
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:150,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:151,2'
          Dst:             winpr_int_assert
    - functionName:    ReverseBits32
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BitStream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 139
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         5
      ICount:          38
      EdgeCount:       5
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    0
      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:    BitDump
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BitStream.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        5
      argTypes:
        - 'N/A'
        - int
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         39
      ICount:          188
      EdgeCount:       45
      CyclomaticComplexity: 8
      functionsReached:
        - WLog_Print_dbg_tag
        - snprintf
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:102,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:103,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:110,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:111,18'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:119,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/collections/BitStream.c:124,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    HashTable_IsProbablePrime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 119
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HashTable_CalculateIdealNumOfBuckets
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 138
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          76
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - HashTable_IsProbablePrime
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:124,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:135,10'
          Dst:             HashTable_IsProbablePrime
    - functionName:    disposeValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 224
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:221,2'
          Dst:             winpr_int_assert
    - functionName:    disposeKey
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 217
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:214,2'
          Dst:             winpr_int_assert
    - functionName:    HashTable_SetupForStringData
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 858
      functionLinenumberEnd: 877
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          67
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - HashTable_KeyObject
        - HashTable_SetHashFunction
        - HashTable_StringHash
        - HashTable_ValueObject
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:861,7'
          Dst:             HashTable_SetHashFunction
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:861,7'
          Dst:             HashTable_StringHash
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:864,8'
          Dst:             HashTable_KeyObject
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:871,9'
          Dst:             HashTable_ValueObject
    - functionName:    HashTable_StringHash
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          35
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HashTable_SetHashFunction
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 851
      functionLinenumberEnd: 854
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          37
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:852,2'
          Dst:             winpr_int_assert
    - functionName:    HashTable_KeyObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 839
      functionLinenumberEnd: 841
      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/HashTable.c:840,2'
          Dst:             winpr_int_assert
    - functionName:    HashTable_StringCompare
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 77
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          48
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - strcmp
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:81,10'
          Dst:             strcmp
    - functionName:    HashTable_StringClone
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 99
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_ObjectStringClone
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:99,9'
          Dst:             winpr_ObjectStringClone
    - functionName:    HashTable_StringFree
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 103
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_ObjectStringFree
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:104,2'
          Dst:             winpr_ObjectStringFree
    - functionName:    HashTable_ValueObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 845
      functionLinenumberEnd: 847
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:846,2'
          Dst:             winpr_int_assert
    - functionName:    HashTable_Unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 833
      functionLinenumberEnd: 836
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:834,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:835,2'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 830
      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:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:828,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:829,2'
          Dst:             EnterCriticalSection
    - functionName:    HashTable_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 798
      functionLinenumberEnd: 824
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          89
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - DeleteCriticalSection
        - disposePair
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:815,5'
          Dst:             disposePair
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:821,2'
          Dst:             DeleteCriticalSection
    - functionName:    disposePair
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          50
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - disposeKey
        - disposeValue
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:228,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:231,2'
          Dst:             disposeKey
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:232,2'
          Dst:             disposeValue
    - functionName:    HashTable_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 765
      functionLinenumberEnd: 795
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          91
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - HashTable_Free
        - InitializeCriticalSectionAndSpinCount
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:766,35'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:772,7'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:776,40'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:792,2'
          Dst:             HashTable_Free
    - functionName:    HashTable_PointerHash
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 73
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          10
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HashTable_PointerCompare
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 68
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         1
      ICount:          12
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    HashTable_ContainsValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 725
      functionLinenumberEnd: 758
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         34
      ICount:          153
      EdgeCount:       42
      CyclomaticComplexity: 10
      functionsReached:
        - EnterCriticalSection
        - HashTable_Equals
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:728,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:733,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:741,34'
          Dst:             HashTable_Equals
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:755,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Equals
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 190
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          67
      EdgeCount:       21
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:187,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:188,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:189,2'
          Dst:             winpr_int_assert
    - functionName:    HashTable_ContainsKey
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 700
      functionLinenumberEnd: 718
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          102
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - EnterCriticalSection
        - HashTable_Get
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:704,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:709,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:711,9'
          Dst:             HashTable_Get
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:715,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Get
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 195
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          98
      EdgeCount:       21
      CyclomaticComplexity: 5
      functionsReached:
        - HashTable_Equals
        - winpr_int_assert
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:199,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:206,18'
          Dst:             HashTable_Equals
    - functionName:    HashTable_Contains
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 675
      functionLinenumberEnd: 693
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         21
      ICount:          102
      EdgeCount:       25
      CyclomaticComplexity: 6
      functionsReached:
        - EnterCriticalSection
        - HashTable_Get
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:679,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:684,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:686,9'
          Dst:             HashTable_Get
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:690,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Foreach
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 614
      functionLinenumberEnd: 667
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          258
      EdgeCount:       61
      CyclomaticComplexity: 13
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - disposePair
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:617,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:618,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:621,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:651,6'
          Dst:             disposePair
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:666,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_GetKeys
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 556
      functionLinenumberEnd: 611
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         42
      ICount:          217
      EdgeCount:       53
      CyclomaticComplexity: 13
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - calloc
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:562,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:565,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:575,4'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:580,22'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:585,4'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:604,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Clear
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 511
      functionLinenumberEnd: 549
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         28
      ICount:          148
      EdgeCount:       34
      CyclomaticComplexity: 8
      functionsReached:
        - EnterCriticalSection
        - HashTable_Rehash
        - LeaveCriticalSection
        - disposePair
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:514,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:517,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:535,5'
          Dst:             disposePair
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:545,3'
          Dst:             HashTable_Rehash
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:548,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Rehash
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          153
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - HashTable_CalculateIdealNumOfBuckets
        - calloc
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:147,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:149,18'
          Dst:             HashTable_CalculateIdealNumOfBuckets
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:154,36'
          Dst:             calloc
    - functionName:    HashTable_SetItemValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 480
      functionLinenumberEnd: 504
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         24
      ICount:          111
      EdgeCount:       29
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - HashTable_Get
        - LeaveCriticalSection
        - setValue
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:484,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:489,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:491,9'
          Dst:             HashTable_Get
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:497,3'
          Dst:             setValue
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:501,3'
          Dst:             LeaveCriticalSection
    - functionName:    setValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 274
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - disposeValue
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:258,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:261,2'
          Dst:             disposeValue
    - functionName:    HashTable_GetItemValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 453
      functionLinenumberEnd: 473
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          107
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - HashTable_Get
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:457,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:462,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:464,9'
          Dst:             HashTable_Get
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:470,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Remove
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 388
      functionLinenumberEnd: 446
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         40
      ICount:          249
      EdgeCount:       51
      CyclomaticComplexity: 13
      functionsReached:
        - EnterCriticalSection
        - HashTable_Equals
        - HashTable_Rehash
        - LeaveCriticalSection
        - disposePair
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:394,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:399,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:404,18'
          Dst:             HashTable_Equals
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:430,2'
          Dst:             disposePair
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:438,4'
          Dst:             HashTable_Rehash
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:443,3'
          Dst:             LeaveCriticalSection
    - functionName:    setKey
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 237
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         14
      ICount:          73
      EdgeCount:       16
      CyclomaticComplexity: 4
      functionsReached:
        - disposeKey
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:238,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:241,2'
          Dst:             disposeKey
    - functionName:    HashTable_Insert
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 312
      functionLinenumberEnd: 381
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         50
      ICount:          307
      EdgeCount:       64
      CyclomaticComplexity: 16
      functionsReached:
        - EnterCriticalSection
        - HashTable_Equals
        - HashTable_Rehash
        - LeaveCriticalSection
        - calloc
        - setKey
        - setValue
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:318,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:323,3'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:328,18'
          Dst:             HashTable_Equals
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:343,4'
          Dst:             setKey
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:348,4'
          Dst:             setValue
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:354,29'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:358,4'
          Dst:             setKey
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:359,4'
          Dst:             setValue
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:371,6'
          Dst:             HashTable_Rehash
        - Src:             'winpr/libwinpr/utils/collections/HashTable.c:378,3'
          Dst:             LeaveCriticalSection
    - functionName:    HashTable_Count
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/HashTable.c'
      linkageType:     InternalLinkage
      functionLinenumber: 290
      functionLinenumberEnd: 292
      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/HashTable.c:291,2'
          Dst:             winpr_int_assert
    - functionName:    BufferPool_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 573
      functionLinenumberEnd: 597
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          68
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - BufferPool_Clear
        - DeleteCriticalSection
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:576,3'
          Dst:             BufferPool_Clear
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:579,4'
          Dst:             DeleteCriticalSection
    - functionName:    BufferPool_Clear
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 460
      functionLinenumberEnd: 503
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          170
      EdgeCount:       31
      CyclomaticComplexity: 9
      functionsReached:
        - BufferPool_Lock
        - BufferPool_Unlock
        - winpr_aligned_free
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:461,2'
          Dst:             BufferPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:472,5'
          Dst:             winpr_aligned_free
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:486,5'
          Dst:             winpr_aligned_free
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:496,5'
          Dst:             winpr_aligned_free
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:502,2'
          Dst:             BufferPool_Unlock
    - functionName:    BufferPool_Lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 64
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - EnterCriticalSection
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:62,3'
          Dst:             EnterCriticalSection
    - functionName:    BufferPool_Unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 67
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          42
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - LeaveCriticalSection
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:72,3'
          Dst:             LeaveCriticalSection
    - functionName:    BufferPool_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 510
      functionLinenumberEnd: 570
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         88
      ICount:          369
      EdgeCount:       105
      CyclomaticComplexity: 19
      functionsReached:
        - BufferPool_Free
        - InitializeCriticalSectionAndSpinCount
        - calloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:513,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:527,9'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:538,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:538,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:538,16'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:549,8'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:549,8'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:548,37'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:556,8'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:556,8'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:555,37'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:567,2'
          Dst:             BufferPool_Free
    - functionName:    BufferPool_ShiftUsed
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 127
      functionLinenumberEnd: 171
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         113
      ICount:          477
      EdgeCount:       134
      CyclomaticComplexity: 23
      functionsReached:
        - realloc
        - winpr_aligned_realloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:148,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:148,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:146,35'
          Dst:             winpr_aligned_realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:153,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:153,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:151,35'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:160,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:160,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:166,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:166,3'
          Dst:             winpr_int_assert
    - functionName:    BufferPool_Return
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 382
      functionLinenumberEnd: 452
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         80
      ICount:          430
      EdgeCount:       98
      CyclomaticComplexity: 20
      functionsReached:
        - BufferPool_Lock
        - BufferPool_ShiftUsed
        - BufferPool_Unlock
        - realloc
        - winpr_int_assert
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:387,2'
          Dst:             BufferPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:397,44'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:397,44'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:396,30'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:424,9'
          Dst:             BufferPool_ShiftUsed
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:435,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:435,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:433,51'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:451,2'
          Dst:             BufferPool_Unlock
    - functionName:    BufferPool_ShiftAvailable
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 124
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         150
      ICount:          598
      EdgeCount:       173
      CyclomaticComplexity: 25
      functionsReached:
        - realloc
        - winpr_aligned_realloc
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:95,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:99,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:99,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:97,34'
          Dst:             winpr_aligned_realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:104,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:104,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:102,34'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:111,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:111,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:111,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:111,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:118,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:118,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:118,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:118,3'
          Dst:             winpr_int_assert
    - functionName:    BufferPool_Take
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 241
      functionLinenumberEnd: 375
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         239
      ICount:          987
      EdgeCount:       287
      CyclomaticComplexity: 50
      functionsReached:
        - BufferPool_Lock
        - BufferPool_ShiftAvailable
        - BufferPool_Unlock
        - realloc
        - winpr_aligned_free
        - winpr_aligned_malloc
        - winpr_aligned_realloc
        - winpr_int_assert
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:248,2'
          Dst:             BufferPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:260,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:260,35'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:260,14'
          Dst:             winpr_aligned_malloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:263,21'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:263,21'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:308,36'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:308,36'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:308,15'
          Dst:             winpr_aligned_malloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:311,22'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:311,22'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:326,18'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:326,18'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:325,18'
          Dst:             winpr_aligned_realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:328,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:328,34'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:328,18'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:336,41'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:336,41'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:336,9'
          Dst:             BufferPool_ShiftAvailable
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:345,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:345,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:350,26'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:363,2'
          Dst:             BufferPool_Unlock
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:369,3'
          Dst:             winpr_aligned_free
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:373,2'
          Dst:             BufferPool_Unlock
    - functionName:    BufferPool_GetBufferSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         16
      ICount:          98
      EdgeCount:       20
      CyclomaticComplexity: 6
      functionsReached:
        - BufferPool_Lock
        - BufferPool_Unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:208,2'
          Dst:             BufferPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:231,2'
          Dst:             BufferPool_Unlock
    - functionName:    BufferPool_GetPoolSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/BufferPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 196
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          42
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - BufferPool_Lock
        - BufferPool_Unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:181,2'
          Dst:             BufferPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/BufferPool.c:194,2'
          Dst:             BufferPool_Unlock
    - functionName:    ObjectPool_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 182
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - DeleteCriticalSection
        - ObjectPool_Clear
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:186,2'
          Dst:             ObjectPool_Clear
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:189,3'
          Dst:             DeleteCriticalSection
    - functionName:    ObjectPool_Clear
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 138
      functionLinenumberEnd: 150
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ObjectPool_Lock
        - ObjectPool_Unlock
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:139,2'
          Dst:             ObjectPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:149,2'
          Dst:             ObjectPool_Unlock
    - functionName:    ObjectPool_Lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 51
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:48,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:50,3'
          Dst:             EnterCriticalSection
    - functionName:    ObjectPool_Unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 58
      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:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:55,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:57,3'
          Dst:             LeaveCriticalSection
    - functionName:    ObjectPool_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         14
      ICount:          72
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - InitializeCriticalSectionAndSpinCount
        - ObjectPool_EnsureCapacity
        - ObjectPool_Free
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:158,36'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:167,8'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:171,7'
          Dst:             ObjectPool_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:177,2'
          Dst:             ObjectPool_Free
    - functionName:    ObjectPool_EnsureCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         15
      ICount:          91
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - realloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:89,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:97,28'
          Dst:             realloc
    - functionName:    ObjectPool_Object
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 128
      functionLinenumberEnd: 130
      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/ObjectPool.c:129,2'
          Dst:             winpr_int_assert
    - functionName:    ObjectPool_Return
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 112
      functionLinenumberEnd: 125
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          62
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - ObjectPool_EnsureCapacity
        - ObjectPool_Lock
        - ObjectPool_Unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:113,2'
          Dst:             ObjectPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:115,7'
          Dst:             ObjectPool_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:124,2'
          Dst:             ObjectPool_Unlock
    - functionName:    ObjectPool_Take
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/ObjectPool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          97
      EdgeCount:       19
      CyclomaticComplexity: 6
      functionsReached:
        - ObjectPool_Lock
        - ObjectPool_Unlock
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:68,2'
          Dst:             ObjectPool_Lock
        - Src:             'winpr/libwinpr/utils/collections/ObjectPool.c:82,2'
          Dst:             ObjectPool_Unlock
    - 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:    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:    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:    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:    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:    76
      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:    229
      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:    66
      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:    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:    2
      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:    3
      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:    164
      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:    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:    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:    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: 1285
      functionLinenumberEnd: 1287
      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:1286,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:    8
      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:    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:    251
      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: 1095
      functionLinenumberEnd: 1309
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         67
      ICount:          285
      EdgeCount:       77
      CyclomaticComplexity: 12
      functionsReached:
        - cpuid
      functionUses:    4
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:1143,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:1205,5'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:1214,7'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1141,2'
          Dst:             cpuid
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1151,4'
          Dst:             cpuid
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1213,7'
          Dst:             cpuid
    - functionName:    cpuid
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 699
      functionLinenumberEnd: 725
      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: 1082
      functionLinenumberEnd: 1090
      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:1090,9'
          Dst:             GetTickCount
    - functionName:    GetTickCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 342
      functionLinenumberEnd: 343
      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:343,16'
          Dst:             winpr_GetTickCount64
    - functionName:    winpr_GetTickCount64
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 583
      functionLinenumberEnd: 585
      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:584,20'
          Dst:             winpr_GetTickCount64NS
    - functionName:    winpr_GetTickCount64NS
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 591
      functionLinenumberEnd: 633
      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:596,6'
          Dst:             clock_gettime
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:597,12'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:597,12'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:598,11'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:598,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: 798
      functionLinenumberEnd: 1076
      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:    27
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/sysinfo/sysinfo.c:988,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:986,2'
          Dst:             cpuid
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:1042,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: 539
      functionLinenumberEnd: 567
      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:545,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:551,15'
          Dst:             calloc
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:557,7'
          Dst:             GetComputerNameExA
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:561,23'
          Dst:             ConvertUtf8NToWChar
    - functionName:    GetComputerNameExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 483
      functionLinenumberEnd: 536
      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:511,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:489,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:495,13'
          Dst:             GetComputerNameA
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:499,8'
          Dst:             GetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:500,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:506,6'
          Dst:             gethostname
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:509,11'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:522,5'
          Dst:             SetLastError
    - functionName:    GetComputerNameA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 449
      functionLinenumberEnd: 480
      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:452,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:457,6'
          Dst:             gethostname
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:460,18'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:461,20'
          Dst:             strchr
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:464,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:464,25'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:471,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:476,2'
          Dst:             strncpy
    - 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:    GetComputerNameW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 423
      functionLinenumberEnd: 446
      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:435,7'
          Dst:             GetComputerNameA
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:439,23'
          Dst:             ConvertUtf8NToWChar
    - functionName:    GetSystemTimeAdjustment
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 329
      functionLinenumberEnd: 332
      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:331,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetSystemTimeAsFileTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 315
      functionLinenumberEnd: 324
      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:322,11'
          Dst:             winpr_GetUnixTimeNS
    - functionName:    winpr_GetUnixTimeNS
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 659
      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:649,6'
          Dst:             clock_gettime
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:651,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:651,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:652,9'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:652,9'
          Dst:             winpr_int_assert
    - functionName:    SetLocalTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 308
      functionLinenumberEnd: 311
      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:310,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetLocalTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 283
      functionLinenumberEnd: 305
      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:288,15'
          Dst:             winpr_GetUnixTimeNS
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:291,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: 276
      functionLinenumberEnd: 279
      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:278,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetSystemTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 273
      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:256,15'
          Dst:             winpr_GetUnixTimeNS
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:259,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: 246
      functionLinenumberEnd: 248
      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:247,2'
          Dst:             GetSystemInfo
    - functionName:    GetSystemInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 234
      functionLinenumberEnd: 243
      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:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:236,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:240,6'
          Dst:             GetProcessorArchitecture
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:241,29'
          Dst:             GetSystemPageSize
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:242,39'
          Dst:             GetNumberOfProcessors
    - functionName:    GetProcessorArchitecture
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 111
      functionLinenumberEnd: 183
      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: 208
      functionLinenumberEnd: 230
      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:214,18'
          Dst:             sysconf
        - Src:             'winpr/libwinpr/sysinfo/sysinfo.c:220,18'
          Dst:             sysconf
    - functionName:    GetNumberOfProcessors
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/sysinfo/sysinfo.c'
      linkageType:     InternalLinkage
      functionLinenumber: 187
      functionLinenumberEnd: 204
      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:202,19'
          Dst:             sysconf
    - 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:    winpr_WaitForThreadpoolWorkCallbacks
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/work.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          83
      EdgeCount:       25
      CyclomaticComplexity: 3
      functionsReached:
        - CountdownEvent_WaitHandle
        - WLog_Print_dbg_tag
        - WaitForSingleObject
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/work.c:194,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:195,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:198,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:200,10'
          Dst:             CountdownEvent_WaitHandle
        - Src:             'winpr/libwinpr/pool/work.c:202,6'
          Dst:             WaitForSingleObject
        - Src:             'winpr/libwinpr/pool/work.c:203,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:    winpr_TrySubmitThreadpoolCallback
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/work.c'
      linkageType:     InternalLinkage
      functionLinenumber: 164
      functionLinenumberEnd: 174
      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/pool/work.c:173,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_SubmitThreadpoolWork
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/work.c'
      linkageType:     InternalLinkage
      functionLinenumber: 131
      functionLinenumberEnd: 159
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          85
      EdgeCount:       23
      CyclomaticComplexity: 4
      functionsReached:
        - CountdownEvent_AddCount
        - Queue_Enqueue
        - calloc
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/work.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:147,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:149,44'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pool/work.c:154,3'
          Dst:             CountdownEvent_AddCount
        - Src:             'winpr/libwinpr/pool/work.c:155,8'
          Dst:             Queue_Enqueue
    - functionName:    winpr_CloseThreadpoolWork
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/work.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 128
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         18
      ICount:          65
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - ArrayList_Remove
        - winpr_int_assert
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/work.c:121,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:122,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pool/work.c:124,3'
          Dst:             ArrayList_Remove
    - functionName:    winpr_CreateThreadpoolWork
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/work.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 104
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         12
      ICount:          78
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - ArrayList_Append
        - GetDefaultThreadpool
        - calloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/work.c:83,19'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pool/work.c:90,17'
          Dst:             GetDefaultThreadpool
        - Src:             'winpr/libwinpr/pool/work.c:99,4'
          Dst:             ArrayList_Append
    - functionName:    threads_close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          17
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - CloseHandle
        - WaitForSingleObject
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:103,8'
          Dst:             WaitForSingleObject
        - Src:             'winpr/libwinpr/pool/pool.c:104,8'
          Dst:             CloseHandle
    - functionName:    winpr_SetThreadpoolThreadMaximum
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 255
      functionLinenumberEnd: 276
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          63
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ArrayList_Clear
        - ArrayList_Count
        - ArrayList_Lock
        - ArrayList_Unlock
        - ResetEvent
        - SetEvent
        - winpr_SetThreadpoolThreadMinimum
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:267,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/pool/pool.c:268,6'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/pool/pool.c:270,9'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/pool/pool.c:271,3'
          Dst:             ArrayList_Clear
        - Src:             'winpr/libwinpr/pool/pool.c:272,9'
          Dst:             ResetEvent
        - Src:             'winpr/libwinpr/pool/pool.c:274,2'
          Dst:             ArrayList_Unlock
        - Src:             'winpr/libwinpr/pool/pool.c:275,2'
          Dst:             winpr_SetThreadpoolThreadMinimum
    - functionName:    winpr_SetThreadpoolThreadMinimum
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 251
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         11
      ICount:          75
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - ArrayList_Append
        - ArrayList_Count
        - ArrayList_Lock
        - ArrayList_Unlock
        - CloseHandle
        - CreateThread
        - thread_pool_work_func
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:233,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/pool/pool.c:234,9'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/pool/pool.c:236,19'
          Dst:             CreateThread
        - Src:             'winpr/libwinpr/pool/pool.c:236,19'
          Dst:             thread_pool_work_func
        - Src:             'winpr/libwinpr/pool/pool.c:240,8'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/pool/pool.c:242,10'
          Dst:             CloseHandle
        - Src:             'winpr/libwinpr/pool/pool.c:249,2'
          Dst:             ArrayList_Unlock
    - functionName:    thread_pool_work_func
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 64
      functionLinenumberEnd: 98
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          96
      EdgeCount:       15
      CyclomaticComplexity: 5
      functionsReached:
        - CountdownEvent_Signal
        - ExitThread
        - Queue_Dequeue
        - Queue_Event
        - WaitForMultipleObjects
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:74,14'
          Dst:             Queue_Event
        - Src:             'winpr/libwinpr/pool/pool.c:78,12'
          Dst:             WaitForMultipleObjects
        - Src:             'winpr/libwinpr/pool/pool.c:86,45'
          Dst:             Queue_Dequeue
        - Src:             'winpr/libwinpr/pool/pool.c:92,4'
          Dst:             CountdownEvent_Signal
        - Src:             'winpr/libwinpr/pool/pool.c:97,2'
          Dst:             ExitThread
    - functionName:    winpr_CloseThreadpool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 196
      functionLinenumberEnd: 220
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - ArrayList_Free
        - CloseHandle
        - CountdownEvent_Free
        - Queue_Free
        - SetEvent
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:206,8'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/pool/pool.c:208,2'
          Dst:             ArrayList_Free
        - Src:             'winpr/libwinpr/pool/pool.c:209,2'
          Dst:             Queue_Free
        - Src:             'winpr/libwinpr/pool/pool.c:210,2'
          Dst:             CountdownEvent_Free
        - Src:             'winpr/libwinpr/pool/pool.c:211,8'
          Dst:             CloseHandle
    - functionName:    winpr_CreateThreadpool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 193
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          45
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - InitializeThreadpool
        - calloc
        - winpr_CloseThreadpool
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:183,25'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pool/pool.c:186,7'
          Dst:             InitializeThreadpool
        - Src:             'winpr/libwinpr/pool/pool.c:188,3'
          Dst:             winpr_CloseThreadpool
    - functionName:    InitializeThreadpool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 108
      functionLinenumberEnd: 160
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          152
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - ArrayList_New
        - ArrayList_Object
        - CountdownEvent_New
        - CreateEventA
        - GetSystemInfo
        - Queue_New
        - winpr_SetThreadpoolThreadMaximum
        - winpr_SetThreadpoolThreadMinimum
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:115,29'
          Dst:             Queue_New
        - Src:             'winpr/libwinpr/pool/pool.c:118,29'
          Dst:             CountdownEvent_New
        - Src:             'winpr/libwinpr/pool/pool.c:121,31'
          Dst:             CreateEventA
        - Src:             'winpr/libwinpr/pool/pool.c:124,24'
          Dst:             ArrayList_New
        - Src:             'winpr/libwinpr/pool/pool.c:127,8'
          Dst:             ArrayList_Object
        - Src:             'winpr/libwinpr/pool/pool.c:139,3'
          Dst:             GetSystemInfo
        - Src:             'winpr/libwinpr/pool/pool.c:150,8'
          Dst:             winpr_SetThreadpoolThreadMinimum
        - Src:             'winpr/libwinpr/pool/pool.c:153,3'
          Dst:             winpr_SetThreadpoolThreadMaximum
    - functionName:    GetDefaultThreadpool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pool/pool.c'
      linkageType:     InternalLinkage
      functionLinenumber: 163
      functionLinenumberEnd: 170
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          31
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - InitializeThreadpool
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pool/pool.c:166,7'
          Dst:             InitializeThreadpool
    - functionName:    winpr_set_cloexec
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 151
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fcntl64
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:152,20'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/handle/handle.c:157,9'
          Dst:             fcntl64
    - 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:    20
      BranchProfiles:  []
      Callsites:       []
    - functionName:    SetHandleInformation
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          105
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - WLog_Print_dbg_tag
        - __errno_location
        - fcntl64
        - winpr_Handle_getFd
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:118,17'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/handle/handle.c:121,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/handle/handle.c:131,14'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/handle/handle.c:135,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/handle/handle.c:135,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/handle/handle.c:135,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/handle/handle.c:140,6'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/handle/handle.c:143,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/handle/handle.c:143,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/handle/handle.c:143,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_Handle_getFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/../synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/../synch/../handle/handle.h:212,7'
          Dst:             winpr_Handle_GetInfo
    - 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:    6
      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_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/../synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      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:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    GetHandleInformation
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 114
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          72
      EdgeCount:       13
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Print_dbg_tag
        - __errno_location
        - fcntl64
        - winpr_Handle_getFd
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:97,17'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/handle/handle.c:100,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/handle/handle.c:104,20'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/handle/handle.c:108,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/handle/handle.c:108,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/handle/handle.c:108,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    DuplicateHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 86
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      int
      argCount:        7
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          27
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - SetLastError
        - WLog_Print_dbg_tag
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:87,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/handle/handle.c:88,2'
          Dst:             SetLastError
    - functionName:    winpr_Handle_Release
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/../synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 192
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         11
      ICount:          55
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - InterlockedDecrement
        - winpr_Handle_GetInfo
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/../synch/../handle/handle.h:196,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/handle/../synch/../handle/handle.h:199,6'
          Dst:             InterlockedDecrement
    - functionName:    CloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 78
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          108
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - winpr_Handle_ConvertToNone
        - winpr_Handle_GetInfo
        - winpr_Handle_Release
      functionUses:    7
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/handle.c:53,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/handle/handle.c:74,7'
          Dst:             winpr_Handle_Release
        - Src:             'winpr/libwinpr/handle/handle.c:75,3'
          Dst:             winpr_Handle_ConvertToNone
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    NoneHandleGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 40
      functionLinenumberEnd: 45
      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:41,7'
          Dst:             NoneHandleIsHandle
    - functionName:    NoneHandleIsHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      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:36,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    NoneHandleCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 30
      functionLinenumberEnd: 31
      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:    winpr_Handle_ConvertToNone
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          29
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateNoneHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/handle/nonehandle.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/handle/nonehandle.c:71,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_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:    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:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    ProcessCleanupHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 730
      functionLinenumberEnd: 746
      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:733,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:736,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: 720
      functionLinenumberEnd: 727
      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:723,7'
          Dst:             ProcessHandleIsHandle
    - functionName:    ProcessHandleIsHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 715
      functionLinenumberEnd: 716
      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:716,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    pidfd_open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 772
      functionLinenumberEnd: 805
      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:782,12'
          Dst:             syscall
        - Src:             'winpr/libwinpr/thread/process.c:783,16'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/thread/process.c:788,8'
          Dst:             syscall
        - Src:             'winpr/libwinpr/thread/process.c:792,11'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/thread/process.c:793,22'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/thread/process.c:795,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:    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:    29
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      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: 703
      functionLinenumberEnd: 711
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          49
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - close
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:705,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:708,3'
          Dst:             close
    - functionName:    CreateProcessHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 808
      functionLinenumberEnd: 823
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          69
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - calloc
        - pidfd_open
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/process.c:810,28'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/process.c:819,16'
          Dst:             pidfd_open
    - functionName:    winpr_Handle_getFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         13
      ICount:          72
      EdgeCount:       17
      CyclomaticComplexity: 6
      functionsReached:
        - winpr_Handle_GetInfo
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/../handle/handle.h:212,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    FindApplicationPath
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 101
      functionLinenumberEnd: 150
      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:113,10'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/thread/process.c:115,10'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/thread/process.c:118,10'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/thread/process.c:125,6'
          Dst:             GetEnvironmentVariableA
        - Src:             'winpr/libwinpr/thread/process.c:132,9'
          Dst:             strtok_s
        - Src:             'winpr/libwinpr/thread/process.c:136,14'
          Dst:             GetCombinedPath
        - Src:             'winpr/libwinpr/thread/process.c:138,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/thread/process.c:145,10'
          Dst:             strtok_s
    - functionName:    TerminateProcess
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 689
      functionLinenumberEnd: 700
      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:696,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: 684
      functionLinenumberEnd: 685
      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:685,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: 678
      functionLinenumberEnd: 680
      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:679,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: 663
      functionLinenumberEnd: 675
      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: 651
      functionLinenumberEnd: 653
      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:652,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessWithTokenA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 637
      functionLinenumberEnd: 640
      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:638,9'
          Dst:             CreateProcessExA
    - functionName:    CreateProcessExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 482
      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:         163
      ICount:          936
      EdgeCount:       219
      CyclomaticComplexity: 58
      functionsReached:
        - CommandLineToArgvA
        - CreateNoneHandle
        - CreateProcessHandle
        - EnvironmentBlockToEnvpA
        - FindApplicationPath
        - FreeEnvironmentStringsA
        - GetEnvironmentStrings
        - ProcessHandleCloseHandle
        - SetLastError
        - _exit
        - chdir
        - close
        - dup2
        - execve
        - fcntl64
        - 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:242,9'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:244,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/process.c:252,2'
          Dst:             sigfillset
        - Src:             'winpr/libwinpr/thread/process.c:253,20'
          Dst:             pthread_sigmask
        - Src:             'winpr/libwinpr/thread/process.c:255,8'
          Dst:             fork
        - Src:             'winpr/libwinpr/thread/process.c:304,21'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:314,3'
          Dst:             sigemptyset
        - Src:             'winpr/libwinpr/thread/process.c:317,4'
          Dst:             sigaction
        - Src:             'winpr/libwinpr/thread/process.c:320,3'
          Dst:             sigfillset
        - Src:             'winpr/libwinpr/thread/process.c:321,3'
          Dst:             pthread_sigmask
        - Src:             'winpr/libwinpr/thread/process.c:326,16'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:329,5'
          Dst:             dup2
        - Src:             'winpr/libwinpr/thread/process.c:331,16'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:334,5'
          Dst:             dup2
        - Src:             'winpr/libwinpr/thread/process.c:336,16'
          Dst:             winpr_Handle_getFd
        - Src:             'winpr/libwinpr/thread/process.c:339,5'
          Dst:             dup2
        - Src:             'winpr/libwinpr/thread/process.c:353,20'
          Dst:             sysconf
        - Src:             'winpr/libwinpr/thread/process.c:382,24'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/thread/process.c:388,5'
          Dst:             close
        - Src:             'winpr/libwinpr/thread/process.c:397,14'
          Dst:             setgid
        - Src:             'winpr/libwinpr/thread/process.c:404,6'
          Dst:             initgroups
        - Src:             'winpr/libwinpr/thread/process.c:410,14'
          Dst:             setuid
        - Src:             'winpr/libwinpr/thread/process.c:417,29'
          Dst:             strlen
        - Src:             'winpr/libwinpr/thread/process.c:419,13'
          Dst:             chdir
        - Src:             'winpr/libwinpr/thread/process.c:424,7'
          Dst:             execve
        - Src:             'winpr/libwinpr/thread/process.c:427,4'
          Dst:             _exit
        - Src:             'winpr/libwinpr/thread/process.c:435,12'
          Dst:             CreateProcessHandle
        - Src:             'winpr/libwinpr/thread/process.c:442,11'
          Dst:             CreateNoneHandle
        - Src:             'winpr/libwinpr/thread/process.c:446,3'
          Dst:             ProcessHandleCloseHandle
        - Src:             'winpr/libwinpr/thread/process.c:460,3'
          Dst:             pthread_sigmask
        - Src:             'winpr/libwinpr/thread/process.c:466,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:    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: 627
      functionLinenumberEnd: 629
      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:628,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessWithLogonA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 615
      functionLinenumberEnd: 617
      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:616,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessAsUserW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 603
      functionLinenumberEnd: 605
      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:604,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateProcessAsUserA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 586
      functionLinenumberEnd: 589
      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:587,9'
          Dst:             CreateProcessExA
    - functionName:    CreateProcessW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 504
      functionLinenumberEnd: 578
      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:505,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:506,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/process.c:533,24'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:539,20'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:545,25'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:551,29'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:557,28'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:563,26'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/thread/process.c:568,7'
          Dst:             CreateProcessA
    - functionName:    CreateProcessA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/process.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 492
      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:490,9'
          Dst:             CreateProcessExA
    - functionName:    mux_condition_bundle_uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 233
      functionLinenumberEnd: 241
      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:236,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:238,2'
          Dst:             run_cond_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:238,2'
          Dst:             pthread_cond_destroy
        - Src:             'winpr/libwinpr/thread/thread.c:239,2'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:239,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: 197
      functionLinenumberEnd: 209
      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:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:201,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:207,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:207,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    run_mutex_fkt_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 173
      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:164,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:165,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:171,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:171,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: 244
      functionLinenumberEnd: 256
      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:246,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:248,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:248,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:251,7'
          Dst:             run_cond_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:251,7'
          Dst:             pthread_cond_signal
        - Src:             'winpr/libwinpr/thread/thread.c:253,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:253,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: 213
      functionLinenumberEnd: 216
      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:214,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:215,2'
          Dst:             pthread_mutex_trylock
        - Src:             'winpr/libwinpr/thread/thread.c:215,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:216,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: 307
      functionLinenumberEnd: 310
      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:308,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:310,9'
          Dst:             mux_condition_bundle_signal
    - functionName:    signal_and_wait_for_ready
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 500
      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:474,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:476,7'
          Dst:             mux_condition_bundle_lock
        - Src:             'winpr/libwinpr/thread/thread.c:479,7'
          Dst:             signal_thread_ready
        - Src:             'winpr/libwinpr/thread/thread.c:482,7'
          Dst:             mux_condition_bundle_wait
        - Src:             'winpr/libwinpr/thread/thread.c:496,7'
          Dst:             mux_condition_bundle_unlock
    - functionName:    mux_condition_bundle_lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 259
      functionLinenumberEnd: 261
      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:260,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:261,9'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:261,9'
          Dst:             pthread_mutex_lock
    - functionName:    mux_condition_bundle_wait
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 303
      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:286,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:274,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:275,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:276,2'
          Dst:             pthread_mutex_trylock
        - Src:             'winpr/libwinpr/thread/thread.c:276,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:280,11'
          Dst:             pthread_cond_wait
        - Src:             'winpr/libwinpr/thread/thread.c:284,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:284,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    mux_condition_bundle_unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 265
      functionLinenumberEnd: 267
      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:266,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:267,9'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:267,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: 314
      functionLinenumberEnd: 317
      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:315,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:317,9'
          Dst:             mux_condition_bundle_signal
    - functionName:    thread_launcher
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 506
      functionLinenumberEnd: 558
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         24
      ICount:          139
      EdgeCount:       32
      CyclomaticComplexity: 10
      functionsReached:
        - WLog_Print_dbg_tag
        - apc_cleanupThread
        - cleanup_handle
        - pthread_self
        - pthread_setspecific
        - set_event
        - signal_and_wait_for_ready
        - signal_thread_ready
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:513,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:517,18'
          Dst:             pthread_setspecific
        - Src:             'winpr/libwinpr/thread/thread.c:520,3'
          Dst:             pthread_self
        - Src:             'winpr/libwinpr/thread/thread.c:520,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:533,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:537,7'
          Dst:             signal_and_wait_for_ready
        - Src:             'winpr/libwinpr/thread/thread.c:545,3'
          Dst:             apc_cleanupThread
        - Src:             'winpr/libwinpr/thread/thread.c:550,3'
          Dst:             set_event
        - Src:             'winpr/libwinpr/thread/thread.c:552,9'
          Dst:             signal_thread_ready
        - Src:             'winpr/libwinpr/thread/thread.c:555,4'
          Dst:             cleanup_handle
    - 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:    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: 412
      functionLinenumberEnd: 413
      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:413,9'
          Dst:             winpr_event_set
    - functionName:    cleanup_handle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 744
      functionLinenumberEnd: 771
      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:749,7'
          Dst:             apc_uninit
        - Src:             'winpr/libwinpr/thread/thread.c:750,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:752,2'
          Dst:             mux_condition_bundle_uninit
        - Src:             'winpr/libwinpr/thread/thread.c:753,2'
          Dst:             mux_condition_bundle_uninit
        - Src:             'winpr/libwinpr/thread/thread.c:754,2'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:754,2'
          Dst:             pthread_mutex_destroy
        - Src:             'winpr/libwinpr/thread/thread.c:756,2'
          Dst:             winpr_event_uninit
    - functionName:    reset_event
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 418
      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:418,9'
          Dst:             winpr_event_reset
    - functionName:    run_cond_init_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 179
      functionLinenumberEnd: 191
      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:182,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:183,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:189,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:189,3'
          Dst:             WLog_Print_dbg_tag
    - functionName:    dump_thread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 405
      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: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    ThreadCleanupHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 353
      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:325,7'
          Dst:             ThreadIsHandled
        - Src:             'winpr/libwinpr/thread/thread.c:328,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:328,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:333,12'
          Dst:             pthread_join
        - Src:             'winpr/libwinpr/thread/thread.c:338,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:338,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:349,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:349,7'
          Dst:             pthread_mutex_checked_unlock
    - functionName:    ThreadIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 125
      functionLinenumberEnd: 126
      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:126,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: 130
      functionLinenumberEnd: 137
      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:133,7'
          Dst:             ThreadIsHandled
    - functionName:    ThreadCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 774
      functionLinenumberEnd: 810
      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:792,3'
          Dst:             dump_thread
        - Src:             'winpr/libwinpr/thread/thread.c:794,29'
          Dst:             WaitForSingleObject
        - Src:             'winpr/libwinpr/thread/thread.c:796,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:798,4'
          Dst:             pthread_detach
        - Src:             'winpr/libwinpr/thread/thread.c:802,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: 1062
      functionLinenumberEnd: 1127
      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: 1033
      functionLinenumberEnd: 1059
      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:1038,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:1045,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1045,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:1049,2'
          Dst:             pthread_cancel
        - Src:             'winpr/libwinpr/thread/thread.c:1054,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1054,7'
          Dst:             pthread_mutex_checked_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:1057,2'
          Dst:             set_event
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      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: 1021
      functionLinenumberEnd: 1029
      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:1026,6'
          Dst:             sched_yield
        - Src:             'winpr/libwinpr/thread/thread.c:1027,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: 1014
      functionLinenumberEnd: 1017
      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:1015,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:1016,2'
          Dst:             SetLastError
    - functionName:    ResumeThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 979
      functionLinenumberEnd: 1011
      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:984,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:986,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:987,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/thread.c:993,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:993,7'
          Dst:             pthread_mutex_lock
        - Src:             'winpr/libwinpr/thread/thread.c:998,8'
          Dst:             winpr_StartThread
        - Src:             'winpr/libwinpr/thread/thread.c:1000,4'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1000,4'
          Dst:             pthread_mutex_checked_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:1005,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:1007,7'
          Dst:             run_mutex_fkt_
        - Src:             'winpr/libwinpr/thread/thread.c:1007,7'
          Dst:             pthread_mutex_checked_unlock
    - functionName:    winpr_StartThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 618
      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:567,7'
          Dst:             mux_condition_bundle_lock
        - Src:             'winpr/libwinpr/thread/thread.c:571,2'
          Dst:             pthread_attr_init
        - Src:             'winpr/libwinpr/thread/thread.c:572,2'
          Dst:             pthread_attr_setdetachstate
        - Src:             'winpr/libwinpr/thread/thread.c:575,3'
          Dst:             pthread_attr_setstacksize
        - Src:             'winpr/libwinpr/thread/thread.c:578,2'
          Dst:             reset_event
        - Src:             'winpr/libwinpr/thread/thread.c:588,6'
          Dst:             pthread_create
        - Src:             'winpr/libwinpr/thread/thread.c:588,6'
          Dst:             thread_launcher
        - Src:             'winpr/libwinpr/thread/thread.c:591,7'
          Dst:             mux_condition_bundle_wait
        - Src:             'winpr/libwinpr/thread/thread.c:595,7'
          Dst:             mux_condition_bundle_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:598,7'
          Dst:             signal_thread_is_running
        - Src:             'winpr/libwinpr/thread/thread.c:600,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:608,8'
          Dst:             mux_condition_bundle_unlock
        - Src:             'winpr/libwinpr/thread/thread.c:612,2'
          Dst:             pthread_attr_destroy
        - Src:             'winpr/libwinpr/thread/thread.c:615,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: 934
      functionLinenumberEnd: 940
      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: 943
      functionLinenumberEnd: 976
      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:952,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:954,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:955,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/thread.c:959,12'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/thread.c:962,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/thread/thread.c:974,2'
          Dst:             apc_register
    - functionName:    GetCurrentThreadId
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 910
      functionLinenumberEnd: 916
      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:916,9'
          Dst:             syscall
    - functionName:    _GetCurrentThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 905
      functionLinenumberEnd: 906
      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:906,17'
          Dst:             winpr_GetCurrentThread
    - functionName:    winpr_GetCurrentThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 892
      functionLinenumberEnd: 902
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         8
      ICount:          43
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached:
        - initializeThreads
        - pthread_getspecific
        - pthread_self
        - winpr_InitOnceExecuteOnce
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:895,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'winpr/libwinpr/thread/thread.c:895,7'
          Dst:             initializeThreads
        - Src:             'winpr/libwinpr/thread/thread.c:897,22'
          Dst:             pthread_self
        - Src:             'winpr/libwinpr/thread/thread.c:900,8'
          Dst:             pthread_getspecific
    - functionName:    initializeThreads
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 437
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - WLog_Print_dbg_tag
        - apc_init
        - pthread_key_create
        - pthread_self
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:438,7'
          Dst:             apc_init
        - Src:             'winpr/libwinpr/thread/thread.c:440,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:445,17'
          Dst:             pthread_self
        - Src:             'winpr/libwinpr/thread/thread.c:447,18'
          Dst:             pthread_key_create
        - Src:             'winpr/libwinpr/thread/thread.c:450,3'
          Dst:             WLog_Print_dbg_tag
    - 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:    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:    GetExitCodeThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 874
      functionLinenumberEnd: 889
      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:879,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:881,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:882,3'
          Dst:             SetLastError
    - functionName:    ExitThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 827
      functionLinenumberEnd: 871
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          7
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateRemoteThread
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 820
      functionLinenumberEnd: 823
      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:821,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:822,2'
          Dst:             SetLastError
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      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: 220
      functionLinenumberEnd: 230
      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:221,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:224,7'
          Dst:             run_mutex_init_
        - Src:             'winpr/libwinpr/thread/thread.c:224,7'
          Dst:             pthread_mutex_init
        - Src:             'winpr/libwinpr/thread/thread.c:227,7'
          Dst:             run_cond_init_
        - Src:             'winpr/libwinpr/thread/thread.c:227,7'
          Dst:             pthread_cond_init
    - functionName:    run_mutex_init_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 143
      functionLinenumberEnd: 155
      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:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:147,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/thread/thread.c:153,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:153,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: 680
      functionLinenumberEnd: 741
      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:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:682,40'
          Dst:             calloc
        - Src:             'winpr/libwinpr/thread/thread.c:697,7'
          Dst:             winpr_event_init
        - Src:             'winpr/libwinpr/thread/thread.c:699,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:703,7'
          Dst:             run_mutex_init_
        - Src:             'winpr/libwinpr/thread/thread.c:703,7'
          Dst:             pthread_mutex_init
        - Src:             'winpr/libwinpr/thread/thread.c:705,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:709,7'
          Dst:             apc_init
        - Src:             'winpr/libwinpr/thread/thread.c:711,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/thread/thread.c:715,7'
          Dst:             mux_condition_bundle_init
        - Src:             'winpr/libwinpr/thread/thread.c:717,7'
          Dst:             mux_condition_bundle_init
        - Src:             'winpr/libwinpr/thread/thread.c:720,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/thread/thread.c:723,7'
          Dst:             winpr_InitOnceExecuteOnce
        - Src:             'winpr/libwinpr/thread/thread.c:723,7'
          Dst:             initializeThreads
        - Src:             'winpr/libwinpr/thread/thread.c:728,8'
          Dst:             winpr_StartThread
        - Src:             'winpr/libwinpr/thread/thread.c:733,8'
          Dst:             set_event
        - Src:             'winpr/libwinpr/thread/thread.c:739,2'
          Dst:             cleanup_handle
    - functionName:    SetThreadPriority
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/thread/thread.c'
      linkageType:     InternalLinkage
      functionLinenumber: 621
      functionLinenumberEnd: 675
      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:635,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/thread/thread.c:625,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/thread/thread.c:662,17'
          Dst:             pthread_setschedprio
        - Src:             'winpr/libwinpr/thread/thread.c:666,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/thread/thread.c:666,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:    _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:    _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:    2
      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:    2
      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:    1
      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:    9
      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:    winpr_aligned_msize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 245
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          39
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_aligned_mem_block_
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:239,28'
          Dst:             get_aligned_mem_block_
    - functionName:    get_aligned_mem_block_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 56
      functionLinenumberEnd: 75
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         11
      ICount:          74
      EdgeCount:       14
      CyclomaticComplexity: 5
      functionsReached:
        - WLog_Get
        - WLog_IsLevelActive
        - WLog_PrintTextMessage
        - winpr_log_backtrace_ex
      functionUses:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:64,15'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/crt/alignment.c:65,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/crt/alignment.c:67,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/crt/alignment.c:69,4'
          Dst:             winpr_log_backtrace_ex
    - functionName:    cMIN
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 185
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      size_t
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_aligned_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 248
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - get_aligned_mem_block_
      functionUses:    50
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:249,28'
          Dst:             get_aligned_mem_block_
    - functionName:    winpr_aligned_offset_recalloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 234
      functionDepth:   0
      returnType:      'N/A'
      argCount:        5
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         21
      ICount:          159
      EdgeCount:       28
      CyclomaticComplexity: 9
      functionsReached:
        - cMIN
        - get_aligned_mem_block_
        - winpr_aligned_free
        - winpr_aligned_offset_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:199,17'
          Dst:             winpr_aligned_offset_malloc
        - Src:             'winpr/libwinpr/crt/alignment.c:210,28'
          Dst:             get_aligned_mem_block_
        - Src:             'winpr/libwinpr/crt/alignment.c:220,16'
          Dst:             winpr_aligned_offset_malloc
        - Src:             'winpr/libwinpr/crt/alignment.c:227,24'
          Dst:             cMIN
        - Src:             'winpr/libwinpr/crt/alignment.c:232,2'
          Dst:             winpr_aligned_free
    - functionName:    winpr_aligned_offset_malloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 98
      functionLinenumberEnd: 154
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         26
      ICount:          182
      EdgeCount:       36
      CyclomaticComplexity: 12
      functionsReached:
        - posix_memalign
      functionUses:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:131,6'
          Dst:             posix_memalign
    - functionName:    posix_memalign
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    winpr_aligned_offset_realloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 182
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         15
      ICount:          112
      EdgeCount:       20
      CyclomaticComplexity: 7
      functionsReached:
        - get_aligned_mem_block_
        - winpr_aligned_free
        - winpr_aligned_offset_malloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:161,10'
          Dst:             winpr_aligned_offset_malloc
        - Src:             'winpr/libwinpr/crt/alignment.c:163,28'
          Dst:             get_aligned_mem_block_
        - Src:             'winpr/libwinpr/crt/alignment.c:169,3'
          Dst:             winpr_aligned_free
        - Src:             'winpr/libwinpr/crt/alignment.c:173,22'
          Dst:             winpr_aligned_offset_malloc
        - Src:             'winpr/libwinpr/crt/alignment.c:180,2'
          Dst:             winpr_aligned_free
    - functionName:    winpr_aligned_realloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 89
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_aligned_offset_realloc
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:89,9'
          Dst:             winpr_aligned_offset_realloc
    - functionName:    winpr_aligned_recalloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 93
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_aligned_offset_recalloc
      functionUses:    21
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:94,9'
          Dst:             winpr_aligned_offset_recalloc
    - functionName:    winpr_aligned_calloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 83
      functionLinenumberEnd: 84
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - size_t
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         3
      ICount:          21
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_aligned_recalloc
      functionUses:    18
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:84,9'
          Dst:             winpr_aligned_recalloc
    - functionName:    winpr_aligned_malloc
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/crt/alignment.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 79
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_aligned_offset_malloc
      functionUses:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/crt/alignment.c:79,9'
          Dst:             winpr_aligned_offset_malloc
    - 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:    2
      BranchProfiles:  []
      Callsites:       []
    - 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:    11
      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:    1
      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:    27
      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: 979
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          109
      EdgeCount:       29
      CyclomaticComplexity: 5
      functionsReached: []
      functionUses:    0
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/crt/string.c:958,3'
          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:    19
      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:    22
      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:    6
      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:    19
      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:    1
      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:    36
      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:    13
      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:    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:    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:    2453
      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:    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:    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:    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:    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:    11
      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:    46
      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:    38
      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:    8
      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: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    EventGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 210
      functionLinenumberEnd: 217
      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:213,7'
          Dst:             EventIsHandled
    - functionName:    EventIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.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/synch/event.c:205,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    EventCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 258
      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:254,7'
          Dst:             EventIsHandled
        - Src:             'winpr/libwinpr/synch/event.c:257,9'
          Dst:             EventCloseHandle_
    - functionName:    EventCloseHandle_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 220
      functionLinenumberEnd: 248
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          54
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - winpr_event_uninit
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:230,2'
          Dst:             winpr_event_uninit
    - functionName:    winpr_event_uninit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 186
      functionLinenumberEnd: 198
      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:189,3'
          Dst:             close
        - Src:             'winpr/libwinpr/synch/event.c:195,3'
          Dst:             close
    - functionName:    GetEventWaitObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 543
      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:541,7'
          Dst:             GetEventFileDescriptor
    - functionName:    GetEventFileDescriptor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 485
      functionLinenumberEnd: 487
      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:487,9'
          Dst:             winpr_Handle_getFd
    - functionName:    winpr_Handle_getFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 219
      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:212,7'
          Dst:             winpr_Handle_GetInfo
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      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: 499
      functionLinenumberEnd: 524
      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:505,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/event.c:507,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:508,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/event.c:515,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: 467
      functionLinenumberEnd: 470
      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:469,9'
          Dst:             CreateFileDescriptorEventW
    - functionName:    CreateFileDescriptorEventW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 431
      functionLinenumberEnd: 449
      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:435,24'
          Dst:             calloc
        - Src:             'winpr/libwinpr/synch/event.c:443,3'
          Dst:             winpr_event_init_from_fd
        - Src:             'winpr/libwinpr/synch/event.c:445,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: 142
      functionLinenumberEnd: 147
      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: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateFileDescriptorEventA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 457
      functionLinenumberEnd: 459
      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:458,9'
          Dst:             CreateFileDescriptorEventW
    - functionName:    ResetEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 410
      functionLinenumberEnd: 424
      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:    4
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:415,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/event.c:417,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:418,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/event.c:423,9'
          Dst:             winpr_event_reset
    - functionName:    winpr_event_reset
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 166
      functionLinenumberEnd: 182
      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:174,10'
          Dst:             eventfd_read
        - Src:             'winpr/libwinpr/synch/event.c:179,23'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/event.c:182,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: 383
      functionLinenumberEnd: 389
      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:388,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    OpenEventW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 373
      functionLinenumberEnd: 379
      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:378,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    CreateEventExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 355
      functionLinenumberEnd: 369
      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:366,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:369,9'
          Dst:             CreateEventA
    - functionName:    CreateEventA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 285
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      'N/A'
      argCount:        4
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         23
      ICount:          139
      EdgeCount:       30
      CyclomaticComplexity: 9
      functionsReached:
        - EventCloseHandle_
        - SetEvent
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - calloc
        - strdup
        - winpr_event_init
      functionUses:    6
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:286,37'
          Dst:             calloc
        - Src:             'winpr/libwinpr/synch/event.c:289,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:295,17'
          Dst:             strdup
        - Src:             'winpr/libwinpr/synch/event.c:302,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/synch/event.c:305,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:307,7'
          Dst:             winpr_event_init
        - Src:             'winpr/libwinpr/synch/event.c:312,8'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/synch/event.c:326,2'
          Dst:             EventCloseHandle_
    - functionName:    winpr_event_init
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 117
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         17
      ICount:          105
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - close
        - eventfd
        - set_non_blocking_fd
        - winpr_set_cloexec
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:100,18'
          Dst:             eventfd
        - Src:             'winpr/libwinpr/synch/event.c:102,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/synch/event.c:106,19'
          Dst:             eventfd
        - Src:             'winpr/libwinpr/synch/event.c:109,9'
          Dst:             set_non_blocking_fd
        - Src:             'winpr/libwinpr/synch/event.c:109,48'
          Dst:             winpr_set_cloexec
        - Src:             'winpr/libwinpr/synch/event.c:111,5'
          Dst:             close
    - functionName:    SetEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 393
      functionLinenumberEnd: 407
      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:    11
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:398,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/synch/event.c:400,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:401,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/synch/event.c:406,9'
          Dst:             winpr_event_set
    - functionName:    winpr_event_set
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 150
      functionLinenumberEnd: 162
      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:156,9'
          Dst:             eventfd_write
        - Src:             'winpr/libwinpr/synch/event.c:160,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:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    set_non_blocking_fd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 88
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - fcntl64
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/event.c:89,14'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/synch/event.c:93,9'
          Dst:             fcntl64
    - functionName:    CreateEventExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 350
      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:346,3'
          Dst:             ConvertWCharToUtf8
        - Src:             'winpr/libwinpr/synch/event.c:347,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/synch/event.c:350,9'
          Dst:             CreateEventW
    - functionName:    CreateEventW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/event.c'
      linkageType:     InternalLinkage
      functionLinenumber: 267
      functionLinenumberEnd: 281
      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:273,10'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/synch/event.c:278,11'
          Dst:             CreateEventA
    - 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:    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: 152
      functionLinenumberEnd: 171
      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: 208
      functionLinenumberEnd: 219
      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:212,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:    winpr_Handle_cleanup
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/synch/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 238
      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:227,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:    1
      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:    5
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/synch/wait.c:305,9'
          Dst:             WaitForSingleObjectEx
    - functionName:    GetDosAttributesFromXAttr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 967
      functionLinenumberEnd: 1045
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         54
      ICount:          260
      EdgeCount:       67
      CyclomaticComplexity: 15
      functionsReached:
        - WLog_Print_dbg_tag
        - __errno_location
        - close
        - getxattr
        - ioctl
        - ntohl
        - open64
        - strtoul
        - winpr_int_assert
        - winpr_strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:977,11'
          Dst:             getxattr
        - Src:             'winpr/libwinpr/file/generic.c:980,13'
          Dst:             ntohl
        - Src:             'winpr/libwinpr/file/generic.c:988,12'
          Dst:             getxattr
        - Src:             'winpr/libwinpr/file/generic.c:997,12'
          Dst:             open64
        - Src:             'winpr/libwinpr/file/generic.c:1000,19'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/file/generic.c:1004,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1004,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/generic.c:1004,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1010,20'
          Dst:             close
        - Src:             'winpr/libwinpr/file/generic.c:1014,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1014,5'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/generic.c:1014,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1028,12'
          Dst:             getxattr
        - Src:             'winpr/libwinpr/file/generic.c:1031,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1032,30'
          Dst:             strtoul
        - Src:             'winpr/libwinpr/file/generic.c:1033,8'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1034,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:1034,24'
          Dst:             winpr_int_assert
    - functionName:    getxattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - 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:    6
      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:    29
      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:    strtoul
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    append
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 582
      functionLinenumberEnd: 584
      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:583,2'
          Dst:             winpr_str_append
    - functionName:    UnixChangeFileMode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1516
      functionLinenumberEnd: 1549
      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:1533,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: 1507
      functionLinenumberEnd: 1508
      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:1508,9'
          Dst:             MoveFileExW
    - functionName:    MoveFileExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1478
      functionLinenumberEnd: 1497
      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:1482,30'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1483,25'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1488,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1492,8'
          Dst:             winpr_MoveFileEx
    - functionName:    MoveFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1501
      functionLinenumberEnd: 1502
      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:1502,9'
          Dst:             winpr_MoveFileEx
    - functionName:    MoveFileExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1472
      functionLinenumberEnd: 1473
      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:1473,9'
          Dst:             winpr_MoveFileEx
    - functionName:    RemoveDirectoryW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1452
      functionLinenumberEnd: 1468
      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:1455,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1460,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1464,8'
          Dst:             winpr_RemoveDirectory
    - functionName:    RemoveDirectoryA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1446
      functionLinenumberEnd: 1447
      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:1447,9'
          Dst:             winpr_RemoveDirectory
    - functionName:    CreateDirectoryW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1426
      functionLinenumberEnd: 1442
      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:1429,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1434,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1438,8'
          Dst:             CreateDirectoryA
    - functionName:    CreateDirectoryA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1421
      functionLinenumberEnd: 1422
      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:1422,9'
          Dst:             mkdir
    - functionName:    FindNextFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1368
      functionLinenumberEnd: 1392
      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:1369,46'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/generic.c:1373,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1377,6'
          Dst:             FindNextFileA
        - Src:             'winpr/libwinpr/file/generic.c:1379,8'
          Dst:             ConvertFindDataAToW
        - Src:             'winpr/libwinpr/file/generic.c:1381,4'
          Dst:             SetLastError
    - functionName:    FindNextFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1297
      functionLinenumberEnd: 1365
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         24
      ICount:          205
      EdgeCount:       33
      CyclomaticComplexity: 11
      functionsReached:
        - FilePatternMatchA
        - FindDataFromStat
        - SetLastError
        - __errno_location
        - is_valid_file_search_handle
        - map_posix_err
        - readdir64
        - stat64
        - strlen
        - strncpy
        - strnlen
        - winpr_PathCanonicalize
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1304,7'
          Dst:             is_valid_file_search_handle
        - Src:             'winpr/libwinpr/file/generic.c:1310,20'
          Dst:             readdir64
        - Src:             'winpr/libwinpr/file/generic.c:1312,7'
          Dst:             FilePatternMatchA
        - Src:             'winpr/libwinpr/file/generic.c:1316,4'
          Dst:             strncpy
        - Src:             'winpr/libwinpr/file/generic.c:1317,27'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/file/generic.c:1318,21'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1323,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1335,22'
          Dst:             winpr_PathCanonicalize
        - Src:             'winpr/libwinpr/file/generic.c:1342,8'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:1345,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1345,18'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/generic.c:1345,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1346,5'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1357,14'
          Dst:             FindDataFromStat
        - Src:             'winpr/libwinpr/file/generic.c:1363,2'
          Dst:             SetLastError
    - functionName:    ConvertFindDataAToW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1209
      functionLinenumberEnd: 1230
      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:1222,6'
          Dst:             ConvertUtf8NToWChar
        - Src:             'winpr/libwinpr/file/generic.c:1226,9'
          Dst:             ConvertUtf8NToWChar
    - functionName:    is_valid_file_search_handle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 955
      functionLinenumberEnd: 964
      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:961,6'
          Dst:             strncmp
    - functionName:    FindDataFromStat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1150
      functionLinenumberEnd: 1169
      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:1152,37'
          Dst:             FileAttributesFromStat
    - functionName:    FileAttributesFromStat
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1123
      functionLinenumberEnd: 1145
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         22
      ICount:          126
      EdgeCount:       29
      CyclomaticComplexity: 9
      functionsReached:
        - GetDosAttributesFromXAttr
        - strlen
        - strrchr
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1124,27'
          Dst:             GetDosAttributesFromXAttr
        - Src:             'winpr/libwinpr/file/generic.c:1132,24'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/file/generic.c:1136,26'
          Dst:             strlen
    - functionName:    FindFirstFileExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1291
      functionLinenumberEnd: 1293
      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:1292,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FindFirstFileExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1280
      functionLinenumberEnd: 1282
      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:1281,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    FindFirstFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1233
      functionLinenumberEnd: 1272
      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:1239,46'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/generic.c:1243,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1247,16'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:1250,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1255,6'
          Dst:             FindFirstFileA
        - Src:             'winpr/libwinpr/file/generic.c:1260,8'
          Dst:             ConvertFindDataAToW
        - Src:             'winpr/libwinpr/file/generic.c:1262,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1263,4'
          Dst:             FindClose
    - functionName:    FindFirstFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1173
      functionLinenumberEnd: 1205
      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:1176,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:1185,22'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1186,19'
          Dst:             PathGetSeparatorA
        - Src:             'winpr/libwinpr/file/generic.c:1187,20'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/file/generic.c:1190,15'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1194,16'
          Dst:             file_search_new
        - Src:             'winpr/libwinpr/file/generic.c:1199,6'
          Dst:             FindNextFileA
        - Src:             'winpr/libwinpr/file/generic.c:1203,2'
          Dst:             FindClose
    - functionName:    FindClose
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1395
      functionLinenumberEnd: 1417
      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:1404,7'
          Dst:             is_valid_file_search_handle
        - Src:             'winpr/libwinpr/file/generic.c:1412,3'
          Dst:             closedir
    - functionName:    file_search_new
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 893
      functionLinenumberEnd: 952
      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:894,55'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/generic.c:900,24'
          Dst:             strndup
        - Src:             'winpr/libwinpr/file/generic.c:901,27'
          Dst:             strndup
        - Src:             'winpr/libwinpr/file/generic.c:905,22'
          Dst:             opendir
        - Src:             'winpr/libwinpr/file/generic.c:913,7'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:917,25'
          Dst:             opendir
        - Src:             'winpr/libwinpr/file/generic.c:922,28'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/generic.c:923,31'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/generic.c:926,7'
          Dst:             closedir
        - Src:             'winpr/libwinpr/file/generic.c:935,36'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:935,22'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/generic.c:936,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:936,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/generic.c:936,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:936,4'
          Dst:             Win32ErrorCode2Tag
        - Src:             'winpr/libwinpr/file/generic.c:936,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:939,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:949,2'
          Dst:             FindClose
    - functionName:    SetFileTime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 861
      functionLinenumberEnd: 878
      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:868,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:876,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_Handle_GetInfo
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 171
      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: 839
      functionLinenumberEnd: 857
      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:846,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:855,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    UnlockFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 817
      functionLinenumberEnd: 835
      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:824,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:833,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    LockFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 813
      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:802,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:811,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    LockFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 773
      functionLinenumberEnd: 791
      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:780,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:789,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetFilePointerEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 751
      functionLinenumberEnd: 769
      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:758,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:767,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetFilePointer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 729
      functionLinenumberEnd: 747
      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:736,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:745,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetFileSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 708
      functionLinenumberEnd: 725
      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:715,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:723,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetEndOfFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 688
      functionLinenumberEnd: 705
      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:695,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:703,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    SetFileAttributesW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 669
      functionLinenumberEnd: 685
      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:675,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:678,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:682,8'
          Dst:             SetFileAttributesA
    - functionName:    SetFileAttributesA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 627
      functionLinenumberEnd: 666
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         38
      ICount:          179
      EdgeCount:       46
      CyclomaticComplexity: 10
      functionsReached:
        - SetDosAttributesToXAttr
        - WLog_Print_dbg_tag
        - close
        - fchmod
        - flagsToStr
        - fstat64
        - open64
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:635,23'
          Dst:             flagsToStr
        - Src:             'winpr/libwinpr/file/generic.c:636,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:639,2'
          Dst:             SetDosAttributesToXAttr
        - Src:             'winpr/libwinpr/file/generic.c:641,11'
          Dst:             open64
        - Src:             'winpr/libwinpr/file/generic.c:646,6'
          Dst:             fstat64
        - Src:             'winpr/libwinpr/file/generic.c:651,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:651,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:658,6'
          Dst:             fchmod
        - Src:             'winpr/libwinpr/file/generic.c:663,2'
          Dst:             close
    - functionName:    flagsToStr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 588
      functionLinenumberEnd: 623
      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:591,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:593,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:595,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:597,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:599,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:601,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:603,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:605,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:607,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:609,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:611,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:613,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:615,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:617,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:619,3'
          Dst:             append
        - Src:             'winpr/libwinpr/file/generic.c:621,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/generic.c:622,2'
          Dst:             winpr_str_append
    - functionName:    SetDosAttributesToXAttr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1052
      functionLinenumberEnd: 1120
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         26
      ICount:          157
      EdgeCount:       35
      CyclomaticComplexity: 11
      functionsReached:
        - WLog_Print_dbg_tag
        - __errno_location
        - close
        - getxattr
        - htonl
        - ioctl
        - open64
        - removexattr
        - setxattr
        - snprintf
        - strlen
        - winpr_strerror
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/generic.c:1057,23'
          Dst:             htonl
        - Src:             'winpr/libwinpr/file/generic.c:1060,6'
          Dst:             setxattr
        - Src:             'winpr/libwinpr/file/generic.c:1062,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1067,19'
          Dst:             getxattr
        - Src:             'winpr/libwinpr/file/generic.c:1070,7'
          Dst:             setxattr
        - Src:             'winpr/libwinpr/file/generic.c:1072,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1080,11'
          Dst:             open64
        - Src:             'winpr/libwinpr/file/generic.c:1083,7'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/file/generic.c:1085,4'
          Dst:             close
        - Src:             'winpr/libwinpr/file/generic.c:1086,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1089,3'
          Dst:             close
        - Src:             'winpr/libwinpr/file/generic.c:1099,18'
          Dst:             removexattr
        - Src:             'winpr/libwinpr/file/generic.c:1103,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/generic.c:1103,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/generic.c:1103,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1110,22'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/generic.c:1114,50'
          Dst:             strlen
        - Src:             'winpr/libwinpr/file/generic.c:1114,6'
          Dst:             setxattr
        - Src:             'winpr/libwinpr/file/generic.c:1115,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/generic.c:1117,2'
          Dst:             WLog_Print_dbg_tag
    - 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:    setxattr
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        5
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - size_t
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    removexattr
      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:    GetFileInformationByHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 562
      functionLinenumberEnd: 579
      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:569,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:577,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    GetFileAttributesW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 545
      functionLinenumberEnd: 559
      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:549,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:552,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:556,8'
          Dst:             GetFileAttributesA
    - functionName:    GetFileAttributesA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 536
      functionLinenumberEnd: 542
      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:538,6'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:541,9'
          Dst:             FileAttributesFromStat
    - functionName:    GetFileAttributesExW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 518
      functionLinenumberEnd: 533
      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:522,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:526,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:530,8'
          Dst:             GetFileAttributesExA
    - functionName:    GetFileAttributesExA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 494
      functionLinenumberEnd: 514
      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:500,6'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/generic.c:504,7'
          Dst:             FindDataFromStat
    - functionName:    FlushFileBuffers
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 472
      functionLinenumberEnd: 489
      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:479,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:487,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WriteFileGather
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 469
      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:458,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:467,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WriteFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 429
      functionLinenumberEnd: 447
      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:436,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:445,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    WriteFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 407
      functionLinenumberEnd: 425
      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:414,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:423,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ReadFileScatter
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 385
      functionLinenumberEnd: 403
      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:392,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:401,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ReadFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 363
      functionLinenumberEnd: 381
      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:370,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:379,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    ReadFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 333
      functionLinenumberEnd: 359
      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:348,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/file/generic.c:357,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    DeleteFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 329
      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:325,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:326,12'
          Dst:             winpr_DeleteFile
    - functionName:    DeleteFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 316
      functionLinenumberEnd: 317
      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:317,9'
          Dst:             winpr_DeleteFile
    - functionName:    CreateFileW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 295
      functionLinenumberEnd: 312
      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:299,22'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/generic.c:303,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:307,8'
          Dst:             winpr_CreateFile
    - functionName:    winpr_CreateFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 256
      functionLinenumberEnd: 290
      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:260,6'
          Dst:             pthread_once
        - Src:             'winpr/libwinpr/file/generic.c:260,6'
          Dst:             HandleCreatorsInit
        - Src:             'winpr/libwinpr/file/generic.c:262,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:268,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/generic.c:272,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/file/generic.c:274,26'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/file/generic.c:276,35'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/file/generic.c:283,4'
          Dst:             ArrayList_Unlock
        - Src:             'winpr/libwinpr/file/generic.c:288,2'
          Dst:             ArrayList_Unlock
    - functionName:    HandleCreatorsInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 199
      functionLinenumberEnd: 214
      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:200,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/generic.c:201,19'
          Dst:             ArrayList_New
        - Src:             'winpr/libwinpr/file/generic.c:209,35'
          Dst:             GetNamedPipeClientHandleCreator
        - Src:             'winpr/libwinpr/file/generic.c:209,2'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/file/generic.c:210,33'
          Dst:             GetCommHandleCreator
        - Src:             'winpr/libwinpr/file/generic.c:212,3'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/file/generic.c:213,35'
          Dst:             GetFileHandleCreator
        - Src:             'winpr/libwinpr/file/generic.c:213,2'
          Dst:             ArrayList_Append
    - functionName:    CreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/generic.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 249
      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:248,9'
          Dst:             winpr_CreateFile
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    NamedPipeClientGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 87
      functionLinenumberEnd: 97
      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:90,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: 84
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          113
      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:70,3'
          Dst:             close
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      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: 284
      functionLinenumberEnd: 297
      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:289,7'
          Dst:             NamedPipeClientIsHandled
    - functionName:    GetNamedPipeUnixDomainSocketFilePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 271
      functionLinenumberEnd: 280
      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:275,15'
          Dst:             GetNamedPipeUnixDomainSocketBaseFilePathA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:276,15'
          Dst:             GetNamedPipeNameWithoutPrefixA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:277,15'
          Dst:             GetCombinedPath
    - functionName:    GetNamedPipeUnixDomainSocketBaseFilePathA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 257
      functionLinenumberEnd: 268
      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:260,15'
          Dst:             GetKnownPath
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:265,15'
          Dst:             GetCombinedPath
    - functionName:    GetNamedPipeNameWithoutPrefixA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 243
      functionLinenumberEnd: 254
      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:249,7'
          Dst:             IsNamedPipeFileNameA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:252,31'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:252,15'
          Dst:             _strdup
    - functionName:    IsNamedPipeFileNameA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 238
      functionLinenumberEnd: 239
      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:239,10'
          Dst:             strncmp
    - functionName:    NamedPipeClientCreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 221
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         37
      ICount:          283
      EdgeCount:       51
      CyclomaticComplexity: 16
      functionsReached:
        - GetNamedPipeNameWithoutPrefixA
        - GetNamedPipeUnixDomainSocketFilePathA
        - IsNamedPipeFileNameA
        - SetLastError
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - _strdup
        - calloc
        - close
        - connect
        - snprintf
        - socket
        - winpr_set_cloexec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:136,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:137,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:144,7'
          Dst:             IsNamedPipeFileNameA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:147,52'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:151,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:156,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:157,21'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:161,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:172,27'
          Dst:             GetNamedPipeNameWithoutPrefixA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:177,27'
          Dst:             GetNamedPipeUnixDomainSocketFilePathA
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:182,25'
          Dst:             socket
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:188,8'
          Dst:             winpr_set_cloexec
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:195,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:196,11'
          Dst:             connect
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:205,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/namedPipeClient.c:214,4'
          Dst:             close
    - functionName:    GetNamedPipeClientHandleCreator
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/namedPipeClient.c'
      linkageType:     InternalLinkage
      functionLinenumber: 224
      functionLinenumberEnd: 228
      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: 1068
      functionLinenumberEnd: 1071
      functionDepth:   0
      returnType:      void
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FileCloseHandleInt
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1069,2'
          Dst:             FileCloseHandleInt
    - functionName:    FileCloseHandleInt
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 80
      functionLinenumberEnd: 107
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          92
      EdgeCount:       22
      CyclomaticComplexity: 7
      functionsReached:
        - FileIsHandled
        - fclose
        - fileno
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:83,7'
          Dst:             FileIsHandled
        - Src:             'winpr/libwinpr/file/file.c:97,7'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:99,10'
          Dst:             fclose
    - functionName:    FileIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 65
      functionLinenumberEnd: 66
      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:66,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:    13
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    FileTimeToUS
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 584
      functionLinenumberEnd: 589
      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: 594
      functionLinenumberEnd: 600
      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:595,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:596,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:    3
      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:    FileGetFileInformationByHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 379
      functionLinenumberEnd: 435
      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:390,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:390,6'
          Dst:             fstat64
        - Src:             'winpr/libwinpr/file/file.c:391,10'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:401,12'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/file/file.c:406,26'
          Dst:             strlen
    - functionName:    log_error_
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 117
      functionLinenumberEnd: 137
      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: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:123,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:128,9'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/file/file.c:130,6'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/file/file.c:133,59'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:133,44'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/file.c:134,25'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:132,3'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/file/file.c:136,29'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:136,15'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:136,2'
          Dst:             SetLastError
    - functionName:    map_posix_err
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 795
      functionLinenumberEnd: 853
      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:    15
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/file/file.c:800,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:846,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/file.c:846,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: 605
      functionLinenumberEnd: 631
      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:614,14'
          Dst:             filetimeToTimespec
        - Src:             'winpr/libwinpr/file/file.c:617,14'
          Dst:             filetimeToTimespec
        - Src:             'winpr/libwinpr/file/file.c:620,26'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:620,17'
          Dst:             futimens
        - Src:             'winpr/libwinpr/file/file.c:624,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:624,3'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/file/file.c:624,3'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:624,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:626,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:626,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:626,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: 546
      functionLinenumberEnd: 581
      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:554,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:555,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:564,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:576,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:576,6'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:577,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: 511
      functionLinenumberEnd: 540
      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:522,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:535,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:535,6'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:536,10'
          Dst:             log_error_
    - functionName:    FileLockFileEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 441
      functionLinenumberEnd: 505
      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:452,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:453,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:462,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:498,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:498,6'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:499,10'
          Dst:             log_error_
    - functionName:    FileSetFilePointerEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 204
      functionLinenumberEnd: 233
      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:211,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:226,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:227,10'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:230,32'
          Dst:             _ftelli64
    - functionName:    FileSetFilePointer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 161
      functionLinenumberEnd: 200
      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:178,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:193,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:195,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:199,16'
          Dst:             _ftelli64
    - functionName:    FileSetEndOfFile
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 141
      functionLinenumberEnd: 155
      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:147,21'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/file/file.c:151,16'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:151,6'
          Dst:             ftruncate64
        - Src:             'winpr/libwinpr/file/file.c:152,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: 352
      functionLinenumberEnd: 375
      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:357,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:364,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:368,6'
          Dst:             fflush
        - Src:             'winpr/libwinpr/file/file.c:370,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:370,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:370,3'
          Dst:             SetLastError
    - functionName:    FileGetFileSize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 307
      functionLinenumberEnd: 349
      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:317,8'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/file/file.c:321,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:325,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:327,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:331,9'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/file/file.c:335,9'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:339,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/file/file.c:341,9'
          Dst:             log_error_
    - functionName:    FileWrite
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 278
      functionLinenumberEnd: 304
      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:284,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:285,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:294,2'
          Dst:             clearerr
        - Src:             'winpr/libwinpr/file/file.c:295,14'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/file/file.c:296,24'
          Dst:             ferror
        - Src:             'winpr/libwinpr/file/file.c:298,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:298,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:298,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: 237
      functionLinenumberEnd: 274
      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:260,3'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:244,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:245,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:253,2'
          Dst:             clearerr
        - Src:             'winpr/libwinpr/file/file.c:254,14'
          Dst:             fread
        - Src:             'winpr/libwinpr/file/file.c:256,24'
          Dst:             ferror
        - Src:             'winpr/libwinpr/file/file.c:260,11'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:263,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:266,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:266,18'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:266,5'
          Dst:             SetLastError
    - functionName:    FileGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 70
      functionLinenumberEnd: 77
      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:73,7'
          Dst:             FileIsHandled
        - Src:             'winpr/libwinpr/file/file.c:76,9'
          Dst:             fileno
    - functionName:    FileCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 110
      functionLinenumberEnd: 111
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - FileCloseHandleInt
      functionUses:    3
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:111,9'
          Dst:             FileCloseHandleInt
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    FileGetMode
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 768
      functionLinenumberEnd: 792
      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:771,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    FileCreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 860
      functionLinenumberEnd: 1033
      functionDepth:   0
      returnType:      'N/A'
      argCount:        7
      argTypes:
        - 'N/A'
        - int
        - int
        - 'N/A'
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         73
      ICount:          506
      EdgeCount:       96
      CyclomaticComplexity: 25
      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
        - winpr_set_cloexec
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:863,21'
          Dst:             FileGetMode
        - Src:             'winpr/libwinpr/file/file.c:874,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/file/file.c:875,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:879,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/file.c:882,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:886,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/file/file.c:889,22'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/file.c:892,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:908,8'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/file.c:910,5'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:917,8'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/file/file.c:920,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:920,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:920,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:926,8'
          Dst:             freopen64
        - Src:             'winpr/libwinpr/file/file.c:930,7'
          Dst:             stat64
        - Src:             'winpr/libwinpr/file/file.c:932,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:932,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:932,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:943,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:951,8'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/file/file.c:958,30'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:958,16'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:958,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:969,26'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:969,8'
          Dst:             winpr_set_cloexec
        - Src:             'winpr/libwinpr/file/file.c:971,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:971,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:971,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:972,4'
          Dst:             FileCloseHandle
        - Src:             'winpr/libwinpr/file/file.c:978,8'
          Dst:             setvbuf
        - Src:             'winpr/libwinpr/file/file.c:1001,13'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1001,7'
          Dst:             flock
        - Src:             'winpr/libwinpr/file/file.c:1007,10'
          Dst:             log_error_
        - Src:             'winpr/libwinpr/file/file.c:1010,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:1010,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:1010,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1011,4'
          Dst:             FileCloseHandle
        - Src:             'winpr/libwinpr/file/file.c:1019,12'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1019,6'
          Dst:             fstat64
        - Src:             'winpr/libwinpr/file/file.c:1021,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:1021,17'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/file/file.c:1022,14'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1022,7'
          Dst:             fchmod
        - Src:             'winpr/libwinpr/file/file.c:1024,31'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:1024,17'
          Dst:             map_posix_err
        - Src:             'winpr/libwinpr/file/file.c:1024,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1025,4'
          Dst:             FileCloseHandle
        - Src:             'winpr/libwinpr/file/file.c:1031,2'
          Dst:             SetLastError
    - functionName:    winpr_fopen
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1539
      functionLinenumberEnd: 1541
      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:    13
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1541,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: 1036
      functionLinenumberEnd: 1037
      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: 1586
      functionLinenumberEnd: 1598
      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: 1569
      functionLinenumberEnd: 1583
      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:1573,12'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/file.c:1578,19'
          Dst:             GetLogicalDriveStringsA
        - Src:             'winpr/libwinpr/file/file.c:1580,3'
          Dst:             ConvertMszUtf8NToWChar
    - functionName:    GetFileHandleForFileDescriptor
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1503
      functionLinenumberEnd: 1536
      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:1512,6'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/file/file.c:1512,34'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/file/file.c:1515,10'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/file/file.c:1520,8'
          Dst:             fdopen
        - Src:             'winpr/libwinpr/file/file.c:1522,8'
          Dst:             fdopen
        - Src:             'winpr/libwinpr/file/file.c:1527,8'
          Dst:             setvbuf
        - Src:             'winpr/libwinpr/file/file.c:1530,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: 1048
      functionLinenumberEnd: 1065
      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:1052,51'
          Dst:             fileno
        - Src:             'winpr/libwinpr/file/file.c:1052,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/file/file.c:1053,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/file/file.c:1056,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1061,22'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/file/file.c:1063,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
    - functionName:    ValidFileNameComponent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1158
      functionLinenumberEnd: 1229
      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: 1132
      functionLinenumberEnd: 1147
      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:1137,23'
          Dst:             ConvertWCharToUtf8Alloc
        - Src:             'winpr/libwinpr/file/file.c:1140,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/file/file.c:1143,8'
          Dst:             GetDiskFreeSpaceA
    - functionName:    GetDiskFreeSpaceA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1113
      functionLinenumberEnd: 1126
      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:1121,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: 1107
      functionLinenumberEnd: 1108
      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: 1101
      functionLinenumberEnd: 1102
      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: 1074
      functionLinenumberEnd: 1098
      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:1077,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/file/file.c:1092,20'
          Dst:             FileHandle_New
    - functionName:    GetFileHandleCreator
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/file/file.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1043
      functionLinenumberEnd: 1044
      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: 1523
      functionLinenumberEnd: 1819
      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:1524,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CommGetFd
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 151
      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:147,7'
          Dst:             CommIsHandled
    - functionName:    CommIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1459
      functionLinenumberEnd: 1464
      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:1460,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1463,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    CommInitialized
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 198
      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:191,6'
          Dst:             pthread_once
        - Src:             'winpr/libwinpr/comm/comm.c:191,6'
          Dst:             CommInit
        - Src:             'winpr/libwinpr/comm/comm.c:193,3'
          Dst:             SetLastError
    - functionName:    WINPR_HANDLE_IS_HANDLED
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 122
      functionLinenumberEnd: 139
      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:134,3'
          Dst:             SetLastError
    - functionName:    CommInit
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 165
      functionLinenumberEnd: 183
      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:167,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:168,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:169,32'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:174,7'
          Dst:             InitializeCriticalSectionEx
        - Src:             'winpr/libwinpr/comm/comm.c:181,9'
          Dst:             WLog_Get
        - Src:             'winpr/libwinpr/comm/comm.c:182,2'
          Dst:             winpr_int_assert
    - functionName:    CommSerialEvFlagString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1880
      functionLinenumberEnd: 1916
      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:1881,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    CommSerialEvString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1919
      functionLinenumberEnd: 1942
      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:1926,2'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm.c:1934,21'
          Dst:             CommSerialEvFlagString
        - Src:             'winpr/libwinpr/comm/comm.c:1934,4'
          Dst:             winpr_str_append
        - Src:             'winpr/libwinpr/comm/comm.c:1940,8'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/comm/comm.c:1941,2'
          Dst:             winpr_str_append
    - functionName:    CommStatusErrorEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1823
      functionLinenumberEnd: 1843
      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:1824,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:1828,20'
          Dst:             CommIoCtlToStr
        - Src:             'winpr/libwinpr/comm/comm.c:1830,6'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1832,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/comm/comm.c:1835,81'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm.c:1836,41'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm.c:1836,26'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/comm/comm.c:1834,4'
          Dst:             WLog_PrintTextMessage
        - Src:             'winpr/libwinpr/comm/comm.c:1841,3'
          Dst:             SetLastError
    - functionName:    CommIoCtl_int
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1848
      functionLinenumberEnd: 1855
      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:1849,6'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/comm/comm.c:1851,8'
          Dst:             CommStatusErrorEx
    - functionName:    CommCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1480
      functionLinenumberEnd: 1506
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         21
      ICount:          129
      EdgeCount:       27
      CyclomaticComplexity: 8
      functionsReached:
        - CommIsHandled
        - DeleteCriticalSection
        - close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1483,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm.c:1486,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1487,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1488,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1491,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1494,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1497,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1500,3'
          Dst:             close
        - Src:             'winpr/libwinpr/comm/comm.c:1503,3'
          Dst:             close
    - functionName:    CommUpdateIOCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1858
      functionLinenumberEnd: 1877
      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:1860,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:1866,18'
          Dst:             ioctl
        - Src:             'winpr/libwinpr/comm/comm.c:1871,9'
          Dst:             CommStatusErrorEx
    - functionName:    comm_eventfd_cloexec
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1235
      functionLinenumberEnd: 1251
      functionDepth:   0
      returnType:      int
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         16
      ICount:          69
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - __errno_location
        - close
        - eventfd
        - fcntl64
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1236,11'
          Dst:             eventfd
        - Src:             'winpr/libwinpr/comm/comm.c:1237,19'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/comm/comm.c:1243,8'
          Dst:             eventfd
        - Src:             'winpr/libwinpr/comm/comm.c:1245,9'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/comm/comm.c:1245,49'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/comm/comm.c:1247,4'
          Dst:             close
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      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: 152
      functionLinenumberEnd: 171
      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: 1207
      functionLinenumberEnd: 1223
      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:1212,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1215,7'
          Dst:             winpr_Handle_GetInfo
        - Src:             'winpr/libwinpr/comm/comm.c:1217,3'
          Dst:             CommLog_PrintEx
    - functionName:    CommLog_PrintEx
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 213
      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:204,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:207,7'
          Dst:             WLog_IsLevelActive
        - Src:             'winpr/libwinpr/comm/comm.c:211,2'
          Dst:             WLog_PrintTextMessageVA
    - functionName:    QueryCommDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1127
      functionLinenumberEnd: 1183
      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:1129,2'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1131,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1136,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1142,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1146,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1153,8'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/comm/comm.c:1165,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1169,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1173,22'
          Dst:             strnlen
        - Src:             'winpr/libwinpr/comm/comm.c:1176,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1180,2'
          Dst:             strncpy
    - functionName:    DefineCommDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1030
      functionLinenumberEnd: 1108
      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:1034,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1037,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1041,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1045,21'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/comm/comm.c:1049,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1053,21'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/comm/comm.c:1057,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1067,9'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/comm/comm.c:1080,37'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:1084,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1096,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1101,2'
          Dst:             LeaveCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1106,2'
          Dst:             LeaveCriticalSection
    - functionName:    WaitCommEvent
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1004
      functionLinenumberEnd: 1018
      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:1007,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1015,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1016,2'
          Dst:             SetLastError
    - functionName:    TransmitCommChar
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 986
      functionLinenumberEnd: 1000
      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:989,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:997,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:998,2'
          Dst:             SetLastError
    - functionName:    EscapeCommFunction
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 969
      functionLinenumberEnd: 983
      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:972,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:980,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:981,2'
          Dst:             SetLastError
    - functionName:    SetupComm
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 947
      functionLinenumberEnd: 966
      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:952,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:958,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:961,3'
          Dst:             CommLog_PrintEx
    - functionName:    CommIsHandleValid
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1467
      functionLinenumberEnd: 1477
      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:1469,7'
          Dst:             CommIsHandled
        - Src:             'winpr/libwinpr/comm/comm.c:1473,3'
          Dst:             SetLastError
    - functionName:    PurgeComm
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 929
      functionLinenumberEnd: 944
      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:933,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:936,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:939,3'
          Dst:             CommLog_PrintEx
    - functionName:    ClearCommError
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 912
      functionLinenumberEnd: 926
      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:915,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:923,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:924,2'
          Dst:             SetLastError
    - functionName:    ClearCommBreak
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 894
      functionLinenumberEnd: 908
      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:897,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:905,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:906,2'
          Dst:             SetLastError
    - functionName:    SetCommBreak
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 877
      functionLinenumberEnd: 891
      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:880,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:888,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:889,2'
          Dst:             SetLastError
    - functionName:    SetDefaultCommConfigW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 866
      functionLinenumberEnd: 874
      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:867,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:871,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:872,2'
          Dst:             SetLastError
    - functionName:    SetDefaultCommConfigA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 854
      functionLinenumberEnd: 862
      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:855,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:859,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:860,2'
          Dst:             SetLastError
    - functionName:    GetDefaultCommConfigW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 842
      functionLinenumberEnd: 850
      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:843,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:847,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:848,2'
          Dst:             SetLastError
    - functionName:    GetDefaultCommConfigA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 830
      functionLinenumberEnd: 838
      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:831,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:835,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:836,2'
          Dst:             SetLastError
    - functionName:    SetCommTimeouts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 809
      functionLinenumberEnd: 826
      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:813,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:818,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:821,3'
          Dst:             CommLog_PrintEx
    - functionName:    GetCommTimeouts
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 785
      functionLinenumberEnd: 802
      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:789,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:794,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:797,3'
          Dst:             CommLog_PrintEx
    - functionName:    SetCommState
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 564
      functionLinenumberEnd: 778
      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:640,2'
          Branch Sides:    []
        - Branch String:   'winpr/libwinpr/comm/comm.c:690,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:571,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:576,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:586,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:589,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:595,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:599,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:609,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:612,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:621,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:624,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:655,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:693,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:710,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:725,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:728,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:734,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm.c:737,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:748,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:771,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm.c:773,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: 405
      functionLinenumberEnd: 550
      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:411,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:416,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:422,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:426,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm.c:428,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:432,21'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:436,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:444,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:447,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:456,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:462,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:465,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:510,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:510,23'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:511,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:511,24'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/comm/comm.c:516,8'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:519,4'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:531,8'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:534,4'
          Dst:             CommLog_PrintEx
    - functionName:    GetCommProperties
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 378
      functionLinenumberEnd: 393
      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:382,7'
          Dst:             CommIsHandleValid
        - Src:             'winpr/libwinpr/comm/comm.c:385,7'
          Dst:             CommDeviceIoControl
        - Src:             'winpr/libwinpr/comm/comm.c:388,3'
          Dst:             CommLog_PrintEx
    - functionName:    GetCommModemStatus
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 370
      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:359,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:367,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:368,2'
          Dst:             SetLastError
    - functionName:    SetCommMask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 339
      functionLinenumberEnd: 353
      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:342,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:350,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:351,2'
          Dst:             SetLastError
    - functionName:    GetCommMask
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 322
      functionLinenumberEnd: 336
      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:325,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:333,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:334,2'
          Dst:             SetLastError
    - functionName:    SetCommConfig
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 305
      functionLinenumberEnd: 319
      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:308,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:316,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:317,2'
          Dst:             SetLastError
    - functionName:    GetCommConfig
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 287
      functionLinenumberEnd: 301
      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:290,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:298,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:299,2'
          Dst:             SetLastError
    - functionName:    CommConfigDialogW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 275
      functionLinenumberEnd: 283
      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:276,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:280,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:281,2'
          Dst:             SetLastError
    - functionName:    CommConfigDialogA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 263
      functionLinenumberEnd: 271
      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:264,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:268,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:269,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBAndTimeoutsW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 251
      functionLinenumberEnd: 259
      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:252,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:256,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:257,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBAndTimeoutsA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 239
      functionLinenumberEnd: 247
      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:240,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:244,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:245,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 227
      functionLinenumberEnd: 235
      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:228,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:232,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:233,2'
          Dst:             SetLastError
    - functionName:    BuildCommDCBA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 216
      functionLinenumberEnd: 224
      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:217,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:221,2'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:222,2'
          Dst:             SetLastError
    - functionName:    CommCreateFileA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1283
      functionLinenumberEnd: 1456
      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_eventfd_cloexec
        - comm_ioctl_tcsetattr
        - open64
        - stat64
        - tcgetattr
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/comm/comm.c:1289,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1294,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1300,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1309,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1315,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1319,6'
          Dst:             QueryCommDevice
        - Src:             'winpr/libwinpr/comm/comm.c:1325,6'
          Dst:             stat64
        - Src:             'winpr/libwinpr/comm/comm.c:1327,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1328,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1334,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1335,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1341,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1347,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1351,23'
          Dst:             calloc
        - Src:             'winpr/libwinpr/comm/comm.c:1355,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1359,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/comm/comm.c:1362,14'
          Dst:             open64
        - Src:             'winpr/libwinpr/comm/comm.c:1366,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1367,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1371,19'
          Dst:             open64
        - Src:             'winpr/libwinpr/comm/comm.c:1375,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1376,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1381,25'
          Dst:             comm_eventfd_cloexec
        - Src:             'winpr/libwinpr/comm/comm.c:1386,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1387,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1391,2'
          Dst:             InitializeCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1392,20'
          Dst:             open64
        - Src:             'winpr/libwinpr/comm/comm.c:1396,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1397,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1402,26'
          Dst:             comm_eventfd_cloexec
        - Src:             'winpr/libwinpr/comm/comm.c:1407,3'
          Dst:             CommLog_PrintEx
        - Src:             'winpr/libwinpr/comm/comm.c:1408,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1412,2'
          Dst:             InitializeCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1415,2'
          Dst:             InitializeCriticalSection
        - Src:             'winpr/libwinpr/comm/comm.c:1417,8'
          Dst:             CommUpdateIOCount
        - Src:             'winpr/libwinpr/comm/comm.c:1424,6'
          Dst:             tcgetattr
        - Src:             'winpr/libwinpr/comm/comm.c:1426,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1444,6'
          Dst:             comm_ioctl_tcsetattr
        - Src:             'winpr/libwinpr/comm/comm.c:1446,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/comm/comm.c:1453,53'
          Dst:             CloseHandle
    - functionName:    IsCommDevice
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1189
      functionLinenumberEnd: 1201
      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:1192,7'
          Dst:             CommInitialized
        - Src:             'winpr/libwinpr/comm/comm.c:1195,6'
          Dst:             QueryCommDevice
    - functionName:    GetCommHandleCreator
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/comm/comm.c'
      linkageType:     InternalLinkage
      functionLinenumber: 154
      functionLinenumberEnd: 158
      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: 132
      functionLinenumberEnd: 141
      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: 122
      functionLinenumberEnd: 139
      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:134,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:    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:    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: 87
      functionLinenumberEnd: 94
      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:90,7'
          Dst:             PipeIsHandled
    - functionName:    PipeIsHandled
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 82
      functionLinenumberEnd: 83
      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:83,9'
          Dst:             WINPR_HANDLE_IS_HANDLED
    - functionName:    PipeCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 97
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - PipeIsHandled
        - close
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:100,7'
          Dst:             PipeIsHandled
        - Src:             'winpr/libwinpr/pipe/pipe.c:105,3'
          Dst:             close
    - functionName:    GetNamedPipeClientComputerNameW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 977
      functionLinenumberEnd: 980
      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:978,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:979,2'
          Dst:             SetLastError
    - functionName:    GetNamedPipeClientComputerNameA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 968
      functionLinenumberEnd: 971
      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:969,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:970,2'
          Dst:             SetLastError
    - functionName:    ImpersonateNamedPipeClient
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 959
      functionLinenumberEnd: 962
      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:960,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:961,2'
          Dst:             SetLastError
    - functionName:    SetNamedPipeHandleState
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 919
      functionLinenumberEnd: 956
      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:933,11'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/pipe/pipe.c:943,7'
          Dst:             fcntl64
    - functionName:    WaitNamedPipeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 909
      functionLinenumberEnd: 912
      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:910,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:911,2'
          Dst:             SetLastError
    - functionName:    WaitNamedPipeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 871
      functionLinenumberEnd: 906
      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:880,15'
          Dst:             GetNamedPipeUnixDomainSocketFilePathA
        - Src:             'winpr/libwinpr/pipe/pipe.c:892,10'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/pipe/pipe.c:894,3'
          Dst:             Sleep
    - functionName:    TransactNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 864
      functionLinenumberEnd: 867
      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:865,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:866,2'
          Dst:             SetLastError
    - functionName:    PeekNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 853
      functionLinenumberEnd: 856
      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:854,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:855,2'
          Dst:             SetLastError
    - functionName:    DisconnectNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 836
      functionLinenumberEnd: 846
      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:842,3'
          Dst:             close
    - functionName:    ConnectNamedPipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 771
      functionLinenumberEnd: 833
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         17
      ICount:          125
      EdgeCount:       23
      CyclomaticComplexity: 8
      functionsReached:
        - SetEvent
        - SetLastError
        - WLog_Print_dbg_tag
        - accept4
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:778,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:779,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:793,12'
          Dst:             accept4
        - Src:             'winpr/libwinpr/pipe/pipe.c:800,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:829,9'
          Dst:             SetEvent
    - functionName:    accept4
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - int
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    CreateNamedPipeW
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 764
      functionLinenumberEnd: 767
      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:765,2'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:766,2'
          Dst:             SetLastError
    - functionName:    NamedPipeCloseHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 256
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          113
      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:245,3'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:251,3'
          Dst:             close
    - functionName:    winpr_unref_named_pipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 537
      functionLinenumberEnd: 574
      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:543,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:544,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:546,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/pipe/pipe.c:548,33'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/pipe/pipe.c:551,36'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/pipe/pipe.c:552,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:554,8'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/pipe/pipe.c:556,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:557,4'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/pipe/pipe.c:563,5'
          Dst:             ArrayList_Remove
        - Src:             'winpr/libwinpr/pipe/pipe.c:564,5'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:573,2'
          Dst:             ArrayList_Unlock
    - functionName:    InitWinPRPipeModule
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 465
      functionLinenumberEnd: 471
      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:469,29'
          Dst:             ArrayList_New
    - functionName:    CreateNamedPipeA
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 579
      functionLinenumberEnd: 756
      functionDepth:   0
      returnType:      'N/A'
      argCount:        8
      argTypes:
        - 'N/A'
        - int
        - int
        - int
        - int
        - int
        - int
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
        - ''
      BBCount:         59
      ICount:          442
      EdgeCount:       82
      CyclomaticComplexity: 25
      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
        - fcntl64
        - listen
        - snprintf
        - socket
        - strcmp
        - winpr_DeleteFile
        - winpr_PathFileExists
        - winpr_set_cloexec
        - winpr_strerror
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:589,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:590,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:597,7'
          Dst:             InitWinPRPipeModule
        - Src:             'winpr/libwinpr/pipe/pipe.c:600,34'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pipe/pipe.c:605,2'
          Dst:             ArrayList_Lock
        - Src:             'winpr/libwinpr/pipe/pipe.c:606,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/pipe/pipe.c:610,27'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/pipe/pipe.c:613,33'
          Dst:             GetNamedPipeNameWithoutPrefixA
        - Src:             'winpr/libwinpr/pipe/pipe.c:616,33'
          Dst:             GetNamedPipeUnixDomainSocketFilePathA
        - Src:             'winpr/libwinpr/pipe/pipe.c:630,33'
          Dst:             ArrayList_Count
        - Src:             'winpr/libwinpr/pipe/pipe.c:633,36'
          Dst:             ArrayList_GetItem
        - Src:             'winpr/libwinpr/pipe/pipe.c:635,8'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/pipe/pipe.c:649,22'
          Dst:             GetNamedPipeUnixDomainSocketBaseFilePathA
        - Src:             'winpr/libwinpr/pipe/pipe.c:652,8'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/pipe/pipe.c:654,9'
          Dst:             CreateDirectoryA
        - Src:             'winpr/libwinpr/pipe/pipe.c:660,4'
          Dst:             UnixChangeFileMode
        - Src:             'winpr/libwinpr/pipe/pipe.c:665,7'
          Dst:             winpr_PathFileExists
        - Src:             'winpr/libwinpr/pipe/pipe.c:666,4'
          Dst:             winpr_DeleteFile
        - Src:             'winpr/libwinpr/pipe/pipe.c:668,19'
          Dst:             socket
        - Src:             'winpr/libwinpr/pipe/pipe.c:671,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:671,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/pipe/pipe.c:671,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:679,8'
          Dst:             winpr_set_cloexec
        - Src:             'winpr/libwinpr/pipe/pipe.c:681,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:686,9'
          Dst:             snprintf
        - Src:             'winpr/libwinpr/pipe/pipe.c:688,7'
          Dst:             bind
        - Src:             'winpr/libwinpr/pipe/pipe.c:691,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:691,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/pipe/pipe.c:691,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:696,7'
          Dst:             listen
        - Src:             'winpr/libwinpr/pipe/pipe.c:699,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:699,4'
          Dst:             winpr_strerror
        - Src:             'winpr/libwinpr/pipe/pipe.c:699,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:704,3'
          Dst:             UnixChangeFileMode
        - Src:             'winpr/libwinpr/pipe/pipe.c:709,28'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/pipe/pipe.c:718,8'
          Dst:             ArrayList_Append
        - Src:             'winpr/libwinpr/pipe/pipe.c:732,25'
          Dst:             fcntl64
        - Src:             'winpr/libwinpr/pipe/pipe.c:741,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:745,2'
          Dst:             ArrayList_Unlock
        - Src:             'winpr/libwinpr/pipe/pipe.c:748,2'
          Dst:             NamedPipeCloseHandle
        - Src:             'winpr/libwinpr/pipe/pipe.c:752,3'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:754,2'
          Dst:             ArrayList_Unlock
    - functionName:    WINPR_HANDLE_SET_TYPE_AND_MODE
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/../handle/handle.h'
      linkageType:     InternalLinkage
      functionLinenumber: 142
      functionLinenumberEnd: 148
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - int
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         1
      ICount:          24
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    3
      BranchProfiles:  []
      Callsites:       []
    - functionName:    NamedPipeRead
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 260
      functionLinenumberEnd: 345
      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:285,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:273,16'
          Dst:             read
        - Src:             'winpr/libwinpr/pipe/pipe.c:274,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:278,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:285,12'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:288,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:292,6'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:305,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:306,4'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:340,9'
          Dst:             SetEvent
    - functionName:    NamedPipeWrite
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 440
      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:377,4'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:356,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:357,3'
          Dst:             SetLastError
        - Src:             'winpr/libwinpr/pipe/pipe.c:370,16'
          Dst:             write
        - Src:             'winpr/libwinpr/pipe/pipe.c:371,32'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:377,12'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/pipe/pipe.c:435,9'
          Dst:             SetEvent
    - functionName:    CreatePipe
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/pipe/pipe.c'
      linkageType:     InternalLinkage
      functionLinenumber: 478
      functionLinenumberEnd: 530
      functionDepth:   0
      returnType:      int
      argCount:        4
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
        - ''
      BBCount:         22
      ICount:          163
      EdgeCount:       28
      CyclomaticComplexity: 8
      functionsReached:
        - WINPR_HANDLE_SET_TYPE_AND_MODE
        - WLog_Print_dbg_tag
        - calloc
        - close
        - pipe2
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/pipe/pipe.c:492,6'
          Dst:             pipe2
        - Src:             'winpr/libwinpr/pipe/pipe.c:498,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:502,27'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pipe/pipe.c:503,28'
          Dst:             calloc
        - Src:             'winpr/libwinpr/pipe/pipe.c:507,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/pipe/pipe.c:513,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/pipe/pipe.c:516,2'
          Dst:             WINPR_HANDLE_SET_TYPE_AND_MODE
        - Src:             'winpr/libwinpr/pipe/pipe.c:526,3'
          Dst:             close
        - Src:             'winpr/libwinpr/pipe/pipe.c:528,3'
          Dst:             close
    - functionName:    pipe2
      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:    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:    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:    reg_unload_value
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 434
      functionLinenumberEnd: 448
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          59
      EdgeCount:       35
      CyclomaticComplexity: 19
      functionsReached:
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry_reg.c:438,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:435,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:436,2'
          Dst:             winpr_int_assert
    - functionName:    reg_unload_key
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 451
      functionLinenumberEnd: 468
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         18
      ICount:          72
      EdgeCount:       19
      CyclomaticComplexity: 3
      functionsReached:
        - reg_unload_value
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:454,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:455,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:462,3'
          Dst:             reg_unload_value
    - functionName:    reg_data_type_string
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 57
      functionLinenumberEnd: 87
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       28
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry_reg.c:58,2'
          Branch Sides:    []
      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:    reg_insert_key
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 309
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      void
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         41
      ICount:          144
      EdgeCount:       46
      CyclomaticComplexity: 7
      functionsReached:
        - _strdup
        - strcmp
        - strtok_s
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:314,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:315,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:316,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:317,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:319,9'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/registry/registry_reg.c:324,9'
          Dst:             strtok_s
        - Src:             'winpr/libwinpr/registry/registry_reg.c:328,7'
          Dst:             strcmp
        - Src:             'winpr/libwinpr/registry/registry_reg.c:331,23'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/registry/registry_reg.c:341,10'
          Dst:             strtok_s
    - functionName:    reg_load_value
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 281
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         120
      ICount:          599
      EdgeCount:       143
      CyclomaticComplexity: 25
      functionsReached:
        - WLog_Print_dbg_tag
        - __errno_location
        - _strdup
        - calloc
        - reg_data_type_string
        - strchr
        - strlen
        - strncmp
        - strstr
        - strtoul
        - strtoull
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry_reg.c:197,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:144,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:145,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:146,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:149,9'
          Dst:             strstr
        - Src:             'winpr/libwinpr/registry/registry_reg.c:159,10'
          Dst:             strchr
        - Src:             'winpr/libwinpr/registry/registry_reg.c:169,16'
          Dst:             calloc
        - Src:             'winpr/libwinpr/registry/registry_reg.c:175,19'
          Dst:             calloc
        - Src:             'winpr/libwinpr/registry/registry_reg.c:186,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:187,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:188,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:190,7'
          Dst:             strncmp
        - Src:             'winpr/libwinpr/registry/registry_reg.c:202,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/registry/registry_reg.c:203,10'
          Dst:             strtoul
        - Src:             'winpr/libwinpr/registry/registry_reg.c:205,9'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/registry/registry_reg.c:207,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/registry/registry_reg.c:216,4'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/registry/registry_reg.c:217,10'
          Dst:             strtoull
        - Src:             'winpr/libwinpr/registry/registry_reg.c:219,9'
          Dst:             __errno_location
        - Src:             'winpr/libwinpr/registry/registry_reg.c:221,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/registry/registry_reg.c:230,18'
          Dst:             strchr
        - Src:             'winpr/libwinpr/registry/registry_reg.c:235,23'
          Dst:             strlen
        - Src:             'winpr/libwinpr/registry/registry_reg.c:236,16'
          Dst:             strchr
        - Src:             'winpr/libwinpr/registry/registry_reg.c:240,29'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:240,29'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:246,25'
          Dst:             _strdup
        - Src:             'winpr/libwinpr/registry/registry_reg.c:253,4'
          Dst:             reg_data_type_string
        - Src:             'winpr/libwinpr/registry/registry_reg.c:253,4'
          Dst:             WLog_Print_dbg_tag
    - functionName:    strtoull
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      size_t
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reg_load_peek_next_line
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 303
      functionLinenumberEnd: 305
      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/libwinpr/registry/registry_reg.c:304,2'
          Dst:             winpr_int_assert
    - 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:    reg_load_finish
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         8
      ICount:          40
      EdgeCount:       10
      CyclomaticComplexity: 4
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reg_load_key
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 348
      functionLinenumberEnd: 414
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         43
      ICount:          228
      EdgeCount:       51
      CyclomaticComplexity: 10
      functionsReached:
        - calloc
        - reg_insert_key
        - reg_load_get_next_line
        - reg_load_has_next_line
        - reg_load_peek_next_line
        - reg_load_value
        - strrchr
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:353,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:354,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:356,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:358,9'
          Dst:             strrchr
        - Src:             'winpr/libwinpr/registry/registry_reg.c:362,20'
          Dst:             calloc
        - Src:             'winpr/libwinpr/registry/registry_reg.c:379,9'
          Dst:             reg_load_has_next_line
        - Src:             'winpr/libwinpr/registry/registry_reg.c:381,16'
          Dst:             reg_load_peek_next_line
        - Src:             'winpr/libwinpr/registry/registry_reg.c:386,3'
          Dst:             reg_load_get_next_line
        - Src:             'winpr/libwinpr/registry/registry_reg.c:390,4'
          Dst:             reg_load_value
        - Src:             'winpr/libwinpr/registry/registry_reg.c:394,2'
          Dst:             reg_insert_key
    - functionName:    reg_load_has_next_line
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 284
      functionLinenumberEnd: 289
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         4
      ICount:          27
      EdgeCount:       4
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    reg_load_get_next_line
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 292
      functionLinenumberEnd: 300
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          50
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - strlen
        - strtok_s
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:297,19'
          Dst:             strtok_s
        - Src:             'winpr/libwinpr/registry/registry_reg.c:298,21'
          Dst:             strlen
    - functionName:    reg_load_start
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 121
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         26
      ICount:          151
      EdgeCount:       31
      CyclomaticComplexity: 7
      functionsReached:
        - _fseeki64
        - _ftelli64
        - fread
        - realloc
        - strtok_s
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:94,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:95,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:97,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/registry/registry_reg.c:99,14'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/registry/registry_reg.c:100,6'
          Dst:             _fseeki64
        - Src:             'winpr/libwinpr/registry/registry_reg.c:108,18'
          Dst:             realloc
        - Src:             'winpr/libwinpr/registry/registry_reg.c:114,6'
          Dst:             fread
        - Src:             'winpr/libwinpr/registry/registry_reg.c:119,19'
          Dst:             strtok_s
    - functionName:    reg_type_string
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 542
      functionLinenumberEnd: 572
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          77
      EdgeCount:       28
      CyclomaticComplexity: 15
      functionsReached: []
      functionUses:    2
      BranchProfiles:
        - Branch String:   'winpr/libwinpr/registry/registry_reg.c:543,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    reg_unload
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 471
      functionLinenumberEnd: 486
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         15
      ICount:          67
      EdgeCount:       17
      CyclomaticComplexity: 4
      functionsReached:
        - reg_unload_key
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:472,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/registry/registry_reg.c:480,4'
          Dst:             reg_unload_key
    - functionName:    reg_close
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 530
      functionLinenumberEnd: 539
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          46
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - fclose
        - reg_unload
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:533,3'
          Dst:             reg_unload
        - Src:             'winpr/libwinpr/registry/registry_reg.c:535,10'
          Dst:             fclose
    - functionName:    reg_load
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 417
      functionLinenumberEnd: 431
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          51
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - reg_load_finish
        - reg_load_get_next_line
        - reg_load_has_next_line
        - reg_load_key
        - reg_load_start
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:418,2'
          Dst:             reg_load_start
        - Src:             'winpr/libwinpr/registry/registry_reg.c:420,9'
          Dst:             reg_load_has_next_line
        - Src:             'winpr/libwinpr/registry/registry_reg.c:422,3'
          Dst:             reg_load_get_next_line
        - Src:             'winpr/libwinpr/registry/registry_reg.c:426,4'
          Dst:             reg_load_key
        - Src:             'winpr/libwinpr/registry/registry_reg.c:430,2'
          Dst:             reg_load_finish
    - functionName:    reg_open
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/registry/registry_reg.c'
      linkageType:     InternalLinkage
      functionLinenumber: 489
      functionLinenumberEnd: 527
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         19
      ICount:          137
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - calloc
        - reg_close
        - reg_load
        - winpr_GetConfigFilePath
        - winpr_fopen
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/registry/registry_reg.c:490,19'
          Dst:             calloc
        - Src:             'winpr/libwinpr/registry/registry_reg.c:496,18'
          Dst:             winpr_GetConfigFilePath
        - Src:             'winpr/libwinpr/registry/registry_reg.c:501,13'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/registry/registry_reg.c:504,13'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/registry/registry_reg.c:507,14'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/registry/registry_reg.c:513,27'
          Dst:             calloc
        - Src:             'winpr/libwinpr/registry/registry_reg.c:521,2'
          Dst:             reg_load
        - Src:             'winpr/libwinpr/registry/registry_reg.c:525,2'
          Dst:             reg_close
    - functionName:    WINPR_JSON_PrintUnformatted
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 340
      functionLinenumberEnd: 345
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _strdup
        - json_object_to_json_string_ext
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:341,20'
          Dst:             json_object_to_json_string_ext
        - Src:             'winpr/libwinpr/utils/json/json-c.c:344,9'
          Dst:             _strdup
    - functionName:    json_object_to_json_string_ext
      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:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_Print
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 332
      functionLinenumberEnd: 337
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          34
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _strdup
        - json_object_to_json_string_ext
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:333,20'
          Dst:             json_object_to_json_string_ext
        - Src:             'winpr/libwinpr/utils/json/json-c.c:336,9'
          Dst:             _strdup
    - functionName:    WINPR_JSON_AddArrayToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 321
      functionLinenumberEnd: 329
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_array
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:322,28'
          Dst:             json_object_new_array
        - Src:             'winpr/libwinpr/utils/json/json-c.c:323,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:325,3'
          Dst:             json_object_put
    - functionName:    json_object_new_array
      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:    json_object_object_add
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_object_put
      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:    10
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_AddItemToArray
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 313
      functionLinenumberEnd: 318
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          36
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_array_add
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:314,17'
          Dst:             json_object_array_add
    - functionName:    json_object_array_add
      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_JSON_AddObjectToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 302
      functionLinenumberEnd: 310
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_object
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:303,28'
          Dst:             json_object_new_object
        - Src:             'winpr/libwinpr/utils/json/json-c.c:304,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:306,3'
          Dst:             json_object_put
    - functionName:    json_object_new_object
      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_JSON_AddStringToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 291
      functionLinenumberEnd: 299
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_string
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:292,28'
          Dst:             json_object_new_string
        - Src:             'winpr/libwinpr/utils/json/json-c.c:293,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:295,3'
          Dst:             json_object_put
    - functionName:    json_object_new_string
      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_JSON_AddIntegerToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 280
      functionLinenumberEnd: 288
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_int64
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:281,28'
          Dst:             json_object_new_int64
        - Src:             'winpr/libwinpr/utils/json/json-c.c:282,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:284,3'
          Dst:             json_object_put
    - functionName:    json_object_new_int64
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_AddNumberToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 269
      functionLinenumberEnd: 277
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - double
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_double
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:270,28'
          Dst:             json_object_new_double
        - Src:             'winpr/libwinpr/utils/json/json-c.c:271,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:273,3'
          Dst:             json_object_put
    - functionName:    json_object_new_double
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - double
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_AddBoolToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 258
      functionLinenumberEnd: 266
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         6
      ICount:          43
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_boolean
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:259,28'
          Dst:             json_object_new_boolean
        - Src:             'winpr/libwinpr/utils/json/json-c.c:260,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:262,3'
          Dst:             json_object_put
    - functionName:    json_object_new_boolean
      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:    6
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_AddFalseToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 247
      functionLinenumberEnd: 255
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_boolean
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:248,28'
          Dst:             json_object_new_boolean
        - Src:             'winpr/libwinpr/utils/json/json-c.c:249,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:251,3'
          Dst:             json_object_put
    - functionName:    WINPR_JSON_AddTrueToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 236
      functionLinenumberEnd: 244
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_boolean
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:237,28'
          Dst:             json_object_new_boolean
        - Src:             'winpr/libwinpr/utils/json/json-c.c:238,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:240,3'
          Dst:             json_object_put
    - functionName:    WINPR_JSON_AddNullToObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 223
      functionLinenumberEnd: 233
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         6
      ICount:          40
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_new_null
        - json_object_object_add
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:224,28'
          Dst:             json_object_new_null
        - Src:             'winpr/libwinpr/utils/json/json-c.c:225,6'
          Dst:             json_object_object_add
        - Src:             'winpr/libwinpr/utils/json/json-c.c:227,3'
          Dst:             json_object_put
    - functionName:    json_object_new_null
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 35
      functionLinenumberEnd: 36
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         1
      ICount:          4
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_CreateObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 218
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_object
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:219,9'
          Dst:             json_object_new_object
    - functionName:    WINPR_JSON_CreateArray
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 213
      functionLinenumberEnd: 214
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_array
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:214,9'
          Dst:             json_object_new_array
    - functionName:    WINPR_JSON_CreateString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 208
      functionLinenumberEnd: 209
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_string
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:209,9'
          Dst:             json_object_new_string
    - functionName:    WINPR_JSON_CreateNumber
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 203
      functionLinenumberEnd: 204
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - double
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_double
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:204,9'
          Dst:             json_object_new_double
    - functionName:    WINPR_JSON_CreateBool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 198
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - int
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_boolean
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:199,9'
          Dst:             json_object_new_boolean
    - functionName:    WINPR_JSON_CreateFalse
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 193
      functionLinenumberEnd: 194
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_boolean
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:194,9'
          Dst:             json_object_new_boolean
    - functionName:    WINPR_JSON_CreateTrue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 188
      functionLinenumberEnd: 189
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_boolean
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:189,9'
          Dst:             json_object_new_boolean
    - functionName:    WINPR_JSON_CreateNull
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 183
      functionLinenumberEnd: 184
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_new_null
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:184,9'
          Dst:             json_object_new_null
    - functionName:    WINPR_JSON_IsTrue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 149
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_get_boolean
        - json_object_is_type
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:145,7'
          Dst:             json_object_is_type
        - Src:             'winpr/libwinpr/utils/json/json-c.c:147,18'
          Dst:             json_object_get_boolean
    - functionName:    json_object_is_type
      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:    9
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_object_get_boolean
      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:    WINPR_JSON_IsFalse
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 136
      functionLinenumberEnd: 141
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          38
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_get_boolean
        - json_object_is_type
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:137,7'
          Dst:             json_object_is_type
        - Src:             'winpr/libwinpr/utils/json/json-c.c:139,18'
          Dst:             json_object_get_boolean
    - functionName:    WINPR_JSON_IsString
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 168
      functionLinenumberEnd: 169
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_is_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:169,9'
          Dst:             json_object_is_type
    - functionName:    WINPR_JSON_IsBool
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 152
      functionLinenumberEnd: 153
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_is_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:153,9'
          Dst:             json_object_is_type
    - functionName:    WINPR_JSON_IsNumber
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 162
      functionLinenumberEnd: 164
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          32
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - json_object_is_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:163,9'
          Dst:             json_object_is_type
        - Src:             'winpr/libwinpr/utils/json/json-c.c:164,9'
          Dst:             json_object_is_type
    - functionName:    WINPR_JSON_IsNull
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 157
      functionLinenumberEnd: 158
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_is_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:158,9'
          Dst:             json_object_is_type
    - functionName:    WINPR_JSON_IsObject
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 178
      functionLinenumberEnd: 179
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_is_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:179,9'
          Dst:             json_object_is_type
    - functionName:    WINPR_JSON_IsArray
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 173
      functionLinenumberEnd: 174
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_is_type
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:174,9'
          Dst:             json_object_is_type
    - functionName:    WINPR_JSON_IsInvalid
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 119
      functionLinenumberEnd: 133
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          80
      EdgeCount:       22
      CyclomaticComplexity: 8
      functionsReached:
        - WINPR_JSON_IsArray
        - WINPR_JSON_IsBool
        - WINPR_JSON_IsNull
        - WINPR_JSON_IsNumber
        - WINPR_JSON_IsObject
        - WINPR_JSON_IsString
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:120,6'
          Dst:             WINPR_JSON_IsArray
        - Src:             'winpr/libwinpr/utils/json/json-c.c:122,6'
          Dst:             WINPR_JSON_IsObject
        - Src:             'winpr/libwinpr/utils/json/json-c.c:124,6'
          Dst:             WINPR_JSON_IsNull
        - Src:             'winpr/libwinpr/utils/json/json-c.c:126,6'
          Dst:             WINPR_JSON_IsNumber
        - Src:             'winpr/libwinpr/utils/json/json-c.c:128,6'
          Dst:             WINPR_JSON_IsBool
        - Src:             'winpr/libwinpr/utils/json/json-c.c:130,6'
          Dst:             WINPR_JSON_IsString
    - functionName:    WINPR_JSON_GetNumberValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 114
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      double
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_get_double
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:115,9'
          Dst:             json_object_get_double
    - functionName:    json_object_get_double
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      double
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_GetStringValue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 109
      functionLinenumberEnd: 110
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_get_string
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:110,9'
          Dst:             json_object_get_string
    - functionName:    json_object_get_string
      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_JSON_GetErrorPtr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 105
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         3
      ICount:          12
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_util_get_last_err
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:105,9'
          Dst:             json_util_get_last_err
    - functionName:    json_util_get_last_err
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_HasObjectItem
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 99
      functionLinenumberEnd: 100
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_object_get_ex
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:100,9'
          Dst:             json_object_object_get_ex
    - functionName:    json_object_object_get_ex
      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:    WINPR_JSON_GetObjectItemCaseSensitive
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 94
      functionLinenumberEnd: 95
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_object_get
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:95,9'
          Dst:             json_object_object_get
    - functionName:    json_object_object_get
      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:    WINPR_JSON_GetObjectItem
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 78
      functionLinenumberEnd: 91
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          57
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - _stricmp
        - json_object_iter_begin
        - json_object_iter_end
        - json_object_iter_equal
        - json_object_iter_next
        - json_object_iter_peek_name
        - json_object_iter_peek_value
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:79,35'
          Dst:             json_object_iter_begin
        - Src:             'winpr/libwinpr/utils/json/json-c.c:80,38'
          Dst:             json_object_iter_end
        - Src:             'winpr/libwinpr/utils/json/json-c.c:81,10'
          Dst:             json_object_iter_equal
        - Src:             'winpr/libwinpr/utils/json/json-c.c:83,21'
          Dst:             json_object_iter_peek_name
        - Src:             'winpr/libwinpr/utils/json/json-c.c:84,7'
          Dst:             _stricmp
        - Src:             'winpr/libwinpr/utils/json/json-c.c:86,11'
          Dst:             json_object_iter_peek_value
        - Src:             'winpr/libwinpr/utils/json/json-c.c:88,3'
          Dst:             json_object_iter_next
    - functionName:    json_object_iter_begin
      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:    json_object_iter_end
      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:    json_object_iter_equal
      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:    json_object_iter_peek_name
      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:    json_object_iter_peek_value
      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:    json_object_iter_next
      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_JSON_GetArraySize
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 73
      functionLinenumberEnd: 74
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_array_length
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:74,9'
          Dst:             json_object_array_length
    - functionName:    json_object_array_length
      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:    WINPR_JSON_GetArrayItem
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 68
      functionLinenumberEnd: 69
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          18
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_array_get_idx
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:69,9'
          Dst:             json_object_array_get_idx
    - functionName:    json_object_array_get_idx
      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_JSON_Delete
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 63
      functionLinenumberEnd: 65
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_object_put
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:64,2'
          Dst:             json_object_put
    - functionName:    WINPR_JSON_ParseWithLength
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 52
      functionLinenumberEnd: 60
      functionDepth:   0
      returnType:      'N/A'
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          56
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - json_tokener_free
        - json_tokener_new
        - json_tokener_parse_ex
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:53,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/json/json-c.c:54,22'
          Dst:             json_tokener_new
        - Src:             'winpr/libwinpr/utils/json/json-c.c:57,21'
          Dst:             json_tokener_parse_ex
        - Src:             'winpr/libwinpr/utils/json/json-c.c:58,2'
          Dst:             json_tokener_free
    - functionName:    json_tokener_new
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_tokener_parse_ex
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - int
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    json_tokener_free
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    WINPR_JSON_Parse
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 47
      functionLinenumberEnd: 48
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          15
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_tokener_parse
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:48,9'
          Dst:             json_tokener_parse
    - functionName:    json_tokener_parse
      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_JSON_version
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/json/json-c.c'
      linkageType:     InternalLinkage
      functionLinenumber: 42
      functionLinenumberEnd: 43
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         3
      ICount:          19
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - json_c_version
        - snprintf
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/json/json-c.c:43,45'
          Dst:             json_c_version
        - Src:             'winpr/libwinpr/utils/json/json-c.c:43,9'
          Dst:             snprintf
    - functionName:    json_c_version
      functionSourceFile: ''
      linkageType:     externalLinkage
      functionLinenumber: -1
      functionLinenumberEnd: 0
      functionDepth:   0
      returnType:      'N/A'
      argCount:        0
      argTypes:        []
      constantsTouched: []
      argNames:        []
      BBCount:         0
      ICount:          0
      EdgeCount:       0
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    1
      BranchProfiles:  []
      Callsites:       []
    - functionName:    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:    winpr_ObjectStringFree
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Object.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:    winpr_ObjectWStringClone
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 32
      functionLinenumberEnd: 37
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _wcsdup
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Object.c:36,9'
          Dst:             _wcsdup
    - functionName:    winpr_ObjectStringClone
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Object.c'
      linkageType:     InternalLinkage
      functionLinenumber: 24
      functionLinenumberEnd: 29
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - _strdup
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Object.c:28,9'
          Dst:             _strdup
    - functionName:    Queue_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 397
      functionLinenumberEnd: 409
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          50
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - CloseHandle
        - DeleteCriticalSection
        - Queue_Clear
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:403,3'
          Dst:             Queue_Clear
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:404,3'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:406,8'
          Dst:             CloseHandle
    - functionName:    Queue_Clear
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 144
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         10
      ICount:          95
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - Queue_Lock
        - Queue_Unlock
        - ResetEvent
        - uptr2void
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:145,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:151,16'
          Dst:             uptr2void
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:160,8'
          Dst:             ResetEvent
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:161,2'
          Dst:             Queue_Unlock
    - functionName:    Queue_Lock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 102
      functionLinenumberEnd: 106
      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:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:103,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:105,3'
          Dst:             EnterCriticalSection
    - functionName:    uptr2void
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 50
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    4
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Queue_Unlock
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 113
      functionLinenumberEnd: 117
      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:    8
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:114,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:116,3'
          Dst:             LeaveCriticalSection
    - functionName:    default_queue_equals
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 349
      functionLinenumberEnd: 350
      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:    Queue_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 358
      functionLinenumberEnd: 394
      functionDepth:   0
      returnType:      'N/A'
      argCount:        3
      argTypes:
        - int
        - size_t
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         19
      ICount:          119
      EdgeCount:       25
      CyclomaticComplexity: 8
      functionsReached:
        - CreateEventA
        - InitializeCriticalSectionAndSpinCount
        - Queue_EnsureCapacity
        - Queue_Free
        - Queue_Object
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:359,27'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:372,7'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:375,7'
          Dst:             Queue_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:378,17'
          Dst:             CreateEventA
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:384,18'
          Dst:             Queue_Object
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:391,2'
          Dst:             Queue_Free
    - functionName:    Queue_EnsureCapacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 190
      functionLinenumberEnd: 254
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         32
      ICount:          284
      EdgeCount:       41
      CyclomaticComplexity: 11
      functionsReached:
        - memmove_s
        - realloc
        - winpr_int_assert
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:193,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:213,37'
          Dst:             realloc
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:243,11'
          Dst:             memmove_s
    - functionName:    Queue_Object
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 130
      functionLinenumberEnd: 132
      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/Queue.c:131,2'
          Dst:             winpr_int_assert
    - functionName:    Queue_Discard
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 337
      functionLinenumberEnd: 346
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Queue_Dequeue
        - Queue_Lock
        - Queue_Unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:340,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:341,8'
          Dst:             Queue_Dequeue
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:345,2'
          Dst:             Queue_Unlock
    - functionName:    Queue_Dequeue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 298
      functionLinenumberEnd: 316
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          86
      EdgeCount:       11
      CyclomaticComplexity: 4
      functionsReached:
        - Queue_Lock
        - Queue_Unlock
        - ResetEvent
        - uptr2void
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:301,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:305,9'
          Dst:             uptr2void
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:312,9'
          Dst:             ResetEvent
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:314,2'
          Dst:             Queue_Unlock
    - functionName:    Queue_Peek
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 324
      functionLinenumberEnd: 333
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          44
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - Queue_Lock
        - Queue_Unlock
        - uptr2void
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:326,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:329,9'
          Dst:             uptr2void
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:331,2'
          Dst:             Queue_Unlock
    - functionName:    void2uptr
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 54
      functionLinenumberEnd: 55
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         1
      ICount:          8
      EdgeCount:       1
      CyclomaticComplexity: 2
      functionsReached: []
      functionUses:    2
      BranchProfiles:  []
      Callsites:       []
    - functionName:    Queue_Enqueue
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 261
      functionLinenumberEnd: 290
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         14
      ICount:          120
      EdgeCount:       18
      CyclomaticComplexity: 6
      functionsReached:
        - Queue_EnsureCapacity
        - Queue_Lock
        - Queue_Unlock
        - SetEvent
        - void2uptr
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:264,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:266,7'
          Dst:             Queue_EnsureCapacity
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:270,31'
          Dst:             void2uptr
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:272,31'
          Dst:             void2uptr
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:282,9'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:288,2'
          Dst:             Queue_Unlock
    - functionName:    Queue_Contains
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 186
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         10
      ICount:          70
      EdgeCount:       12
      CyclomaticComplexity: 4
      functionsReached:
        - Queue_Lock
        - Queue_Unlock
        - uptr2void
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:172,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:176,15'
          Dst:             uptr2void
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:184,2'
          Dst:             Queue_Unlock
    - functionName:    Queue_Event
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 124
      functionLinenumberEnd: 126
      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/libwinpr/utils/collections/Queue.c:125,2'
          Dst:             winpr_int_assert
    - functionName:    Queue_Capacity
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 85
      functionLinenumberEnd: 94
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          38
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - Queue_Lock
        - Queue_Unlock
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:86,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:88,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:92,2'
          Dst:             Queue_Unlock
    - functionName:    Queue_Count
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/Queue.c'
      linkageType:     InternalLinkage
      functionLinenumber: 72
      functionLinenumberEnd: 81
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         3
      ICount:          24
      EdgeCount:       3
      CyclomaticComplexity: 2
      functionsReached:
        - Queue_Lock
        - Queue_Unlock
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:75,2'
          Dst:             Queue_Lock
        - Src:             'winpr/libwinpr/utils/collections/Queue.c:79,2'
          Dst:             Queue_Unlock
    - 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:    2
      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:    2
      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:    3
      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:    2
      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:    6
      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:    2
      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:    6
      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:    7
      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:    5
      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:    CountdownEvent_Free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 202
      functionLinenumberEnd: 210
      functionDepth:   0
      returnType:      void
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         6
      ICount:          33
      EdgeCount:       7
      CyclomaticComplexity: 3
      functionsReached:
        - CloseHandle
        - DeleteCriticalSection
      functionUses:    2
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:206,2'
          Dst:             DeleteCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:207,8'
          Dst:             CloseHandle
    - functionName:    CountdownEvent_New
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 169
      functionLinenumberEnd: 199
      functionDepth:   0
      returnType:      'N/A'
      argCount:        1
      argTypes:
        - size_t
      constantsTouched: []
      argNames:
        - ''
      BBCount:         16
      ICount:          89
      EdgeCount:       21
      CyclomaticComplexity: 7
      functionsReached:
        - CountdownEvent_Free
        - CreateEventA
        - InitializeCriticalSectionAndSpinCount
        - SetEvent
        - calloc
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:170,49'
          Dst:             calloc
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:178,7'
          Dst:             InitializeCriticalSectionAndSpinCount
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:181,21'
          Dst:             CreateEventA
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:187,8'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:196,2'
          Dst:             CountdownEvent_Free
    - functionName:    CountdownEvent_Reset
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 159
      functionLinenumberEnd: 162
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         9
      ICount:          34
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:160,2'
          Dst:             winpr_int_assert
    - functionName:    CountdownEvent_Signal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 123
      functionLinenumberEnd: 151
      functionDepth:   0
      returnType:      int
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         23
      ICount:          121
      EdgeCount:       28
      CyclomaticComplexity: 7
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - SetEvent
        - WaitForSingleObject
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:128,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:130,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:132,6'
          Dst:             WaitForSingleObject
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:145,9'
          Dst:             SetEvent
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:149,2'
          Dst:             LeaveCriticalSection
    - functionName:    CountdownEvent_AddCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 104
      functionLinenumberEnd: 115
      functionDepth:   0
      returnType:      void
      argCount:        2
      argTypes:
        - 'N/A'
        - size_t
      constantsTouched: []
      argNames:
        - ''
        - ''
      BBCount:         12
      ICount:          63
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - ResetEvent
        - winpr_int_assert
      functionUses:    1
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:105,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:106,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:112,9'
          Dst:             ResetEvent
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:114,2'
          Dst:             LeaveCriticalSection
    - functionName:    CountdownEvent_WaitHandle
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 90
      functionLinenumberEnd: 92
      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/libwinpr/utils/collections/CountdownEvent.c:91,2'
          Dst:             winpr_int_assert
    - functionName:    CountdownEvent_IsSet
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 75
      functionLinenumberEnd: 82
      functionDepth:   0
      returnType:      int
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         12
      ICount:          45
      EdgeCount:       13
      CyclomaticComplexity: 3
      functionsReached:
        - WaitForSingleObject
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:78,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:79,6'
          Dst:             WaitForSingleObject
    - functionName:    CountdownEvent_InitialCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 62
      functionLinenumberEnd: 67
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:63,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:64,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:66,2'
          Dst:             LeaveCriticalSection
    - functionName:    CountdownEvent_CurrentCount
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/collections/CountdownEvent.c'
      linkageType:     InternalLinkage
      functionLinenumber: 49
      functionLinenumberEnd: 54
      functionDepth:   0
      returnType:      size_t
      argCount:        1
      argTypes:
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
      BBCount:         9
      ICount:          40
      EdgeCount:       9
      CyclomaticComplexity: 2
      functionsReached:
        - EnterCriticalSection
        - LeaveCriticalSection
        - winpr_int_assert
      functionUses:    0
      BranchProfiles:  []
      Callsites:
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:50,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:51,2'
          Dst:             EnterCriticalSection
        - Src:             'winpr/libwinpr/utils/collections/CountdownEvent.c:53,2'
          Dst:             LeaveCriticalSection
    - 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:    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:    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:    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: 1246
      functionLinenumberEnd: 1262
      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: 1120
      functionLinenumberEnd: 1157
      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:1121,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1122,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1156,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: 689
      functionLinenumberEnd: 697
      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:690,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:691,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:696,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_convert_to_webp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 826
      functionLinenumberEnd: 834
      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:827,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:828,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:833,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_image_format_extension
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1349
      functionLinenumberEnd: 1363
      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:1350,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_image_format_mime
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1332
      functionLinenumberEnd: 1346
      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:1333,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    compare_pixel
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1265
      functionLinenumberEnd: 1281
      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:1266,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1267,2'
          Dst:             winpr_int_assert
        - 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:1273,7'
          Dst:             compare_byte_relaxed
        - Src:             'winpr/libwinpr/utils/image.c:1277,8'
          Dst:             compare_byte_relaxed
    - functionName:    convert
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1205
      functionLinenumberEnd: 1243
      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:1206,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1207,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1214,15'
          Dst:             calloc
    - functionName:    winpr_image_equal
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1284
      functionLinenumberEnd: 1329
      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:1306,16'
          Dst:             convert
        - Src:             'winpr/libwinpr/utils/image.c:1307,16'
          Dst:             convert
        - Src:             'winpr/libwinpr/utils/image.c:1321,10'
          Dst:             compare_pixel
    - functionName:    winpr_image_format_is_supported
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1185
      functionLinenumberEnd: 1202
      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:1186,2'
          Branch Sides:    []
      Callsites:       []
    - functionName:    winpr_image_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 675
      functionLinenumberEnd: 683
      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: 665
      functionLinenumberEnd: 672
      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:666,27'
          Dst:             calloc
    - functionName:    winpr_convert_from_png
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1166
      functionLinenumberEnd: 1180
      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:1179,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_convert_from_jpeg
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 762
      functionLinenumberEnd: 771
      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: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:766,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:767,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:770,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_convert_from_webp
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 869
      functionLinenumberEnd: 882
      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: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:873,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:874,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:881,2'
          Dst:             WLog_Print_dbg_tag
    - functionName:    winpr_image_bitmap_read_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 438
      functionLinenumberEnd: 571
      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_CheckAndLogRequiredLengthEx
        - 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:444,15'
          Dst:             Stream_StaticConstInit
        - Src:             'winpr/libwinpr/utils/image.c:450,7'
          Dst:             readBitmapFileHeader
        - Src:             'winpr/libwinpr/utils/image.c:450,40'
          Dst:             readBitmapInfoHeader
        - Src:             'winpr/libwinpr/utils/image.c:455,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:462,22'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:466,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:472,7'
          Dst:             Stream_CheckAndLogRequiredLengthEx
        - Src:             'winpr/libwinpr/utils/image.c:477,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:496,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:503,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:503,26'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:505,21'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:505,21'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:512,5'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:543,7'
          Dst:             Stream_Read
        - Src:             'winpr/libwinpr/utils/image.c:553,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_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_CheckAndLogRequiredLengthWLogEx
    - functionName:    readBitmapInfoHeader
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 132
      functionLinenumberEnd: 219
      functionDepth:   0
      returnType:      int
      argCount:        3
      argTypes:
        - 'N/A'
        - 'N/A'
        - 'N/A'
      constantsTouched: []
      argNames:
        - ''
        - ''
        - ''
      BBCount:         148
      ICount:          647
      EdgeCount:       173
      CyclomaticComplexity: 27
      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:200,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:206,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:210,21'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:213,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:218,9'
          Dst:             Stream_SafeSeekEx
    - functionName:    Stream_GetPosition
      functionSourceFile: '/src/FreeRDP/winpr/include/winpr/stream.h'
      linkageType:     InternalLinkage
      functionLinenumber: 1363
      functionLinenumberEnd: 1366
      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:1364,3'
          Dst:             winpr_int_assert
        - Src:             'winpr/include/winpr/stream.h:1365,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: 606
      functionLinenumberEnd: 662
      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:618,12'
          Dst:             winpr_image_bitmap_read_buffer
        - Src:             'winpr/libwinpr/utils/image.c:624,22'
          Dst:             winpr_convert_from_webp
        - Src:             'winpr/libwinpr/utils/image.c:638,22'
          Dst:             winpr_convert_from_jpeg
        - Src:             'winpr/libwinpr/utils/image.c:651,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: 574
      functionLinenumberEnd: 603
      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:577,13'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/image.c:580,3'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:584,8'
          Dst:             fseek
        - Src:             'winpr/libwinpr/utils/image.c:585,14'
          Dst:             _ftelli64
        - Src:             'winpr/libwinpr/utils/image.c:586,8'
          Dst:             fseek
        - Src:             'winpr/libwinpr/utils/image.c:593,15'
          Dst:             fread
        - Src:             'winpr/libwinpr/utils/image.c:596,14'
          Dst:             winpr_image_read_buffer
        - Src:             'winpr/libwinpr/utils/image.c:601,8'
          Dst:             fclose
    - functionName:    write_and_free
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 399
      functionLinenumberEnd: 417
      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:405,14'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/image.c:410,21'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/utils/image.c:411,10'
          Dst:             fclose
    - functionName:    winpr_image_write_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 1366
      functionLinenumberEnd: 1410
      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:1368,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:1367,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:1374,17'
          Dst:             winpr_bitmap_write_buffer
        - Src:             'winpr/libwinpr/utils/image.c:1383,17'
          Dst:             winpr_convert_to_webp
        - Src:             'winpr/libwinpr/utils/image.c:1392,17'
          Dst:             winpr_convert_to_jpeg
        - Src:             'winpr/libwinpr/utils/image.c:1401,17'
          Dst:             winpr_convert_to_png
    - functionName:    winpr_bitmap_write_buffer
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 301
      functionLinenumberEnd: 346
      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:302,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:312,15'
          Dst:             Stream_New
        - Src:             'winpr/libwinpr/utils/image.c:317,21'
          Dst:             winpr_bitmap_construct_header
        - Src:             'winpr/libwinpr/utils/image.c:320,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:322,2'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/image.c:324,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:331,3'
          Dst:             Stream_Write
        - Src:             'winpr/libwinpr/utils/image.c:332,3'
          Dst:             Stream_Zero
        - Src:             'winpr/libwinpr/utils/image.c:335,11'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/image.c:337,22'
          Dst:             Stream_GetPosition
        - Src:             'winpr/libwinpr/utils/image.c:343,2'
          Dst:             Stream_Free
    - functionName:    winpr_bitmap_construct_header
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 222
      functionLinenumberEnd: 290
      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:258,2'
          Branch Sides:    []
      Callsites:
        - Src:             'winpr/libwinpr/utils/image.c:235,15'
          Dst:             Stream_New
        - Src:             'winpr/libwinpr/utils/image.c:276,7'
          Dst:             writeBitmapFileHeader
        - Src:             'winpr/libwinpr/utils/image.c:279,7'
          Dst:             writeBitmapInfoHeader
        - Src:             'winpr/libwinpr/utils/image.c:282,7'
          Dst:             Stream_EnsureRemainingCapacity
        - Src:             'winpr/libwinpr/utils/image.c:285,2'
          Dst:             Stream_Zero
        - Src:             'winpr/libwinpr/utils/image.c:286,11'
          Dst:             Stream_Buffer
        - Src:             'winpr/libwinpr/utils/image.c:288,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: 1285
      functionLinenumberEnd: 1287
      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:1286,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: 427
      functionLinenumberEnd: 435
      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:428,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:431,15'
          Dst:             winpr_image_write_buffer
        - Src:             'winpr/libwinpr/utils/image.c:434,9'
          Dst:             write_and_free
    - functionName:    winpr_image_write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 421
      functionLinenumberEnd: 423
      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:422,2'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:423,37'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:423,37'
          Dst:             winpr_int_assert
        - Src:             'winpr/libwinpr/utils/image.c:423,9'
          Dst:             winpr_image_write_ex
    - functionName:    winpr_bitmap_write_ex
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 356
      functionLinenumberEnd: 395
      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:373,14'
          Dst:             winpr_bitmap_write_buffer
        - Src:             'winpr/libwinpr/utils/image.c:379,8'
          Dst:             winpr_fopen
        - Src:             'winpr/libwinpr/utils/image.c:382,4'
          Dst:             WLog_Print_dbg_tag
        - Src:             'winpr/libwinpr/utils/image.c:386,7'
          Dst:             fwrite
        - Src:             'winpr/libwinpr/utils/image.c:393,9'
          Dst:             fclose
    - functionName:    winpr_bitmap_write
      functionSourceFile: '/src/FreeRDP/winpr/libwinpr/utils/image.c'
      linkageType:     InternalLinkage
      functionLinenumber: 350
      functionLinenumberEnd: 351
      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:351,9'
          Dst:             winpr_bitmap_write_ex
...
