Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Select an option

  • Save DrWhax/51f5f9b7c95c7e80e8af802a21e18f44 to your computer and use it in GitHub Desktop.

Select an option

Save DrWhax/51f5f9b7c95c7e80e8af802a21e18f44 to your computer and use it in GitHub Desktop.

libqmengine_geedge.so-libqmengine_stellar.so Diff

TOC

Visual Chart Diff

flowchart LR

qmdpi_license_load_from_file-0-old<--Match 79%-->qmdpi_license_load_from_file-0-new
qmdpi_bundle_attr_get_byid-0-old<--Match 84%-->qmdpi_bundle_attr_get_byid-0-new
qmdpi_bundle_pdb_create_from_addr-0-old<--Match 85%-->qmdpi_bundle_pdb_create_from_addr-0-new
qmdpi_engine_config_dump-0-old<--Match 62%-->qmdpi_engine_config_dump-0-new
qmdpi_flow_table_set_port_byvid-0-old<--Match 82%-->qmdpi_flow_table_set_port_byvid-0-new
qmdpi_worker_attr_get_byid-0-old<--Match 83%-->qmdpi_worker_attr_get_byid-0-new
qmdpi_bundle_signature_upper_del-0-old<--Match 90%-->qmdpi_bundle_signature_upper_del-0-new
qmdpi_worker_flow_expire_by_blob-0-old<--Match 12%-->qmdpi_worker_flow_expire_by_blob-0-new
qmdpi_layer_store_destroy_list-0-old<--Match 98%-->qmdpi_layer_store_destroy_list-0-new
qmdpi_worker_signature_ctl_get-0-old<--Match 79%-->qmdpi_worker_signature_ctl_get-0-new
qmdpi_bundle_signature_foreach_enabled-0-old<--Match 75%-->qmdpi_bundle_signature_foreach_enabled-0-new
qmdpi_bundle_get_active-0-old<--Match 83%-->qmdpi_bundle_get_active-0-new
qmdpi_worker_timestamp_set-0-old<--Match 37%-->qmdpi_worker_timestamp_set-0-new
qmdpi_flow_offloaded_status_update-0-old<--Match 70%-->qmdpi_flow_offloaded_status_update-0-new
qmdpi_bundle_signature_ctl_set-0-old<--Match 86%-->qmdpi_bundle_signature_ctl_set-0-new
qmdpi_worker_create-0-old<--Match 24%-->qmdpi_worker_create-0-new
qmdpi_worker_pdu_set-0-old<--Match 77%-->qmdpi_worker_pdu_set-0-new
qmdpi_bundle_signature_transaction_foreach-0-old<--Match 82%-->qmdpi_bundle_signature_transaction_foreach-0-new
qmdpi_bundle_signature_is_enabled-0-old<--Match 89%-->qmdpi_bundle_signature_is_enabled-0-new
qmdpi_layer_store_set_maxsize-0-old<--Match 74%-->qmdpi_layer_store_set_maxsize-0-new
qmdpi_worker_flow_foreach-0-old<--Match 69%-->qmdpi_worker_flow_foreach-0-new
qmdpi_bundle_tune_foreach-0-old<--Match 82%-->qmdpi_bundle_tune_foreach-0-new
qmdpi_worker_signature_ctl_set-0-old<--Match 83%-->qmdpi_worker_signature_ctl_set-0-new
qmdpi_bundle_pdb_get_default-0-old<--Match 90%-->qmdpi_bundle_pdb_get_default-0-new
qmdpi_bundle_pdb_compile_cleanup-0-old<--Match 89%-->qmdpi_bundle_pdb_compile_cleanup-0-new
qmdpi_exception_get_string-0-old<--Match 91%-->qmdpi_exception_get_string-0-new
libqmengine_geedge.so<--813ommited-->libqmengine_stellar.so

subgraph libqmengine_stellar.so
    qmdpi_license_load_from_file-0-new
qmdpi_bundle_attr_get_byid-0-new
qmdpi_bundle_pdb_create_from_addr-0-new
qmdpi_engine_config_dump-0-new
qmdpi_flow_table_set_port_byvid-0-new
qmdpi_worker_attr_get_byid-0-new
qmdpi_bundle_signature_upper_del-0-new
qmdpi_worker_flow_expire_by_blob-0-new
qmdpi_layer_store_destroy_list-0-new
qmdpi_worker_signature_ctl_get-0-new
qmdpi_bundle_signature_foreach_enabled-0-new
qmdpi_bundle_get_active-0-new
qmdpi_worker_timestamp_set-0-new
qmdpi_flow_offloaded_status_update-0-new
qmdpi_bundle_signature_ctl_set-0-new
qmdpi_worker_create-0-new
qmdpi_worker_pdu_set-0-new
qmdpi_bundle_signature_transaction_foreach-0-new
qmdpi_bundle_signature_is_enabled-0-new
qmdpi_layer_store_set_maxsize-0-new
qmdpi_worker_flow_foreach-0-new
qmdpi_bundle_tune_foreach-0-new
qmdpi_worker_signature_ctl_set-0-new
qmdpi_bundle_pdb_get_default-0-new
qmdpi_bundle_pdb_compile_cleanup-0-new
qmdpi_exception_get_string-0-new
    subgraph Added
direction LR
FUN_00112387
    FUN_00112b79
    FUN_00112bf7
    FUN_00112c66
    FUN_00112dd6
    FUN_00112e24
    FUN_00112e9c
    FUN_0011c29a
    FUN_0011c352
    FUN_0011c366
    FUN_0011c4f0
    FUN_0011c520
    FUN_0011c630
    FUN_0011c650
    FUN_0011c7a0
    FUN_0011c7e0
    FUN_0011c800
    FUN_0011c820
    FUN_0011c860
    FUN_0011ca80
    FUN_0011d4d0
    FUN_0011d5c0
    FUN_0011d850
    FUN_0011dad0
    FUN_0011dd50
    FUN_0011df20
    FUN_0011df30
    635_more_added_funcs_omitted
end
end

subgraph libqmengine_geedge.so
    qmdpi_license_load_from_file-0-old
qmdpi_bundle_attr_get_byid-0-old
qmdpi_bundle_pdb_create_from_addr-0-old
qmdpi_engine_config_dump-0-old
qmdpi_flow_table_set_port_byvid-0-old
qmdpi_worker_attr_get_byid-0-old
qmdpi_bundle_signature_upper_del-0-old
qmdpi_worker_flow_expire_by_blob-0-old
qmdpi_layer_store_destroy_list-0-old
qmdpi_worker_signature_ctl_get-0-old
qmdpi_bundle_signature_foreach_enabled-0-old
qmdpi_bundle_get_active-0-old
qmdpi_worker_timestamp_set-0-old
qmdpi_flow_offloaded_status_update-0-old
qmdpi_bundle_signature_ctl_set-0-old
qmdpi_worker_create-0-old
qmdpi_worker_pdu_set-0-old
qmdpi_bundle_signature_transaction_foreach-0-old
qmdpi_bundle_signature_is_enabled-0-old
qmdpi_layer_store_set_maxsize-0-old
qmdpi_worker_flow_foreach-0-old
qmdpi_bundle_tune_foreach-0-old
qmdpi_worker_signature_ctl_set-0-old
qmdpi_bundle_pdb_get_default-0-old
qmdpi_bundle_pdb_compile_cleanup-0-old
qmdpi_exception_get_string-0-old
    subgraph Deleted
direction LR
FUN_0010e788
    FUN_0010eb60
    FUN_0010f040
    FUN_0010f260
    FUN_0010f320
    FUN_0010f370
    FUN_0010f400
    FUN_00110740
    FUN_001109b0
    FUN_00110cc0
    FUN_00111c00
    FUN_00112010
    FUN_001122e0
    FUN_00112ac0
    FUN_00112bd0
    FUN_00115720
    FUN_00115d30
    FUN_00116640
    FUN_001166f0
    FUN_0011bd30
    FUN_0011dec0
    FUN_0011f8b0
    FUN_0011fa40
    FUN_001201e0
    FUN_001209e0
    FUN_00120a80
    FUN_001212e0
    272_more_deleted_funcs_omitted
end
end

Loading
pie showData
    title Function Matches - 76.9564%
"unmatched_funcs_len" : 957
"matched_funcs_len" : 3196
Loading
pie showData
    title Matched Function Similarity - 70.1189%
"matched_funcs_with_code_changes_len" : 838
"matched_funcs_with_non_code_changes_len" : 117
"matched_funcs_no_changes_len" : 2241
Loading

Metadata

Ghidra Diff Engine

Command Line

Captured Command Line

ghidriff --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --gzfs-path gzfs --threaded --log-level INFO --file-log-level INFO --log-path ghidriff.log --min-func-len 10 --gdt [] --bsim --max-ram-percent 60.0 --max-section-funcs 200 libqmengine_geedge.so libqmengine_stellar.so

Verbose Args

--old ['/Users/user/Downloads/geedge_bindiff/libqmengine_geedge.so'] --new [['/Users/user/Downloads/geedge_bindiff/libqmengine_stellar.so']] --engine VersionTrackingDiff --output-path /Users/user/Downloads/geedge_bindiff/ --summary False --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --gzfs-path gzfs --base-address None --program-options None --threaded True --force-analysis False --force-diff False --no-symbols False --log-level INFO --file-log-level INFO --log-path ghidriff.log --va False --min-func-len 10 --use-calling-counts False --gdt [] --bsim True --bsim-full False --max-ram-percent 60.0 --print-flags False --jvm-args None --side-by-side False --max-section-funcs 200 --md-title None

Binary Metadata Diff

--- libqmengine_geedge.so Meta
+++ libqmengine_stellar.so Meta
@@ -1,38 +1,39 @@
-Program Name: libqmengine_geedge.so
+Program Name: libqmengine_stellar.so
 Language ID: x86:LE:64:default (4.1)
 Compiler ID: gcc
 Processor: x86
 Endian: Little
 Address Size: 64
 Minimum Address: 00100000
 Maximum Address: _elfSectionHeaders::000007ff
-# of Bytes: 4170460
+# of Bytes: 4279869
 # of Memory Blocks: 33
-# of Instructions: 141572
-# of Defined Data: 13363
-# of Functions: 1849
-# of Symbols: 8187
-# of Data Types: 180
-# of Data Type Categories: 18
+# of Instructions: 170485
+# of Defined Data: 17147
+# of Functions: 2304
+# of Symbols: 9360
+# of Data Types: 170
+# of Data Type Categories: 16
 Analyzed: true
 Created With Ghidra Version: 11.3.2
 Date Created: Mon Oct 27 17:28:51 WET 2025
 ELF File Type: shared object
+ELF GNU Program Prop[processor opt 0xc0010001]: 09 00 00 00
+ELF GNU Program Prop[processor opt 0xc0010002]: 01 00 00 00
+ELF Note[GNU BuildId]: 5c84cc2519cc0a466f087077f4af05f153e9edd6
 ELF Original Image Base: 0x0
 ELF Prelinked: false
-Elf Comment[0]: GCC: (GNU) 4.4.7 20120313 (Red Hat 4.4.7-9)
-Elf Comment[1]: GCC: (GNU) 6.5.0
 Executable Format: Executable and Linking Format (ELF)
-Executable Location: /Users/user/Downloads/geedge_bindiff/libqmengine_geedge.so
-Executable MD5: 3fe6ba1a1dd67ae6368b0b1306507aec
-Executable SHA256: c5dbd00ba96a8e38d9c32286554e2aecb0e8c66af18e6c9b21bca915c147b9d9
-FSRL: file:///Users/user/Downloads/geedge_bindiff/libqmengine_geedge.so?MD5=3fe6ba1a1dd67ae6368b0b1306507aec
+Executable Location: /Users/user/Downloads/geedge_bindiff/libqmengine_stellar.so
+Executable MD5: 65729886647edc48fa4b5980d7de809c
+Executable SHA256: afa52050b659c1eecf75b62c2badd15591905365d77a69958a782cc166750a65
+FSRL: file:///Users/user/Downloads/geedge_bindiff/libqmengine_stellar.so?MD5=65729886647edc48fa4b5980d7de809c
 GNU DebugLink: libqmengine.so.debug
 Preferred Root Namespace Category: 
 Relocatable: true
 Required Library [    0]: libdl.so.2
 Required Library [    1]: librt.so.1
 Required Library [    2]: libpthread.so.0
 Required Library [    3]: libm.so.6
 Required Library [    4]: libc.so.6
 Should Ask To Analyze: false

Program Options

Ghidra libqmengine_geedge.so Decompiler Options
Decompiler Option Value
Prototype Evaluation __stdcall
Ghidra libqmengine_geedge.so Specification extensions Options
Specification extensions Option Value
FormatVersion 0
VersionCounter 0
Ghidra libqmengine_geedge.so Analyzers Options
Analyzers Option Value
ASCII Strings true
ASCII Strings.Create Strings Containing Existing Strings true
ASCII Strings.Create Strings Containing References true
ASCII Strings.Force Model Reload false
ASCII Strings.Minimum String Length LEN_5
ASCII Strings.Model File StringModel.sng
ASCII Strings.Require Null Termination for String true
ASCII Strings.Search Only in Accessible Memory Blocks true
ASCII Strings.String Start Alignment ALIGN_1
ASCII Strings.String end alignment 4
Aggressive Instruction Finder false
Aggressive Instruction Finder.Create Analysis Bookmarks true
Apply Data Archives true
Apply Data Archives.Archive Chooser [Auto-Detect]
Apply Data Archives.Create Analysis Bookmarks true
Apply Data Archives.GDT User File Archive Path None
Apply Data Archives.User Project Archive Path None
Call Convention ID true
Call Convention ID.Analysis Decompiler Timeout (sec) 60
Call-Fixup Installer true
Condense Filler Bytes false
Condense Filler Bytes.Filler Value Auto
Condense Filler Bytes.Minimum number of sequential bytes 1
Create Address Tables true
Create Address Tables.Allow Offcut References false
Create Address Tables.Auto Label Table false
Create Address Tables.Create Analysis Bookmarks true
Create Address Tables.Maxmimum Pointer Distance 16777215
Create Address Tables.Minimum Pointer Address 4132
Create Address Tables.Minimum Table Size 2
Create Address Tables.Pointer Alignment 1
Create Address Tables.Relocation Table Guide true
Create Address Tables.Table Alignment 4
DWARF true
DWARF.Add Inlined Functions Comments false
DWARF.Add Lexical Block Comments false
DWARF.Create Function Signatures true
DWARF.Default Calling Convention
DWARF.Ignore Parameter Storage Info false
DWARF.Import Data Types true
DWARF.Import Functions true
DWARF.Import Local Variable Info true
DWARF.Import Source Line Info true
DWARF.Maximum Source Map Entry Length 2000
DWARF.Output DWARF DIE Info false
DWARF.Output Source Info false
DWARF.Try To Pack Structs true
Data Reference true
Data Reference.Address Table Alignment 1
Data Reference.Address Table Minimum Size 2
Data Reference.Align End of Strings false
Data Reference.Ascii String References true
Data Reference.Create Address Tables false
Data Reference.Minimum String Length 5
Data Reference.References to Pointers true
Data Reference.Relocation Table Guide true
Data Reference.Respect Execute Flag true
Data Reference.Subroutine References true
Data Reference.Switch Table References false
Data Reference.Unicode String References true
Decompiler Parameter ID false
Decompiler Parameter ID.Analysis Clear Level ANALYSIS
Decompiler Parameter ID.Analysis Decompiler Timeout (sec) 60
Decompiler Parameter ID.Commit Data Types true
Decompiler Parameter ID.Commit Void Return Values false
Decompiler Parameter ID.Prototype Evaluation __stdcall
Decompiler Switch Analysis true
Decompiler Switch Analysis.Analysis Decompiler Timeout (sec) 60
Demangler GNU true
Demangler GNU.Apply Function Calling Conventions true
Demangler GNU.Apply Function Signatures true
Demangler GNU.Demangle Only Known Mangled Symbols false
Demangler GNU.Demangler Format AUTO
Demangler GNU.Use Deprecated Demangler false
Demangler GNU.Use Standard Text Replacements true
Disassemble Entry Points true
Disassemble Entry Points.Respect Execute Flag true
ELF Scalar Operand References true
ELF Scalar Operand References.Relocation Table Guide true
Embedded Media true
Embedded Media.Create Analysis Bookmarks true
External Entry References true
External Symbol Resolver true
Function ID true
Function ID.Always Apply FID Labels false
Function ID.Create Analysis Bookmarks true
Function ID.Instruction Count Threshold 14.6
Function ID.Multiple Match Threshold 30.0
Function Start Search true
Function Start Search After Code true
Function Start Search After Code.Bookmark Functions false
Function Start Search After Code.Search Data Blocks false
Function Start Search After Data true
Function Start Search After Data.Bookmark Functions false
Function Start Search After Data.Search Data Blocks false
Function Start Search.Bookmark Functions false
Function Start Search.Search Data Blocks false
GCC Exception Handlers true
GCC Exception Handlers.Create Try Catch Comments true
Non-Returning Functions - Discovered true
Non-Returning Functions - Discovered.Create Analysis Bookmarks true
Non-Returning Functions - Discovered.Function Non-return Threshold 3
Non-Returning Functions - Discovered.Repair Flow Damage true
Non-Returning Functions - Known true
Non-Returning Functions - Known.Create Analysis Bookmarks true
Reference true
Reference.Address Table Alignment 1
Reference.Address Table Minimum Size 2
Reference.Align End of Strings false
Reference.Ascii String References true
Reference.Create Address Tables false
Reference.Minimum String Length 5
Reference.References to Pointers true
Reference.Relocation Table Guide true
Reference.Respect Execute Flag true
Reference.Subroutine References true
Reference.Switch Table References false
Reference.Unicode String References true
Shared Return Calls true
Shared Return Calls.Allow Conditional Jumps false
Shared Return Calls.Assume Contiguous Functions Only true
Stack true
Stack.Create Local Variables true
Stack.Create Param Variables false
Stack.useNewFunctionStackAnalysis true
Subroutine References true
Subroutine References.Create Thunks Early true
Variadic Function Signature Override false
Variadic Function Signature Override.Create Analysis Bookmarks false
x86 Constant Reference Analyzer true
x86 Constant Reference Analyzer.Create Data from pointer false
x86 Constant Reference Analyzer.Function parameter/return Pointer analysis true
x86 Constant Reference Analyzer.Max Threads 2
x86 Constant Reference Analyzer.Min absolute reference 4
x86 Constant Reference Analyzer.Require pointer param data type false
x86 Constant Reference Analyzer.Speculative reference max 256
x86 Constant Reference Analyzer.Speculative reference min 1024
x86 Constant Reference Analyzer.Stored Value Pointer analysis true
x86 Constant Reference Analyzer.Trust values read from writable memory true
Ghidra libqmengine_stellar.so Decompiler Options
Decompiler Option Value
Prototype Evaluation __stdcall
Ghidra libqmengine_stellar.so Specification extensions Options
Specification extensions Option Value
FormatVersion 0
VersionCounter 0
Ghidra libqmengine_stellar.so Analyzers Options
Analyzers Option Value
ASCII Strings true
ASCII Strings.Create Strings Containing Existing Strings true
ASCII Strings.Create Strings Containing References true
ASCII Strings.Force Model Reload false
ASCII Strings.Minimum String Length LEN_5
ASCII Strings.Model File StringModel.sng
ASCII Strings.Require Null Termination for String true
ASCII Strings.Search Only in Accessible Memory Blocks true
ASCII Strings.String Start Alignment ALIGN_1
ASCII Strings.String end alignment 4
Aggressive Instruction Finder false
Aggressive Instruction Finder.Create Analysis Bookmarks true
Apply Data Archives true
Apply Data Archives.Archive Chooser [Auto-Detect]
Apply Data Archives.Create Analysis Bookmarks true
Apply Data Archives.GDT User File Archive Path None
Apply Data Archives.User Project Archive Path None
Call Convention ID true
Call Convention ID.Analysis Decompiler Timeout (sec) 60
Call-Fixup Installer true
Condense Filler Bytes false
Condense Filler Bytes.Filler Value Auto
Condense Filler Bytes.Minimum number of sequential bytes 1
Create Address Tables true
Create Address Tables.Allow Offcut References false
Create Address Tables.Auto Label Table false
Create Address Tables.Create Analysis Bookmarks true
Create Address Tables.Maxmimum Pointer Distance 16777215
Create Address Tables.Minimum Pointer Address 4132
Create Address Tables.Minimum Table Size 2
Create Address Tables.Pointer Alignment 1
Create Address Tables.Relocation Table Guide true
Create Address Tables.Table Alignment 4
DWARF true
DWARF.Add Inlined Functions Comments false
DWARF.Add Lexical Block Comments false
DWARF.Create Function Signatures true
DWARF.Default Calling Convention
DWARF.Ignore Parameter Storage Info false
DWARF.Import Data Types true
DWARF.Import Functions true
DWARF.Import Local Variable Info true
DWARF.Import Source Line Info true
DWARF.Maximum Source Map Entry Length 2000
DWARF.Output DWARF DIE Info false
DWARF.Output Source Info false
DWARF.Try To Pack Structs true
Data Reference true
Data Reference.Address Table Alignment 1
Data Reference.Address Table Minimum Size 2
Data Reference.Align End of Strings false
Data Reference.Ascii String References true
Data Reference.Create Address Tables false
Data Reference.Minimum String Length 5
Data Reference.References to Pointers true
Data Reference.Relocation Table Guide true
Data Reference.Respect Execute Flag true
Data Reference.Subroutine References true
Data Reference.Switch Table References false
Data Reference.Unicode String References true
Decompiler Parameter ID false
Decompiler Parameter ID.Analysis Clear Level ANALYSIS
Decompiler Parameter ID.Analysis Decompiler Timeout (sec) 60
Decompiler Parameter ID.Commit Data Types true
Decompiler Parameter ID.Commit Void Return Values false
Decompiler Parameter ID.Prototype Evaluation __stdcall
Decompiler Switch Analysis true
Decompiler Switch Analysis.Analysis Decompiler Timeout (sec) 60
Demangler GNU true
Demangler GNU.Apply Function Calling Conventions true
Demangler GNU.Apply Function Signatures true
Demangler GNU.Demangle Only Known Mangled Symbols false
Demangler GNU.Demangler Format AUTO
Demangler GNU.Use Deprecated Demangler false
Demangler GNU.Use Standard Text Replacements true
Disassemble Entry Points true
Disassemble Entry Points.Respect Execute Flag true
ELF Scalar Operand References true
ELF Scalar Operand References.Relocation Table Guide true
Embedded Media true
Embedded Media.Create Analysis Bookmarks true
External Entry References true
External Symbol Resolver true
Function ID true
Function ID.Always Apply FID Labels false
Function ID.Create Analysis Bookmarks true
Function ID.Instruction Count Threshold 14.6
Function ID.Multiple Match Threshold 30.0
Function Start Search true
Function Start Search After Code true
Function Start Search After Code.Bookmark Functions false
Function Start Search After Code.Search Data Blocks false
Function Start Search After Data true
Function Start Search After Data.Bookmark Functions false
Function Start Search After Data.Search Data Blocks false
Function Start Search.Bookmark Functions false
Function Start Search.Search Data Blocks false
GCC Exception Handlers true
GCC Exception Handlers.Create Try Catch Comments true
Non-Returning Functions - Discovered true
Non-Returning Functions - Discovered.Create Analysis Bookmarks true
Non-Returning Functions - Discovered.Function Non-return Threshold 3
Non-Returning Functions - Discovered.Repair Flow Damage true
Non-Returning Functions - Known true
Non-Returning Functions - Known.Create Analysis Bookmarks true
Reference true
Reference.Address Table Alignment 1
Reference.Address Table Minimum Size 2
Reference.Align End of Strings false
Reference.Ascii String References true
Reference.Create Address Tables false
Reference.Minimum String Length 5
Reference.References to Pointers true
Reference.Relocation Table Guide true
Reference.Respect Execute Flag true
Reference.Subroutine References true
Reference.Switch Table References false
Reference.Unicode String References true
Shared Return Calls true
Shared Return Calls.Allow Conditional Jumps false
Shared Return Calls.Assume Contiguous Functions Only true
Stack true
Stack.Create Local Variables true
Stack.Create Param Variables false
Stack.useNewFunctionStackAnalysis true
Subroutine References true
Subroutine References.Create Thunks Early true
Variadic Function Signature Override false
Variadic Function Signature Override.Create Analysis Bookmarks false
x86 Constant Reference Analyzer true
x86 Constant Reference Analyzer.Create Data from pointer false
x86 Constant Reference Analyzer.Function parameter/return Pointer analysis true
x86 Constant Reference Analyzer.Max Threads 2
x86 Constant Reference Analyzer.Min absolute reference 4
x86 Constant Reference Analyzer.Require pointer param data type false
x86 Constant Reference Analyzer.Speculative reference max 256
x86 Constant Reference Analyzer.Speculative reference min 1024
x86 Constant Reference Analyzer.Stored Value Pointer analysis true
x86 Constant Reference Analyzer.Trust values read from writable memory true

Diff Stats

Stat Value
added_funcs_len 660
deleted_funcs_len 297
modified_funcs_len 955
added_symbols_len 26
deleted_symbols_len 11
diff_time 301.7495901584625
deleted_strings_len 76
added_strings_len 177
match_types Counter({'BSIM': 709, 'SymbolsHash': 335, 'StructuralGraphHash': 224, 'Implied Match': 90, 'ExternalsName': 83, 'ExactInstructionsFunctionHasher': 59, 'StructuralGraphExactHash': 48, 'ExactBytesFunctionHasher': 18, 'ExactMnemonicsFunctionHasher': 9, 'SigCallingCalledHasher': 8, 'StringsRefsHasher': 8, 'Decomp Match': 4, 'BulkBasicBlockMnemonicHash': 1})
items_to_process 1949
diff_types Counter({'address': 955, 'length': 900, 'code': 838, 'called': 767, 'name': 767, 'fullname': 767, 'sig': 767, 'calling': 604, 'refcount': 321, 'parent': 2})
unmatched_funcs_len 957
total_funcs_len 4153
matched_funcs_len 3196
matched_funcs_with_code_changes_len 838
matched_funcs_with_non_code_changes_len 117
matched_funcs_no_changes_len 2241
match_func_similarity_percent 70.1189%
func_match_overall_percent 76.9564%
first_matches Counter({'BSIM': 685, 'SymbolsHash': 335, 'StructuralGraphHash': 224, 'Implied Match': 90, 'ExactInstructionsFunctionHasher': 59, 'StructuralGraphExactHash': 48, 'ExactBytesFunctionHasher': 18, 'ExactMnemonicsFunctionHasher': 9, 'SigCallingCalledHasher': 8, 'StringsRefsHasher': 8, 'Decomp Match': 4, 'BulkBasicBlockMnemonicHash': 1})
pie showData
    title All Matches
"SymbolsHash" : 335
"ExternalsName" : 83
"BSIM" : 709
"ExactBytesFunctionHasher" : 18
"ExactInstructionsFunctionHasher" : 59
"StructuralGraphExactHash" : 48
"ExactMnemonicsFunctionHasher" : 9
"SigCallingCalledHasher" : 8
"StringsRefsHasher" : 8
"StructuralGraphHash" : 224
"BulkBasicBlockMnemonicHash" : 1
"Implied-Match" : 90
"Decomp-Match" : 4
Loading
pie showData
    title First Matches
"SymbolsHash" : 335
"ExactBytesFunctionHasher" : 18
"ExactInstructionsFunctionHasher" : 59
"StructuralGraphExactHash" : 48
"ExactMnemonicsFunctionHasher" : 9
"BSIM" : 685
"SigCallingCalledHasher" : 8
"StringsRefsHasher" : 8
"StructuralGraphHash" : 224
"BulkBasicBlockMnemonicHash" : 1
"Implied-Match" : 90
"Decomp-Match" : 4
Loading
pie showData
    title Diff Stats
"added_funcs_len" : 660
"deleted_funcs_len" : 297
"modified_funcs_len" : 955
Loading
pie showData
    title Symbols
"added_symbols_len" : 26
"deleted_symbols_len" : 11
Loading

Strings

pie showData
    title Strings
"deleted_strings_len" : 76
"added_strings_len" : 177
Loading

Strings Diff

--- deleted strings
+++ added strings
@@ -1,76 +1,177 @@
-ElfComment[0]
-s
-s_"%s":
-s_%02x%02x
-s_0123456789abcdefghijklmnopqrstuv
-s_5.2.1-0-gea6b3e973b477b8061e0076
-s_5.7.0-43_(build_date_Dec
-s_<jemalloc>:_arena_0_background_t
-s_<jemalloc>:_background_thread_cr
-s_<jemalloc>:_creat("%s"),_0644)
-s_<jemalloc>:_error_in_background_t
-s_Disable_fastcase
-s_Enable_classification_cache_stor
-s_Enable_tcp_five_tuple_reuse
-s_Flow_Manager_hashtable_size_-_ov
-s_Link_all_stateless_traffic_to_a_s
-s_Maximum_memory_per_engine
-s_Maximum_memory_per_worker
-s_Maximum_number_of_virtual_id
-s_No_memory_left_for_security_subs
-s_Number_of_flows_per_workers
-s_Offload_flows_which_can_be_decla
-s_Offload_flows_which_can_be_using
-s_Offload_flows_with_signalization
-s_Register_TCP_dup_ack_attribute
-s_Size_of_flow_ctx_memory_pool
-s_The_ratio_of_offloading
-s__strdup
-s_arenas.0.bins.0
-s_arenas.0.mutexes
-s_arenas.bin.0.nregs
-s_arenas.bin.0.nshards
-s_arenas.bin.0.size
-s_arenas.bin.0.slab_size
-s_arenas.lextent.0.size
-s_background_thread_global
-s_bad_buffer_in_secure_scan_bytes(
-s_extent_mutex_pool
-s_fatal_error_-_scanner_input_buff
-s_fatal_flex_scanner_secure_intern
-s_flush
-s_heap_v2/%lu_t*:_%lu:_%lu_[%lu:_%
-s_lextent
-s_nonfull_slabs
-s_opt.lg_tcache_max
-s_out_of_dynamic_memory_in_secure
-s_out_of_dynamic_memory_in_securee
-s_out_of_dynamic_memory_in_usecuri
-s_pthread_create
-s_server
-s_small
-s_stack_traces
-s_stats.%s.%s.%s
-s_stats.arenas.0.bins.0.curregs
-s_stats.arenas.0.bins.0.curslabs
-s_stats.arenas.0.bins.0.ndalloc
-s_stats.arenas.0.bins.0.nfills
-s_stats.arenas.0.bins.0.nflushes
-s_stats.arenas.0.bins.0.nmalloc
-s_stats.arenas.0.bins.0.nonfull_sl
-s_stats.arenas.0.bins.0.nrequests
-s_stats.arenas.0.bins.0.nreslabs
-s_stats.arenas.0.bins.0.nslabs
-s_stats.arenas.0.extents.0.dirty
-s_stats.arenas.0.extents.0.muzzy
-s_stats.arenas.0.extents.0.ndirty
-s_stats.arenas.0.extents.0.nmuzzy
-s_stats.arenas.0.extents.0.nretain
-s_stats.arenas.0.extents.0.retaine
-s_stats.arenas.0.lextents.0.curlex
-s_stats.arenas.0.lextents.0.ndallo
-s_stats.arenas.0.lextents.0.nmallo
-s_stats.arenas.0.lextents.0.nreque
-s_stats.background_thread.num_runs
-s_stats.background_thread.num_thre
-s_stats.background_thread.run_inte
+s_"%s":%s
+s_%s(%u)X%u
+s_%s.%d.%lu.json
+s_5.10.0-47_(build_date_Nov
+s_5.3.0-0-g54eaed1d8b56b1aa528be3b
+s_6666666666666666\\\\\\\\\\\\\\\\
+s_<jemalloc>:_Failure_in_ctl_bymib
+s_<jemalloc>:_Failure_in_ctl_mibna
+s_<jemalloc>:_HPA_not_supported_in
+s_<jemalloc>:_Number_of_CPUs_detec
+s_<jemalloc>:_Write-after-free_det
+s_<jemalloc>:_option_background_th
+s_<jemalloc>:_prof_leak_error_is_s
+s_<jemalloc>:_size_mismatch_detect
+s_<magic!section>
+s_Bitfield_configuration_parameter
+s_Bytes_in_small_extent_cache
+s_Called_realloc(non-null-ptr,_0)_w
+s_Count_of_realloc(non-null-ptr,
+s_Disable_6LoWPAN_signature.
+s_Disable_802_15_4_signature.
+s_Disable_FlowManager_IPSec_ESP-NU
+s_Disable_HTTP_server_response_pay
+s_Disable_geneve_signature.
+s_Disable_zigbee_ep_signature.
+s_Do_not_add_6LoWPAN_into_path
+s_Do_not_add_802_15_4_into_path
+s_Do_not_add_geneve_into_path
+s_Do_not_add_zigbee_ep_into_path
+s_Enable_ProtocolBundle's_IANA_Por
+s_Enable_classification_cache,
+s_Enable_machine_learning_lib_in_t
+s_Enable_the_interfacing_with_the_Q
+s_Flow_Manager_hashtable_size
+s_HPA_shard_stats:_Purge_passes:_%
+s_IDS_ATTR
+s_Ignore_GTP_outer_layer_3_and_lay
+s_Ignore_geneve_vlanid
+s_In_empty_slabs:_npageslabs:_%zu_h
+s_In_full_slabs:_npageslabs:_%zu_h
+s_Maximum_memory_per_engine,_in_me
+s_Maximum_memory_per_worker,_in_me
+s_NM?Y_strdup
+s_Number_of_Flow_Contexts_per_work
+s_Number_of_blocks_for_the_memory_p
+s_Offload_flows_whose_classificati
+s_Please_override_ulayer_store_pri
+s_Register_TCP_dup_ack_attribute._R
+s_STD_ATTR
+s_Set_the_expected_offloading_rati
+s_Sets_the_size_of_the_hash_table_u
+s_Size_of_1024-byte_memory_pool_(i
+s_Size_of_2048-byte_memory_pool_(i
+s_Size_of_4096-byte_memory_pool_(i
+s_Size_of_8192-byte_memory_pool_(i
+s_Size_of_a_block_to_store_a_TCP_s
+s_Size_of_flow_ctx_memory_pool;_no
+s_Too_many_items_found_during_Prot
+s_Use_a_single_static_flow_context
+s_When_set_to_1_disables_the_creat
+s_aborting
+s_arenas.bin
+s_arenas.lextent
+s_cache_ip4_store
+s_cat_/sys/class/dmi/id/product_uu
+s_classif_ext
+s_curregs
+s_disabling
+s_dmidecode_-s_system-uuid_2>&1
+s_edata_cache
+s_empty_slabs
+s_engine
+s_experimental_infallible_new
+s_fast_proto_parser_enable
+s_feed_ids_re_enable
+s_fm_signature_6lowpan_disable
+s_fm_signature_802_15_4_disable
+s_fm_signature_bypass
+s_fm_signature_bypass_6lowpan
+s_fm_signature_bypass_geneve
+s_fm_signature_bypass_zigbee_ep
+s_fm_signature_geneve_disable
+s_fm_signature_geneve_ignore_genev
+s_fm_signature_gtp_ignore_outer_in
+s_fm_signature_ipsec_esp_null_disa
+s_fm_signature_zigbee_ep_disable
+s_hpa_central
+s_hpa_central_grow
+s_hpa_hugification_threshold
+s_hpa_hugification_threshold_ratio
+s_hpa_sec
+s_hpa_shard
+s_hpa_shard.nonfull_slabs
+s_hpa_shard_grow
+s_if_qm_engine_ml_cla_predict
+s_in_thread_cache,_possibly_from_p
+s_justify_spacer
+s_lg_tcache_max
+s_max_per_bg_thd
+s_memory_pool_1024bytes_size
+s_memory_pool_2048bytes_size
+s_memory_pool_4096bytes_size
+s_memory_pool_8192bytes_size
+s_memory_pool_tcp_reass_block_nb
+s_memory_pool_tcp_reass_block_size
+s_ml_enable
+s_nactive_huge
+s_nactive_nonhuge
+s_narenas_ratio
+s_ndehugifies
+s_ndirty_huge
+s_ndirty_nonhuge
+s_nflush
+s_nhugifies
+s_npageslabs_huge
+s_npageslabs_nonhuge
+s_npurge_passes
+s_npurges
+s_nretained_nonhuge
+s_nslabs
+s_opt.cache_oblivious
+s_opt.experimental_infallible_new
+s_opt.hpa_dirty_mult
+s_opt.hpa_hugification_threshold
+s_opt.hpa_hugify_delay_ms
+s_opt.hpa_min_purge_interval_ms
+s_opt.hpa_sec_batch_fill_extra
+s_opt.hpa_sec_bytes_after_flush
+s_opt.hpa_sec_max_alloc
+s_opt.hpa_sec_max_bytes
+s_opt.hpa_sec_nshards
+s_opt.hpa_slab_max_alloc
+s_opt.lg_tcache_flush_large_div
+s_opt.lg_tcache_flush_small_div
+s_opt.lg_tcache_nslots_mul
+s_opt.mutex_max_spin
+s_opt.prof_leak_error
+s_opt.stats_interval
+s_opt.stats_interval_opts
+s_opt.tcache_gc_delay_bytes
+s_opt.tcache_gc_incr_bytes
+s_opt.tcache_max
+s_opt.tcache_nslots_large
+s_opt.tcache_nslots_small_max
+s_opt.tcache_nslots_small_min
+s_opt.zero_realloc
+s_port_based_classification_enable
+s_prof_dump
+s_prof_recent_alloc
+s_prof_recent_dump
+s_prof_stats
+s_prof_thds_data
+s_qm_ml_cla_init
+s_qm_ml_cla_predict
+s_qm_ml_etc_init
+s_qmbundle.dll
+s_qmmlcla.dll
+s_qmmletc.dll
+s_san_guard_large
+s_san_guard_small
+s_sanitizer_bump_allocator
+s_sec_shard
+s_slab_size
+s_stats.arenas.0.hpa_sec_bytes
+s_stats.arenas.0.hpa_shard.empty_s
+s_stats.arenas.0.hpa_shard.full_sl
+s_stats.arenas.0.hpa_shard.ndehugi
+s_stats.arenas.0.hpa_shard.nhugifi
+s_stats.arenas.0.hpa_shard.npurge
+s_stats.arenas.0.hpa_shard.npurges
+s_stats.arenas.0.tcache_stashed_by
+s_stats.mutexes
+s_stats.zero_reallocs
+s_tcache_stashed_bytes
+s_tcache_stashed_bytes:
+s_the_current_pointer_being_freed
+s_trust_madvise

String References

Old

String Ref Count Ref Func
s_Number_of_flows_per_workers_001abbd6 1
s_0123456789_001a589a 4 FUN_0011e280
s_Maximum_number_of_virtual_id_001abc65 1
s_No_memory_left_for_security_subs_001b61d0 2 FUN_001a3fb0,FUN_001a4030
s_opt.lg_tcache_max_001a6b05 2 default
s_nonfull_slabs_001a6632 3 default
s_stats.arenas.0.lextents.0.nreque_001a76e8 2 FUN_001593b0
s_Flow_Manager_hashtable_size_-_ov_001abe50 1
s_Enable_classification_cache_stor_001ac260 1
s_Link_all_stateless_traffic_to_a_s_001ac230 1
s_stats.arenas.0.bins.0.nslabs_001a679f 2 default
s_stats.arenas.0.bins.0.curslabs_001a7580 2 default
s_stats.background_thread.run_inte_001a7788 2 FUN_0015de90
s_:_background_thread_cr_001a50e0 1 FUN_00110cc0
s_5.7.0-43_(build_date_Dec_29_2021_001a94b8 1 qmdpi_engine_version_get_string
s_Offload_flows_which_can_be_decla_001ac548 1
s_heap_v2/%lu_t*:%lu:%lu_[%lu:_%_001a5fc0 2 FUN_0012a440,FUN_0012a4f0
s_stats.arenas.0.lextents.0.curlex_001a7710 2 FUN_001593b0
s_extent_mutex_pool_001a5eb6 1 FUN_00129ac0
s_fatal_flex_scanner_secure_intern_001adbc8 1 FUN_001a1390
s_The_ratio_of_offloading_001abc0f 1
s_:_arena_0_background_t_001a5118 1 FUN_00111930
s_out_of_dynamic_memory_in_securee_001ada60 1 FUN_001a0f50
s_background_thread_global_001a5066 1 FUN_00112520
s_stats.arenas.0.bins.0.curregs_001a6849 2 default
s_Size_of_flow_ctx_memory_pool_001abbf2 1
s_Offload_flows_which_can_be_using_001ac5a0 1
s_small_001a6574 1 FUN_001593b0
s_stats.background_thread.num_runs_001a7760 2 FUN_0015de90
s_bad_buffer_in_secure_scan_bytes(_001adaf8 1 FUN_001a1160
s_stats.arenas.0.bins.0.nreslabs_001a7560 2 default
s_0123456789abcdefghijklmnopqrstuv_001a5d98 2 FUN_0011e280
s_server_001a8102 4 FUN_00165ed0,FUN_00165fc0
ElfComment[0] 1
s_arenas.0.mutexes_001a7102 7 FUN_001593b0
s__strdup_001a8ea1 2 qmdpi_interface_set
s_%02x%02x_001a8d38 2 FUN_00181ee0
s_stats.arenas.0.bins.0.nrequests_001a7520 2 default
s_out_of_dynamic_memory_in_secure__001adac8 1 FUN_001a1160
s_stats.arenas.0.bins.0.nonfull_sl_001a75a0 2 default
s_5.2.1-0-gea6b3e973b477b8061e0076_001a66a0 4 FUN_00141d40
s_Offload_flows_with_signalization_001ac570 1
s_stats.arenas.0.extents.0.nretain_001a7450 2 FUN_00151440
s_Register_TCP_dup_ack_attribute_001ac0c0 1
s_arenas.bin.0.nshards_001a67f8 4 default
s_out_of_dynamic_memory_in_usecuri_001adb90 1 FUN_001a1390
s_Maximum_memory_per_worker_001abba2 1
s_stats.arenas.0.extents.0.muzzy_b_001a74a0 2 FUN_00151440
s_stats.arenas.0.extents.0.dirty_b_001a7478 2 FUN_00151440
s_stats.arenas.0.extents.0.nmuzzy_001a7430 2 FUN_00151440
s_stats.background_thread.num_thre_001a7738 2 FUN_0015de90
s_:_creat("%s"),_0644)_f_001a5f98 1 FUN_0012a3e0
s_stats.arenas.0.extents.0.ndirty_001a73b0 2 FUN_00151440
s_stats.arenas.0.bins.0.ndalloc_001a682b 2 default
s_arenas.bin.0.slab_size_001a67e1 4 default
s_stats.arenas.0.bins.0.nmalloc_001a680d 2 default
s_stack_traces_001a5fe9 1 FUN_0012aa50
s_lextent_001a6659 1 default
s_arenas.0.bins.0_001a6884 7 default
s_arenas.lextent.0.size_001a6cc4 4 FUN_001593b0,default
s_"%s":_001a5ff6 64 FUN_0012aa50,FUN_00151440,FUN_001510e0,FUN_001593b0,FUN_00156580,FUN_001600d0,FUN_0015de90,FUN_00152a30,default,FUN_00153180
s_Enable_tcp_five_tuple_reuse_001abc49 1
s_stats.%s.%s.%s_001a6894 21 FUN_001593b0,FUN_0015de90,default
s_flush_001a6eb1 3 FUN_00163190
s_Disable_fastcase_001abc38 1
s_arenas.bin.0.nregs_001a67ce 4 default
s_Maximum_memory_per_engine_001abbbc 1
s_stats.arenas.0.lextents.0.ndallo_001a76c0 2 FUN_001593b0
s_pthread_create_001a5057 1 FUN_001109b0
s_stats.arenas.0.extents.0.retaine_001a74c8 2 FUN_00151440
s_stats.arenas.0.lextents.0.nmallo_001a7698 2 FUN_001593b0
s_stats.arenas.0.bins.0.nflushes_001a7540 2 default
s_stats.arenas.0.bins.0.nfills_001a6867 2 default
s_arenas.bin.0.size_001a67bc 4 default
s_fatal_error_-_scanner_input_buff_001adb60 1 FUN_001a1390
s_:_error_in_background_t_001a6268 1 FUN_00131860

New

String Ref Count Ref Func
s_fm_signature_zigbee_ep_disable_001c6740 6 FUN_0018fb90,FUN_0018d470
s_cat_/sys/class/dmi/id/product_uu_001c9d48 2 FUN_001ba560
s_aborting_001c1bfe 2 FUN_00148bd0
s_ml_enable_001c5e41 7 FUN_0018f6b0,FUN_0018fb90,FUN_0018d470
s_classif_ext_001c9390 7 qmdpi_report_init,qmdpi_classif_ext_enable,qmdpi_worker_flow_classif_ext_get,FUN_001b85e0,qmdpi_flow_classif_ext_get
s_qmbundle.dll_001c1ddc 1
s_fm_signature_geneve_disable_001c5884 6 FUN_0018fb90,FUN_0018d470
s_opt.tcache_nslots_large_001c0275 3 FUN_00115514
s_Offload_flows_whose_classificati_001c74f0 1
s_stats.arenas.0.tcache_stashed_by_001c0e60 3 FUN_001172f1
s_sanitizer_bump_allocator_001bf9c8 1 FUN_0012bdf0
s_Disable_FlowManager_IPSec_ESP-NU_001c6a78 1
s_Register_TCP_dup_ack_attribute._R_001c6ca0 1
s_if_qm_engine_ml_cla_predict_001c1e63 3 qmdpi_extralib_destroy,qmdpi_bundle_create_from_file,qmdpi_extralib_activate
s_Maximum_memory_per_worker,_in_me_001c6f68 1
s_opt.hpa_sec_batch_fill_extra_001c0118 3 FUN_00115514
s_hpa_central_grow_001bf750 1 FUN_00124380
s_Size_of_2048-byte_memory_pool_(i_001c72f0 1
s_In_full_slabs:npageslabs:%zu_h_001c10f8 1 FUN_001172f1
s_Number_of_Flow_Contexts_per_work_001c7050 1
s_Maximum_memory_per_engine,_in_me_001c6f98 1
s_Set_the_expected_offloading_rati_001c7550 1
s_npageslabs_huge_001c0a01 6 FUN_001172f1
s_:_Write-after-free_det_001bf6e8 2 FUN_00121620
s_cache_ip4_store_001c5200 1 FUN_0018ac30
s_Do_not_add_zigbee_ep_into_path_001c6ae0 1
s_opt.lg_tcache_nslots_mul_001c028d 3 FUN_00115514
s_nhugifies_001c09eb 1 FUN_001172f1
s_fm_signature_ipsec_esp_null_disa_001c6760 6 FUN_0018fb90,FUN_0018d470
s_npageslabs_nonhuge_001c0a1e 7 FUN_001172f1
s_Disable_geneve_signature._001c64e2 1
s_hpa_shard.nonfull_slabs_001c0a7a 1 FUN_001172f1
s_opt.hpa_sec_max_bytes_001c00e4 3 FUN_00115514
s_tcache_stashed_bytes_001c08ac 1 FUN_001172f1
s_nactive_nonhuge_001c0a31 6 FUN_001172f1
s_arenas.bin_001bfe5c 2 FUN_001138f8,FUN_00115514
s_IDS_ATTR_001c3b0f 4 qmdpi_bundle_attr_list_register,qmdpi_bundle_attr_list_unregister
s_narenas_ratio_001c1b62 1 FUN_00143cc0
s_opt.hpa_min_purge_interval_ms_001c0086 3 FUN_00115514
s_:_Number_of_CPUs_detec_001c1868 1 FUN_00149400
s_STD_ATTR_001c3b06 4 qmdpi_bundle_attr_list_register,qmdpi_bundle_attr_list_unregister
s_qmmletc.dll_001c1e0a 1
s_opt.mutex_max_spin_001c0146 3 FUN_00115514
s_opt.cache_oblivious_001bffc8 3 FUN_00115514
s_hpa_hugification_threshold_ratio_001c16e0 1 FUN_00143cc0
s_opt.experimental_infallible_new_001c0d10 3 FUN_00115514
s_opt.prof_leak_error_001c03f8 3 FUN_00115514
s_Disable_HTTP_server_response_pay_001c7698 1
s_stats.arenas.0.hpa_shard.empty_s_001c12c0 3 FUN_001172f1
s_lg_tcache_max_001c1b7b 1 FUN_00143cc0
s_fm_signature_6lowpan_disable_001c5867 6 FUN_0018fb90,FUN_0018d470
s_opt.hpa_slab_max_alloc_001c003c 3 FUN_00115514
s_memory_pool_1024bytes_size_001c5e4b 6 FUN_0018fb90,FUN_0018d470
s_6666666666666666\\\\\\\\_001ca0e0 2 FUN_001bb9c0
s_memory_pool_2048bytes_size_001c5e66 6 FUN_0018fb90,FUN_0018d470
s_opt.hpa_hugification_threshold_001c0cf0 3 FUN_00115514
s_opt.tcache_nslots_small_max_001c0259 3 FUN_00115514
s_dmidecode_-s_system-uuid_2>&1_001c9b8a 1 FUN_001ba560
s_opt.tcache_gc_incr_bytes_001c02a6 3 FUN_00115514
s_port_based_classification_enable_001c68a0 6 FUN_0018fb90,FUN_0018d470
s_stats.arenas.0.hpa_shard.full_sl_001c10c0 3 FUN_001172f1
s_In_empty_slabs:npageslabs:%zu_h_001c12f8 1 FUN_001172f1
s_Enable_the_interfacing_with_the_Q_001c7ab0 1
s_curregs_001bfe1d 4 FUN_001138f8
s_Do_not_add_6LoWPAN_into_path_001c65a3 1
s_qm_ml_etc_init_001c1de9 1
s_nflush_001c06d7 2 FUN_001172f1
s_fm_signature_bypass_802_15_4_001c5973 6 FUN_0018fb90,FUN_0018d470
s_Sets_the_size_of_the_hash_table_u_001c7900 1
s_hpa_hugification_threshold_001c0053 2 FUN_00143cc0,FUN_00115514
s_fast_proto_parser_enable_001c5d19 6 FUN_0018fb90,FUN_0018d470
s_Size_of_8192-byte_memory_pool_(i_001c73c0 1
s_Count_of_realloc(non-null-ptr,_0_001c1410 1 FUN_0011b932
s_opt.hpa_dirty_mult_001c00a4 3 FUN_00115514
s_disabling_001c1c07 2 FUN_00148bd0
s_Number_of_blocks_for_the_memory_p_001c7b48 1
s_nslabs_001bfe46 3 FUN_001138f8
s_%s.%d.%lu.json_001bf9e1 1 FUN_0012fbb0
s_Bytes_in_small_extent_cache_001c09b9 1 FUN_001172f1
s_opt.hpa_sec_max_alloc_001c00ce 3 FUN_00115514
s_Size_of_flow_ctx_memory_pool;_no_001c7078 1
s_Flow_Manager_hashtable_size_001c5f65 1
s_qm_ml_cla_init_001c1e16 1
s_prof_stats_001c0c5c 1
s_stats.arenas.0.hpa_shard.ndehugi_001c0f00 3 FUN_001172f1
s_opt.lg_tcache_flush_large_div_001c02f7 3 FUN_00115514
s_memory_pool_8192bytes_size_001c5e9c 6 FUN_0018fb90,FUN_0018d470
s_stats.arenas.0.hpa_sec_bytes_001c099c 3 FUN_001172f1
s_Use_a_single_static_flow_context_001c6e38 1
s_hpa_sec_001c0c05 1
s_sec_shard_001bfbde 1 FUN_0013bda0
s_trust_madvise_001c1b2a 1 FUN_00143cc0
s_:_size_mismatch_detect_001bfa48 1 FUN_0012fe50
s_fm_signature_bypass_geneve_001c59ac 6 FUN_0018fb90,FUN_0018d470
s_qmmlcla.dll_001c1e37 1
s_memory_pool_4096bytes_size_001c5e81 6 FUN_0018fb90,FUN_0018d470
s_When_set_to_1_disables_the_creat_001c7828 1
s_npurge_passes_001c09d5 1 FUN_001172f1
s_qm_ml_cla_predict_001c1e25 1
s_stats.arenas.0.hpa_shard.npurges_001c0eb0 3 FUN_001172f1
s_stats.mutexes_001c0b32 1 FUN_0011b932
s_Do_not_add_geneve_into_path_001c65c1 1
s_ndirty_nonhuge_001c0a41 6 FUN_001172f1
s_opt.stats_interval_opts_001c0444 3 FUN_00115514
s_opt.tcache_max_001c022e 3 FUN_00115514
s_Too_many_items_found_during_Prot_001c3128 1 qmdpi_exception_get_string
s_tcache_stashed_bytes:_001c08c1 2 FUN_001172f1
s_Do_not_add_802_15_4_into_path_001c6b00 1
s_engine_001c337a 1
s_hpa_central_001bf761 1 FUN_00124380
s_in_thread_cache,_possibly_from_p_001bfa10 1 FUN_0012fe50
s_opt.zero_realloc_001c045c 3 FUN_00115514
s_justify_spacer_001bfe32 2 FUN_001138f8
s_Called_realloc(non-null-ptr,_0)_w_001c1968 1 FUN_0014ebb0
s_5.10.0-47_(build_date_Nov_28_202_001c3178 1 qmdpi_engine_version_get_string
s_fm_signature_geneve_ignore_genev_001c6850 6 FUN_0018fb90,FUN_0018d470
s_Size_of_a_block_to_store_a_TCP_s_001c7af0 1
s_slab_size_001bfe6d 3 FUN_001138f8,FUN_00115514
s_experimental_infallible_new_001c0207 1 FUN_00115514
s_Enable_machine_learning_lib_in_t_001c7b90 1
s_HPA_shard_stats:Purge_passes:%_001c0f28 1 FUN_001172f1
s_Disable_6LoWPAN_signature._001c64c7 1
s_Please_override_ulayer_store_pri_001c50a0 1 FUN_00187990
s_empty_slabs_001c0a50 1 FUN_001172f1
s_Size_of_4096-byte_memory_pool_(i_001c7358 1
s_:_HPA_not_supported_in_001c1828 2 FUN_00148bd0
s_opt.hpa_sec_nshards_001c00ba 3 FUN_00115514
s_fm_signature_gtp_ignore_outer_in_001c6828 6 FUN_0018fb90,FUN_0018d470
s_the_current_pointer_being_freed_001bf9f0 1 FUN_0012fe50
s_prof_thds_data_001c0c20 1
s_"%s":%s_001bfd98 2 FUN_00142ce0,FUN_00142df0
s_nactive_huge_001c0a11 9 FUN_001172f1
s_feed_ids_re_enable_001c5e2e 6 FUN_0018fb90,FUN_0018d470
s_san_guard_small_001c1bcc 1 FUN_00143cc0
s_opt.stats_interval_001c0431 3 FUN_00115514
s_5.3.0-0-g54eaed1d8b56b1aa528be3b_001c1d90 4 FUN_001569c0
s_prof_recent_dump_001c0c4b 1
s_Ignore_GTP_outer_layer_3_and_lay_001c6b20 1
s_Bitfield_configuration_parameter_001c7638 1
s_stats.arenas.0.hpa_shard.nhugifi_001c0ed8 3 FUN_001172f1
s_%s(%u)X%u_001bfc90 3 FUN_0013c430
s_fm_signature_bypass_6lowpan_001c5990 6 FUN_0018fb90,FUN_0018d470
s_opt.tcache_nslots_small_min_001c023d 3 FUN_00115514
s_:_Failure_in_ctl_mibna_001c0c68 6 FUN_00112f6e,FUN_00115514,FUN_001125e9,FUN_0011b932,FUN_001138f8,FUN_001172f1
s_Size_of_1024-byte_memory_pool_(i_001c7288 1
s_stats.arenas.0.hpa_shard.npurge__001c0e88 3 FUN_001172f1
s_nretained_nonhuge_001c0a68 2 FUN_001172f1
s_ndehugifies_001c09f5 1 FUN_001172f1
s_stats.zero_reallocs_001c0afc 3 FUN_0011b932
s_fm_signature_802_15_4_disable_001c5849 6 FUN_0018fb90,FUN_0018d470
s_Disable_802_15_4_signature._001c64ab 1
s_max_per_bg_thd_001c0c0d 2 FUN_0011b932
s_Ignore_geneve_vlanid_001c6631 1
s_Disable_zigbee_ep_signature._001c648e 1
s_hpa_shard_grow_001bf76d 2 FUN_001248d0
s_npurges_001c09e3 1 FUN_001172f1
s_NM?Y_strdup_001c2b10 16 qmdpi_worker_data_attr_to_buffer,qmdpi_data_attr_to_buffer
s_memory_pool_tcp_reass_block_nb_001c6940 6 FUN_0018fb90,FUN_0018d470
s_hpa_shard_001bf77c 3 FUN_001172f1,FUN_001248d0
s_<magic!section>_001c9dc0 2 FUN_001ba9e0,FUN_001ba930
s_opt.lg_tcache_flush_small_div_001c02d9 3 FUN_00115514
s_fm_signature_bypass_zigbee_ep_001c5955 6 FUN_0018fb90,FUN_0018d470
s_Enable_ProtocolBundle's_IANA_Por_001c76e0 1
s_san_guard_large_001c1bdc 1 FUN_00143cc0
s_opt.hpa_hugify_delay_ms_001c006e 3 FUN_00115514
s_memory_pool_tcp_reass_block_size_001c6918 6 FUN_0018fb90,FUN_0018d470
s_:_option_background_th_001bf010 1 FUN_0011ca40
s_:_prof_leak_error_is_s_001c17d0 1 FUN_00148bd0
s_ndirty_huge_001c0a5c 4 FUN_001172f1
s_prof_recent_alloc_001c0c39 1
s_arenas.lextent_001bfde8 2 FUN_00112f6e,FUN_00115514
s_:_Failure_in_ctl_bymib_001c0c98 5 FUN_00112f6e,FUN_00115514,FUN_001125e9,FUN_001138f8,FUN_001172f1
s_opt.hpa_sec_bytes_after_flush_001c00fa 3 FUN_00115514
s_edata_cache_001bf6a0 1 FUN_0011dd50
s_opt.tcache_gc_delay_bytes_001c02bf 3 FUN_00115514
s_Enable_classification_cache,_cac_001c6ef0 1
s_prof_dump_001c0c2f 1

Deleted

FUN_0010e788

Function Meta

Key libqmengine_geedge.so
name FUN_0010e788
fullname FUN_0010e788
refcount 1
length 23
called ::gmon_start
calling _DT_INIT
paramcount 0
address 0010e788
sig undefined FUN_0010e788(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0010eb60

Function Meta

Key libqmengine_geedge.so
name FUN_0010eb60
fullname FUN_0010eb60
refcount 4
length 201
called qm_malloc_default
thunk_FUN_00181e30
calling
paramcount 0
address 0010eb60
sig undefined FUN_0010eb60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0010f040

Function Meta

Key libqmengine_geedge.so
name FUN_0010f040
fullname FUN_0010f040
refcount 3
length 68
called FUN_0019c4c0
thunk_FUN_00181e30
calling
paramcount 0
address 0010f040
sig undefined FUN_0010f040(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0010f260

Function Meta

Key libqmengine_geedge.so
name FUN_0010f260
fullname FUN_0010f260
refcount 3
length 116
called ::dlclose
FUN_0010f160
calling qmdpi_bundle_create_from_file
paramcount 0
address 0010f260
sig undefined FUN_0010f260(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0010f320

Function Meta

Key libqmengine_geedge.so
name FUN_0010f320
fullname FUN_0010f320
refcount 3
length 77
called FUN_0010f160
calling qmdpi_extralib_create_from_file
paramcount 0
address 0010f320
sig undefined FUN_0010f320(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0010f370

Function Meta

Key libqmengine_geedge.so
name FUN_0010f370
fullname FUN_0010f370
refcount 3
length 76
called FUN_0010f160
calling qmdpi_extralib_create_from_file
paramcount 0
address 0010f370
sig undefined FUN_0010f370(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0010f400

Function Meta

Key libqmengine_geedge.so
name FUN_0010f400
fullname FUN_0010f400
refcount 3
length 431
called
calling FUN_00130120
paramcount 0
address 0010f400
sig undefined FUN_0010f400(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00110740

Function Meta

Key libqmengine_geedge.so
name FUN_00110740
fullname FUN_00110740
refcount 6
length 602
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_00127970
calling FUN_00110cc0
paramcount 0
address 00110740
sig undefined FUN_00110740(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001109b0

Function Meta

Key libqmengine_geedge.so
name FUN_001109b0
fullname FUN_001109b0
refcount 4
length 59
called ::dlsym
calling FUN_001124d0
FUN_001124f0
paramcount 0
address 001109b0
sig undefined FUN_001109b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00110cc0

Function Meta

Key libqmengine_geedge.so
name FUN_00110cc0
fullname FUN_00110cc0
refcount 3
length 3154
called
Expand for full list:
::__tls_get_addr
::abort
::gettimeofday
::pthread_cond_timedwait
::pthread_cond_wait
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00110740
FUN_00110a00
FUN_00110ac0
FUN_00110c20
FUN_00117bc0
FUN_0011c2a0
FUN_0011f310
FUN_0011f880
FUN_0011f890
FUN_0011f8a0
FUN_0011f8d0
FUN_0011f8f0
FUN_0011f920
FUN_0011f930
FUN_0011f950
FUN_0011f9d0
FUN_0011f9e0
FUN_0011f9f0
FUN_00120430
FUN_00120480
FUN_00120660
FUN_00131f60
calling
paramcount 0
address 00110cc0
sig undefined FUN_00110cc0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00111c00

Function Meta

Key libqmengine_geedge.so
name FUN_00111c00
fullname FUN_00111c00
refcount 4
length 404
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00110700
FUN_00111930
FUN_0011c2a0
FUN_00131f60
calling FUN_0013c500
FUN_0013c770
paramcount 0
address 00111c00
sig undefined FUN_00111c00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112010

Function Meta

Key libqmengine_geedge.so
name FUN_00112010
fullname FUN_00112010
refcount 3
length 100
called FUN_0011c490
calling FUN_00132160
paramcount 0
address 00112010
sig undefined FUN_00112010(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001122e0

Function Meta

Key libqmengine_geedge.so
name FUN_001122e0
fullname FUN_001122e0
refcount 3
length 448
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f880
FUN_0011f9d0
FUN_0011fa20
calling FUN_00142e10
paramcount 0
address 001122e0
sig undefined FUN_001122e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112ac0

Function Meta

Key libqmengine_geedge.so
name FUN_00112ac0
fullname FUN_00112ac0
refcount 7
length 26
called
calling FUN_0011c560
FUN_001212a0
FUN_001212e0
FUN_00127b90
FUN_00127da0
paramcount 0
address 00112ac0
sig undefined FUN_00112ac0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112bd0

Function Meta

Key libqmengine_geedge.so
name FUN_00112bd0
fullname FUN_00112bd0
refcount 4
length 241
called
calling FUN_00115810
FUN_001158e0
paramcount 0
address 00112bd0
sig undefined FUN_00112bd0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00115720

Function Meta

Key libqmengine_geedge.so
name FUN_00115720
fullname FUN_00115720
refcount 2
length 122
called
calling
paramcount 0
address 00115720
sig undefined FUN_00115720(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00115d30

Function Meta

Key libqmengine_geedge.so
name FUN_00115d30
fullname FUN_00115d30
refcount 5
length 92
called ::__tls_get_addr
FUN_00120660
calling FUN_00116060
FUN_00116140
FUN_00116210
paramcount 0
address 00115d30
sig undefined FUN_00115d30(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00116640

Function Meta

Key libqmengine_geedge.so
name FUN_00116640
fullname FUN_00116640
refcount 5
length 165
called
calling FUN_00116970
FUN_001169b0
FUN_00116a00
paramcount 0
address 00116640
sig undefined FUN_00116640(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001166f0

Function Meta

Key libqmengine_geedge.so
name FUN_001166f0
fullname FUN_001166f0
refcount 6
length 165
called
calling FUN_001167a0
FUN_001169b0
FUN_00116a00
paramcount 0
address 001166f0
sig undefined FUN_001166f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011bd30

Function Meta

Key libqmengine_geedge.so
name FUN_0011bd30
fullname FUN_0011bd30
refcount 3
length 109
called thunk_FUN_0011c490
calling FUN_00132160
paramcount 0
address 0011bd30
sig undefined FUN_0011bd30(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011dec0

Function Meta

Key libqmengine_geedge.so
name FUN_0011dec0
fullname FUN_0011dec0
refcount 2
length 10
called FUN_0011deb0
calling
paramcount 0
address 0011dec0
sig undefined FUN_0011dec0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011f8b0

Function Meta

Key libqmengine_geedge.so
name FUN_0011f8b0
fullname FUN_0011f8b0
refcount 2
length 27
called
calling
paramcount 0
address 0011f8b0
sig undefined FUN_0011f8b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011fa40

Function Meta

Key libqmengine_geedge.so
name FUN_0011fa40
fullname FUN_0011fa40
refcount 3
length 47
called FUN_0010ffa0
FUN_00110510
calling
paramcount 0
address 0011fa40
sig undefined FUN_0011fa40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001201e0

Function Meta

Key libqmengine_geedge.so
name FUN_001201e0
fullname FUN_001201e0
refcount 3
length 196
called
calling FUN_00130120
paramcount 0
address 001201e0
sig undefined FUN_001201e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001209e0

Function Meta

Key libqmengine_geedge.so
name FUN_001209e0
fullname FUN_001209e0
refcount 5
length 147
called
calling FUN_00120a80
FUN_00125b20
FUN_00126ff0
paramcount 0
address 001209e0
sig undefined FUN_001209e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00120a80

Function Meta

Key libqmengine_geedge.so
name FUN_00120a80
fullname FUN_00120a80
refcount 5
length 147
called FUN_001209e0
calling FUN_001282d0
paramcount 0
address 00120a80
sig undefined FUN_00120a80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001212e0

Function Meta

Key libqmengine_geedge.so
name FUN_001212e0
fullname FUN_001212e0
refcount 3
length 48
called FUN_00112ac0
FUN_00112ba0
calling
paramcount 0
address 001212e0
sig undefined FUN_001212e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001213b0

Function Meta

Key libqmengine_geedge.so
name FUN_001213b0
fullname FUN_001213b0
refcount 5
length 1031
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011fac0
calling FUN_00127320
FUN_001282d0
paramcount 0
address 001213b0
sig undefined FUN_001213b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001217c0

Function Meta

Key libqmengine_geedge.so
name FUN_001217c0
fullname FUN_001217c0
refcount 8
length 833
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011fc40
FUN_00120bf0
FUN_00120f80
calling FUN_001279a0
FUN_00127b90
FUN_00127da0
FUN_001282d0
FUN_00128ef0
paramcount 0
address 001217c0
sig undefined FUN_001217c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00121fc0

Function Meta

Key libqmengine_geedge.so
name FUN_00121fc0
fullname FUN_00121fc0
refcount 3
length 887
called
calling FUN_00123750
paramcount 0
address 00121fc0
sig undefined FUN_00121fc0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122370

Function Meta

Key libqmengine_geedge.so
name FUN_00122370
fullname FUN_00122370
refcount 2
length 23
called
calling
paramcount 0
address 00122370
sig undefined FUN_00122370(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001223f0

Function Meta

Key libqmengine_geedge.so
name FUN_001223f0
fullname FUN_001223f0
refcount 2
length 1593
called
calling
paramcount 0
address 001223f0
sig undefined FUN_001223f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122a80

Function Meta

Key libqmengine_geedge.so
name FUN_00122a80
fullname FUN_00122a80
refcount 2
length 728
called
calling
paramcount 0
address 00122a80
sig undefined FUN_00122a80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001238f0

Function Meta

Key libqmengine_geedge.so
name FUN_001238f0
fullname FUN_001238f0
refcount 6
length 3163
called
Expand for full list:
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011fc40
FUN_00120980
FUN_00120bf0
FUN_00120e80
FUN_00120ef0
FUN_00120f20
FUN_00123750
FUN_00123840
FUN_001238e0
calling FUN_00124590
FUN_00129a90
paramcount 0
address 001238f0
sig undefined FUN_001238f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124590

Function Meta

Key libqmengine_geedge.so
name FUN_00124590
fullname FUN_00124590
refcount 4
length 1396
called FUN_0011fac0
FUN_001238f0
calling FUN_001282d0
FUN_00128ef0
paramcount 0
address 00124590
sig undefined FUN_00124590(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124e10

Function Meta

Key libqmengine_geedge.so
name FUN_00124e10
fullname FUN_00124e10
refcount 6
length 2050
called
Expand for full list:
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00112ae0
FUN_0011c2a0
FUN_0011fc40
FUN_00120bf0
FUN_00120e80
FUN_00120ef0
FUN_00120f20
FUN_00123840
FUN_001238e0
calling FUN_00127320
paramcount 0
address 00124e10
sig undefined FUN_00124e10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125640

Function Meta

Key libqmengine_geedge.so
name FUN_00125640
fullname FUN_00125640
refcount 3
length 185
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_001104f0
FUN_0011c2a0
calling FUN_00143ce0
paramcount 0
address 00125640
sig undefined FUN_00125640(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125aa0

Function Meta

Key libqmengine_geedge.so
name FUN_00125aa0
fullname FUN_00125aa0
refcount 2
length 23
called
calling
paramcount 0
address 00125aa0
sig undefined FUN_00125aa0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125b20

Function Meta

Key libqmengine_geedge.so
name FUN_00125b20
fullname FUN_00125b20
refcount 4
length 400
called FUN_001209e0
FUN_00125710
FUN_00125ac0
calling FUN_00127260
FUN_001279a0
paramcount 0
address 00125b20
sig undefined FUN_00125b20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126320

Function Meta

Key libqmengine_geedge.so
name FUN_00126320
fullname FUN_00126320
refcount 2
length 729
called
calling
paramcount 0
address 00126320
sig undefined FUN_00126320(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126ff0

Function Meta

Key libqmengine_geedge.so
name FUN_00126ff0
fullname FUN_00126ff0
refcount 6
length 418
called FUN_001209e0
FUN_00125710
FUN_00126640
calling FUN_00127320
FUN_001279a0
FUN_001282d0
paramcount 0
address 00126ff0
sig undefined FUN_00126ff0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00127320

Function Meta

Key libqmengine_geedge.so
name FUN_00127320
fullname FUN_00127320
refcount 5
length 1409
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_001213b0
FUN_00124e10
FUN_00126ff0
FUN_00127260
calling FUN_001279a0
FUN_00128050
paramcount 0
address 00127320
sig undefined FUN_00127320(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00127990

Function Meta

Key libqmengine_geedge.so
name FUN_00127990
fullname FUN_00127990
refcount 5
length 14
called
calling FUN_00119150
paramcount 0
address 00127990
sig undefined FUN_00127990(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00128ef0

Function Meta

Key libqmengine_geedge.so
name FUN_00128ef0
fullname FUN_00128ef0
refcount 3
length 1675
called
Expand for full list:
::memset
::pthread_mutex_unlock
FUN_0011a0f0
FUN_0011fc40
FUN_00120b20
FUN_00120e80
FUN_00120f20
FUN_00121110
FUN_001217c0
FUN_00121b10
FUN_00123750
FUN_00123840
FUN_001238e0
FUN_00124590
FUN_00124d00
FUN_001278d0
FUN_00128050
thunk_FUN_0011f650
calling FUN_001295a0
paramcount 0
address 00128ef0
sig undefined FUN_00128ef0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012a040

Function Meta

Key libqmengine_geedge.so
name FUN_0012a040
fullname FUN_0012a040
refcount 2
length 106
called ::abort
FUN_0011f310
calling
paramcount 0
address 0012a040
sig undefined FUN_0012a040(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012a0f0

Function Meta

Key libqmengine_geedge.so
name FUN_0012a0f0
fullname FUN_0012a0f0
refcount 2
length 114
called ::abort
FUN_0011f310
calling
paramcount 0
address 0012a0f0
sig undefined FUN_0012a0f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012a3e0

Function Meta

Key libqmengine_geedge.so
name FUN_0012a3e0
fullname FUN_0012a3e0
refcount 2
length 96
called ::abort
::creat
FUN_0011f310
calling
paramcount 0
address 0012a3e0
sig undefined FUN_0012a3e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012aa50

Function Meta

Key libqmengine_geedge.so
name FUN_0012aa50
fullname FUN_0012aa50
refcount 2
length 2856
called
Expand for full list:
FUN_00116400
FUN_00118650
FUN_0011c550
FUN_0011d5c0
FUN_0011f190
FUN_0011fac0
FUN_0012a1c0
FUN_0012a280
FUN_0012d010
FUN_0012d650
FUN_0012de10
calling
paramcount 0
address 0012aa50
sig undefined FUN_0012aa50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012c5e0

Function Meta

Key libqmengine_geedge.so
name FUN_0012c5e0
fullname FUN_0012c5e0
refcount 2
length 86
called ::pthread_mutex_trylock
FUN_0011c2a0
calling
paramcount 0
address 0012c5e0
sig undefined FUN_0012c5e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012c970

Function Meta

Key libqmengine_geedge.so
name FUN_0012c970
fullname FUN_0012c970
refcount 2
length 106
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 0012c970
sig undefined FUN_0012c970(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012cbe0

Function Meta

Key libqmengine_geedge.so
name FUN_0012cbe0
fullname FUN_0012cbe0
refcount 2
length 106
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 0012cbe0
sig undefined FUN_0012cbe0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013be00

Function Meta

Key libqmengine_geedge.so
name FUN_0013be00
fullname FUN_0013be00
refcount 14
length 13
called
calling FUN_00142990
paramcount 0
address 0013be00
sig undefined FUN_0013be00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013be10

Function Meta

Key libqmengine_geedge.so
name FUN_0013be10
fullname FUN_0013be10
refcount 18
length 13
called
calling FUN_00142990
paramcount 0
address 0013be10
sig undefined FUN_0013be10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c380

Function Meta

Key libqmengine_geedge.so
name FUN_0013c380
fullname FUN_0013c380
refcount 4
length 107
called ::pthread_mutex_unlock
FUN_0013bb20
calling FUN_001439b0
FUN_00146480
paramcount 0
address 0013c380
sig undefined FUN_0013c380(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c500

Function Meta

Key libqmengine_geedge.so
name FUN_0013c500
fullname FUN_0013c500
refcount 2
length 590
called ::pthread_mutex_unlock
FUN_00111c00
FUN_00111da0
FUN_001124d0
FUN_0013bb20
calling
paramcount 0
address 0013c500
sig undefined FUN_0013c500(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c970

Function Meta

Key libqmengine_geedge.so
name FUN_0013c970
fullname FUN_0013c970
refcount 4
length 53
called FUN_0013c910
calling FUN_00143a50
FUN_00143ae0
paramcount 0
address 0013c970
sig undefined FUN_0013c970(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013ca90

Function Meta

Key libqmengine_geedge.so
name FUN_0013ca90
fullname FUN_0013ca90
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013ca90
sig undefined FUN_0013ca90(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013cbd0

Function Meta

Key libqmengine_geedge.so
name FUN_0013cbd0
fullname FUN_0013cbd0
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013cbd0
sig undefined FUN_0013cbd0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013cd10

Function Meta

Key libqmengine_geedge.so
name FUN_0013cd10
fullname FUN_0013cd10
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013cd10
sig undefined FUN_0013cd10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013ce50

Function Meta

Key libqmengine_geedge.so
name FUN_0013ce50
fullname FUN_0013ce50
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013ce50
sig undefined FUN_0013ce50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013cf90

Function Meta

Key libqmengine_geedge.so
name FUN_0013cf90
fullname FUN_0013cf90
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013cf90
sig undefined FUN_0013cf90(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d0d0

Function Meta

Key libqmengine_geedge.so
name FUN_0013d0d0
fullname FUN_0013d0d0
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d0d0
sig undefined FUN_0013d0d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d210

Function Meta

Key libqmengine_geedge.so
name FUN_0013d210
fullname FUN_0013d210
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d210
sig undefined FUN_0013d210(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d350

Function Meta

Key libqmengine_geedge.so
name FUN_0013d350
fullname FUN_0013d350
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d350
sig undefined FUN_0013d350(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d490

Function Meta

Key libqmengine_geedge.so
name FUN_0013d490
fullname FUN_0013d490
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d490
sig undefined FUN_0013d490(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d5d0

Function Meta

Key libqmengine_geedge.so
name FUN_0013d5d0
fullname FUN_0013d5d0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d5d0
sig undefined FUN_0013d5d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d700

Function Meta

Key libqmengine_geedge.so
name FUN_0013d700
fullname FUN_0013d700
refcount 4
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d700
sig undefined FUN_0013d700(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d840

Function Meta

Key libqmengine_geedge.so
name FUN_0013d840
fullname FUN_0013d840
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d840
sig undefined FUN_0013d840(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013d970

Function Meta

Key libqmengine_geedge.so
name FUN_0013d970
fullname FUN_0013d970
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013d970
sig undefined FUN_0013d970(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013daa0

Function Meta

Key libqmengine_geedge.so
name FUN_0013daa0
fullname FUN_0013daa0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013daa0
sig undefined FUN_0013daa0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013dbd0

Function Meta

Key libqmengine_geedge.so
name FUN_0013dbd0
fullname FUN_0013dbd0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013dbd0
sig undefined FUN_0013dbd0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013dd00

Function Meta

Key libqmengine_geedge.so
name FUN_0013dd00
fullname FUN_0013dd00
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013dd00
sig undefined FUN_0013dd00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013de30

Function Meta

Key libqmengine_geedge.so
name FUN_0013de30
fullname FUN_0013de30
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013de30
sig undefined FUN_0013de30(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013df60

Function Meta

Key libqmengine_geedge.so
name FUN_0013df60
fullname FUN_0013df60
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013df60
sig undefined FUN_0013df60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e090

Function Meta

Key libqmengine_geedge.so
name FUN_0013e090
fullname FUN_0013e090
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e090
sig undefined FUN_0013e090(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e1c0

Function Meta

Key libqmengine_geedge.so
name FUN_0013e1c0
fullname FUN_0013e1c0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e1c0
sig undefined FUN_0013e1c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e2f0

Function Meta

Key libqmengine_geedge.so
name FUN_0013e2f0
fullname FUN_0013e2f0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e2f0
sig undefined FUN_0013e2f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e420

Function Meta

Key libqmengine_geedge.so
name FUN_0013e420
fullname FUN_0013e420
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e420
sig undefined FUN_0013e420(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e550

Function Meta

Key libqmengine_geedge.so
name FUN_0013e550
fullname FUN_0013e550
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e550
sig undefined FUN_0013e550(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e680

Function Meta

Key libqmengine_geedge.so
name FUN_0013e680
fullname FUN_0013e680
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e680
sig undefined FUN_0013e680(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e7b0

Function Meta

Key libqmengine_geedge.so
name FUN_0013e7b0
fullname FUN_0013e7b0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e7b0
sig undefined FUN_0013e7b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013e8e0

Function Meta

Key libqmengine_geedge.so
name FUN_0013e8e0
fullname FUN_0013e8e0
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013e8e0
sig undefined FUN_0013e8e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013ea10

Function Meta

Key libqmengine_geedge.so
name FUN_0013ea10
fullname FUN_0013ea10
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013ea10
sig undefined FUN_0013ea10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013eb40

Function Meta

Key libqmengine_geedge.so
name FUN_0013eb40
fullname FUN_0013eb40
refcount 2
length 292
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013eb40
sig undefined FUN_0013eb40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013eda0

Function Meta

Key libqmengine_geedge.so
name FUN_0013eda0
fullname FUN_0013eda0
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013eda0
sig undefined FUN_0013eda0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013eee0

Function Meta

Key libqmengine_geedge.so
name FUN_0013eee0
fullname FUN_0013eee0
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013eee0
sig undefined FUN_0013eee0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f020

Function Meta

Key libqmengine_geedge.so
name FUN_0013f020
fullname FUN_0013f020
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f020
sig undefined FUN_0013f020(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f160

Function Meta

Key libqmengine_geedge.so
name FUN_0013f160
fullname FUN_0013f160
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f160
sig undefined FUN_0013f160(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f2a0

Function Meta

Key libqmengine_geedge.so
name FUN_0013f2a0
fullname FUN_0013f2a0
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f2a0
sig undefined FUN_0013f2a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f3e0

Function Meta

Key libqmengine_geedge.so
name FUN_0013f3e0
fullname FUN_0013f3e0
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f3e0
sig undefined FUN_0013f3e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f520

Function Meta

Key libqmengine_geedge.so
name FUN_0013f520
fullname FUN_0013f520
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f520
sig undefined FUN_0013f520(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f660

Function Meta

Key libqmengine_geedge.so
name FUN_0013f660
fullname FUN_0013f660
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f660
sig undefined FUN_0013f660(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f7a0

Function Meta

Key libqmengine_geedge.so
name FUN_0013f7a0
fullname FUN_0013f7a0
refcount 2
length 324
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f7a0
sig undefined FUN_0013f7a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f8f0

Function Meta

Key libqmengine_geedge.so
name FUN_0013f8f0
fullname FUN_0013f8f0
refcount 2
length 324
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013f8f0
sig undefined FUN_0013f8f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013fa40

Function Meta

Key libqmengine_geedge.so
name FUN_0013fa40
fullname FUN_0013fa40
refcount 2
length 308
called ::pthread_mutex_unlock
FUN_0011f8a0
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 0013fa40
sig undefined FUN_0013fa40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013fc70

Function Meta

Key libqmengine_geedge.so
name FUN_0013fc70
fullname FUN_0013fc70
refcount 2
length 219
called
calling
paramcount 0
address 0013fc70
sig undefined FUN_0013fc70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013fd70

Function Meta

Key libqmengine_geedge.so
name FUN_0013fd70
fullname FUN_0013fd70
refcount 2
length 104
called
calling
paramcount 0
address 0013fd70
sig undefined FUN_0013fd70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013fdf0

Function Meta

Key libqmengine_geedge.so
name FUN_0013fdf0
fullname FUN_0013fdf0
refcount 2
length 118
called
calling
paramcount 0
address 0013fdf0
sig undefined FUN_0013fdf0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013fe80

Function Meta

Key libqmengine_geedge.so
name FUN_0013fe80
fullname FUN_0013fe80
refcount 2
length 217
called
calling
paramcount 0
address 0013fe80
sig undefined FUN_0013fe80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013ff80

Function Meta

Key libqmengine_geedge.so
name FUN_0013ff80
fullname FUN_0013ff80
refcount 2
length 118
called
calling
paramcount 0
address 0013ff80
sig undefined FUN_0013ff80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140010

Function Meta

Key libqmengine_geedge.so
name FUN_00140010
fullname FUN_00140010
refcount 2
length 223
called
calling
paramcount 0
address 00140010
sig undefined FUN_00140010(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140110

Function Meta

Key libqmengine_geedge.so
name FUN_00140110
fullname FUN_00140110
refcount 2
length 105
called
calling
paramcount 0
address 00140110
sig undefined FUN_00140110(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140190

Function Meta

Key libqmengine_geedge.so
name FUN_00140190
fullname FUN_00140190
refcount 2
length 104
called
calling
paramcount 0
address 00140190
sig undefined FUN_00140190(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140210

Function Meta

Key libqmengine_geedge.so
name FUN_00140210
fullname FUN_00140210
refcount 2
length 204
called
calling
paramcount 0
address 00140210
sig undefined FUN_00140210(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140300

Function Meta

Key libqmengine_geedge.so
name FUN_00140300
fullname FUN_00140300
refcount 2
length 217
called
calling
paramcount 0
address 00140300
sig undefined FUN_00140300(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001403f0

Function Meta

Key libqmengine_geedge.so
name FUN_001403f0
fullname FUN_001403f0
refcount 2
length 217
called
calling
paramcount 0
address 001403f0
sig undefined FUN_001403f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001404e0

Function Meta

Key libqmengine_geedge.so
name FUN_001404e0
fullname FUN_001404e0
refcount 2
length 208
called ::pthread_mutex_unlock
FUN_0013bb20
FUN_0013ca40
calling
paramcount 0
address 001404e0
sig undefined FUN_001404e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001405d0

Function Meta

Key libqmengine_geedge.so
name FUN_001405d0
fullname FUN_001405d0
refcount 2
length 204
called
calling
paramcount 0
address 001405d0
sig undefined FUN_001405d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001406c0

Function Meta

Key libqmengine_geedge.so
name FUN_001406c0
fullname FUN_001406c0
refcount 2
length 204
called
calling
paramcount 0
address 001406c0
sig undefined FUN_001406c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001407b0

Function Meta

Key libqmengine_geedge.so
name FUN_001407b0
fullname FUN_001407b0
refcount 2
length 221
called
calling
paramcount 0
address 001407b0
sig undefined FUN_001407b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001408b0

Function Meta

Key libqmengine_geedge.so
name FUN_001408b0
fullname FUN_001408b0
refcount 2
length 105
called
calling
paramcount 0
address 001408b0
sig undefined FUN_001408b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140930

Function Meta

Key libqmengine_geedge.so
name FUN_00140930
fullname FUN_00140930
refcount 2
length 105
called
calling
paramcount 0
address 00140930
sig undefined FUN_00140930(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140aa0

Function Meta

Key libqmengine_geedge.so
name FUN_00140aa0
fullname FUN_00140aa0
refcount 2
length 201
called
calling
paramcount 0
address 00140aa0
sig undefined FUN_00140aa0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140b90

Function Meta

Key libqmengine_geedge.so
name FUN_00140b90
fullname FUN_00140b90
refcount 2
length 105
called
calling
paramcount 0
address 00140b90
sig undefined FUN_00140b90(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140c10

Function Meta

Key libqmengine_geedge.so
name FUN_00140c10
fullname FUN_00140c10
refcount 2
length 204
called
calling
paramcount 0
address 00140c10
sig undefined FUN_00140c10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140d00

Function Meta

Key libqmengine_geedge.so
name FUN_00140d00
fullname FUN_00140d00
refcount 2
length 204
called
calling
paramcount 0
address 00140d00
sig undefined FUN_00140d00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140df0

Function Meta

Key libqmengine_geedge.so
name FUN_00140df0
fullname FUN_00140df0
refcount 2
length 204
called
calling
paramcount 0
address 00140df0
sig undefined FUN_00140df0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140ee0

Function Meta

Key libqmengine_geedge.so
name FUN_00140ee0
fullname FUN_00140ee0
refcount 2
length 105
called
calling
paramcount 0
address 00140ee0
sig undefined FUN_00140ee0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00140f60

Function Meta

Key libqmengine_geedge.so
name FUN_00140f60
fullname FUN_00140f60
refcount 2
length 204
called
calling
paramcount 0
address 00140f60
sig undefined FUN_00140f60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141150

Function Meta

Key libqmengine_geedge.so
name FUN_00141150
fullname FUN_00141150
refcount 2
length 105
called
calling
paramcount 0
address 00141150
sig undefined FUN_00141150(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001412c0

Function Meta

Key libqmengine_geedge.so
name FUN_001412c0
fullname FUN_001412c0
refcount 2
length 105
called
calling
paramcount 0
address 001412c0
sig undefined FUN_001412c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141340

Function Meta

Key libqmengine_geedge.so
name FUN_00141340
fullname FUN_00141340
refcount 2
length 221
called
calling
paramcount 0
address 00141340
sig undefined FUN_00141340(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141440

Function Meta

Key libqmengine_geedge.so
name FUN_00141440
fullname FUN_00141440
refcount 2
length 105
called
calling
paramcount 0
address 00141440
sig undefined FUN_00141440(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001414c0

Function Meta

Key libqmengine_geedge.so
name FUN_001414c0
fullname FUN_001414c0
refcount 2
length 105
called
calling
paramcount 0
address 001414c0
sig undefined FUN_001414c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141540

Function Meta

Key libqmengine_geedge.so
name FUN_00141540
fullname FUN_00141540
refcount 2
length 105
called
calling
paramcount 0
address 00141540
sig undefined FUN_00141540(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001415c0

Function Meta

Key libqmengine_geedge.so
name FUN_001415c0
fullname FUN_001415c0
refcount 2
length 201
called
calling
paramcount 0
address 001415c0
sig undefined FUN_001415c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001416b0

Function Meta

Key libqmengine_geedge.so
name FUN_001416b0
fullname FUN_001416b0
refcount 10
length 79
called
calling FUN_00141710
FUN_00141740
FUN_00141770
FUN_001417a0
FUN_001417d0
FUN_00141800
FUN_00141830
FUN_00141860
paramcount 0
address 001416b0
sig undefined FUN_001416b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141710

Function Meta

Key libqmengine_geedge.so
name FUN_00141710
fullname FUN_00141710
refcount 2
length 29
called FUN_001416b0
calling
paramcount 0
address 00141710
sig undefined FUN_00141710(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141740

Function Meta

Key libqmengine_geedge.so
name FUN_00141740
fullname FUN_00141740
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 00141740
sig undefined FUN_00141740(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141770

Function Meta

Key libqmengine_geedge.so
name FUN_00141770
fullname FUN_00141770
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 00141770
sig undefined FUN_00141770(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001417a0

Function Meta

Key libqmengine_geedge.so
name FUN_001417a0
fullname FUN_001417a0
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 001417a0
sig undefined FUN_001417a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001417d0

Function Meta

Key libqmengine_geedge.so
name FUN_001417d0
fullname FUN_001417d0
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 001417d0
sig undefined FUN_001417d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141800

Function Meta

Key libqmengine_geedge.so
name FUN_00141800
fullname FUN_00141800
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 00141800
sig undefined FUN_00141800(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141830

Function Meta

Key libqmengine_geedge.so
name FUN_00141830
fullname FUN_00141830
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 00141830
sig undefined FUN_00141830(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141860

Function Meta

Key libqmengine_geedge.so
name FUN_00141860
fullname FUN_00141860
refcount 2
length 32
called FUN_001416b0
calling
paramcount 0
address 00141860
sig undefined FUN_00141860(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141890

Function Meta

Key libqmengine_geedge.so
name FUN_00141890
fullname FUN_00141890
refcount 5
length 79
called
calling FUN_001418f0
FUN_00141920
FUN_00141950
paramcount 0
address 00141890
sig undefined FUN_00141890(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001418f0

Function Meta

Key libqmengine_geedge.so
name FUN_001418f0
fullname FUN_001418f0
refcount 2
length 29
called FUN_00141890
calling
paramcount 0
address 001418f0
sig undefined FUN_001418f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141920

Function Meta

Key libqmengine_geedge.so
name FUN_00141920
fullname FUN_00141920
refcount 2
length 32
called FUN_00141890
calling
paramcount 0
address 00141920
sig undefined FUN_00141920(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141950

Function Meta

Key libqmengine_geedge.so
name FUN_00141950
fullname FUN_00141950
refcount 2
length 32
called FUN_00141890
calling
paramcount 0
address 00141950
sig undefined FUN_00141950(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141980

Function Meta

Key libqmengine_geedge.so
name FUN_00141980
fullname FUN_00141980
refcount 2
length 205
called
calling
paramcount 0
address 00141980
sig undefined FUN_00141980(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141a70

Function Meta

Key libqmengine_geedge.so
name FUN_00141a70
fullname FUN_00141a70
refcount 2
length 205
called
calling
paramcount 0
address 00141a70
sig undefined FUN_00141a70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141b60

Function Meta

Key libqmengine_geedge.so
name FUN_00141b60
fullname FUN_00141b60
refcount 2
length 205
called
calling
paramcount 0
address 00141b60
sig undefined FUN_00141b60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141c50

Function Meta

Key libqmengine_geedge.so
name FUN_00141c50
fullname FUN_00141c50
refcount 2
length 205
called
calling
paramcount 0
address 00141c50
sig undefined FUN_00141c50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00141d40

Function Meta

Key libqmengine_geedge.so
name FUN_00141d40
fullname FUN_00141d40
refcount 3
length 201
called
calling
paramcount 0
address 00141d40
sig undefined FUN_00141d40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00142030

Function Meta

Key libqmengine_geedge.so
name FUN_00142030
fullname FUN_00142030
refcount 2
length 71
called FUN_0012fca0
calling
paramcount 0
address 00142030
sig undefined FUN_00142030(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00142090

Function Meta

Key libqmengine_geedge.so
name FUN_00142090
fullname FUN_00142090
refcount 2
length 71
called FUN_0012fbe0
calling
paramcount 0
address 00142090
sig undefined FUN_00142090(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001421b0

Function Meta

Key libqmengine_geedge.so
name FUN_001421b0
fullname FUN_001421b0
refcount 2
length 64
called FUN_0012e120
calling
paramcount 0
address 001421b0
sig undefined FUN_001421b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00143a50

Function Meta

Key libqmengine_geedge.so
name FUN_00143a50
fullname FUN_00143a50
refcount 2
length 136
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013c970
calling
paramcount 0
address 00143a50
sig undefined FUN_00143a50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00143ae0

Function Meta

Key libqmengine_geedge.so
name FUN_00143ae0
fullname FUN_00143ae0
refcount 2
length 136
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013c970
calling
paramcount 0
address 00143ae0
sig undefined FUN_00143ae0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00143ce0

Function Meta

Key libqmengine_geedge.so
name FUN_00143ce0
fullname FUN_00143ce0
refcount 2
length 549
called ::pthread_mutex_unlock
FUN_001238e0
FUN_00125640
FUN_00131f60
FUN_00131f70
FUN_0013bb20
calling
paramcount 0
address 00143ce0
sig undefined FUN_00143ce0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001440b0

Function Meta

Key libqmengine_geedge.so
name FUN_001440b0
fullname FUN_001440b0
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 001440b0
sig undefined FUN_001440b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144250

Function Meta

Key libqmengine_geedge.so
name FUN_00144250
fullname FUN_00144250
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144250
sig undefined FUN_00144250(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001443f0

Function Meta

Key libqmengine_geedge.so
name FUN_001443f0
fullname FUN_001443f0
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 001443f0
sig undefined FUN_001443f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144590

Function Meta

Key libqmengine_geedge.so
name FUN_00144590
fullname FUN_00144590
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144590
sig undefined FUN_00144590(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144730

Function Meta

Key libqmengine_geedge.so
name FUN_00144730
fullname FUN_00144730
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144730
sig undefined FUN_00144730(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001448d0

Function Meta

Key libqmengine_geedge.so
name FUN_001448d0
fullname FUN_001448d0
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 001448d0
sig undefined FUN_001448d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144a70

Function Meta

Key libqmengine_geedge.so
name FUN_00144a70
fullname FUN_00144a70
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144a70
sig undefined FUN_00144a70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144c10

Function Meta

Key libqmengine_geedge.so
name FUN_00144c10
fullname FUN_00144c10
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144c10
sig undefined FUN_00144c10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144db0

Function Meta

Key libqmengine_geedge.so
name FUN_00144db0
fullname FUN_00144db0
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144db0
sig undefined FUN_00144db0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00144f50

Function Meta

Key libqmengine_geedge.so
name FUN_00144f50
fullname FUN_00144f50
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00144f50
sig undefined FUN_00144f50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145290

Function Meta

Key libqmengine_geedge.so
name FUN_00145290
fullname FUN_00145290
refcount 2
length 371
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145290
sig undefined FUN_00145290(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145540

Function Meta

Key libqmengine_geedge.so
name FUN_00145540
fullname FUN_00145540
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145540
sig undefined FUN_00145540(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001456e0

Function Meta

Key libqmengine_geedge.so
name FUN_001456e0
fullname FUN_001456e0
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 001456e0
sig undefined FUN_001456e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145880

Function Meta

Key libqmengine_geedge.so
name FUN_00145880
fullname FUN_00145880
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145880
sig undefined FUN_00145880(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145a20

Function Meta

Key libqmengine_geedge.so
name FUN_00145a20
fullname FUN_00145a20
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145a20
sig undefined FUN_00145a20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145bc0

Function Meta

Key libqmengine_geedge.so
name FUN_00145bc0
fullname FUN_00145bc0
refcount 2
length 255
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145bc0
sig undefined FUN_00145bc0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145ce0

Function Meta

Key libqmengine_geedge.so
name FUN_00145ce0
fullname FUN_00145ce0
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145ce0
sig undefined FUN_00145ce0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00145e80

Function Meta

Key libqmengine_geedge.so
name FUN_00145e80
fullname FUN_00145e80
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00145e80
sig undefined FUN_00145e80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146020

Function Meta

Key libqmengine_geedge.so
name FUN_00146020
fullname FUN_00146020
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00146020
sig undefined FUN_00146020(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001461c0

Function Meta

Key libqmengine_geedge.so
name FUN_001461c0
fullname FUN_001461c0
refcount 2
length 374
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 001461c0
sig undefined FUN_001461c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146360

Function Meta

Key libqmengine_geedge.so
name FUN_00146360
fullname FUN_00146360
refcount 2
length 255
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
calling
paramcount 0
address 00146360
sig undefined FUN_00146360(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146790

Function Meta

Key libqmengine_geedge.so
name FUN_00146790
fullname FUN_00146790
refcount 2
length 387
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f8a0
calling
paramcount 0
address 00146790
sig undefined FUN_00146790(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146930

Function Meta

Key libqmengine_geedge.so
name FUN_00146930
fullname FUN_00146930
refcount 2
length 387
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f8a0
calling
paramcount 0
address 00146930
sig undefined FUN_00146930(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146ad0

Function Meta

Key libqmengine_geedge.so
name FUN_00146ad0
fullname FUN_00146ad0
refcount 2
length 387
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f8a0
calling
paramcount 0
address 00146ad0
sig undefined FUN_00146ad0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146c70

Function Meta

Key libqmengine_geedge.so
name FUN_00146c70
fullname FUN_00146c70
refcount 2
length 387
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f8a0
calling
paramcount 0
address 00146c70
sig undefined FUN_00146c70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146e10

Function Meta

Key libqmengine_geedge.so
name FUN_00146e10
fullname FUN_00146e10
refcount 2
length 379
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f8a0
calling
paramcount 0
address 00146e10
sig undefined FUN_00146e10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00146fb0

Function Meta

Key libqmengine_geedge.so
name FUN_00146fb0
fullname FUN_00146fb0
refcount 2
length 379
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0011f8a0
calling
paramcount 0
address 00146fb0
sig undefined FUN_00146fb0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00147490

Function Meta

Key libqmengine_geedge.so
name FUN_00147490
fullname FUN_00147490
refcount 2
length 381
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00147490
sig undefined FUN_00147490(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00147640

Function Meta

Key libqmengine_geedge.so
name FUN_00147640
fullname FUN_00147640
refcount 2
length 381
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00147640
sig undefined FUN_00147640(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00147920

Function Meta

Key libqmengine_geedge.so
name FUN_00147920
fullname FUN_00147920
refcount 2
length 381
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00147920
sig undefined FUN_00147920(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00147ad0

Function Meta

Key libqmengine_geedge.so
name FUN_00147ad0
fullname FUN_00147ad0
refcount 2
length 381
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00147ad0
sig undefined FUN_00147ad0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148040

Function Meta

Key libqmengine_geedge.so
name FUN_00148040
fullname FUN_00148040
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148040
sig undefined FUN_00148040(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148200

Function Meta

Key libqmengine_geedge.so
name FUN_00148200
fullname FUN_00148200
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148200
sig undefined FUN_00148200(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001483c0

Function Meta

Key libqmengine_geedge.so
name FUN_001483c0
fullname FUN_001483c0
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 001483c0
sig undefined FUN_001483c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148580

Function Meta

Key libqmengine_geedge.so
name FUN_00148580
fullname FUN_00148580
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148580
sig undefined FUN_00148580(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148740

Function Meta

Key libqmengine_geedge.so
name FUN_00148740
fullname FUN_00148740
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148740
sig undefined FUN_00148740(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148900

Function Meta

Key libqmengine_geedge.so
name FUN_00148900
fullname FUN_00148900
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148900
sig undefined FUN_00148900(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148ac0

Function Meta

Key libqmengine_geedge.so
name FUN_00148ac0
fullname FUN_00148ac0
refcount 2
length 268
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148ac0
sig undefined FUN_00148ac0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148bf0

Function Meta

Key libqmengine_geedge.so
name FUN_00148bf0
fullname FUN_00148bf0
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148bf0
sig undefined FUN_00148bf0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148db0

Function Meta

Key libqmengine_geedge.so
name FUN_00148db0
fullname FUN_00148db0
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148db0
sig undefined FUN_00148db0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00148f70

Function Meta

Key libqmengine_geedge.so
name FUN_00148f70
fullname FUN_00148f70
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00148f70
sig undefined FUN_00148f70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149130

Function Meta

Key libqmengine_geedge.so
name FUN_00149130
fullname FUN_00149130
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149130
sig undefined FUN_00149130(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001492f0

Function Meta

Key libqmengine_geedge.so
name FUN_001492f0
fullname FUN_001492f0
refcount 2
length 268
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 001492f0
sig undefined FUN_001492f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149420

Function Meta

Key libqmengine_geedge.so
name FUN_00149420
fullname FUN_00149420
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149420
sig undefined FUN_00149420(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001495e0

Function Meta

Key libqmengine_geedge.so
name FUN_001495e0
fullname FUN_001495e0
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 001495e0
sig undefined FUN_001495e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001497a0

Function Meta

Key libqmengine_geedge.so
name FUN_001497a0
fullname FUN_001497a0
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 001497a0
sig undefined FUN_001497a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149960

Function Meta

Key libqmengine_geedge.so
name FUN_00149960
fullname FUN_00149960
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149960
sig undefined FUN_00149960(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149b20

Function Meta

Key libqmengine_geedge.so
name FUN_00149b20
fullname FUN_00149b20
refcount 2
length 268
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149b20
sig undefined FUN_00149b20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149c50

Function Meta

Key libqmengine_geedge.so
name FUN_00149c50
fullname FUN_00149c50
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149c50
sig undefined FUN_00149c50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149e10

Function Meta

Key libqmengine_geedge.so
name FUN_00149e10
fullname FUN_00149e10
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149e10
sig undefined FUN_00149e10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00149fd0

Function Meta

Key libqmengine_geedge.so
name FUN_00149fd0
fullname FUN_00149fd0
refcount 2
length 397
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011c2a0
FUN_0013ca40
calling
paramcount 0
address 00149fd0
sig undefined FUN_00149fd0(void)
sym_type Function
sym_source DEFAULT
external False

Max Deleted Section Functions Reached Error

97 Deleted Functions Ommited...

Added

FUN_00112387

Function Meta

Key libqmengine_stellar.so
name FUN_00112387
fullname FUN_00112387
refcount 5
length 18
called ::pthread_mutex_unlock
calling
paramcount 0
address 00112387
sig undefined FUN_00112387(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112b79

Function Meta

Key libqmengine_stellar.so
name FUN_00112b79
fullname FUN_00112b79
refcount 8
length 63
called FUN_00142990
FUN_00142a30
calling FUN_00112f6e
FUN_001138f8
FUN_00115514
FUN_001172f1
paramcount 0
address 00112b79
sig undefined FUN_00112b79(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112bf7

Function Meta

Key libqmengine_stellar.so
name FUN_00112bf7
fullname FUN_00112bf7
refcount 4
length 22
called FUN_00112bb8
calling FUN_00115514
paramcount 0
address 00112bf7
sig undefined FUN_00112bf7(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112c66

Function Meta

Key libqmengine_stellar.so
name FUN_00112c66
fullname FUN_00112c66
refcount 7
length 46
called
calling FUN_00112d91
FUN_00112e5a
FUN_0011542c
paramcount 0
address 00112c66
sig undefined FUN_00112c66(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112dd6

Function Meta

Key libqmengine_stellar.so
name FUN_00112dd6
fullname FUN_00112dd6
refcount 4
length 78
called FUN_00142990
FUN_00142a30
FUN_00142c00
FUN_00142ce0
calling FUN_00115514
paramcount 0
address 00112dd6
sig undefined FUN_00112dd6(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112e24

Function Meta

Key libqmengine_stellar.so
name FUN_00112e24
fullname FUN_00112e24
refcount 8
length 54
called FUN_00142990
FUN_00142b40
FUN_00142ce0
calling FUN_00112f6e
FUN_001138f8
FUN_00115514
FUN_001172f1
paramcount 0
address 00112e24
sig undefined FUN_00112e24(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00112e9c

Function Meta

Key libqmengine_stellar.so
name FUN_00112e9c
fullname FUN_00112e9c
refcount 5
length 210
called FUN_00112d91
FUN_00112e5a
calling FUN_001138f8
FUN_001172f1
FUN_0011b932
paramcount 0
address 00112e9c
sig undefined FUN_00112e9c(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c29a

Function Meta

Key libqmengine_stellar.so
name FUN_0011c29a
fullname FUN_0011c29a
refcount 3
length 155
called FUN_00112bb8
FUN_00115514
FUN_0011b932
FUN_00142990
FUN_00142a90
calling FUN_00142f30
paramcount 0
address 0011c29a
sig undefined FUN_0011c29a(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c352

Function Meta

Key libqmengine_stellar.so
name FUN_0011c352
fullname FUN_0011c352
refcount 3
length 11
called
calling
paramcount 0
address 0011c352
sig undefined FUN_0011c352(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c366

Function Meta

Key libqmengine_stellar.so
name FUN_0011c366
fullname FUN_0011c366
refcount 3
length 11
called
calling
paramcount 0
address 0011c366
sig undefined FUN_0011c366(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c4f0

Function Meta

Key libqmengine_stellar.so
name FUN_0011c4f0
fullname FUN_0011c4f0
refcount 2
length 34
called
calling
paramcount 0
address 0011c4f0
sig undefined FUN_0011c4f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c520

Function Meta

Key libqmengine_stellar.so
name FUN_0011c520
fullname FUN_0011c520
refcount 2
length 34
called
calling
paramcount 0
address 0011c520
sig undefined FUN_0011c520(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c630

Function Meta

Key libqmengine_stellar.so
name FUN_0011c630
fullname FUN_0011c630
refcount 2
length 23
called
calling
paramcount 0
address 0011c630
sig undefined FUN_0011c630(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c650

Function Meta

Key libqmengine_stellar.so
name FUN_0011c650
fullname FUN_0011c650
refcount 2
length 23
called
calling
paramcount 0
address 0011c650
sig undefined FUN_0011c650(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c7a0

Function Meta

Key libqmengine_stellar.so
name FUN_0011c7a0
fullname FUN_0011c7a0
refcount 3
length 59
called
calling FUN_00142670
paramcount 0
address 0011c7a0
sig undefined FUN_0011c7a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c7e0

Function Meta

Key libqmengine_stellar.so
name FUN_0011c7e0
fullname FUN_0011c7e0
refcount 3
length 21
called
calling FUN_0013f420
paramcount 0
address 0011c7e0
sig undefined FUN_0011c7e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c800

Function Meta

Key libqmengine_stellar.so
name FUN_0011c800
fullname FUN_0011c800
refcount 3
length 21
called
calling FUN_0013f420
paramcount 0
address 0011c800
sig undefined FUN_0011c800(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c820

Function Meta

Key libqmengine_stellar.so
name FUN_0011c820
fullname FUN_0011c820
refcount 4
length 48
called
calling FUN_0013f420
paramcount 0
address 0011c820
sig undefined FUN_0011c820(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011c860

Function Meta

Key libqmengine_stellar.so
name FUN_0011c860
fullname FUN_0011c860
refcount 3
length 266
called
calling FUN_00143cc0
paramcount 0
address 0011c860
sig undefined FUN_0011c860(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011ca80

Function Meta

Key libqmengine_stellar.so
name FUN_0011ca80
fullname FUN_0011ca80
refcount 3
length 14
called
calling FUN_001431d0
paramcount 0
address 0011ca80
sig undefined FUN_0011ca80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011d4d0

Function Meta

Key libqmengine_stellar.so
name FUN_0011d4d0
fullname FUN_0011d4d0
refcount 3
length 150
called ::memcpy
::strlen
FUN_0011d490
calling
paramcount 0
address 0011d4d0
sig undefined FUN_0011d4d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011d5c0

Function Meta

Key libqmengine_stellar.so
name FUN_0011d5c0
fullname FUN_0011d5c0
refcount 2
length 139
called FUN_0011d410
FUN_0011d490
calling
paramcount 0
address 0011d5c0
sig undefined FUN_0011d5c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011d850

Function Meta

Key libqmengine_stellar.so
name FUN_0011d850
fullname FUN_0011d850
refcount 2
length 86
called FUN_00123500
calling
paramcount 0
address 0011d850
sig undefined FUN_0011d850(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011dad0

Function Meta

Key libqmengine_stellar.so
name FUN_0011dad0
fullname FUN_0011dad0
refcount 4
length 582
called FUN_00123500
calling FUN_0012bc90
paramcount 0
address 0011dad0
sig undefined FUN_0011dad0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011dd50

Function Meta

Key libqmengine_stellar.so
name FUN_0011dd50
fullname FUN_0011dd50
refcount 3
length 66
called FUN_00124ff0
FUN_0012fe80
calling FUN_001275d0
paramcount 0
address 0011dd50
sig undefined FUN_0011dd50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011df20

Function Meta

Key libqmengine_stellar.so
name FUN_0011df20
fullname FUN_0011df20
refcount 3
length 16
called
calling FUN_001248d0
paramcount 0
address 0011df20
sig undefined FUN_0011df20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011df30

Function Meta

Key libqmengine_stellar.so
name FUN_0011df30
fullname FUN_0011df30
refcount 3
length 395
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011dda0
FUN_0011f730
FUN_00124e50
FUN_00130440
calling FUN_001240b0
paramcount 0
address 0011df30
sig undefined FUN_0011df30(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e140

Function Meta

Key libqmengine_stellar.so
name FUN_0011e140
fullname FUN_0011e140
refcount 3
length 237
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_00130230
calling FUN_00124be0
paramcount 0
address 0011e140
sig undefined FUN_0011e140(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e330

Function Meta

Key libqmengine_stellar.so
name FUN_0011e330
fullname FUN_0011e330
refcount 3
length 140
called ::__tls_get_addr
FUN_0011e250
FUN_0013b0f0
calling
paramcount 0
address 0011e330
sig undefined FUN_0011e330(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e460

Function Meta

Key libqmengine_stellar.so
name FUN_0011e460
fullname FUN_0011e460
refcount 3
length 11
called FUN_0011e420
calling
paramcount 0
address 0011e460
sig undefined FUN_0011e460(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e480

Function Meta

Key libqmengine_stellar.so
name FUN_0011e480
fullname FUN_0011e480
refcount 3
length 14
called FUN_0011e470
calling
paramcount 0
address 0011e480
sig undefined FUN_0011e480(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e4a0

Function Meta

Key libqmengine_stellar.so
name FUN_0011e4a0
fullname FUN_0011e4a0
refcount 3
length 14
called FUN_0011e490
calling
paramcount 0
address 0011e4a0
sig undefined FUN_0011e4a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e4c0

Function Meta

Key libqmengine_stellar.so
name FUN_0011e4c0
fullname FUN_0011e4c0
refcount 3
length 14
called FUN_0011e4b0
calling
paramcount 0
address 0011e4c0
sig undefined FUN_0011e4c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e510

Function Meta

Key libqmengine_stellar.so
name FUN_0011e510
fullname FUN_0011e510
refcount 3
length 85
called ::__tls_get_addr
FUN_0011e4f0
FUN_0013b0f0
calling
paramcount 0
address 0011e510
sig undefined FUN_0011e510(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011e570

Function Meta

Key libqmengine_stellar.so
name FUN_0011e570
fullname FUN_0011e570
refcount 4
length 59
called ::memset
thunk_FUN_00126af0
calling FUN_0012ef00
FUN_0012f370
paramcount 0
address 0011e570
sig undefined FUN_0011e570(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0011f700

Function Meta

Key libqmengine_stellar.so
name FUN_0011f700
fullname FUN_0011f700
refcount 3
length 17
called FUN_0011e240
calling FUN_00138400
paramcount 0
address 0011f700
sig undefined FUN_0011f700(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00120410

Function Meta

Key libqmengine_stellar.so
name FUN_00120410
fullname FUN_00120410
refcount 4
length 26
called
calling FUN_0011e3d0
FUN_0011e420
paramcount 0
address 00120410
sig undefined FUN_00120410(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001204c0

Function Meta

Key libqmengine_stellar.so
name FUN_001204c0
fullname FUN_001204c0
refcount 4
length 110
called FUN_00131450
calling FUN_0011cac0
paramcount 0
address 001204c0
sig undefined FUN_001204c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00120540

Function Meta

Key libqmengine_stellar.so
name FUN_00120540
fullname FUN_00120540
refcount 8
length 20
called
calling FUN_001271e0
paramcount 0
address 00120540
sig undefined FUN_00120540(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00120560

Function Meta

Key libqmengine_stellar.so
name FUN_00120560
fullname FUN_00120560
refcount 8
length 18
called
calling FUN_001271e0
paramcount 0
address 00120560
sig undefined FUN_00120560(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00120580

Function Meta

Key libqmengine_stellar.so
name FUN_00120580
fullname FUN_00120580
refcount 8
length 508
called FUN_00131460
FUN_00131800
FUN_001359a0
calling FUN_0012cf20
FUN_0012d9b0
FUN_0012e940
FUN_0012efa0
paramcount 0
address 00120580
sig undefined FUN_00120580(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00120790

Function Meta

Key libqmengine_stellar.so
name FUN_00120790
fullname FUN_00120790
refcount 6
length 515
called FUN_00131460
FUN_00131470
FUN_00132020
FUN_001359a0
calling FUN_0012cf20
FUN_0012d9b0
FUN_0012efa0
paramcount 0
address 00120790
sig undefined FUN_00120790(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001209b0

Function Meta

Key libqmengine_stellar.so
name FUN_001209b0
fullname FUN_001209b0
refcount 3
length 1148
called FUN_00131460
FUN_00131470
FUN_00135a20
calling FUN_0012efa0
paramcount 0
address 001209b0
sig undefined FUN_001209b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00121070

Function Meta

Key libqmengine_stellar.so
name FUN_00121070
fullname FUN_00121070
refcount 5
length 245
called
calling FUN_00143cc0
paramcount 0
address 00121070
sig undefined FUN_00121070(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00121180

Function Meta

Key libqmengine_stellar.so
name FUN_00121180
fullname FUN_00121180
refcount 3
length 266
called ::memset
FUN_00112271
calling FUN_00115514
paramcount 0
address 00121180
sig undefined FUN_00121180(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001212a0

Function Meta

Key libqmengine_stellar.so
name FUN_001212a0
fullname FUN_001212a0
refcount 3
length 34
called FUN_001236d0
calling
paramcount 0
address 001212a0
sig undefined FUN_001212a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001212d0

Function Meta

Key libqmengine_stellar.so
name FUN_001212d0
fullname FUN_001212d0
refcount 3
length 56
called FUN_00123580
calling
paramcount 0
address 001212d0
sig undefined FUN_001212d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00121350

Function Meta

Key libqmengine_stellar.so
name FUN_00121350
fullname FUN_00121350
refcount 3
length 34
called FUN_00126980
calling
paramcount 0
address 00121350
sig undefined FUN_00121350(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00121380

Function Meta

Key libqmengine_stellar.so
name FUN_00121380
fullname FUN_00121380
refcount 4
length 287
called FUN_001227e0
FUN_00122a50
thunk_FUN_00126c40
calling FUN_00120e50
FUN_0012c200
paramcount 0
address 00121380
sig undefined FUN_00121380(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00121620

Function Meta

Key libqmengine_stellar.so
name FUN_00121620
fullname FUN_00121620
refcount 3
length 150
called FUN_0012fd70
calling FUN_0013f9b0
paramcount 0
address 00121620
sig undefined FUN_00121620(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122510

Function Meta

Key libqmengine_stellar.so
name FUN_00122510
fullname FUN_00122510
refcount 4
length 604
called FUN_00122210
FUN_001357e0
FUN_00135950
calling FUN_00122790
FUN_001227b0
paramcount 0
address 00122510
sig undefined FUN_00122510(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122790

Function Meta

Key libqmengine_stellar.so
name FUN_00122790
fullname FUN_00122790
refcount 5
length 20
called FUN_00122510
calling FUN_0012cf20
paramcount 0
address 00122790
sig undefined FUN_00122790(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122880

Function Meta

Key libqmengine_stellar.so
name FUN_00122880
fullname FUN_00122880
refcount 3
length 449
called FUN_001357e0
FUN_00135950
calling FUN_00127830
paramcount 0
address 00122880
sig undefined FUN_00122880(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122ae0

Function Meta

Key libqmengine_stellar.so
name FUN_00122ae0
fullname FUN_00122ae0
refcount 3
length 445
called FUN_001357e0
FUN_00135950
calling FUN_00127af0
paramcount 0
address 00122ae0
sig undefined FUN_00122ae0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00122cb0

Function Meta

Key libqmengine_stellar.so
name FUN_00122cb0
fullname FUN_00122cb0
refcount 6
length 890
called FUN_001357e0
FUN_00135950
calling FUN_00127830
FUN_00127970
FUN_00127a40
FUN_00127af0
paramcount 0
address 00122cb0
sig undefined FUN_00122cb0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123040

Function Meta

Key libqmengine_stellar.so
name FUN_00123040
fullname FUN_00123040
refcount 3
length 242
called FUN_00121d80
FUN_00135950
calling FUN_0012d120
paramcount 0
address 00123040
sig undefined FUN_00123040(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123150

Function Meta

Key libqmengine_stellar.so
name FUN_00123150
fullname FUN_00123150
refcount 3
length 55
called FUN_00122020
calling FUN_0012d120
paramcount 0
address 00123150
sig undefined FUN_00123150(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123190

Function Meta

Key libqmengine_stellar.so
name FUN_00123190
fullname FUN_00123190
refcount 3
length 145
called FUN_00121d80
FUN_00135950
calling FUN_0012cbd0
paramcount 0
address 00123190
sig undefined FUN_00123190(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123230

Function Meta

Key libqmengine_stellar.so
name FUN_00123230
fullname FUN_00123230
refcount 3
length 72
called FUN_00122020
calling FUN_0012cbd0
paramcount 0
address 00123230
sig undefined FUN_00123230(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001233f0

Function Meta

Key libqmengine_stellar.so
name FUN_001233f0
fullname FUN_001233f0
refcount 2
length 221
called FUN_00122090
FUN_00135950
calling
paramcount 0
address 001233f0
sig undefined FUN_001233f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123530

Function Meta

Key libqmengine_stellar.so
name FUN_00123530
fullname FUN_00123530
refcount 2
length 28
called
calling
paramcount 0
address 00123530
sig undefined FUN_00123530(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001236d0

Function Meta

Key libqmengine_stellar.so
name FUN_001236d0
fullname FUN_001236d0
refcount 3
length 48
called FUN_00123580
FUN_001235f0
calling FUN_001212a0
paramcount 0
address 001236d0
sig undefined FUN_001236d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123720

Function Meta

Key libqmengine_stellar.so
name FUN_00123720
fullname FUN_00123720
refcount 3
length 73
called ::gettimeofday
FUN_001234f0
FUN_00123580
calling FUN_001267a0
paramcount 0
address 00123720
sig undefined FUN_00123720(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123790

Function Meta

Key libqmengine_stellar.so
name FUN_00123790
fullname FUN_00123790
refcount 5
length 112
called FUN_001335d0
calling FUN_00123810
FUN_00123a40
paramcount 0
address 00123790
sig undefined FUN_00123790(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123810

Function Meta

Key libqmengine_stellar.so
name FUN_00123810
fullname FUN_00123810
refcount 5
length 78
called FUN_00123790
calling FUN_001238f0
FUN_00123e40
FUN_001240b0
paramcount 0
address 00123810
sig undefined FUN_00123810(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123870

Function Meta

Key libqmengine_stellar.so
name FUN_00123870
fullname FUN_00123870
refcount 5
length 118
called
calling FUN_00123a40
FUN_001240b0
paramcount 0
address 00123870
sig undefined FUN_00123870(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001238f0

Function Meta

Key libqmengine_stellar.so
name FUN_001238f0
fullname FUN_001238f0
refcount 4
length 298
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00123810
FUN_00124e50
FUN_001335d0
calling
paramcount 0
address 001238f0
sig undefined FUN_001238f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00123e40

Function Meta

Key libqmengine_stellar.so
name FUN_00123e40
fullname FUN_00123e40
refcount 5
length 551
called
Expand for full list:
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011e0e0
FUN_00122a50
FUN_00123810
FUN_00123a40
FUN_00124e50
FUN_001332e0
FUN_00133340
FUN_001335d0
FUN_00135080
calling FUN_00124090
paramcount 0
address 00123e40
sig undefined FUN_00123e40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124090

Function Meta

Key libqmengine_stellar.so
name FUN_00124090
fullname FUN_00124090
refcount 4
length 32
called FUN_00123e40
calling
paramcount 0
address 00124090
sig undefined FUN_00124090(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001240b0

Function Meta

Key libqmengine_stellar.so
name FUN_001240b0
fullname FUN_001240b0
refcount 5
length 672
called
Expand for full list:
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011df30
FUN_0011e0e0
FUN_001227e0
FUN_00123810
FUN_00123870
FUN_00123a40
FUN_00124e50
FUN_001332e0
FUN_00133340
FUN_00133490
FUN_001335d0
FUN_00134ad0
FUN_00135080
calling FUN_00124640
paramcount 0
address 001240b0
sig undefined FUN_001240b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124380

Function Meta

Key libqmengine_stellar.so
name FUN_00124380
fullname FUN_00124380
refcount 3
length 168
called FUN_00124ff0
calling FUN_001275b0
paramcount 0
address 00124380
sig undefined FUN_00124380(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124430

Function Meta

Key libqmengine_stellar.so
name FUN_00124430
fullname FUN_00124430
refcount 3
length 503
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011f720
FUN_00124e50
FUN_00126980
FUN_00126a90
FUN_00134a50
calling FUN_00124640
paramcount 0
address 00124430
sig undefined FUN_00124430(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124870

Function Meta

Key libqmengine_stellar.so
name FUN_00124870
fullname FUN_00124870
refcount 4
length 77
called FUN_00124640
calling
paramcount 0
address 00124870
sig undefined FUN_00124870(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001248d0

Function Meta

Key libqmengine_stellar.so
name FUN_001248d0
fullname FUN_001248d0
refcount 3
length 392
called FUN_0011df20
FUN_00123580
FUN_00124ff0
FUN_001330f0
calling FUN_001276e0
paramcount 0
address 001248d0
sig undefined FUN_001248d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124a60

Function Meta

Key libqmengine_stellar.so
name FUN_00124a60
fullname FUN_00124a60
refcount 3
length 80
called FUN_001331e0
calling FUN_00157e40
paramcount 0
address 00124a60
sig undefined FUN_00124a60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124c60

Function Meta

Key libqmengine_stellar.so
name FUN_00124c60
fullname FUN_00124c60
refcount 2
length 72
called FUN_00133490
FUN_001336a0
calling
paramcount 0
address 00124c60
sig undefined FUN_00124c60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124cb0

Function Meta

Key libqmengine_stellar.so
name FUN_00124cb0
fullname FUN_00124cb0
refcount 3
length 139
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00123a40
FUN_00124e50
calling FUN_00127bd0
paramcount 0
address 00124cb0
sig undefined FUN_00124cb0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124df0

Function Meta

Key libqmengine_stellar.so
name FUN_00124df0
fullname FUN_00124df0
refcount 3
length 42
called FUN_001250e0
calling FUN_00127010
paramcount 0
address 00124df0
sig undefined FUN_00124df0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00124e20

Function Meta

Key libqmengine_stellar.so
name FUN_00124e20
fullname FUN_00124e20
refcount 3
length 42
called FUN_001250f0
calling FUN_001270c0
paramcount 0
address 00124e20
sig undefined FUN_00124e20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125150

Function Meta

Key libqmengine_stellar.so
name FUN_00125150
fullname FUN_00125150
refcount 6
length 208
called
calling
paramcount 0
address 00125150
sig undefined FUN_00125150(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125230

Function Meta

Key libqmengine_stellar.so
name FUN_00125230
fullname FUN_00125230
refcount 6
length 162
called
calling
paramcount 0
address 00125230
sig undefined FUN_00125230(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001252e0

Function Meta

Key libqmengine_stellar.so
name FUN_001252e0
fullname FUN_001252e0
refcount 5
length 38
called
calling FUN_00125370
FUN_001253d0
FUN_00156d10
paramcount 0
address 001252e0
sig undefined FUN_001252e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125310

Function Meta

Key libqmengine_stellar.so
name FUN_00125310
fullname FUN_00125310
refcount 3
length 33
called
calling FUN_001535c0
paramcount 0
address 00125310
sig undefined FUN_00125310(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00125370

Function Meta

Key libqmengine_stellar.so
name FUN_00125370
fullname FUN_00125370
refcount 3
length 47
called FUN_001252e0
calling FUN_0013c750
paramcount 0
address 00125370
sig undefined FUN_00125370(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001253d0

Function Meta

Key libqmengine_stellar.so
name FUN_001253d0
fullname FUN_001253d0
refcount 3
length 47
called FUN_001252e0
calling FUN_0013c750
paramcount 0
address 001253d0
sig undefined FUN_001253d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126720

Function Meta

Key libqmengine_stellar.so
name FUN_00126720
fullname FUN_00126720
refcount 2
length 94
called FUN_00111743
FUN_00123580
calling
paramcount 0
address 00126720
sig undefined FUN_00126720(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001267a0

Function Meta

Key libqmengine_stellar.so
name FUN_001267a0
fullname FUN_001267a0
refcount 2
length 71
called FUN_00111743
FUN_00123580
FUN_00123720
calling
paramcount 0
address 001267a0
sig undefined FUN_001267a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126850

Function Meta

Key libqmengine_stellar.so
name FUN_00126850
fullname FUN_00126850
refcount 4
length 116
called ::mmap
FUN_001267f0
calling FUN_00126980
paramcount 0
address 00126850
sig undefined FUN_00126850(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001268e0

Function Meta

Key libqmengine_stellar.so
name FUN_001268e0
fullname FUN_001268e0
refcount 6
length 143
called ::__errno_location
::__xpg_strerror_r
::mmap
::munmap
FUN_0012b940
calling FUN_00126c40
FUN_00126c80
paramcount 0
address 001268e0
sig undefined FUN_001268e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126c40

Function Meta

Key libqmengine_stellar.so
name FUN_00126c40
fullname FUN_00126c40
refcount 4
length 44
called FUN_001268e0
calling
paramcount 0
address 00126c40
sig undefined FUN_00126c40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126c80

Function Meta

Key libqmengine_stellar.so
name FUN_00126c80
fullname FUN_00126c80
refcount 4
length 50
called FUN_001268e0
calling
paramcount 0
address 00126c80
sig undefined FUN_00126c80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126f40

Function Meta

Key libqmengine_stellar.so
name FUN_00126f40
fullname FUN_00126f40
refcount 3
length 19
called FUN_0013c300
calling FUN_0013a900
paramcount 0
address 00126f40
sig undefined FUN_00126f40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126f60

Function Meta

Key libqmengine_stellar.so
name FUN_00126f60
fullname FUN_00126f60
refcount 3
length 58
called FUN_00124dd0
FUN_00125090
calling FUN_0013a910
paramcount 0
address 00126f60
sig undefined FUN_00126f60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00126fa0

Function Meta

Key libqmengine_stellar.so
name FUN_00126fa0
fullname FUN_00126fa0
refcount 3
length 85
called FUN_00124de0
thunk_FUN_00125090
calling FUN_0013a920
paramcount 0
address 00126fa0
sig undefined FUN_00126fa0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001271e0

Function Meta

Key libqmengine_stellar.so
name FUN_001271e0
fullname FUN_001271e0
refcount 3
length 735
called FUN_00120530
FUN_00120540
FUN_00120560
FUN_00124ab0
FUN_0013c110
calling FUN_001385a0
paramcount 0
address 001271e0
sig undefined FUN_001271e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001275d0

Function Meta

Key libqmengine_stellar.so
name FUN_001275d0
fullname FUN_001275d0
refcount 3
length 261
called FUN_0011dd50
FUN_0012bdf0
calling FUN_00138cb0
paramcount 0
address 001275d0
sig undefined FUN_001275d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00127830

Function Meta

Key libqmengine_stellar.so
name FUN_00127830
fullname FUN_00127830
refcount 4
length 310
called FUN_00122880
FUN_00122cb0
calling FUN_00137910
FUN_00137bd0
paramcount 0
address 00127830
sig undefined FUN_00127830(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00127af0

Function Meta

Key libqmengine_stellar.so
name FUN_00127af0
fullname FUN_00127af0
refcount 5
length 160
called FUN_00122ae0
FUN_00122cb0
calling FUN_00125ea0
FUN_00125f10
FUN_00136930
paramcount 0
address 00127af0
sig undefined FUN_00127af0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00127bd0

Function Meta

Key libqmengine_stellar.so
name FUN_00127bd0
fullname FUN_00127bd0
refcount 2
length 24
called FUN_00124cb0
calling
paramcount 0
address 00127bd0
sig undefined FUN_00127bd0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00127c10

Function Meta

Key libqmengine_stellar.so
name FUN_00127c10
fullname FUN_00127c10
refcount 2
length 72
called
calling
paramcount 0
address 00127c10
sig undefined FUN_00127c10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012a8b0

Function Meta

Key libqmengine_stellar.so
name FUN_0012a8b0
fullname FUN_0012a8b0
refcount 2
length 106
called
calling
paramcount 0
address 0012a8b0
sig undefined FUN_0012a8b0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012ae30

Function Meta

Key libqmengine_stellar.so
name FUN_0012ae30
fullname FUN_0012ae30
refcount 5
length 22
called
calling FUN_0012ae50
FUN_0012b190
paramcount 0
address 0012ae30
sig undefined FUN_0012ae30(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b190

Function Meta

Key libqmengine_stellar.so
name FUN_0012b190
fullname FUN_0012b190
refcount 3
length 188
called FUN_0012ae30
calling FUN_00143cc0
paramcount 0
address 0012b190
sig undefined FUN_0012b190(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b290

Function Meta

Key libqmengine_stellar.so
name FUN_0012b290
fullname FUN_0012b290
refcount 2
length 103
called FUN_00112399
FUN_0013ec80
FUN_0013f080
calling
paramcount 0
address 0012b290
sig undefined FUN_0012b290(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b310

Function Meta

Key libqmengine_stellar.so
name FUN_0012b310
fullname FUN_0012b310
refcount 2
length 23
called FUN_00112399
calling
paramcount 0
address 0012b310
sig undefined FUN_0012b310(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b5e0

Function Meta

Key libqmengine_stellar.so
name FUN_0012b5e0
fullname FUN_0012b5e0
refcount 4
length 11
called
calling FUN_0012fb60
FUN_00152ff0
paramcount 0
address 0012b5e0
sig undefined FUN_0012b5e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b5f0

Function Meta

Key libqmengine_stellar.so
name FUN_0012b5f0
fullname FUN_0012b5f0
refcount 3
length 11
called
calling FUN_00152ff0
paramcount 0
address 0012b5f0
sig undefined FUN_0012b5f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b600

Function Meta

Key libqmengine_stellar.so
name FUN_0012b600
fullname FUN_0012b600
refcount 4
length 11
called
calling FUN_0012fb60
FUN_00152eb0
paramcount 0
address 0012b600
sig undefined FUN_0012b600(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012b610

Function Meta

Key libqmengine_stellar.so
name FUN_0012b610
fullname FUN_0012b610
refcount 3
length 11
called
calling FUN_00152eb0
paramcount 0
address 0012b610
sig undefined FUN_0012b610(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012bb10

Function Meta

Key libqmengine_stellar.so
name FUN_0012bb10
fullname FUN_0012bb10
refcount 4
length 371
called FUN_0011f3a0
FUN_0012e2c0
FUN_0012f340
FUN_0012f370
thunk_FUN_0012cbd0
calling
paramcount 0
address 0012bb10
sig undefined FUN_0012bb10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012c110

Function Meta

Key libqmengine_stellar.so
name FUN_0012c110
fullname FUN_0012c110
refcount 4
length 220
called FUN_0012c0f0
FUN_0012f340
FUN_0012f370
calling FUN_0012c200
paramcount 0
address 0012c110
sig undefined FUN_0012c110(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012c660

Function Meta

Key libqmengine_stellar.so
name FUN_0012c660
fullname FUN_0012c660
refcount 3
length 132
called FUN_00120530
FUN_0012c340
calling FUN_00136280
paramcount 0
address 0012c660
sig undefined FUN_0012c660(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012c820

Function Meta

Key libqmengine_stellar.so
name FUN_0012c820
fullname FUN_0012c820
refcount 3
length 281
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_0011d740
FUN_0011d830
FUN_00123700
FUN_00124e50
FUN_0012c6f0
calling FUN_00127bb0
paramcount 0
address 0012c820
sig undefined FUN_0012c820(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012c9d0

Function Meta

Key libqmengine_stellar.so
name FUN_0012c9d0
fullname FUN_0012c9d0
refcount 6
length 485
called ::__tls_get_addr
FUN_0011e470
FUN_0013ae40
FUN_0013b0f0
calling FUN_0012ef00
FUN_0012f370
paramcount 0
address 0012c9d0
sig undefined FUN_0012c9d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012cbd0

Function Meta

Key libqmengine_stellar.so
name FUN_0012cbd0
fullname FUN_0012cbd0
refcount 6
length 809
called ::__tls_get_addr
FUN_0011de60
FUN_0011e4f0
FUN_00123190
FUN_00123230
FUN_0013ae40
FUN_0013b0f0
calling FUN_0012cf20
paramcount 0
address 0012cbd0
sig undefined FUN_0012cbd0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012d120

Function Meta

Key libqmengine_stellar.so
name FUN_0012d120
fullname FUN_0012d120
refcount 6
length 866
called ::__tls_get_addr
FUN_0011dda0
FUN_0011de60
FUN_0011e4d0
FUN_00123040
FUN_00123150
FUN_0013ae40
FUN_0013b0f0
calling FUN_0012d4a0
paramcount 0
address 0012d120
sig undefined FUN_0012d120(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012d4a0

Function Meta

Key libqmengine_stellar.so
name FUN_0012d4a0
fullname FUN_0012d4a0
refcount 4
length 332
called FUN_0012d120
calling FUN_0012efa0
FUN_0012f370
paramcount 0
address 0012d4a0
sig undefined FUN_0012d4a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012d600

Function Meta

Key libqmengine_stellar.so
name FUN_0012d600
fullname FUN_0012d600
refcount 4
length 887
called ::__tls_get_addr
FUN_0011de60
FUN_0011e4b0
FUN_0013ae40
FUN_0013b0f0
calling FUN_0012efa0
FUN_0012f370
paramcount 0
address 0012d600
sig undefined FUN_0012d600(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012ebb0

Function Meta

Key libqmengine_stellar.so
name FUN_0012ebb0
fullname FUN_0012ebb0
refcount 3
length 376
called ::__tls_get_addr
FUN_0013ae40
FUN_0013b0f0
calling FUN_0012c340
paramcount 0
address 0012ebb0
sig undefined FUN_0012ebb0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012ed40

Function Meta

Key libqmengine_stellar.so
name FUN_0012ed40
fullname FUN_0012ed40
refcount 3
length 384
called ::__tls_get_addr
FUN_0011e4b0
FUN_0013ae40
FUN_0013b0f0
calling FUN_00120030
paramcount 0
address 0012ed40
sig undefined FUN_0012ed40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012ef00

Function Meta

Key libqmengine_stellar.so
name FUN_0012ef00
fullname FUN_0012ef00
refcount 4
length 144
called ::memset
FUN_0011e570
FUN_0012c9d0
calling FUN_00120e50
FUN_0012efa0
paramcount 0
address 0012ef00
sig undefined FUN_0012ef00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012efa0

Function Meta

Key libqmengine_stellar.so
name FUN_0012efa0
fullname FUN_0012efa0
refcount 4
length 874
called
Expand for full list:
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00120580
FUN_00120790
FUN_001209b0
FUN_00122210
FUN_001227b0
FUN_00122a50
FUN_00124e50
FUN_0012d4a0
FUN_0012d600
FUN_0012e940
FUN_0012ef00
thunk_FUN_00122210
calling FUN_0012f340
FUN_0012f370
paramcount 0
address 0012efa0
sig undefined FUN_0012efa0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012fb60

Function Meta

Key libqmengine_stellar.so
name FUN_0012fb60
fullname FUN_0012fb60
refcount 2
length 27
called FUN_0012b5e0
FUN_0012b600
calling
paramcount 0
address 0012fb60
sig undefined FUN_0012fb60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012fc40

Function Meta

Key libqmengine_stellar.so
name FUN_0012fc40
fullname FUN_0012fc40
refcount 2
length 82
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
calling
paramcount 0
address 0012fc40
sig undefined FUN_0012fc40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012fd00

Function Meta

Key libqmengine_stellar.so
name FUN_0012fd00
fullname FUN_0012fd00
refcount 2
length 82
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
calling
paramcount 0
address 0012fd00
sig undefined FUN_0012fd00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012fe50

Function Meta

Key libqmengine_stellar.so
name FUN_0012fe50
fullname FUN_0012fe50
refcount 2
length 47
called FUN_0012fd70
calling
paramcount 0
address 0012fe50
sig undefined FUN_0012fe50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012fe80

Function Meta

Key libqmengine_stellar.so
name FUN_0012fe80
fullname FUN_0012fe80
refcount 3
length 16
called
calling FUN_0011dd50
paramcount 0
address 0012fe80
sig undefined FUN_0012fe80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0012fea0

Function Meta

Key libqmengine_stellar.so
name FUN_0012fea0
fullname FUN_0012fea0
refcount 3
length 852
called
calling FUN_0011dda0
paramcount 0
address 0012fea0
sig undefined FUN_0012fea0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00130210

Function Meta

Key libqmengine_stellar.so
name FUN_00130210
fullname FUN_00130210
refcount 3
length 20
called
calling FUN_00131420
paramcount 0
address 00130210
sig undefined FUN_00130210(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00130440

Function Meta

Key libqmengine_stellar.so
name FUN_00130440
fullname FUN_00130440
refcount 3
length 1540
called
calling FUN_0011df30
paramcount 0
address 00130440
sig undefined FUN_00130440(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00131420

Function Meta

Key libqmengine_stellar.so
name FUN_00131420
fullname FUN_00131420
refcount 2
length 43
called FUN_00130210
FUN_00130a70
calling
paramcount 0
address 00131420
sig undefined FUN_00131420(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001317e0

Function Meta

Key libqmengine_stellar.so
name FUN_001317e0
fullname FUN_001317e0
refcount 3
length 20
called
calling FUN_001329e0
paramcount 0
address 001317e0
sig undefined FUN_001317e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00131800

Function Meta

Key libqmengine_stellar.so
name FUN_00131800
fullname FUN_00131800
refcount 6
length 484
called
calling FUN_0011ead0
FUN_00120580
FUN_00135dd0
paramcount 0
address 00131800
sig undefined FUN_00131800(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132020

Function Meta

Key libqmengine_stellar.so
name FUN_00132020
fullname FUN_00132020
refcount 5
length 2399
called
calling FUN_00120790
FUN_001329e0
FUN_00136f70
paramcount 0
address 00132020
sig undefined FUN_00132020(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001329e0

Function Meta

Key libqmengine_stellar.so
name FUN_001329e0
fullname FUN_001329e0
refcount 2
length 43
called FUN_001317e0
FUN_00132020
calling
paramcount 0
address 001329e0
sig undefined FUN_001329e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132a10

Function Meta

Key libqmengine_stellar.so
name FUN_00132a10
fullname FUN_00132a10
refcount 3
length 88
called
calling FUN_00133040
paramcount 0
address 00132a10
sig undefined FUN_00132a10(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132a70

Function Meta

Key libqmengine_stellar.so
name FUN_00132a70
fullname FUN_00132a70
refcount 3
length 88
called
calling FUN_00132f90
paramcount 0
address 00132a70
sig undefined FUN_00132a70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132ad0

Function Meta

Key libqmengine_stellar.so
name FUN_00132ad0
fullname FUN_00132ad0
refcount 4
length 136
called FUN_001359a0
calling FUN_00132b60
FUN_00132c20
paramcount 0
address 00132ad0
sig undefined FUN_00132ad0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132b60

Function Meta

Key libqmengine_stellar.so
name FUN_00132b60
fullname FUN_00132b60
refcount 4
length 184
called FUN_00132ad0
calling FUN_001332e0
FUN_001336a0
paramcount 0
address 00132b60
sig undefined FUN_00132b60(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132c20

Function Meta

Key libqmengine_stellar.so
name FUN_00132c20
fullname FUN_00132c20
refcount 4
length 163
called FUN_00132ad0
calling FUN_00133340
FUN_001335e0
paramcount 0
address 00132c20
sig undefined FUN_00132c20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132cd0

Function Meta

Key libqmengine_stellar.so
name FUN_00132cd0
fullname FUN_00132cd0
refcount 4
length 337
called FUN_00133780
FUN_001341c0
FUN_001359a0
calling FUN_001332e0
FUN_001336a0
paramcount 0
address 00132cd0
sig undefined FUN_00132cd0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132e40

Function Meta

Key libqmengine_stellar.so
name FUN_00132e40
fullname FUN_00132e40
refcount 4
length 319
called FUN_00133780
FUN_00133aa0
FUN_001359a0
calling FUN_00133340
FUN_001335e0
paramcount 0
address 00132e40
sig undefined FUN_00132e40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00132f90

Function Meta

Key libqmengine_stellar.so
name FUN_00132f90
fullname FUN_00132f90
refcount 4
length 170
called FUN_00132a70
FUN_001359a0
calling FUN_001332e0
FUN_001336a0
paramcount 0
address 00132f90
sig undefined FUN_00132f90(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133040

Function Meta

Key libqmengine_stellar.so
name FUN_00133040
fullname FUN_00133040
refcount 4
length 170
called FUN_00132a10
FUN_001359a0
calling FUN_00133340
FUN_001335e0
paramcount 0
address 00133040
sig undefined FUN_00133040(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001330f0

Function Meta

Key libqmengine_stellar.so
name FUN_001330f0
fullname FUN_001330f0
refcount 3
length 230
called FUN_00133770
calling FUN_001248d0
paramcount 0
address 001330f0
sig undefined FUN_001330f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001331e0

Function Meta

Key libqmengine_stellar.so
name FUN_001331e0
fullname FUN_001331e0
refcount 4
length 244
called
calling FUN_00124a60
FUN_00124ab0
paramcount 0
address 001331e0
sig undefined FUN_001331e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001332e0

Function Meta

Key libqmengine_stellar.so
name FUN_001332e0
fullname FUN_001332e0
refcount 9
length 74
called FUN_00132b60
FUN_00132cd0
FUN_00132f90
calling FUN_00123a40
FUN_00123e40
FUN_001240b0
paramcount 0
address 001332e0
sig undefined FUN_001332e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133340

Function Meta

Key libqmengine_stellar.so
name FUN_00133340
fullname FUN_00133340
refcount 9
length 306
called FUN_00132c20
FUN_00132e40
FUN_00133040
calling FUN_00123a40
FUN_00123e40
FUN_001240b0
paramcount 0
address 00133340
sig undefined FUN_00133340(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133490

Function Meta

Key libqmengine_stellar.so
name FUN_00133490
fullname FUN_00133490
refcount 4
length 226
called FUN_00133790
FUN_00135a20
calling FUN_001240b0
FUN_00124c60
paramcount 0
address 00133490
sig undefined FUN_00133490(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133590

Function Meta

Key libqmengine_stellar.so
name FUN_00133590
fullname FUN_00133590
refcount 3
length 55
called
calling FUN_00123a40
paramcount 0
address 00133590
sig undefined FUN_00133590(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001335e0

Function Meta

Key libqmengine_stellar.so
name FUN_001335e0
fullname FUN_001335e0
refcount 3
length 176
called FUN_00132c20
FUN_00132e40
FUN_00133040
calling FUN_00124640
paramcount 0
address 001335e0
sig undefined FUN_001335e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001336a0

Function Meta

Key libqmengine_stellar.so
name FUN_001336a0
fullname FUN_001336a0
refcount 3
length 190
called FUN_00132b60
FUN_00132cd0
FUN_00132f90
calling FUN_00124c60
paramcount 0
address 001336a0
sig undefined FUN_001336a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133770

Function Meta

Key libqmengine_stellar.so
name FUN_00133770
fullname FUN_00133770
refcount 3
length 16
called
calling FUN_001330f0
paramcount 0
address 00133770
sig undefined FUN_00133770(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133790

Function Meta

Key libqmengine_stellar.so
name FUN_00133790
fullname FUN_00133790
refcount 3
length 722
called
calling FUN_00133490
paramcount 0
address 00133790
sig undefined FUN_00133790(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133a80

Function Meta

Key libqmengine_stellar.so
name FUN_00133a80
fullname FUN_00133a80
refcount 3
length 20
called
calling FUN_00134a20
paramcount 0
address 00133a80
sig undefined FUN_00133a80(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133aa0

Function Meta

Key libqmengine_stellar.so
name FUN_00133aa0
fullname FUN_00133aa0
refcount 3
length 429
called
calling FUN_00132e40
paramcount 0
address 00133aa0
sig undefined FUN_00133aa0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00133c70

Function Meta

Key libqmengine_stellar.so
name FUN_00133c70
fullname FUN_00133c70
refcount 2
length 1310
called
calling
paramcount 0
address 00133c70
sig undefined FUN_00133c70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001341c0

Function Meta

Key libqmengine_stellar.so
name FUN_001341c0
fullname FUN_001341c0
refcount 4
length 2073
called
calling FUN_00132cd0
FUN_00134a20
paramcount 0
address 001341c0
sig undefined FUN_001341c0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00134a20

Function Meta

Key libqmengine_stellar.so
name FUN_00134a20
fullname FUN_00134a20
refcount 2
length 43
called FUN_00133a80
FUN_001341c0
calling
paramcount 0
address 00134a20
sig undefined FUN_00134a20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00134a50

Function Meta

Key libqmengine_stellar.so
name FUN_00134a50
fullname FUN_00134a50
refcount 4
length 114
called
calling FUN_00124430
paramcount 0
address 00134a50
sig undefined FUN_00134a50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00134ad0

Function Meta

Key libqmengine_stellar.so
name FUN_00134ad0
fullname FUN_00134ad0
refcount 3
length 1433
called ::memset
FUN_001be2c6
calling FUN_001240b0
paramcount 0
address 00134ad0
sig undefined FUN_00134ad0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00135080

Function Meta

Key libqmengine_stellar.so
name FUN_00135080
fullname FUN_00135080
refcount 4
length 490
called ::memset
calling FUN_00123e40
FUN_001240b0
paramcount 0
address 00135080
sig undefined FUN_00135080(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00135290

Function Meta

Key libqmengine_stellar.so
name FUN_00135290
fullname FUN_00135290
refcount 3
length 808
called ::memset
calling FUN_00123a40
paramcount 0
address 00135290
sig undefined FUN_00135290(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001355e0

Function Meta

Key libqmengine_stellar.so
name FUN_001355e0
fullname FUN_001355e0
refcount 3
length 291
called
calling FUN_00123a40
paramcount 0
address 001355e0
sig undefined FUN_001355e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00135720

Function Meta

Key libqmengine_stellar.so
name FUN_00135720
fullname FUN_00135720
refcount 3
length 74
called
calling FUN_00123a40
paramcount 0
address 00135720
sig undefined FUN_00135720(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001359a0

Function Meta

Key libqmengine_stellar.so
name FUN_001359a0
fullname FUN_001359a0
refcount 10
length 118
called
calling FUN_00120580
FUN_00120790
FUN_00132ad0
FUN_00132cd0
FUN_00132e40
FUN_00132f90
FUN_00133040
FUN_00135a20
paramcount 0
address 001359a0
sig undefined FUN_001359a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00135a20

Function Meta

Key libqmengine_stellar.so
name FUN_00135a20
fullname FUN_00135a20
refcount 6
length 116
called FUN_001359a0
calling FUN_001209b0
FUN_00133490
paramcount 0
address 00135a20
sig undefined FUN_00135a20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00135f40

Function Meta

Key libqmengine_stellar.so
name FUN_00135f40
fullname FUN_00135f40
refcount 4
length 238
called FUN_00131a10
FUN_00135ef0
calling FUN_001390c0
paramcount 0
address 00135f40
sig undefined FUN_00135f40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00136040

Function Meta

Key libqmengine_stellar.so
name FUN_00136040
fullname FUN_00136040
refcount 5
length 211
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
calling FUN_00136130
paramcount 0
address 00136040
sig undefined FUN_00136040(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00136f70

Function Meta

Key libqmengine_stellar.so
name FUN_00136f70
fullname FUN_00136f70
refcount 5
length 232
called FUN_00132020
calling FUN_00137110
FUN_0013f9b0
FUN_001401c0
paramcount 0
address 00136f70
sig undefined FUN_00136f70(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00137d00

Function Meta

Key libqmengine_stellar.so
name FUN_00137d00
fullname FUN_00137d00
refcount 3
length 921
called
Expand for full list:
::memmove
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_00131a10
FUN_00135c70
FUN_00135cd0
FUN_00136800
FUN_00136930
FUN_00136f20
FUN_00137bd0
calling FUN_0013f920
paramcount 0
address 00137d00
sig undefined FUN_00137d00(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00138400

Function Meta

Key libqmengine_stellar.so
name FUN_00138400
fullname FUN_00138400
refcount 3
length 45
called FUN_0011f700
FUN_00127780
calling FUN_0016d870
paramcount 0
address 00138400
sig undefined FUN_00138400(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013a960

Function Meta

Key libqmengine_stellar.so
name FUN_0013a960
fullname FUN_0013a960
refcount 3
length 82
called thunk_FUN_00125090
calling FUN_00147980
paramcount 0
address 0013a960
sig undefined FUN_0013a960(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013b440

Function Meta

Key libqmengine_stellar.so
name FUN_0013b440
fullname FUN_0013b440
refcount 4
length 14
called
calling
paramcount 0
address 0013b440
sig undefined FUN_0013b440(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013b460

Function Meta

Key libqmengine_stellar.so
name FUN_0013b460
fullname FUN_0013b460
refcount 4
length 235
called
calling FUN_0013bfa0
FUN_0013c050
paramcount 0
address 0013b460
sig undefined FUN_0013b460(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013b560

Function Meta

Key libqmengine_stellar.so
name FUN_0013b560
fullname FUN_0013b560
refcount 4
length 276
called ::pthread_mutex_unlock
calling FUN_0013b690
FUN_0013b8d0
paramcount 0
address 0013b560
sig undefined FUN_0013b560(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013b690

Function Meta

Key libqmengine_stellar.so
name FUN_0013b690
fullname FUN_0013b690
refcount 4
length 530
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_0013b560
calling
paramcount 0
address 0013b690
sig undefined FUN_0013b690(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013b8d0

Function Meta

Key libqmengine_stellar.so
name FUN_0013b8d0
fullname FUN_0013b8d0
refcount 4
length 1189
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_0013b560
calling
paramcount 0
address 0013b8d0
sig undefined FUN_0013b8d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c050

Function Meta

Key libqmengine_stellar.so
name FUN_0013c050
fullname FUN_0013c050
refcount 3
length 159
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_0013b460
calling FUN_00127780
paramcount 0
address 0013c050
sig undefined FUN_0013c050(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c110

Function Meta

Key libqmengine_stellar.so
name FUN_0013c110
fullname FUN_0013c110
refcount 3
length 172
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
calling FUN_001271e0
paramcount 0
address 0013c110
sig undefined FUN_0013c110(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c1d0

Function Meta

Key libqmengine_stellar.so
name FUN_0013c1d0
fullname FUN_0013c1d0
refcount 3
length 292
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00123580
FUN_001235d0
FUN_00123660
FUN_00124e50
calling FUN_001274c0
paramcount 0
address 0013c1d0
sig undefined FUN_0013c1d0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c300

Function Meta

Key libqmengine_stellar.so
name FUN_0013c300
fullname FUN_0013c300
refcount 3
length 60
called FUN_00125090
calling FUN_00126f40
paramcount 0
address 0013c300
sig undefined FUN_0013c300(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c350

Function Meta

Key libqmengine_stellar.so
name FUN_0013c350
fullname FUN_0013c350
refcount 3
length 60
called FUN_001250e0
calling FUN_00127010
paramcount 0
address 0013c350
sig undefined FUN_0013c350(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c3a0

Function Meta

Key libqmengine_stellar.so
name FUN_0013c3a0
fullname FUN_0013c3a0
refcount 3
length 60
called FUN_001250f0
calling FUN_001270c0
paramcount 0
address 0013c3a0
sig undefined FUN_0013c3a0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c3f0

Function Meta

Key libqmengine_stellar.so
name FUN_0013c3f0
fullname FUN_0013c3f0
refcount 3
length 29
called ::abort
FUN_0012b940
calling
paramcount 0
address 0013c3f0
sig undefined FUN_0013c3f0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c430

Function Meta

Key libqmengine_stellar.so
name FUN_0013c430
fullname FUN_0013c430
refcount 4
length 166
called FUN_0012b940
calling FUN_0013c4e0
FUN_0013c520
paramcount 0
address 0013c430
sig undefined FUN_0013c430(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013c520

Function Meta

Key libqmengine_stellar.so
name FUN_0013c520
fullname FUN_0013c520
refcount 2
length 70
called ::abort
FUN_0012b940
FUN_0013c430
calling
paramcount 0
address 0013c520
sig undefined FUN_0013c520(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013dec0

Function Meta

Key libqmengine_stellar.so
name FUN_0013dec0
fullname FUN_0013dec0
refcount 3
length 3031
called ::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_00125f10
FUN_0012a8a0
FUN_0012a980
FUN_001357e0
FUN_00135950
FUN_00137110
FUN_0013cec0
calling FUN_0013f380
paramcount 0
address 0013dec0
sig undefined FUN_0013dec0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013eb20

Function Meta

Key libqmengine_stellar.so
name FUN_0013eb20
fullname FUN_0013eb20
refcount 2
length 42
called FUN_00129df0
calling
paramcount 0
address 0013eb20
sig undefined FUN_0013eb20(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013eb50

Function Meta

Key libqmengine_stellar.so
name FUN_0013eb50
fullname FUN_0013eb50
refcount 2
length 247
called ::__tls_get_addr
::pthread_mutex_trylock
::pthread_mutex_unlock
FUN_00124e50
FUN_0013b0f0
FUN_0013cc20
calling
paramcount 0
address 0013eb50
sig undefined FUN_0013eb50(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f060

Function Meta

Key libqmengine_stellar.so
name FUN_0013f060
fullname FUN_0013f060
refcount 2
length 32
called ::__tls_get_addr
FUN_0013b0f0
calling
paramcount 0
address 0013f060
sig undefined FUN_0013f060(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f380

Function Meta

Key libqmengine_stellar.so
name FUN_0013f380
fullname FUN_0013f380
refcount 2
length 59
called ::pthread_mutex_unlock
FUN_0013dec0
calling
paramcount 0
address 0013f380
sig undefined FUN_0013f380(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f770

Function Meta

Key libqmengine_stellar.so
name FUN_0013f770
fullname FUN_0013f770
refcount 2
length 348
called FUN_001357e0
FUN_00135950
calling
paramcount 0
address 0013f770
sig undefined FUN_0013f770(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f8e0

Function Meta

Key libqmengine_stellar.so
name FUN_0013f8e0
fullname FUN_0013f8e0
refcount 4
length 11
called
calling FUN_0013c640
FUN_0013c750
paramcount 0
address 0013f8e0
sig undefined FUN_0013f8e0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_0013f900

Function Meta

Key libqmengine_stellar.so
name FUN_0013f900
fullname FUN_0013f900
refcount 4
length 11
called
calling FUN_0013c640
FUN_0013c750
paramcount 0
address 0013f900
sig undefined FUN_0013f900(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00142a30

Function Meta

Key libqmengine_stellar.so
name FUN_00142a30
fullname FUN_00142a30
refcount 6
length 89
called FUN_00142990
calling FUN_00112b79
FUN_00112bb8
FUN_00112dd6
FUN_0011542c
paramcount 0
address 00142a30
sig undefined FUN_00142a30(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00142b40

Function Meta

Key libqmengine_stellar.so
name FUN_00142b40
fullname FUN_00142b40
refcount 5
length 168
called FUN_00142990
calling FUN_00112e24
FUN_00112e5a
FUN_0011542c
paramcount 0
address 00142b40
sig undefined FUN_00142b40(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00142ce0

Function Meta

Key libqmengine_stellar.so
name FUN_00142ce0
fullname FUN_00142ce0
refcount 6
length 241
called FUN_00142990
calling FUN_00112dd6
FUN_00112e24
FUN_00112e5a
FUN_0011542c
paramcount 0
address 00142ce0
sig undefined FUN_00142ce0(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00143180

Function Meta

Key libqmengine_stellar.so
name FUN_00143180
fullname FUN_00143180
refcount 3
length 73
called FUN_00151e20
calling FUN_0013c750
paramcount 0
address 00143180
sig undefined FUN_00143180(void)
sym_type Function
sym_source DEFAULT
external False

FUN_00143260

Function Meta

Key libqmengine_stellar.so
name FUN_00143260
fullname FUN_00143260
refcount 12
length 13
called ::memset
calling FUN_00147dc0
FUN_00149de0
FUN_0014aad0
FUN_0014b120
FUN_0014cd70
FUN_0014d320
FUN_0014d810
FUN_0014ebb0
FUN_0014faf0
paramcount 0
address 00143260
sig undefined FUN_00143260(void)
sym_type Function
sym_source DEFAULT
external False

FUN_001434a0

Function Meta

Key libqmengine_stellar.so
name FUN_001434a0
fullname FUN_001434a0
refcount 6
length 663
called FUN_00125f10
FUN_001357e0
FUN_00135950
FUN_00137110
calling FUN_0014c330
FUN_0014ebb0
FUN_00150190
paramcount 0
address 001434a0
sig undefined FUN_001434a0(void)
sym_type Function
sym_source DEFAULT
external False

Max Added Section Functions Reached Error

460 Added Functions Ommited...

Modified

Modified functions contain code changes

qmdpi_license_load_from_file

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.16
i_ratio 0.24
m_ratio 0.97
b_ratio 0.79
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_license_load_from_file qmdpi_license_load_from_file
fullname qmdpi_license_load_from_file qmdpi_license_load_from_file
refcount 3 3
length 620 659
called
Expand for full list:
::__xpg_basename
::close
::memchr
::memrchr
::open
::read
::strlen
::strncpy
FUN_0019f0c0
FUN_001a4180
qm_free_default
qm_malloc_default
thunk_FUN_00133f90
thunk_FUN_00137060
thunk_FUN_00181e30
Expand for full list:
::__xpg_basename
::close
::memchr
::memrchr
::open
::read
::strlen
::strncpy
FUN_001ba110
FUN_001be350
qm_free_default
qm_malloc_default
thunk_FUN_0014a9d0
thunk_FUN_0014cca0
thunk_FUN_00173540
calling
paramcount 0 0
address 00186d50 0017ea70
sig undefined qmdpi_license_load_from_file(void) undefined qmdpi_license_load_from_file(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_license_load_from_file Called Diff

--- qmdpi_license_load_from_file called
+++ qmdpi_license_load_from_file called
@@ -9,2 +9,2 @@
-FUN_0019f0c0
-FUN_001a4180
+FUN_001ba110
+FUN_001be350
@@ -13,3 +13,3 @@
-thunk_FUN_00133f90
-thunk_FUN_00137060
-thunk_FUN_00181e30
+thunk_FUN_0014a9d0
+thunk_FUN_0014cca0
+thunk_FUN_00173540

qmdpi_license_load_from_file Diff

--- qmdpi_license_load_from_file
+++ qmdpi_license_load_from_file
@@ -1,104 +1,100 @@
 
 undefined4 qmdpi_license_load_from_file(char *param_1)
 
 {
   char *__dest;
-  long *plVar1;
+  ulong uVar1;
+  long lVar2;
   int __fd;
-  int iVar2;
-  undefined4 uVar3;
-  long lVar4;
-  ulong uVar5;
+  int iVar3;
+  undefined4 uVar4;
+  long lVar5;
+  ssize_t sVar6;
   char *__src;
-  size_t sVar6;
-  undefined1 *puVar7;
-  long lVar8;
-  long local_d0;
+  size_t sVar7;
+  undefined1 *puVar8;
+  long lVar9;
   undefined1 local_c8 [48];
   long local_98;
   
   if (param_1 == (char *)0x0) {
-    uVar3 = 0xffffffff;
+    return 0xffffffff;
+  }
+  __fd = open(param_1,0);
+  if (__fd < 0) {
+    return 0xfffffff8;
+  }
+  uVar4 = 0xffffffff;
+  iVar3 = FUN_001be350(__fd,local_c8);
+  if (iVar3 != 0) goto LAB_0;
+  uVar1 = local_98 + 0x98;
+  if (DAT_1 == 0) {
+    lVar5 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(uVar1);
   }
   else {
-    __fd = open(param_1,0);
-    if (__fd < 0) {
-      uVar3 = 0xfffffff8;
+    lVar5 = (*(code *)PTR_qm_malloc_default_001f78f8)(1,uVar1 & 0xffffffff,0xff000000,0x5b);
+  }
+  if (lVar5 == 0) {
+    uVar4 = 0xfffffffb;
+    goto LAB_0;
+  }
+  if (((DAT_1 == 0) && (lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar9 != 0)) &&
+     (lVar2 = *(long *)(lVar9 + 8), lVar2 != 0)) {
+    if (*(long *)(lVar9 + 0x10) == 0) {
+      *(long *)(lVar2 + 0x610) = *(long *)(lVar2 + 0x610) + uVar1;
     }
     else {
-      uVar3 = 0xffffffff;
-      iVar2 = FUN_001a4180(__fd,local_c8);
-      if (iVar2 == 0) {
-        uVar5 = local_98 + 0x98;
-        if (DAT_0 == 0) {
-          local_d0 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar5);
-        }
-        else {
-          local_d0 = (*(code *)PTR_qm_malloc_default_001d3558)(1,uVar5 & 0xffffffff,0xff000000,0x5b)
-          ;
-        }
-        uVar3 = 0xfffffffb;
-        if (local_d0 != 0) {
-          lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar8 = *(long *)(lVar4 + 8);
-          if ((lVar8 != 0) && (DAT_0 == 0)) {
-            if (*(long *)(lVar4 + 0x10) == 0) {
-              *(long *)(lVar8 + 0x550) = *(long *)(lVar8 + 0x550) + uVar5;
-            }
-            else {
-              plVar1 = (long *)(*(long *)(lVar8 + 0x438) + (ulong)*(uint *)(lVar4 + 4) * 8);
-              *plVar1 = *plVar1 + uVar5;
-            }
-          }
-          lVar8 = 0;
-          while( true ) {
-            uVar5 = read(__fd,(void *)(local_d0 + 0x98 + lVar8),local_98 - lVar8);
-            if ((int)uVar5 < 1) break;
-            lVar8 = lVar8 + (int)uVar5;
-          }
-          if (((uVar5 >> 0x1f & 1) == 0) && (lVar8 == local_98)) {
-            __dest = (char *)(local_d0 + 0x10);
-            *(int *)(local_d0 + 0x94) = (int)local_98;
-            __src = __xpg_basename(param_1);
-            strncpy(__dest,__src,0x80);
-            *(undefined1 *)(local_d0 + 0x90) = 0;
-            sVar6 = strlen(__dest);
-            puVar7 = (undefined1 *)memrchr(__dest,0x2d,sVar6);
-            if (puVar7 != (undefined1 *)0x0) {
-              *puVar7 = 0;
-            }
-            sVar6 = strlen(__dest);
-            puVar7 = (undefined1 *)memchr(__dest,0x2e,sVar6);
-            if (puVar7 != (undefined1 *)0x0) {
-              *puVar7 = 0;
-            }
-            uVar3 = FUN_0019f0c0(local_d0);
-          }
-          else {
-            uVar3 = 0xffffffff;
-          }
-          if (DAT_0 == 0) {
-            (*(code *)PTR_thunk_FUN_00137060_001d3760)(local_d0);
-          }
-          else {
-            (*(code *)PTR_qm_free_default_001d3560)(local_d0,0xff000000,0x5b);
-          }
-          lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar8 = *(long *)(lVar4 + 8);
-          if ((lVar8 != 0) && (DAT_0 == 0)) {
-            if (*(long *)(lVar4 + 0x10) == 0) {
-              *(long *)(lVar8 + 0x550) = *(long *)(lVar8 + 0x550) + -0x100098;
-            }
-            else {
-              plVar1 = (long *)(*(long *)(lVar8 + 0x438) + (ulong)*(uint *)(lVar4 + 4) * 8);
-              *plVar1 = *plVar1 + -0x100098;
-            }
-          }
-        }
-      }
-      close(__fd);
+      LOCK();
+      *(long *)(lVar2 + 0x4f0) = *(long *)(lVar2 + 0x4f0) + uVar1;
+      UNLOCK();
     }
   }
-  return uVar3;
+  lVar9 = 0;
+  while( true ) {
+    sVar6 = read(__fd,(void *)(lVar5 + 0x98 + lVar9),local_98 - lVar9);
+    if ((int)sVar6 < 1) break;
+    lVar9 = lVar9 + (int)sVar6;
+  }
+  uVar4 = 0xffffffff;
+  if (lVar9 == local_98 && -1 < (char)((ulong)sVar6 >> 0x18)) {
+    *(int *)(lVar5 + 0x94) = (int)local_98;
+    __dest = (char *)(lVar5 + 0x10);
+    __src = __xpg_basename(param_1);
+    strncpy(__dest,__src,0x80);
+    *(undefined1 *)(lVar5 + 0x90) = 0;
+    sVar7 = strlen(__dest);
+    puVar8 = (undefined1 *)memrchr(__dest,0x2d,sVar7);
+    if (puVar8 != (undefined1 *)0x0) {
+      *puVar8 = 0;
+    }
+    sVar7 = strlen(__dest);
+    puVar8 = (undefined1 *)memchr(__dest,0x2e,sVar7);
+    if (puVar8 != (undefined1 *)0x0) {
+      *puVar8 = 0;
+    }
+    uVar4 = FUN_001ba110(lVar5);
+    if (DAT_1 != 0) goto LAB_0017ebf8;
+LAB_3:
+    (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(lVar5);
+  }
+  else {
+    if (DAT_1 == 0) goto LAB_0017eb7f;
+LAB_2:
+    (*(code *)PTR_qm_free_default_001f7900)(lVar5,0xff000000,0x5b);
+  }
+  if (((DAT_1 == 0) && (lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar5 != 0)) &&
+     (lVar9 = *(long *)(lVar5 + 8), lVar9 != 0)) {
+    if (*(long *)(lVar5 + 0x10) == 0) {
+      *(long *)(lVar9 + 0x610) = *(long *)(lVar9 + 0x610) + -0x100098;
+    }
+    else {
+      LOCK();
+      *(long *)(lVar9 + 0x4f0) = *(long *)(lVar9 + 0x4f0) + -0x100098;
+      UNLOCK();
+    }
+  }
+LAB_0:
+  close(__fd);
+  return uVar4;
 }
 

qmdpi_bundle_attr_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.36
i_ratio 0.51
m_ratio 0.98
b_ratio 0.84
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_attr_get_byid qmdpi_bundle_attr_get_byid
fullname qmdpi_bundle_attr_get_byid qmdpi_bundle_attr_get_byid
refcount 6 6
length 262 259
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018c0a0 00184530
sig undefined qmdpi_bundle_attr_get_byid(void) undefined qmdpi_bundle_attr_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_attr_get_byid Called Diff

--- qmdpi_bundle_attr_get_byid called
+++ qmdpi_bundle_attr_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_attr_get_byid Diff

--- qmdpi_bundle_attr_get_byid
+++ qmdpi_bundle_attr_get_byid
@@ -1,57 +1,54 @@
 
 undefined8 qmdpi_bundle_attr_get_byid(undefined8 *param_1,undefined4 param_2,undefined4 param_3)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
   int iVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   long lVar5;
-  undefined8 local_80;
-  undefined8 local_78;
-  undefined4 local_70;
-  undefined8 local_58;
-  undefined4 local_50;
+  undefined8 local_90;
+  undefined8 local_88;
+  undefined4 local_80;
+  undefined8 local_68;
+  undefined4 local_60;
   
-  local_80 = 0;
+  local_90 = 0;
   if (param_1 == (undefined8 *)0x0) {
-    lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
-    local_80 = 0;
   }
   else {
-    local_58 = 0;
-    local_78 = 0;
-    local_70 = param_3;
-    local_50 = param_2;
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    local_68 = 0;
+    local_88 = 0;
+    local_80 = param_3;
+    local_60 = param_2;
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar4[2] = 0;
+    puVar4[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar2;
+    *(undefined4 *)puVar4 = uVar2;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    iVar3 = (**(code **)(param_1[1] + 0xc0))(param_1[9],&local_68,&local_88,&local_90);
+    *puVar4 = 0;
+    puVar4[5] = 0;
     puVar4[1] = 0;
-    iVar3 = (**(code **)(param_1[1] + 0xc0))(param_1[9],&local_58,&local_78,&local_80);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    if (iVar3 < 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(int *)(lVar5 + 0x30) = iVar3;
-      local_80 = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    if (-1 < iVar3) {
+      return local_90;
     }
+    lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(int *)(lVar5 + 0x30) = iVar3;
   }
-  return local_80;
+  return 0;
 }
 

qmdpi_bundle_pdb_create_from_addr

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.19
i_ratio 0.28
m_ratio 0.99
b_ratio 0.85
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_create_from_addr qmdpi_bundle_pdb_create_from_addr
fullname qmdpi_bundle_pdb_create_from_addr qmdpi_bundle_pdb_create_from_addr
refcount 3 3
length 474 478
called FUN_00160640
FUN_001606c0
qm_free_default
qm_malloc_default
qmdpi_bundle_is_active
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
qm_free_default
qm_malloc_default
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 001876d0 001751f0
sig undefined qmdpi_bundle_pdb_create_from_addr(void) undefined qmdpi_bundle_pdb_create_from_addr(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_create_from_addr Called Diff

--- qmdpi_bundle_pdb_create_from_addr called
+++ qmdpi_bundle_pdb_create_from_addr called
@@ -1,2 +1,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -6 +6 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_pdb_create_from_addr Diff

--- qmdpi_bundle_pdb_create_from_addr
+++ qmdpi_bundle_pdb_create_from_addr
@@ -1,71 +1,72 @@
 
 undefined8 * qmdpi_bundle_pdb_create_from_addr(long *param_1,long param_2,int param_3)
 
 {
   int iVar1;
   undefined4 uVar2;
   int iVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   undefined8 *puVar5;
   long lVar6;
   
-  if (((param_2 == 0 || param_3 == 0) || (param_1 == (long *)0x0)) || (*param_1 == 0)) {
-    lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if ((param_1 == (long *)0x0 || (param_2 == 0 || param_3 == 0)) || (*param_1 == 0)) {
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar6 + 0x30) = 0xffffffff;
-    return (undefined8 *)0x0;
-  }
-  iVar1 = qmdpi_bundle_is_active();
-  if (iVar1 != 0) {
-    FUN_00160640(*param_1);
-  }
-  puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  lVar6 = *param_1;
-  *(undefined8 *)(puVar4 + 4) = 0;
-  *(long *)(puVar4 + 2) = lVar6;
-  lVar6 = param_1[9];
-  *(undefined8 *)(puVar4 + 10) = 0;
-  *(long *)(puVar4 + 6) = lVar6;
-  if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-    uVar2 = 0;
   }
   else {
-    uVar2 = *(undefined4 *)*param_1;
+    iVar1 = qmdpi_bundle_is_active();
+    if (iVar1 != 0) {
+      FUN_0011c550(*param_1);
+    }
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    lVar6 = *param_1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar6;
+    lVar6 = param_1[9];
+    puVar4[5] = 0;
+    puVar4[3] = lVar6;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+      uVar2 = *(undefined4 *)*param_1;
+    }
+    *(undefined4 *)puVar4 = uVar2;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    puVar5 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0x10,0xff000000,0x51);
+    if (puVar5 == (undefined8 *)0x0) {
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar6 + 0x30) = 0xfffffffb;
+    }
+    else {
+      iVar3 = (**(code **)(param_1[1] + 0x120))(param_1[9],param_2,param_3);
+      if (-1 < iVar3) {
+        *(int *)(puVar5 + 1) = iVar3;
+        *puVar5 = param_1;
+        puVar4[5] = 0;
+        *puVar4 = 0;
+        puVar4[1] = 0;
+        puVar4[2] = 0;
+        puVar4[3] = 0;
+        *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+        if (iVar1 == 0) {
+          return puVar5;
+        }
+        FUN_0011c5d0(*param_1);
+        return puVar5;
+      }
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(int *)(lVar6 + 0x30) = iVar3;
+      (*(code *)PTR_qm_free_default_001f7900)(puVar5,0xff000000,0x51);
+    }
+    puVar4[5] = 0;
+    *puVar4 = 0;
+    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    if (iVar1 != 0) {
+      FUN_0011c5d0(*param_1);
+    }
   }
-  *puVar4 = uVar2;
-  puVar4[1] = 0;
-  puVar5 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x10,0xff000000,0x51);
-  if (puVar5 == (undefined8 *)0x0) {
-    lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar6 + 0x30) = 0xfffffffb;
-  }
-  else {
-    iVar3 = (**(code **)(param_1[1] + 0x120))(param_1[9],param_2,param_3);
-    if (-1 < iVar3) {
-      *(int *)(puVar5 + 1) = iVar3;
-      *puVar5 = param_1;
-      *(undefined8 *)(puVar4 + 2) = 0;
-      *(undefined8 *)(puVar4 + 4) = 0;
-      *(undefined8 *)(puVar4 + 6) = 0;
-      *(undefined8 *)(puVar4 + 10) = 0;
-      *puVar4 = 0;
-      puVar4[1] = 0;
-      goto joined_r0x00187847;
-    }
-    lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(int *)(lVar6 + 0x30) = iVar3;
-    (*(code *)PTR_qm_free_default_001d3560)(puVar5,0xff000000,0x51);
-  }
-  puVar5 = (undefined8 *)0x0;
-  *(undefined8 *)(puVar4 + 2) = 0;
-  *(undefined8 *)(puVar4 + 4) = 0;
-  *(undefined8 *)(puVar4 + 6) = 0;
-  *(undefined8 *)(puVar4 + 10) = 0;
-  *puVar4 = 0;
-  puVar4[1] = 0;
-joined_r0x00187847:
-  if (iVar1 != 0) {
-    FUN_001606c0(*param_1);
-  }
-  return puVar5;
+  return (undefined8 *)0x0;
 }
 

qmdpi_engine_config_dump

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.8
i_ratio 0.5
m_ratio 0.88
b_ratio 0.62
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_engine_config_dump qmdpi_engine_config_dump
fullname qmdpi_engine_config_dump qmdpi_engine_config_dump
refcount 3 3
length 21 27
called FUN_00195810 FUN_0018fb90
calling
paramcount 0 0
address 00185cd0 0017d740
sig undefined qmdpi_engine_config_dump(void) undefined qmdpi_engine_config_dump(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_engine_config_dump Called Diff

--- qmdpi_engine_config_dump called
+++ qmdpi_engine_config_dump called
@@ -1 +1 @@
-FUN_00195810
+FUN_0018fb90

qmdpi_engine_config_dump Diff

--- qmdpi_engine_config_dump
+++ qmdpi_engine_config_dump
@@ -1,13 +1,13 @@
 
 undefined8 qmdpi_engine_config_dump(long param_1,undefined8 param_2,long param_3)
 
 {
   undefined8 uVar1;
   
-  if ((param_1 != 0) && (param_3 != 0)) {
-    uVar1 = FUN_00195810();
+  if (param_1 != 0 && param_3 != 0) {
+    uVar1 = FUN_0018fb90();
     return uVar1;
   }
   return 0xffffffff;
 }
 

qmdpi_flow_table_set_port_byvid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.4
i_ratio 0.52
m_ratio 0.97
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_table_set_port_byvid qmdpi_flow_table_set_port_byvid
fullname qmdpi_flow_table_set_port_byvid qmdpi_flow_table_set_port_byvid
refcount 3 3
length 247 235
called FUN_00160640
FUN_001606c0
FUN_0016ced0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
FUN_00195460
thunk_FUN_00173540
calling
paramcount 0 0
address 00185db0 0017d820
sig undefined qmdpi_flow_table_set_port_byvid(void) undefined qmdpi_flow_table_set_port_byvid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_table_set_port_byvid Called Diff

--- qmdpi_flow_table_set_port_byvid called
+++ qmdpi_flow_table_set_port_byvid called
@@ -1,4 +1,4 @@
-FUN_00160640
-FUN_001606c0
-FUN_0016ced0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+FUN_00195460
+thunk_FUN_00173540

qmdpi_flow_table_set_port_byvid Diff

--- qmdpi_flow_table_set_port_byvid
+++ qmdpi_flow_table_set_port_byvid
@@ -1,48 +1,39 @@
 
-undefined8
+undefined4
 qmdpi_flow_table_set_port_byvid
           (undefined4 *param_1,undefined4 param_2,undefined4 param_3,undefined2 param_4,
           undefined4 param_5)
 
 {
   undefined4 uVar1;
   int iVar2;
-  undefined4 *puVar3;
-  undefined8 uVar4;
+  undefined8 *puVar3;
   
   if (param_1 != (undefined4 *)0x0) {
-    FUN_00160640();
-    if (*(long *)(param_1 + 0xe4) == 0) {
-      FUN_001606c0(param_1);
-      uVar4 = 0xffffffff;
-    }
-    else {
-      puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 **)(puVar3 + 2) = param_1;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 6) = 0;
-      *(undefined8 *)(puVar3 + 10) = 0;
+    FUN_0011c550();
+    if (*(long *)(param_1 + 0xe4) != 0) {
+      puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      puVar3[1] = param_1;
+      puVar3[2] = 0;
+      puVar3[3] = 0;
+      puVar3[5] = 0;
       uVar1 = *param_1;
-      puVar3[1] = 0;
-      *puVar3 = uVar1;
-      iVar2 = FUN_0016ced0(param_1,param_1[0xe4],param_2,param_3,param_4,param_5);
-      *(undefined8 *)(puVar3 + 2) = 0;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 6) = 0;
-      *(undefined8 *)(puVar3 + 10) = 0;
+      *(undefined4 *)((long)puVar3 + 4) = 0;
+      *(undefined4 *)puVar3 = uVar1;
+      iVar2 = FUN_00195460(param_1,param_1[0xe4],param_2,param_3,param_4,param_5);
+      puVar3[5] = 0;
       *puVar3 = 0;
       puVar3[1] = 0;
+      puVar3[2] = 0;
+      puVar3[3] = 0;
+      *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
       if (iVar2 == 0) {
-        FUN_001606c0(param_1);
-        uVar4 = 0;
-      }
-      else {
-        FUN_001606c0(param_1);
-        uVar4 = 0xffffffff;
+        FUN_0011c5d0(param_1);
+        return 0;
       }
     }
-    return uVar4;
+    FUN_0011c5d0(param_1);
   }
   return 0xffffffff;
 }
 

qmdpi_worker_attr_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.23
i_ratio 0.53
m_ratio 1.0
b_ratio 0.83
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_attr_get_byid qmdpi_worker_attr_get_byid
fullname qmdpi_worker_attr_get_byid qmdpi_worker_attr_get_byid
refcount 6 6
length 285 279
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018bf70 00184410
sig undefined qmdpi_worker_attr_get_byid(void) undefined qmdpi_worker_attr_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_attr_get_byid Called Diff

--- qmdpi_worker_attr_get_byid called
+++ qmdpi_worker_attr_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_attr_get_byid Diff

--- qmdpi_worker_attr_get_byid
+++ qmdpi_worker_attr_get_byid
@@ -1,61 +1,59 @@
 
 undefined8
 qmdpi_worker_attr_get_byid(long param_1,undefined8 *param_2,undefined4 param_3,undefined4 param_4)
 
 {
   undefined8 uVar1;
-  int iVar2;
-  undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined4 uVar2;
+  int iVar3;
+  undefined8 *puVar4;
   long lVar5;
-  undefined8 local_90;
-  undefined8 local_88;
-  undefined4 local_80;
-  undefined8 local_68;
-  undefined4 local_60;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined4 local_90;
+  undefined8 local_78;
+  undefined4 local_70;
   
-  local_90 = 0;
-  if (param_2 != (undefined8 *)0x0) {
-    local_68 = 0;
-    local_88 = 0;
-    local_80 = param_4;
-    local_60 = param_3;
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  local_a0 = 0;
+  if (param_2 == (undefined8 *)0x0) {
+    lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
+  }
+  else {
+    local_78 = 0;
+    local_98 = 0;
+    local_90 = param_4;
+    local_70 = param_3;
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_2;
-    *(long *)(puVar4 + 4) = param_1;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar4[2] = param_1;
+    puVar4[1] = uVar1;
     uVar1 = param_2[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar4 = 0;
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar2 = *(undefined4 *)*param_2;
     }
-    else {
-      *puVar4 = *(undefined4 *)*param_2;
+    *(undefined4 *)puVar4 = uVar2;
+    uVar2 = 0;
+    if (param_1 != 0) {
+      uVar2 = *(undefined4 *)(param_1 + 8);
     }
-    if (param_1 == 0) {
-      uVar3 = 0;
+    *(undefined4 *)((long)puVar4 + 4) = uVar2;
+    iVar3 = (**(code **)(param_2[1] + 0xc0))(param_2[9],&local_78,&local_98,&local_a0);
+    *puVar4 = 0;
+    puVar4[5] = 0;
+    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    if (-1 < iVar3) {
+      return local_a0;
     }
-    else {
-      uVar3 = *(undefined4 *)(param_1 + 8);
-    }
-    puVar4[1] = uVar3;
-    iVar2 = (**(code **)(param_2[1] + 0xc0))(param_2[9],&local_68,&local_88,&local_90);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    if (iVar2 < 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(int *)(lVar5 + 0x30) = iVar2;
-      local_90 = 0;
-    }
-    return local_90;
+    lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(int *)(lVar5 + 0x30) = iVar3;
   }
-  lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
   return 0;
 }
 

qmdpi_bundle_signature_upper_del

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.49
i_ratio 0.59
m_ratio 0.99
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_upper_del qmdpi_bundle_signature_upper_del
fullname qmdpi_bundle_signature_upper_del qmdpi_bundle_signature_upper_del
refcount 3 3
length 216 217
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 001840c0 00174740
sig undefined qmdpi_bundle_signature_upper_del(void) undefined qmdpi_bundle_signature_upper_del(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_upper_del Called Diff

--- qmdpi_bundle_signature_upper_del called
+++ qmdpi_bundle_signature_upper_del called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_signature_upper_del Diff

--- qmdpi_bundle_signature_upper_del
+++ qmdpi_bundle_signature_upper_del
@@ -1,41 +1,39 @@
 
 undefined4 qmdpi_bundle_signature_upper_del(long *param_1,char *param_2)
 
 {
   long lVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   
-  if ((((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (*param_2 == '\0')) ||
-     (*param_1 == 0)) {
+  if (((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (*param_2 == '\0')) || (*param_1 == 0))
+  {
     uVar2 = 0xffffffff;
   }
   else {
-    FUN_00160640();
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    FUN_0011c550();
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
+    puVar3[2] = 0;
+    puVar3[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = lVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
     uVar2 = (**(code **)(param_1[1] + 0x118))(param_1[9],param_2);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar2;
 }
 

qmdpi_worker_flow_expire_by_blob

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.41
i_ratio 0.12
m_ratio 0.99
b_ratio 0.12
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_flow_expire_by_blob qmdpi_worker_flow_expire_by_blob
fullname qmdpi_worker_flow_expire_by_blob qmdpi_worker_flow_expire_by_blob
refcount 3 3
length 882 848
called FUN_00169b50
FUN_00171da0
FUN_0017b6e0
FUN_0019ebd0
thunk_FUN_00181e30
FUN_0019bef0
FUN_001a2a50
FUN_001a3390
FUN_001b9c60
thunk_FUN_00173540
calling
paramcount 0 0
address 00181020 001a7f30
sig undefined qmdpi_worker_flow_expire_by_blob(void) undefined qmdpi_worker_flow_expire_by_blob(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_flow_expire_by_blob Called Diff

--- qmdpi_worker_flow_expire_by_blob called
+++ qmdpi_worker_flow_expire_by_blob called
@@ -1,5 +1,5 @@
-FUN_00169b50
-FUN_00171da0
-FUN_0017b6e0
-FUN_0019ebd0
-thunk_FUN_00181e30
+FUN_0019bef0
+FUN_001a2a50
+FUN_001a3390
+FUN_001b9c60
+thunk_FUN_00173540

qmdpi_worker_flow_expire_by_blob Diff

--- qmdpi_worker_flow_expire_by_blob
+++ qmdpi_worker_flow_expire_by_blob
@@ -1,196 +1,190 @@
 
 undefined8 qmdpi_worker_flow_expire_by_blob(long *param_1,long param_2,uint param_3)
 
 {
-  ulong *puVar1;
-  short sVar2;
-  undefined4 *puVar3;
-  undefined8 uVar4;
-  ushort uVar5;
-  int iVar6;
-  undefined4 uVar7;
-  undefined4 *puVar8;
+  short sVar1;
+  undefined4 *puVar2;
+  undefined8 uVar3;
+  int iVar4;
+  undefined4 uVar5;
+  undefined8 *puVar6;
+  ulong uVar7;
+  long lVar8;
   uint uVar9;
-  long lVar10;
-  uint uVar11;
-  ulong *puVar12;
-  undefined8 *puVar13;
-  byte bVar14;
-  short *psVar15;
-  byte bVar16;
+  uint uVar10;
+  short *psVar11;
+  short *psVar12;
+  byte bVar13;
   uint local_13c;
   long local_138;
   long local_130;
-  ulong local_128 [3];
-  ulong *local_110;
+  undefined1 local_128 [2];
+  undefined1 auStack_126 [14];
+  undefined8 local_118;
+  undefined1 *local_110;
   undefined8 *local_108;
   long local_100;
   undefined8 local_f8;
   undefined1 local_ef;
   byte local_ec;
   undefined8 local_b8 [17];
   
-  bVar16 = 0;
-  if (param_1 == (long *)0x0) {
-    return 0xffffffff;
-  }
-  if (param_2 == 0) {
+  bVar13 = 0;
+  if (param_1 == (long *)0x0 || param_2 == 0) {
     return 0xffffffff;
   }
   if (param_3 == 0) {
     return 0xffffffff;
   }
   if (*(char *)(*param_1 + 0x310) != '\0') {
     return 0xffffffff;
   }
   local_13c = param_3;
-  iVar6 = FUN_0019ebd0(&DAT_0);
-  if (iVar6 == 0) {
+  iVar4 = FUN_001b9c60(&DAT_0);
+  if (iVar4 == 0) {
     return 0xfffffff1;
   }
   if (param_1[0x17] != 0) {
     return 0xffffffff;
   }
-  puVar1 = local_128 + 2;
-  puVar3 = (undefined4 *)*param_1;
-  uVar4 = *(undefined8 *)param_1[2];
+  puVar2 = (undefined4 *)*param_1;
+  uVar3 = *(undefined8 *)param_1[2];
   local_130 = 0;
-  puVar12 = puVar1;
-  for (lVar10 = 0xb; lVar10 != 0; lVar10 = lVar10 + -1) {
-    *puVar12 = 0;
-    puVar12 = puVar12 + (ulong)bVar16 * -2 + 1;
+  puVar6 = &local_118;
+  for (lVar8 = 0xb; lVar8 != 0; lVar8 = lVar8 + -1) {
+    *puVar6 = 0;
+    puVar6 = puVar6 + (ulong)bVar13 * -2 + 1;
   }
-  if (local_13c < 4) {
+  if (param_3 < 4) {
     return 0xffffffff;
   }
-  local_128[0] = 0;
-  local_128[1] = 0;
-  puVar13 = local_b8;
-  for (lVar10 = 0x10; lVar10 != 0; lVar10 = lVar10 + -1) {
-    *puVar13 = 0;
-    puVar13 = puVar13 + (ulong)bVar16 * -2 + 1;
+  puVar6 = local_b8;
+  for (lVar8 = 0x10; lVar8 != 0; lVar8 = lVar8 + -1) {
+    *puVar6 = 0;
+    puVar6 = puVar6 + (ulong)bVar13 * -2 + 1;
   }
   local_110 = local_128;
+  _local_128 = (undefined1  [16])0x0;
   local_108 = local_b8;
-  if (local_13c - 4 < 8) {
+  if (param_3 - 4 < 8) {
     return 0xffffffff;
   }
   local_f8 = *(undefined8 *)(param_2 + 4);
-  if (local_13c == 0xc) {
+  if (param_3 == 0xc) {
     return 0xffffffff;
   }
   local_100 = param_2 + 0xd;
-  if (local_13c == 0xd) {
+  if (param_3 == 0xd) {
     return 0xffffffff;
   }
   local_138 = param_2 + 0xe;
-  bVar16 = *(byte *)(param_2 + 0xd);
-  uVar11 = local_13c - 0xe;
-  if (uVar11 < bVar16) {
+  bVar13 = *(byte *)(param_2 + 0xd);
+  local_13c = param_3 - 0xe;
+  if (local_13c < bVar13) {
     return 0xffffffff;
   }
   if (*(char *)(param_2 + 0xc) == '\0') {
-    local_13c = uVar11;
-    iVar6 = FUN_0017b6e0(&local_138,&local_13c,puVar1);
-    if (iVar6 != 0) {
+    iVar4 = FUN_001a3390(&local_138,&local_13c,&local_118);
+    lVar8 = 0;
+    if (iVar4 != 0) {
       return 0xffffffff;
     }
-    lVar10 = 0;
     goto LAB_1;
   }
-  if (uVar11 < 2) {
+  if (local_13c < 2) {
     return 0xffffffff;
   }
   if (*(short *)(param_2 + 0xe) == 0x51) {
-    uVar11 = 9;
-    uVar5 = 9;
+    uVar9 = 9;
+    lVar8 = 9;
   }
   else {
     if (*(short *)(param_2 + 0xe) != 0x52) {
       return 0xffffffff;
     }
-    uVar11 = 0x21;
-    uVar5 = 0x21;
+    uVar9 = 0x21;
+    lVar8 = 0x21;
   }
-  bVar14 = (char)(param_2 + 0x10) - (char)local_100;
-  local_128[0] = (ulong)bVar14;
-  if (local_13c - 0x10 < uVar11) {
+  stack0xfffffffffffffed9 = SUB1615((undefined1  [16])0x0,1);
+  local_128[0] = 3;
+  if (param_3 - 0x10 < uVar9) {
     return 0xffffffff;
   }
-  uVar11 = (local_13c - 0x10) - uVar11;
-  psVar15 = (short *)((ulong)uVar5 + param_2 + 0x10);
-  lVar10 = (long)psVar15 - local_100;
-  if (lVar10 < (long)(ulong)(uint)bVar16) {
-    if (uVar11 < 2) {
+  psVar11 = (short *)(param_2 + 0x10 + lVar8);
+  uVar9 = (param_3 - 0x10) - uVar9;
+  uVar7 = (long)psVar11 - local_100;
+  psVar12 = psVar11;
+  uVar10 = uVar9;
+  if ((long)uVar7 < (long)(ulong)bVar13) {
+    if (uVar9 < 2) {
       return 0xffffffff;
     }
-    sVar2 = *psVar15;
-    if (sVar2 == 0xcd) {
+    psVar12 = psVar11 + 1;
+    sVar1 = *psVar11;
+    uVar10 = uVar9 - 2;
+    uVar7 = (long)psVar12 - local_100 & 0xffffffff;
+    local_128[1] = (undefined1)((long)psVar12 - local_100);
+    auStack_126 = SUB1614((undefined1  [16])0x0,2);
+    if (sVar1 == 0xcd) {
       local_ef = 1;
-LAB_2:
-      if (uVar11 - 2 < 4) {
-        return 0xffffffff;
-      }
-      lVar10 = 4;
-      iVar6 = 4;
+    }
+    else if (sVar1 == 0xd8) {
+      local_ec = local_ec & 0xf | 0x10;
     }
     else {
-      if (sVar2 == 0xd8) {
-        local_ec = local_ec & 0xf | 0x10;
+      if (sVar1 != 0xb4) {
+        local_128[0] = 3;
         goto LAB_2;
       }
-      if (sVar2 == 0xb4) {
-        local_ec = local_ec & 0xf0 | 1;
-        goto LAB_2;
+      local_ec = local_ec & 0xf0 | 1;
+    }
+    local_128[0] = 3;
+    if (uVar10 < 4) {
+      return 0xffffffff;
+    }
+    psVar12 = psVar11 + 3;
+    uVar10 = uVar9 - 6;
+    uVar7 = (ulong)(uint)((int)psVar12 - (int)local_100);
+  }
+LAB_2:
+  uVar9 = (uint)bVar13 - ((uint)uVar7 & 0xff);
+  if (uVar9 <= uVar10) {
+    lVar8 = (long)psVar12 + (ulong)uVar9;
+    if (3 < uVar10 - uVar9) {
+      local_138 = lVar8 + 4;
+      local_13c = (uVar10 - uVar9) - 4;
+LAB_1:
+      puVar6 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      puVar6[1] = puVar2;
+      puVar6[2] = param_1;
+      puVar6[3] = 0;
+      puVar6[5] = 0;
+      uVar5 = 0;
+      if (puVar2 != (undefined4 *)0x0) {
+        uVar5 = *puVar2;
       }
-      lVar10 = 0;
-      iVar6 = 0;
-    }
-    local_128[0] = (ulong)CONCAT11((char)(psVar15 + 1) - (char)local_100,bVar14);
-    psVar15 = (short *)(lVar10 + (long)(psVar15 + 1));
-    uVar11 = (uVar11 - 2) - iVar6;
-    lVar10 = (long)psVar15 - local_100;
-  }
-  uVar9 = (uint)bVar16 - ((uint)lVar10 & 0xff);
-  if (uVar9 <= uVar11) {
-    lVar10 = (long)psVar15 + (ulong)uVar9;
-    if (3 < uVar11 - uVar9) {
-      local_138 = lVar10 + 4;
-      local_13c = (uVar11 - uVar9) - 4;
-LAB_1:
-      puVar8 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 **)(puVar8 + 2) = puVar3;
-      *(long **)(puVar8 + 4) = param_1;
-      *(undefined8 *)(puVar8 + 6) = 0;
-      *(undefined8 *)(puVar8 + 10) = 0;
-      if (puVar3 == (undefined4 *)0x0) {
-        uVar7 = 0;
-      }
-      else {
-        uVar7 = *puVar3;
-      }
-      *puVar8 = uVar7;
-      puVar8[1] = (int)param_1[1];
-      FUN_00171da0(puVar3,uVar4,puVar1,lVar10,&local_130);
+      *(undefined4 *)puVar6 = uVar5;
+      *(int *)((long)puVar6 + 4) = (int)param_1[1];
+      FUN_001a2a50(puVar2,uVar3,&local_118,lVar8,&local_130);
       if (local_130 == 0) {
         return 0xfffffff8;
       }
-      lVar10 = *(long *)(local_130 + 8);
-      if (lVar10 != 0) {
-        *(undefined8 *)(lVar10 + 8) = *(undefined8 *)(local_130 + 0x10);
-        lVar10 = *(long *)(local_130 + 8);
+      lVar8 = *(long *)(local_130 + 8);
+      if (lVar8 != 0) {
+        *(undefined8 *)(lVar8 + 8) = *(undefined8 *)(local_130 + 0x10);
+        lVar8 = *(long *)(local_130 + 8);
       }
-      **(long **)(local_130 + 0x10) = lVar10;
-      FUN_00169b50(param_1,local_130,1);
-      *(undefined8 *)(puVar8 + 2) = 0;
-      *(undefined8 *)(puVar8 + 4) = 0;
-      *(undefined8 *)(puVar8 + 6) = 0;
-      *(undefined8 *)(puVar8 + 10) = 0;
-      *puVar8 = 0;
-      puVar8[1] = 0;
+      **(long **)(local_130 + 0x10) = lVar8;
+      FUN_0019bef0(param_1,local_130,1);
+      puVar6[5] = 0;
+      *puVar6 = 0;
+      puVar6[1] = 0;
+      puVar6[2] = 0;
+      puVar6[3] = 0;
+      *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
       return 0;
     }
   }
   return 0xffffffff;
 }
 

qmdpi_layer_store_destroy_list

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.45
i_ratio 0.75
m_ratio 0.98
b_ratio 0.98
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_destroy_list qmdpi_layer_store_destroy_list
fullname qmdpi_layer_store_destroy_list qmdpi_layer_store_destroy_list
refcount 3 3
length 130 135
called FUN_00192220
thunk_FUN_00181e30
FUN_00189780
thunk_FUN_00173540
calling
paramcount 0 0
address 0018dcf0 00178130
sig undefined qmdpi_layer_store_destroy_list(void) undefined qmdpi_layer_store_destroy_list(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_destroy_list Called Diff

--- qmdpi_layer_store_destroy_list called
+++ qmdpi_layer_store_destroy_list called
@@ -1,2 +1,2 @@
-FUN_00192220
-thunk_FUN_00181e30
+FUN_00189780
+thunk_FUN_00173540

qmdpi_layer_store_destroy_list Diff

--- qmdpi_layer_store_destroy_list
+++ qmdpi_layer_store_destroy_list
@@ -1,27 +1,28 @@
 
 void qmdpi_layer_store_destroy_list(undefined4 *param_1,undefined8 param_2)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   
   if (param_1 != (undefined4 *)0x0) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 **)(puVar2 + 2) = param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    puVar2[1] = param_1;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    puVar2[5] = 0;
     uVar1 = *param_1;
-    puVar2[1] = 0;
-    *puVar2 = uVar1;
-    FUN_00192220(param_2);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    FUN_00189780(param_2);
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
+    return;
   }
   return;
 }
 

qmdpi_worker_signature_ctl_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.22
i_ratio 0.42
m_ratio 0.96
b_ratio 0.79
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_signature_ctl_get qmdpi_worker_signature_ctl_get
fullname qmdpi_worker_signature_ctl_get qmdpi_worker_signature_ctl_get
refcount 3 3
length 453 454
called ::strncpy
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strncpy
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 001893c0 00181890
sig undefined qmdpi_worker_signature_ctl_get(void) undefined qmdpi_worker_signature_ctl_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_signature_ctl_get Called Diff

--- qmdpi_worker_signature_ctl_get called
+++ qmdpi_worker_signature_ctl_get called
@@ -2,3 +2,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_worker_signature_ctl_get Diff

--- qmdpi_worker_signature_ctl_get
+++ qmdpi_worker_signature_ctl_get
@@ -1,71 +1,76 @@
 
 undefined4
 qmdpi_worker_signature_ctl_get
           (long param_1,long *param_2,char *param_3,int param_4,long param_5,int param_6)
 
 {
-  long lVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
+  int *piVar1;
+  long lVar2;
+  undefined4 uVar3;
+  undefined8 *puVar4;
   char local_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  int local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if ((((param_1 == 0) || (param_2 == (long *)0x0)) || (param_3 == (char *)0x0)) ||
-     (((param_4 < 0 || (param_5 == 0)) || ((param_6 < 1 || (lVar1 = *param_2, lVar1 == 0)))))) {
-    uVar2 = 0xffffffff;
+  if ((((param_1 == 0 || param_2 == (long *)0x0) || (param_3 == (char *)0x0 || param_4 < 0)) ||
+      (param_5 == 0 || param_6 < 1)) || (*param_2 == 0)) {
+    uVar3 = 0xffffffff;
   }
   else {
-    local_1a8[0] = '\0';
-    local_168 = 0;
-    local_128 = 0;
-    local_78 = 0;
-    local_e8 = 0;
-    local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
-    local_98 = 0;
-    local_94 = 0;
-    local_8c = 0;
-    local_88 = 0;
-    strncpy(local_1a8,param_3,0x3f);
-    FUN_00160640(lVar1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar1 = *param_2;
-    *(long *)(puVar3 + 4) = param_1;
-    *(long *)(puVar3 + 2) = lVar1;
-    lVar1 = param_2[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      uVar2 = 0;
+    LOCK();
+    piVar1 = (int *)(param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      local_168 = 0;
+      local_128 = 0;
+      local_78 = 0;
+      local_e8 = 0;
+      local_a8 = 0;
+      local_a0 = 0xffffffff00000000;
+      local_98 = 0;
+      local_8c = 0;
+      strncpy(local_1a8,param_3,0x3f);
+      FUN_0011c550(*param_2);
+      puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      lVar2 = *param_2;
+      puVar4[2] = param_1;
+      puVar4[1] = lVar2;
+      lVar2 = param_2[9];
+      puVar4[5] = 0;
+      puVar4[3] = lVar2;
+      uVar3 = 0;
+      if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+        uVar3 = *(undefined4 *)*param_2;
+      }
+      *(undefined4 *)puVar4 = uVar3;
+      *(undefined4 *)((long)puVar4 + 4) = *(undefined4 *)(param_1 + 8);
+      local_8c = CONCAT44(param_4,(undefined4)local_8c);
+      uVar3 = (**(code **)(param_2[1] + 0x178))(param_2[9],local_1a8,param_5,param_6);
+      puVar4[5] = 0;
+      *puVar4 = 0;
+      puVar4[1] = 0;
+      puVar4[2] = 0;
+      puVar4[3] = 0;
+      *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+      FUN_0011c5d0(*param_2);
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
     }
     else {
-      uVar2 = *(undefined4 *)*param_2;
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
+      uVar3 = 0xfffffffa;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = *(undefined4 *)(param_1 + 8);
-    local_88 = param_4;
-    uVar2 = (**(code **)(param_2[1] + 0x178))(param_2[9],local_1a8,param_5,param_6);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *puVar3 = 0;
-    puVar3[1] = 0;
-    FUN_001606c0(*param_2);
   }
-  return uVar2;
+  return uVar3;
 }
 

qmdpi_bundle_signature_foreach_enabled

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.59
m_ratio 0.99
b_ratio 0.75
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_foreach_enabled qmdpi_bundle_signature_foreach_enabled
fullname qmdpi_bundle_signature_foreach_enabled qmdpi_bundle_signature_foreach_enabled
refcount 3 3
length 194 196
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b000 00183520
sig undefined qmdpi_bundle_signature_foreach_enabled(void) undefined qmdpi_bundle_signature_foreach_enabled(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_foreach_enabled Called Diff

--- qmdpi_bundle_signature_foreach_enabled called
+++ qmdpi_bundle_signature_foreach_enabled called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_foreach_enabled Diff

--- qmdpi_bundle_signature_foreach_enabled
+++ qmdpi_bundle_signature_foreach_enabled
@@ -1,37 +1,37 @@
 
 undefined8
 qmdpi_bundle_signature_foreach_enabled(undefined8 *param_1,long param_2,undefined8 param_3)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_1 != (undefined8 *)0x0) && (param_2 != 0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || param_2 == 0) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x170))(param_1[9],param_1,param_2,param_3);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_bundle_get_active

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.63
i_ratio 0.33
m_ratio 1.0
b_ratio 0.83
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_get_active qmdpi_bundle_get_active
fullname qmdpi_bundle_get_active qmdpi_bundle_get_active
refcount 6 6
length 69 74
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018a910 00182c30
sig undefined qmdpi_bundle_get_active(void) undefined qmdpi_bundle_get_active(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_get_active Called Diff

--- qmdpi_bundle_get_active called
+++ qmdpi_bundle_get_active called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_get_active Diff

--- qmdpi_bundle_get_active
+++ qmdpi_bundle_get_active
@@ -1,22 +1,22 @@
 
 long qmdpi_bundle_get_active(long param_1)
 
 {
   long lVar1;
-  long lVar2;
   
   if (param_1 == 0) {
-    lVar2 = 0;
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
+    lVar1 = 0;
   }
   else {
-    lVar2 = *(long *)(param_1 + 0x490);
-    if (lVar2 == 0) {
-      lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = *(long *)(param_1 + 0x550);
+    if (lVar1 == 0) {
+      lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(undefined4 *)(lVar1 + 0x30) = 0xfffffff8;
+      lVar1 = 0;
     }
   }
-  return lVar2;
+  return lVar1;
 }
 

qmdpi_worker_timestamp_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.36
i_ratio 0.42
m_ratio 0.88
b_ratio 0.37
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_timestamp_set qmdpi_worker_timestamp_set
fullname qmdpi_worker_timestamp_set qmdpi_worker_timestamp_set
refcount 6 6
length 81 63
called
calling
paramcount 0 0
address 00184be0 0017c740
sig undefined qmdpi_worker_timestamp_set(void) undefined qmdpi_worker_timestamp_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_timestamp_set Diff

--- qmdpi_worker_timestamp_set
+++ qmdpi_worker_timestamp_set
@@ -1,22 +1,23 @@
 
 undefined8 qmdpi_worker_timestamp_set(long param_1,long *param_2)
 
 {
   long lVar1;
-  bool bVar2;
   
-  if ((param_1 != 0) && (param_2 != (long *)0x0)) {
-    bVar2 = *(long *)(param_1 + 0x140) < *param_2;
-    if (*param_2 == *(long *)(param_1 + 0x140)) {
-      bVar2 = *(long *)(param_1 + 0x148) < param_2[1];
-    }
-    if (bVar2) {
-      lVar1 = param_2[1];
-      *(long *)(param_1 + 0x140) = *param_2;
-      *(long *)(param_1 + 0x148) = lVar1;
-      return 0;
+  if (param_1 == 0 || param_2 == (long *)0x0) {
+    return 0xffffffff;
+  }
+  if (*param_2 == *(long *)(param_1 + 0x140)) {
+    if (param_2[1] <= *(long *)(param_1 + 0x148)) {
+      return 0xffffffff;
     }
   }
-  return 0xffffffff;
+  else if (*param_2 <= *(long *)(param_1 + 0x140)) {
+    return 0xffffffff;
+  }
+  lVar1 = param_2[1];
+  *(long *)(param_1 + 0x140) = *param_2;
+  *(long *)(param_1 + 0x148) = lVar1;
+  return 0;
 }
 

qmdpi_flow_offloaded_status_update

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.21
i_ratio 0.56
m_ratio 0.91
b_ratio 0.7
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_offloaded_status_update qmdpi_flow_offloaded_status_update
fullname qmdpi_flow_offloaded_status_update qmdpi_flow_offloaded_status_update
refcount 3 3
length 185 230
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 001900b0 00187290
sig undefined qmdpi_flow_offloaded_status_update(void) undefined qmdpi_flow_offloaded_status_update(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_offloaded_status_update Called Diff

--- qmdpi_flow_offloaded_status_update called
+++ qmdpi_flow_offloaded_status_update called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_offloaded_status_update Diff

--- qmdpi_flow_offloaded_status_update
+++ qmdpi_flow_offloaded_status_update
@@ -1,38 +1,52 @@
 
 undefined8 qmdpi_flow_offloaded_status_update(long param_1,long param_2)
 
 {
-  undefined8 *puVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
-  undefined8 uVar4;
+  int *piVar1;
+  undefined8 *puVar2;
+  undefined4 uVar3;
+  undefined8 *puVar4;
+  undefined8 uVar5;
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    puVar1 = *(undefined8 **)(param_2 + 0x68);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    uVar4 = *puVar1;
-    *(long *)(puVar3 + 4) = param_1;
-    *(undefined8 *)(puVar3 + 2) = uVar4;
-    uVar4 = puVar1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar4;
-    if ((undefined4 *)*puVar1 == (undefined4 *)0x0) {
-      uVar2 = 0;
+  if (param_1 != 0 && param_2 != 0) {
+    LOCK();
+    piVar1 = (int *)(param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      puVar2 = *(undefined8 **)(param_2 + 0x80);
+      puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      uVar5 = *puVar2;
+      puVar4[2] = param_1;
+      puVar4[1] = uVar5;
+      uVar5 = puVar2[9];
+      puVar4[5] = 0;
+      puVar4[3] = uVar5;
+      uVar3 = 0;
+      if ((undefined4 *)*puVar2 != (undefined4 *)0x0) {
+        uVar3 = *(undefined4 *)*puVar2;
+      }
+      *(undefined4 *)puVar4 = uVar3;
+      *(undefined4 *)((long)puVar4 + 4) = *(undefined4 *)(param_1 + 8);
+      uVar5 = (**(code **)(puVar2[1] + 0x160))(*(undefined8 *)(param_2 + 0xa8));
+      puVar4[5] = 0;
+      *puVar4 = 0;
+      puVar4[1] = 0;
+      puVar4[2] = 0;
+      puVar4[3] = 0;
+      *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
     }
     else {
-      uVar2 = *(undefined4 *)*puVar1;
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
+      uVar5 = 0xfffffffa;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = *(undefined4 *)(param_1 + 8);
-    uVar4 = (**(code **)(puVar1[1] + 0x160))(*(undefined8 *)(param_2 + 0x90));
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *puVar3 = 0;
-    puVar3[1] = 0;
-    return uVar4;
+    return uVar5;
   }
   return 0xffffffff;
 }
 

qmdpi_bundle_signature_ctl_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.46
i_ratio 0.53
m_ratio 0.99
b_ratio 0.86
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_ctl_set qmdpi_bundle_signature_ctl_set
fullname qmdpi_bundle_signature_ctl_set qmdpi_bundle_signature_ctl_set
refcount 3 3
length 423 384
called ::strncpy
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strncpy
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 001895a0 00181a60
sig undefined qmdpi_bundle_signature_ctl_set(void) undefined qmdpi_bundle_signature_ctl_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_ctl_set Called Diff

--- qmdpi_bundle_signature_ctl_set called
+++ qmdpi_bundle_signature_ctl_set called
@@ -2,3 +2,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_signature_ctl_set Diff

--- qmdpi_bundle_signature_ctl_set
+++ qmdpi_bundle_signature_ctl_set
@@ -1,70 +1,59 @@
 
 undefined4
 qmdpi_bundle_signature_ctl_set(long *param_1,char *param_2,int param_3,long param_4,int param_5)
 
 {
   long lVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
-  char local_1a8 [64];
+  undefined8 *puVar3;
+  char acStack_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  int local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if ((((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (param_4 == 0 || param_3 < 0)) ||
-     ((param_5 < 1 || (lVar1 = *param_1, lVar1 == 0)))) {
+  if (((param_1 == (long *)0x0 || param_2 == (char *)0x0) ||
+      ((param_4 == 0 || param_3 < 0) || param_5 < 1)) || (lVar1 = *param_1, lVar1 == 0)) {
     uVar2 = 0xffffffff;
   }
   else {
-    local_1a8[0] = '\0';
     local_168 = 0;
     local_128 = 0;
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
-    strncpy(local_1a8,param_2,0x3f);
-    FUN_00160640(lVar1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    strncpy(acStack_1a8,param_2,0x3f);
+    FUN_0011c550(lVar1);
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
+    puVar3[2] = 0;
+    puVar3[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = lVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
-    local_88 = param_3;
-    uVar2 = (**(code **)(param_1[1] + 0x180))(param_1[9],local_1a8,param_4,param_5);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
+    local_8c = CONCAT44(param_3,(undefined4)local_8c);
+    uVar2 = (**(code **)(param_1[1] + 0x180))(param_1[9],acStack_1a8,param_4,param_5);
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar2;
 }
 

qmdpi_worker_create

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.15
i_ratio 0.24
m_ratio 0.85
b_ratio 0.24
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_create qmdpi_worker_create
fullname qmdpi_worker_create qmdpi_worker_create
refcount 3 3
length 1023 1477
called
Expand for full list:
::memchr
::memset
FUN_00160640
FUN_001606c0
FUN_0017fd20
FUN_0019a380
qm_free_default
qm_malloc_default
thunk_FUN_00133f90
thunk_FUN_00137060
thunk_FUN_00181e30
Expand for full list:
::memchr
::memset
FUN_0011c550
FUN_0011c5d0
FUN_00179450
FUN_001a6fd0
FUN_001a70d0
qm_free_default
qm_malloc_default
thunk_FUN_0014a9d0
thunk_FUN_0014cca0
thunk_FUN_00173540
calling
paramcount 0 0
address 00185ec0 0017d910
sig undefined qmdpi_worker_create(void) undefined qmdpi_worker_create(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_create Called Diff

--- qmdpi_worker_create called
+++ qmdpi_worker_create called
@@ -3,4 +3,5 @@
-FUN_00160640
-FUN_001606c0
-FUN_0017fd20
-FUN_0019a380
+FUN_0011c550
+FUN_0011c5d0
+FUN_00179450
+FUN_001a6fd0
+FUN_001a70d0
@@ -9,3 +10,3 @@
-thunk_FUN_00133f90
-thunk_FUN_00137060
-thunk_FUN_00181e30
+thunk_FUN_0014a9d0
+thunk_FUN_0014cca0
+thunk_FUN_00173540

qmdpi_worker_create Diff

--- qmdpi_worker_create
+++ qmdpi_worker_create
@@ -1,170 +1,234 @@
 
 long * qmdpi_worker_create(undefined4 *param_1)
 
 {
-  long lVar1;
-  void *pvVar2;
-  ulong uVar3;
-  undefined4 *puVar4;
-  long lVar5;
-  int iVar6;
-  long *plVar7;
-  long *plVar8;
-  void *__s;
-  byte bVar9;
+  undefined1 (*pauVar1) [16];
+  long lVar2;
+  int iVar3;
+  long lVar4;
+  void *pvVar5;
+  undefined8 *puVar6;
+  undefined8 *puVar7;
+  undefined8 uVar8;
+  void *pvVar9;
+  ulong uVar10;
+  uint uVar11;
+  long *plVar12;
+  long *plVar13;
+  byte bVar14;
   
-  bVar9 = 0;
+  bVar14 = 0;
   if (param_1 == (undefined4 *)0x0) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
+    lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
     return (long *)0x0;
   }
-  FUN_00160640();
-  if (*(ulong *)(param_1 + 0xbc) <= (ulong)(uint)param_1[0x146]) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar1 + 0x30) = 0xffffffe5;
+  FUN_0011c550();
+  if (*(ulong *)(param_1 + 0xbc) <= (ulong)(uint)param_1[0x176]) {
+    lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar4 + 0x30) = 0xffffffe5;
     goto LAB_0;
   }
   if (DAT_1 == 0) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)(0x200);
+    lVar4 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(0x280);
   }
   else {
-    lVar1 = (*(code *)PTR_qm_malloc_default_001d3558)(1,0x200,0xff000000,0x5b);
-  }
-  if (lVar1 == 0) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar1 + 0x30) = 0xfffffffb;
+    lVar4 = (*(code *)PTR_qm_malloc_default_001f78f8)(1,0x280,0xff000000,0x5b);
+  }
+  if (lVar4 == 0) {
+    lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar4 + 0x30) = 0xfffffffb;
     goto LAB_0;
   }
-  plVar7 = (long *)(lVar1 + 0x47U & 0xffffffffffffffc0);
-  plVar7[-1] = lVar1;
-  plVar8 = plVar7;
-  for (lVar1 = 0x38; lVar1 != 0; lVar1 = lVar1 + -1) {
-    *plVar8 = 0;
-    plVar8 = plVar8 + (ulong)bVar9 * -2 + 1;
-  }
-  __s = *(void **)(param_1 + 0x144);
-  uVar3 = *(ulong *)(param_1 + 0xbc) & 0xffffffff;
-  if (__s == (void *)0x0) {
+  plVar12 = (long *)(lVar4 + 0x47U & 0xffffffffffffffc0);
+  plVar12[-1] = lVar4;
+  plVar13 = plVar12;
+  for (lVar4 = 0x48; lVar4 != 0; lVar4 = lVar4 + -1) {
+    *plVar13 = 0;
+    plVar13 = plVar13 + (ulong)bVar14 * -2 + 1;
+  }
+  pvVar9 = *(void **)(param_1 + 0x174);
+  uVar10 = *(ulong *)(param_1 + 0xbc) & 0xffffffff;
+  if (pvVar9 == (void *)0x0) {
     if (DAT_1 == 0) {
-      lVar1 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar3);
+      pvVar9 = (void *)(*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(uVar10);
     }
     else {
-      lVar1 = (*(code *)PTR_qm_malloc_default_001d3558)
-                        (1,*(ulong *)(param_1 + 0xbc),0xff000000,0x5b);
-    }
-    *(long *)(param_1 + 0x144) = lVar1;
-    if (lVar1 != 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      lVar1 = *(long *)(lVar5 + 8);
-      if ((lVar1 != 0) && (DAT_1 == 0)) {
-        if (*(long *)(lVar5 + 0x10) == 0) {
-          *(long *)(lVar1 + 0x550) = *(long *)(lVar1 + 0x550) + uVar3;
+      pvVar9 = (void *)(*(code *)PTR_qm_malloc_default_001f78f8)
+                                 (1,*(ulong *)(param_1 + 0xbc),0xff000000,0x5b);
+    }
+    *(void **)(param_1 + 0x174) = pvVar9;
+    if (pvVar9 != (void *)0x0) {
+      if (DAT_1 == 0) {
+        lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        if ((lVar4 != 0) && (lVar2 = *(long *)(lVar4 + 8), lVar2 != 0)) {
+          if (*(long *)(lVar4 + 0x10) == 0) {
+            *(long *)(lVar2 + 0x610) = *(long *)(lVar2 + 0x610) + uVar10;
+            pvVar9 = *(void **)(param_1 + 0x174);
+            goto LAB_2;
+          }
+          LOCK();
+          *(long *)(lVar2 + 0x4f0) = *(long *)(lVar2 + 0x4f0) + uVar10;
+          UNLOCK();
+        }
+        pvVar9 = *(void **)(param_1 + 0x174);
+      }
+LAB_2:
+      memset(pvVar9,0,uVar10);
+      pvVar9 = *(void **)(param_1 + 0x174);
+      goto LAB_3;
+    }
+    uVar11 = 0xfffffffb;
+  }
+  else {
+LAB_3:
+    pvVar5 = memchr(pvVar9,0,uVar10);
+    if (pvVar5 == (void *)0x0) {
+      uVar11 = 0xffffffe5;
+    }
+    else {
+      uVar11 = (int)((long)pvVar5 - (long)pvVar9) + 1;
+      if (-1 < (int)uVar11) {
+        *(undefined4 *)((long)plVar12 + 0x224) = 0xffffffff;
+        if ((uVar11 != 0) &&
+           (uVar10 = (long)pvVar5 - (long)pvVar9 & 0xffffffff, uVar10 <= *(ulong *)(param_1 + 0xbc))
+           ) {
+          *(undefined1 *)(uVar10 + *(long *)(param_1 + 0x174)) = 1;
+          param_1[0x176] = param_1[0x176] + 1;
+        }
+        *plVar12 = (long)param_1;
+        *(uint *)(plVar12 + 1) = uVar11;
+        *(long **)((ulong)uVar11 * 8 + -8 + *(long *)(param_1 + 0x178)) = plVar12;
+        puVar6 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        puVar6[1] = param_1;
+        puVar6[2] = plVar12;
+        puVar6[3] = 0;
+        puVar6[5] = 0;
+        *(undefined4 *)puVar6 = *param_1;
+        *(int *)((long)puVar6 + 4) = (int)plVar12[1];
+        iVar3 = FUN_001a6fd0(plVar12);
+        if (-1 < iVar3) {
+          if (((DAT_1 == 0) &&
+              (lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar4 != 0)) &&
+             (lVar2 = *(long *)(lVar4 + 8), lVar2 != 0)) {
+            if (*(long *)(lVar4 + 0x10) == 0) {
+              *(long *)(lVar2 + 0x610) = *(long *)(lVar2 + 0x610) + 0x240;
+            }
+            else {
+              LOCK();
+              *(long *)(lVar2 + 0x4f0) = *(long *)(lVar2 + 0x4f0) + 0x240;
+              UNLOCK();
+            }
+          }
+          lVar4 = FUN_00179450(param_1[0xbe]);
+          plVar12[8] = lVar4;
+          if (lVar4 != 0) {
+            if (*(long *)(param_1 + 0x10a) == 0) {
+LAB_4:
+              puVar6[5] = 0;
+              *puVar6 = 0;
+              puVar6[1] = 0;
+              puVar6[2] = 0;
+              puVar6[3] = 0;
+              *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+              FUN_0011c5d0(param_1);
+              return plVar12;
+            }
+            if (DAT_1 == 0) {
+              puVar7 = (undefined8 *)(*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(0x338);
+            }
+            else {
+              puVar7 = (undefined8 *)
+                       (*(code *)PTR_qm_malloc_default_001f78f8)(1,0x338,0xff000000,0x5b);
+            }
+            plVar12[0x33] = (long)puVar7;
+            if (puVar7 != (undefined8 *)0x0) {
+              *puVar7 = 0;
+              puVar7[0x66] = 0;
+              uVar10 = (ulong)(((int)puVar7 -
+                               (int)(undefined8 *)((ulong)(puVar7 + 1) & 0xfffffffffffffff8)) +
+                               0x338U >> 3);
+              puVar7 = (undefined8 *)((ulong)(puVar7 + 1) & 0xfffffffffffffff8);
+              for (; uVar10 != 0; uVar10 = uVar10 - 1) {
+                *puVar7 = 0;
+                puVar7 = puVar7 + (ulong)bVar14 * -2 + 1;
+              }
+              *(undefined4 *)plVar12[0x33] = 1;
+              iVar3 = DAT_1;
+              *(undefined4 *)(plVar12[0x33] + 0x14) = 100;
+              lVar4 = plVar12[0x33];
+              if (iVar3 == 0) {
+                uVar8 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(0x50);
+              }
+              else {
+                uVar8 = (*(code *)PTR_qm_malloc_default_001f78f8)(1,0x50,0xff000000,0x5b);
+              }
+              *(undefined8 *)(lVar4 + 8) = uVar8;
+              pauVar1 = *(undefined1 (**) [16])(plVar12[0x33] + 8);
+              if (pauVar1 != (undefined1 (*) [16])0x0) {
+                *pauVar1 = (undefined1  [16])0x0;
+                pauVar1[1] = (undefined1  [16])0x0;
+                pauVar1[2] = (undefined1  [16])0x0;
+                pauVar1[3] = (undefined1  [16])0x0;
+                pauVar1[4] = (undefined1  [16])0x0;
+                goto LAB_4;
+              }
+              if (DAT_1 == 0) {
+                (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)();
+              }
+              else {
+                (*(code *)PTR_qm_free_default_001f7900)(plVar12[0x33],0xff000000,0x5b);
+              }
+              plVar12[0x33] = 0;
+            }
+          }
+          FUN_001a70d0(plVar12);
+          lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          *(undefined4 *)(lVar4 + 0x30) = 0xfffffffb;
+        }
+        lVar4 = *plVar12;
+        if ((lVar4 != 0 && (int)plVar12[1] != 0) &&
+           (uVar10 = (ulong)((int)plVar12[1] - 1), uVar10 <= *(ulong *)(lVar4 + 0x2f0))) {
+          *(undefined1 *)(uVar10 + *(long *)(lVar4 + 0x5d0)) = 0;
+          *(int *)(lVar4 + 0x5d8) = *(int *)(lVar4 + 0x5d8) + -1;
+        }
+        if (DAT_1 == 0) {
+          (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(plVar12[-1]);
         }
         else {
-          plVar8 = (long *)(*(long *)(lVar1 + 0x438) + (ulong)*(uint *)(lVar5 + 4) * 8);
-          *plVar8 = *plVar8 + uVar3;
-        }
-      }
-      memset(*(void **)(param_1 + 0x144),0,uVar3);
-      __s = *(void **)(param_1 + 0x144);
-      goto LAB_2;
-    }
-    iVar6 = -5;
-  }
-  else {
-LAB_2:
-    pvVar2 = memchr(__s,0,uVar3);
-    if (pvVar2 == (void *)0x0) {
-      iVar6 = -0x1b;
-    }
-    else {
-      iVar6 = (int)((long)pvVar2 - (long)__s) + 1;
-      if (-1 < iVar6) {
-        if ((iVar6 != 0) &&
-           (uVar3 = (long)pvVar2 - (long)__s & 0xffffffff, uVar3 <= *(ulong *)(param_1 + 0xbc))) {
-          *(undefined1 *)((long)__s + uVar3) = 1;
-          param_1[0x146] = param_1[0x146] + 1;
-        }
-        *(int *)(plVar7 + 1) = iVar6;
-        *plVar7 = (long)param_1;
-        *(long **)(*(long *)(param_1 + 0x148) + -8 + (long)iVar6 * 8) = plVar7;
-        puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined4 **)(puVar4 + 2) = param_1;
-        *(long **)(puVar4 + 4) = plVar7;
-        *(undefined8 *)(puVar4 + 6) = 0;
-        *(undefined8 *)(puVar4 + 10) = 0;
-        *puVar4 = *param_1;
-        puVar4[1] = (int)plVar7[1];
-        iVar6 = FUN_0017fd20(plVar7);
-        if (-1 < iVar6) {
-          lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar1 = *(long *)(lVar5 + 8);
-          if ((lVar1 != 0) && (DAT_1 == 0)) {
-            if (*(long *)(lVar5 + 0x10) == 0) {
-              *(long *)(lVar1 + 0x550) = *(long *)(lVar1 + 0x550) + 0x1c0;
-            }
-            else {
-              plVar8 = (long *)(*(long *)(lVar1 + 0x438) + (ulong)*(uint *)(lVar5 + 4) * 8);
-              *plVar8 = *plVar8 + 0x1c0;
-            }
-          }
-          lVar1 = FUN_0019a380(param_1[0xbe]);
-          plVar7[8] = lVar1;
-          if (lVar1 != 0) {
-            *(undefined8 *)(puVar4 + 2) = 0;
-            *(undefined8 *)(puVar4 + 4) = 0;
-            *(undefined8 *)(puVar4 + 6) = 0;
-            *(undefined8 *)(puVar4 + 10) = 0;
-            *puVar4 = 0;
-            puVar4[1] = 0;
-            FUN_001606c0(param_1);
-            return plVar7;
-          }
-        }
-        lVar1 = *plVar7;
-        if (((lVar1 != 0) && ((int)plVar7[1] != 0)) &&
-           (uVar3 = (ulong)((int)plVar7[1] - 1), uVar3 <= *(ulong *)(lVar1 + 0x2f0))) {
-          *(undefined1 *)(*(long *)(lVar1 + 0x510) + uVar3) = 0;
-          *(int *)(lVar1 + 0x518) = *(int *)(lVar1 + 0x518) + -1;
-        }
-        if (DAT_1 == 0) {
-          (*(code *)PTR_thunk_FUN_00137060_001d3760)(plVar7[-1]);
-        }
-        else {
-          (*(code *)PTR_qm_free_default_001d3560)(plVar7[-1],0xff000000,0x5b);
-        }
-        *(undefined8 *)(puVar4 + 2) = 0;
-        *(undefined8 *)(puVar4 + 4) = 0;
-        *(undefined8 *)(puVar4 + 6) = 0;
-        *(undefined8 *)(puVar4 + 10) = 0;
-        *puVar4 = 0;
-        puVar4[1] = 0;
+          (*(code *)PTR_qm_free_default_001f7900)(plVar12[-1],0xff000000,0x5b);
+        }
+        puVar6[5] = 0;
+        *puVar6 = 0;
+        puVar6[1] = 0;
+        puVar6[2] = 0;
+        puVar6[3] = 0;
+        *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
         goto LAB_0;
       }
     }
   }
   if (DAT_1 == 0) {
-    (*(code *)PTR_thunk_FUN_00137060_001d3760)(plVar7[-1]);
+    (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)();
   }
   else {
-    (*(code *)PTR_qm_free_default_001d3560)(plVar7[-1],0xff000000,0x5b);
-  }
-  lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  lVar1 = *(long *)(lVar5 + 8);
-  if ((lVar1 != 0) && (DAT_1 == 0)) {
-    if (*(long *)(lVar5 + 0x10) == 0) {
-      *(long *)(lVar1 + 0x550) = *(long *)(lVar1 + 0x550) + -0x1c0;
+    (*(code *)PTR_qm_free_default_001f7900)(plVar12[-1],0xff000000,0x5b);
+  }
+  if (((DAT_1 == 0) && (lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar4 != 0)) &&
+     (lVar2 = *(long *)(lVar4 + 8), lVar2 != 0)) {
+    if (*(long *)(lVar4 + 0x10) == 0) {
+      *(long *)(lVar2 + 0x610) = *(long *)(lVar2 + 0x610) + -0x240;
     }
     else {
-      plVar8 = (long *)(*(long *)(lVar1 + 0x438) + (ulong)*(uint *)(lVar5 + 4) * 8);
-      *plVar8 = *plVar8 + -0x1c0;
-    }
-  }
-  lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(int *)(lVar1 + 0x30) = iVar6;
+      LOCK();
+      *(long *)(lVar2 + 0x4f0) = *(long *)(lVar2 + 0x4f0) + -0x240;
+      UNLOCK();
+    }
+  }
+  lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  *(uint *)(lVar4 + 0x30) = uVar11;
 LAB_0:
-  FUN_001606c0(param_1);
+  FUN_0011c5d0(param_1);
   return (long *)0x0;
 }
 

qmdpi_worker_pdu_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.18
i_ratio 0.19
m_ratio 0.91
b_ratio 0.77
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_pdu_set qmdpi_worker_pdu_set
fullname qmdpi_worker_pdu_set qmdpi_worker_pdu_set
refcount 3 3
length 126 163
called
calling
paramcount 0 0
address 00183680 00175e10
sig undefined qmdpi_worker_pdu_set(void) undefined qmdpi_worker_pdu_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_pdu_set Diff

--- qmdpi_worker_pdu_set
+++ qmdpi_worker_pdu_set
@@ -1,36 +1,44 @@
 
 undefined8
 qmdpi_worker_pdu_set
           (long *param_1,long param_2,int param_3,long *param_4,undefined4 param_5,
-          undefined4 param_6,undefined4 param_7)
+          undefined1 param_6,undefined4 param_7)
 
 {
-  long lVar1;
+  int *piVar1;
   long lVar2;
+  long lVar3;
   
-  if ((param_4 == (long *)0x0 || param_3 < 0) || (param_1 == (long *)0x0)) {
-    return 0xffffffff;
+  if ((param_1 != (long *)0x0 && (param_4 != (long *)0x0 && -1 < param_3)) &&
+     ((param_2 != 0 || ((param_3 == 0 && (*(char *)(*param_1 + 0x310) == '\x01')))))) {
+    LOCK();
+    piVar1 = (int *)((long)param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      *(int *)(param_1 + 10) = param_3;
+      *(byte *)(param_1 + 0x1d) = *(byte *)(param_1 + 0x1d) & 0xfc;
+      param_1[0x19] = 0;
+      param_1[0x1a] = 0;
+      param_1[9] = param_2;
+      lVar2 = *param_4;
+      lVar3 = param_4[1];
+      *(byte *)((long)param_1 + 0x6d) = *(byte *)((long)param_1 + 0x6d) & 0xfe;
+      param_1[0xb] = lVar2;
+      param_1[0xc] = lVar3;
+      *(undefined4 *)(param_1 + 0xd) = param_5;
+      *(undefined1 *)((long)param_1 + 0x6c) = param_6;
+      *(undefined4 *)(param_1 + 0xe) = param_7;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      return 0;
+    }
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return 0xfffffffa;
   }
-  if (param_2 == 0) {
-    if (param_3 != 0) {
-      return 0xffffffff;
-    }
-    if (*(char *)(*param_1 + 0x310) != '\x01') {
-      return 0xffffffff;
-    }
-  }
-  *(byte *)(param_1 + 0x1d) = *(byte *)(param_1 + 0x1d) & 0xfc;
-  param_1[0x19] = 0;
-  param_1[0x1a] = 0;
-  param_1[9] = param_2;
-  *(int *)(param_1 + 10) = param_3;
-  lVar1 = *param_4;
-  lVar2 = param_4[1];
-  *(undefined4 *)(param_1 + 0xd) = param_5;
-  param_1[0xb] = lVar1;
-  param_1[0xc] = lVar2;
-  *(undefined4 *)((long)param_1 + 0x6c) = param_6;
-  *(undefined4 *)(param_1 + 0xe) = param_7;
-  return 0;
+  return 0xffffffff;
 }
 

qmdpi_bundle_signature_transaction_foreach

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.53
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_transaction_foreach qmdpi_bundle_signature_transaction_foreach
fullname qmdpi_bundle_signature_transaction_foreach qmdpi_bundle_signature_transaction_foreach
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018ceb0 001770e0
sig undefined qmdpi_bundle_signature_transaction_foreach(void) undefined qmdpi_bundle_signature_transaction_foreach(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_transaction_foreach Called Diff

--- qmdpi_bundle_signature_transaction_foreach called
+++ qmdpi_bundle_signature_transaction_foreach called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_transaction_foreach Diff

--- qmdpi_bundle_signature_transaction_foreach
+++ qmdpi_bundle_signature_transaction_foreach
@@ -1,38 +1,38 @@
 
 undefined8
 qmdpi_bundle_signature_transaction_foreach
           (undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_2 != 0 && param_3 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_2 == 0 || param_3 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x290))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_bundle_signature_is_enabled

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.48
i_ratio 0.56
m_ratio 0.98
b_ratio 0.89
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_is_enabled qmdpi_bundle_signature_is_enabled
fullname qmdpi_bundle_signature_is_enabled qmdpi_bundle_signature_is_enabled
refcount 3 3
length 358 321
called ::strncpy
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strncpy
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 001890a0 001815b0
sig undefined qmdpi_bundle_signature_is_enabled(void) undefined qmdpi_bundle_signature_is_enabled(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_is_enabled Called Diff

--- qmdpi_bundle_signature_is_enabled called
+++ qmdpi_bundle_signature_is_enabled called
@@ -2,3 +2,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_signature_is_enabled Diff

--- qmdpi_bundle_signature_is_enabled
+++ qmdpi_bundle_signature_is_enabled
@@ -1,67 +1,56 @@
 
 undefined4 qmdpi_bundle_signature_is_enabled(long *param_1,char *param_2)
 
 {
   long lVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
-  char local_188 [64];
+  undefined8 *puVar3;
+  char acStack_188 [64];
   undefined1 local_148;
   undefined1 local_108;
   undefined1 local_c8;
-  undefined4 local_88;
-  undefined4 local_84;
-  undefined4 local_80;
-  undefined4 local_7c;
-  undefined4 local_78;
-  undefined4 local_74;
-  undefined4 local_6c;
-  undefined4 local_68;
+  undefined8 local_88;
+  undefined8 local_80;
+  undefined8 local_78;
+  undefined8 local_6c;
   undefined1 local_58;
   
-  if (((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (lVar1 = *param_1, lVar1 == 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (lVar1 = *param_1, lVar1 == 0)) {
     uVar2 = 0xffffffff;
   }
   else {
-    local_188[0] = '\0';
     local_148 = 0;
     local_108 = 0;
     local_58 = 0;
     local_c8 = 0;
     local_88 = 0;
-    local_84 = 0;
-    local_80 = 0;
-    local_7c = 0xffffffff;
+    local_80 = 0xffffffff00000000;
     local_78 = 0;
-    local_74 = 0;
     local_6c = 0;
-    local_68 = 0;
-    strncpy(local_188,param_2,0x3f);
-    FUN_00160640(lVar1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    strncpy(acStack_188,param_2,0x3f);
+    FUN_0011c550(lVar1);
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
+    puVar3[2] = 0;
+    puVar3[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = lVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
-    uVar2 = (**(code **)(param_1[1] + 0x210))(param_1[9],local_188);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
+    uVar2 = (**(code **)(param_1[1] + 0x210))(param_1[9],acStack_188);
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar2;
 }
 

qmdpi_layer_store_set_maxsize

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.38
i_ratio 0.57
m_ratio 0.97
b_ratio 0.74
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_set_maxsize qmdpi_layer_store_set_maxsize
fullname qmdpi_layer_store_set_maxsize qmdpi_layer_store_set_maxsize
refcount 3 3
length 189 195
called FUN_00191bd0
FUN_00192190
thunk_FUN_00181e30
FUN_001890e0
FUN_001896f0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018d9d0 00177dd0
sig undefined qmdpi_layer_store_set_maxsize(void) undefined qmdpi_layer_store_set_maxsize(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_set_maxsize Called Diff

--- qmdpi_layer_store_set_maxsize called
+++ qmdpi_layer_store_set_maxsize called
@@ -1,3 +1,3 @@
-FUN_00191bd0
-FUN_00192190
-thunk_FUN_00181e30
+FUN_001890e0
+FUN_001896f0
+thunk_FUN_00173540

qmdpi_layer_store_set_maxsize Diff

--- qmdpi_layer_store_set_maxsize
+++ qmdpi_layer_store_set_maxsize
@@ -1,35 +1,39 @@
 
 undefined8 qmdpi_layer_store_set_maxsize(undefined4 *param_1,long param_2,undefined4 param_3)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   long lVar3;
   undefined8 uVar4;
   
-  if ((param_1 != (undefined4 *)0x0) && (param_2 != 0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 **)(puVar2 + 2) = param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+  if (param_1 == (undefined4 *)0x0 || param_2 == 0) {
+    uVar4 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    puVar2[1] = param_1;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    puVar2[5] = 0;
     uVar1 = *param_1;
-    puVar2[1] = 0;
-    *puVar2 = uVar1;
-    lVar3 = FUN_00192190(param_1,param_2);
-    uVar4 = 0xfffffff8;
-    if (lVar3 != 0) {
-      FUN_00191bd0(lVar3,param_3);
+    *(undefined4 *)((long)puVar2 + 4) = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    lVar3 = FUN_001896f0(param_1,param_2);
+    if (lVar3 == 0) {
+      uVar4 = 0xfffffff8;
+    }
+    else {
+      FUN_001890e0(lVar3,param_3);
       uVar4 = 0;
     }
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar4;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar4;
 }
 

qmdpi_worker_flow_foreach

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.46
i_ratio 0.48
m_ratio 0.99
b_ratio 0.69
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_flow_foreach qmdpi_worker_flow_foreach
fullname qmdpi_worker_flow_foreach qmdpi_worker_flow_foreach
refcount 3 3
length 97 98
called FUN_00160640
FUN_001606c0
thunk_FUN_0016e580
FUN_0011c550
FUN_0011c5d0
thunk_FUN_001a0bb0
calling
paramcount 0 0
address 00186500 0017e1d0
sig undefined qmdpi_worker_flow_foreach(void) undefined qmdpi_worker_flow_foreach(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_flow_foreach Called Diff

--- qmdpi_worker_flow_foreach called
+++ qmdpi_worker_flow_foreach called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_0016e580
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_001a0bb0

qmdpi_worker_flow_foreach Diff

--- qmdpi_worker_flow_foreach
+++ qmdpi_worker_flow_foreach
@@ -1,21 +1,20 @@
 
 undefined8 qmdpi_worker_flow_foreach(long *param_1,long param_2,undefined8 param_3)
 
 {
   long lVar1;
   undefined8 uVar2;
   
-  if ((param_1 != (long *)0x0) && (param_2 != 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == 0) ||
+     (lVar1 = *param_1, *(char *)(lVar1 + 0x310) != '\0')) {
     uVar2 = 0xffffffff;
-    lVar1 = *param_1;
-    if (*(char *)(lVar1 + 0x310) == '\0') {
-      FUN_00160640(lVar1);
-      thunk_FUN_0016e580(param_1,param_2,param_3);
-      FUN_001606c0(lVar1);
-      uVar2 = 0;
-    }
-    return uVar2;
   }
-  return 0xffffffff;
+  else {
+    FUN_0011c550(lVar1);
+    thunk_FUN_001a0bb0(param_1,param_2,param_3);
+    FUN_0011c5d0(lVar1);
+    uVar2 = 0;
+  }
+  return uVar2;
 }
 

qmdpi_bundle_tune_foreach

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.53
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_tune_foreach qmdpi_bundle_tune_foreach
fullname qmdpi_bundle_tune_foreach qmdpi_bundle_tune_foreach
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b600 00183b20
sig undefined qmdpi_bundle_tune_foreach(void) undefined qmdpi_bundle_tune_foreach(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_tune_foreach Called Diff

--- qmdpi_bundle_tune_foreach called
+++ qmdpi_bundle_tune_foreach called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_tune_foreach Diff

--- qmdpi_bundle_tune_foreach
+++ qmdpi_bundle_tune_foreach
@@ -1,37 +1,37 @@
 
 undefined8
 qmdpi_bundle_tune_foreach(undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_2 != 0 && param_3 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_2 == 0 || param_3 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0xd8))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_worker_signature_ctl_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.21
i_ratio 0.45
m_ratio 0.97
b_ratio 0.83
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_signature_ctl_set qmdpi_worker_signature_ctl_set
fullname qmdpi_worker_signature_ctl_set qmdpi_worker_signature_ctl_set
refcount 3 3
length 441 446
called ::strncpy
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strncpy
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 00189750 00181bf0
sig undefined qmdpi_worker_signature_ctl_set(void) undefined qmdpi_worker_signature_ctl_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_signature_ctl_set Called Diff

--- qmdpi_worker_signature_ctl_set called
+++ qmdpi_worker_signature_ctl_set called
@@ -2,3 +2,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_worker_signature_ctl_set Diff

--- qmdpi_worker_signature_ctl_set
+++ qmdpi_worker_signature_ctl_set
@@ -1,73 +1,79 @@
 
 undefined4
 qmdpi_worker_signature_ctl_set
           (long param_1,long *param_2,char *param_3,int param_4,long param_5,int param_6)
 
 {
-  long lVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
+  int *piVar1;
+  long lVar2;
+  undefined4 uVar3;
+  undefined8 *puVar4;
   char local_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  int local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if ((((param_1 == 0) || (param_2 == (long *)0x0)) || (param_5 == 0 || param_4 < 0)) ||
-     ((param_6 < 1 || (lVar1 = *param_2, lVar1 == 0)))) {
-    uVar2 = 0xffffffff;
+  if (((param_1 == 0 || param_2 == (long *)0x0) || ((param_5 == 0 || param_4 < 0) || param_6 < 1))
+     || (*param_2 == 0)) {
+    uVar3 = 0xffffffff;
   }
   else {
-    local_1a8[0] = '\0';
-    local_168 = 0;
-    local_128 = 0;
-    local_78 = 0;
-    local_e8 = 0;
-    local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
-    local_98 = 0;
-    local_94 = 0;
-    local_8c = 0;
-    local_88 = 0;
-    if (param_3 != (char *)0x0) {
-      strncpy(local_1a8,param_3,0x3f);
-    }
-    FUN_00160640(lVar1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar1 = *param_2;
-    *(long *)(puVar3 + 4) = param_1;
-    *(long *)(puVar3 + 2) = lVar1;
-    lVar1 = param_2[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      uVar2 = 0;
+    LOCK();
+    piVar1 = (int *)(param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      local_1a8[0] = '\0';
+      local_168 = 0;
+      local_128 = 0;
+      local_78 = 0;
+      local_e8 = 0;
+      local_a8 = 0;
+      local_a0 = 0xffffffff00000000;
+      local_98 = 0;
+      local_8c = 0;
+      if (param_3 != (char *)0x0) {
+        strncpy(local_1a8,param_3,0x3f);
+      }
+      FUN_0011c550(*param_2);
+      puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      lVar2 = *param_2;
+      puVar4[2] = param_1;
+      puVar4[1] = lVar2;
+      lVar2 = param_2[9];
+      puVar4[5] = 0;
+      puVar4[3] = lVar2;
+      uVar3 = 0;
+      if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+        uVar3 = *(undefined4 *)*param_2;
+      }
+      *(undefined4 *)puVar4 = uVar3;
+      *(undefined4 *)((long)puVar4 + 4) = *(undefined4 *)(param_1 + 8);
+      local_8c = CONCAT44(param_4,(undefined4)local_8c);
+      uVar3 = (**(code **)(param_2[1] + 0x180))(param_2[9],local_1a8,param_5,param_6);
+      puVar4[5] = 0;
+      *puVar4 = 0;
+      puVar4[1] = 0;
+      puVar4[2] = 0;
+      puVar4[3] = 0;
+      *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+      FUN_0011c5d0(*param_2);
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
     }
     else {
-      uVar2 = *(undefined4 *)*param_2;
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
+      uVar3 = 0xfffffffa;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = *(undefined4 *)(param_1 + 8);
-    local_88 = param_4;
-    uVar2 = (**(code **)(param_2[1] + 0x180))(param_2[9],local_1a8,param_5,param_6);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *puVar3 = 0;
-    puVar3[1] = 0;
-    FUN_001606c0(*param_2);
   }
-  return uVar2;
+  return uVar3;
 }
 

qmdpi_bundle_pdb_get_default

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.54
i_ratio 0.57
m_ratio 0.99
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_get_default qmdpi_bundle_pdb_get_default
fullname qmdpi_bundle_pdb_get_default qmdpi_bundle_pdb_get_default
refcount 3 3
length 296 277
called qm_free_default
qm_malloc_default
thunk_FUN_00181e30
qm_free_default
qm_malloc_default
thunk_FUN_00173540
calling
paramcount 0 0
address 00188070 00175b70
sig undefined qmdpi_bundle_pdb_get_default(void) undefined qmdpi_bundle_pdb_get_default(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_get_default Called Diff

--- qmdpi_bundle_pdb_get_default called
+++ qmdpi_bundle_pdb_get_default called
@@ -3 +3 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_pdb_get_default Diff

--- qmdpi_bundle_pdb_get_default
+++ qmdpi_bundle_pdb_get_default
@@ -1,59 +1,54 @@
 
 undefined8 * qmdpi_bundle_pdb_get_default(undefined8 *param_1)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
   int iVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   undefined8 *puVar5;
   long lVar6;
   
   if (param_1 == (undefined8 *)0x0) {
-    puVar5 = (undefined8 *)0x0;
-    lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar6 + 0x30) = 0xffffffff;
   }
   else {
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar4[2] = 0;
+    puVar4[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar2;
-    puVar4[1] = 0;
-    puVar5 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x10,0xff000000,0x51);
+    *(undefined4 *)puVar4 = uVar2;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    puVar5 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0x10,0xff000000,0x51);
     if (puVar5 == (undefined8 *)0x0) {
-      lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(undefined4 *)(lVar6 + 0x30) = 0xfffffffb;
     }
     else {
       iVar3 = (**(code **)(param_1[1] + 400))(param_1[9],puVar5 + 1);
       if (iVar3 == 0) {
         *puVar5 = param_1;
-        *(undefined8 *)(puVar4 + 2) = 0;
-        *(undefined8 *)(puVar4 + 4) = 0;
-        *(undefined8 *)(puVar4 + 6) = 0;
-        *(undefined8 *)(puVar4 + 10) = 0;
+        puVar4[5] = 0;
         *puVar4 = 0;
         puVar4[1] = 0;
+        puVar4[2] = 0;
+        puVar4[3] = 0;
+        *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+        return puVar5;
       }
-      else {
-        lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(int *)(lVar6 + 0x30) = iVar3;
-        (*(code *)PTR_qm_free_default_001d3560)(puVar5,0xff000000,0x51);
-        puVar5 = (undefined8 *)0x0;
-      }
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(int *)(lVar6 + 0x30) = iVar3;
+      (*(code *)PTR_qm_free_default_001f7900)(puVar5,0xff000000,0x51);
     }
   }
-  return puVar5;
+  return (undefined8 *)0x0;
 }
 

qmdpi_bundle_pdb_compile_cleanup

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.5
i_ratio 0.68
m_ratio 0.99
b_ratio 0.89
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_compile_cleanup qmdpi_bundle_pdb_compile_cleanup
fullname qmdpi_bundle_pdb_compile_cleanup qmdpi_bundle_pdb_compile_cleanup
refcount 3 3
length 173 174
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 00187ed0 001759d0
sig undefined qmdpi_bundle_pdb_compile_cleanup(void) undefined qmdpi_bundle_pdb_compile_cleanup(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_compile_cleanup Called Diff

--- qmdpi_bundle_pdb_compile_cleanup called
+++ qmdpi_bundle_pdb_compile_cleanup called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_pdb_compile_cleanup Diff

--- qmdpi_bundle_pdb_compile_cleanup
+++ qmdpi_bundle_pdb_compile_cleanup
@@ -1,36 +1,34 @@
 
 undefined8 qmdpi_bundle_pdb_compile_cleanup(undefined8 *param_1,long param_2)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_1 != (undefined8 *)0x0) && (param_2 != 0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 != (undefined8 *)0x0 && param_2 != 0) {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x140))(param_1[9],param_2);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
     return uVar3;
   }
   return 0xffffffff;
 }
 

qmdpi_exception_get_string

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.91
i_ratio 0.48
m_ratio 0.91
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_exception_get_string qmdpi_exception_get_string
fullname qmdpi_exception_get_string qmdpi_exception_get_string
refcount 3 3
length 79 95
called
calling
paramcount 0 0
address 00187330 0017f060
sig undefined qmdpi_exception_get_string(void) undefined qmdpi_exception_get_string(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_exception_get_string Diff

--- qmdpi_exception_get_string
+++ qmdpi_exception_get_string
@@ -1,24 +1,28 @@
 
 char * qmdpi_exception_get_string(undefined4 param_1)
 
 {
   switch(param_1) {
   case 0:
     return "Out of memory";
   default:
     return "unknown exception";
   case 2:
     return "too much CPUID allocated (>=CFG_SMP_CPUS)";
   case 3:
     return "flow path is full : cannot append new layer in path";
   case 4:
     return "inheritance parent key is too big";
   case 9:
     return "dpi_flow seems to be used on another cpu";
   case 0xb:
     return 
     "Content decompression buffer exceeds maximum length (see (http|http2|spdy):max_flat_buffer_len prototune)"
     ;
+  case 0xc:
+    return "device or resource busy";
+  case 0xd:
+    return "Too many items found during Protocol Data Signature pattern matching process";
   }
 }
 

qmdpi_worker_flow_update_from_blob

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.65
i_ratio 0.59
m_ratio 0.94
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_flow_update_from_blob qmdpi_worker_flow_update_from_blob
fullname qmdpi_worker_flow_update_from_blob qmdpi_worker_flow_update_from_blob
refcount 3 3
length 129 137
called FUN_0019ebd0
qmdpi_worker_flow_create_from_blob
thunk_FUN_00181e30
FUN_001b9c60
qmdpi_worker_flow_create_from_blob
thunk_FUN_00173540
calling
paramcount 0 0
address 00180f90 001a7e90
sig undefined qmdpi_worker_flow_update_from_blob(void) undefined qmdpi_worker_flow_update_from_blob(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_flow_update_from_blob Called Diff

--- qmdpi_worker_flow_update_from_blob called
+++ qmdpi_worker_flow_update_from_blob called
@@ -1 +1 @@
-FUN_0019ebd0
+FUN_001b9c60
@@ -3 +3 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_flow_update_from_blob Diff

--- qmdpi_worker_flow_update_from_blob
+++ qmdpi_worker_flow_update_from_blob
@@ -1,25 +1,24 @@
 
 undefined8 qmdpi_worker_flow_update_from_blob(long *param_1,long param_2,int param_3)
 
 {
   int iVar1;
   undefined8 uVar2;
   long lVar3;
   
-  if (((param_2 == 0 || param_3 == 0) || (param_1 == (long *)0x0)) ||
-     (*(char *)(*param_1 + 0x310) != '\0')) {
-    lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
-  }
-  else {
-    iVar1 = FUN_0019ebd0(&DAT_0);
+  if ((param_1 != (long *)0x0 && (param_2 != 0 && param_3 != 0)) &&
+     (*(char *)(*param_1 + 0x310) == '\0')) {
+    iVar1 = FUN_001b9c60(&DAT_0);
     if (iVar1 != 0) {
       uVar2 = qmdpi_worker_flow_create_from_blob(param_1,param_2,param_3);
       return uVar2;
     }
-    lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar3 + 0x30) = 0xfffffff1;
+    return 0;
   }
+  lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
   return 0;
 }
 

qm_realloc_default

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.1
i_ratio 0.07
m_ratio 0.65
b_ratio 0.04
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qm_realloc_default qm_realloc_default
fullname qm_realloc_default qm_realloc_default
refcount 6 6
length 2133 965
called ::memcpy
FUN_001665a0
FUN_00166740
FUN_0019c4c0
thunk_FUN_00133f90
thunk_FUN_001354d0
thunk_FUN_00137060
thunk_FUN_00181e30
::memcpy
FUN_00173b40
FUN_00173d10
FUN_001801e0
FUN_001b3480
thunk_FUN_0014a9d0
thunk_FUN_0014ebb0
thunk_FUN_00173540
calling
paramcount 0 0
address 00182890 00174000
sig undefined qm_realloc_default(void) undefined qm_realloc_default(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qm_realloc_default Called Diff

--- qm_realloc_default called
+++ qm_realloc_default called
@@ -2,7 +2,7 @@
-FUN_001665a0
-FUN_00166740
-FUN_0019c4c0
-thunk_FUN_00133f90
-thunk_FUN_001354d0
-thunk_FUN_00137060
-thunk_FUN_00181e30
+FUN_00173b40
+FUN_00173d10
+FUN_001801e0
+FUN_001b3480
+thunk_FUN_0014a9d0
+thunk_FUN_0014ebb0
+thunk_FUN_00173540

qm_realloc_default Diff

--- qm_realloc_default
+++ qm_realloc_default
@@ -1,299 +1,164 @@
 
 ulong * qm_realloc_default(ulong *param_1,int param_2,int param_3)
 
 {
-  int *piVar1;
-  undefined8 *puVar2;
-  undefined8 uVar3;
-  code *pcVar4;
-  int iVar5;
+  uint *puVar1;
+  long *plVar2;
+  int iVar3;
+  ulong uVar4;
+  long lVar5;
   uint uVar6;
   long lVar7;
-  ulong uVar8;
-  long lVar9;
-  long lVar10;
-  ulong *puVar11;
-  ulong *puVar12;
-  long lVar13;
-  byte bVar14;
-  uint uVar15;
+  ulong *puVar8;
+  uint uVar9;
+  int iVar10;
+  ulong uVar11;
+  long lVar12;
+  int *piVar13;
+  long lVar14;
+  ulong uVar15;
   ulong uVar16;
-  ulong uVar17;
-  long *plVar18;
-  long local_48;
   
-  uVar17 = (ulong)(uint)(param_2 * param_3);
-  lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  if (param_1 != (ulong *)0x0) {
-    uVar6 = (uint)(*(byte *)((long)param_1 + -1) >> 5);
-    if (uVar6 == 6) {
-      uVar16 = param_1[-1];
-      uVar17 = uVar17 + 0xf & 0xfffffffffffffff8;
-      puVar11 = (ulong *)(*(code *)PTR_thunk_FUN_001354d0_001d3758)(param_1 + -1,uVar17);
-      if (puVar11 == (ulong *)0x0) goto LAB_0;
-      puVar12 = puVar11 + 1;
-      *puVar11 = *puVar11 & 0xe000000000000000 | uVar17;
-      *(undefined1 *)((long)puVar11 + 7) = 0xc0;
-      lVar10 = *(long *)(lVar7 + 8);
-      if (lVar10 == 0) {
-        return puVar12;
-      }
-      uVar17 = uVar17 - (uVar16 & 0x1fffffffffffffff);
-      if (*(long *)(lVar7 + 0x10) != 0) {
-        plVar18 = (long *)(*(long *)(lVar10 + 0x430) + (ulong)*(uint *)(lVar7 + 4) * 8);
-        *plVar18 = *plVar18 + uVar17;
-        return puVar12;
-      }
-      goto LAB_1;
-    }
-    uVar16 = uVar17 + 0xf & 0xfffffffffffffff8;
-    uVar17 = param_1[-1];
-    uVar15 = (int)uVar16 - 1U >> 5;
-    if ((uVar15 & 0x7fffff0) == 0) {
-      if ((uVar17 & 0x1fffffffffffffff) == uVar16) {
-        return param_1;
-      }
-      uVar15 = *(uint *)((long)&DAT_2 + (ulong)uVar15 * 4);
-      if (uVar15 <= uVar6) {
-        param_1[-1] = uVar16 | param_1[-1] & 0xe000000000000000;
-        return param_1;
-      }
-      if ((*(long *)(lVar7 + 8) == 0) ||
-         (lVar10 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar10 == 0)) {
-LAB_3:
-        puVar11 = (ulong *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar16);
-        if (puVar11 == (ulong *)0x0) goto LAB_0;
-        *puVar11 = *puVar11 & 0xe000000000000000 | uVar16;
-        *(undefined1 *)((long)puVar11 + 7) = 0xc0;
-        lVar10 = *(long *)(lVar7 + 8);
-joined_r0x00182de1:
-        puVar11 = puVar11 + 1;
-        if (lVar10 != 0) {
-          if (*(long *)(lVar7 + 0x10) == 0) {
-            *(long *)(lVar10 + 0x548) = *(long *)(lVar10 + 0x548) + uVar16;
-          }
-          else {
-            plVar18 = (long *)(*(long *)(lVar10 + 0x430) + (ulong)*(uint *)(lVar7 + 4) * 8);
-            *plVar18 = *plVar18 + uVar16;
-          }
+  if (param_1 == (ulong *)0x0) {
+    puVar8 = (ulong *)FUN_00173d10((ulong)(uint)(param_2 * param_3));
+    return puVar8;
+  }
+  uVar11 = (ulong)(uint)(param_2 * param_3) + 0xf & 0xfffffffffffffff8;
+  lVar7 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  uVar6 = (uint)(*(byte *)((long)param_1 + -1) >> 4);
+  if (uVar6 == 9) {
+    uVar4 = param_1[-1];
+    puVar8 = (ulong *)(*(code *)PTR_thunk_FUN_0014ebb0_001f7af8)(param_1 + -1,uVar11);
+    if (puVar8 != (ulong *)0x0) {
+      *puVar8 = uVar11 | 0x9000000000000000;
+      lVar5 = *(long *)(lVar7 + 8);
+      if (lVar5 != 0) {
+        lVar14 = uVar11 - (uVar4 & 0xfffffffffffffff);
+        if (*(long *)(lVar7 + 0x10) == 0) {
+          *(long *)(lVar5 + 0x608) = *(long *)(lVar5 + 0x608) + lVar14;
+        }
+        else {
+          plVar2 = (long *)(*(long *)(lVar5 + 0x4f8) + (ulong)*(uint *)(lVar7 + 4) * 8);
+          *plVar2 = *plVar2 + lVar14;
         }
       }
+      return puVar8 + 1;
+    }
+LAB_0:
+    FUN_001801e0(0,0);
+    return (ulong *)0x0;
+  }
+  uVar4 = param_1[-1];
+  uVar9 = (int)uVar11 - 1U >> 5;
+  if ((uVar9 & DAT_1) != 0) {
+    puVar8 = (ulong *)(*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(uVar11);
+    if (puVar8 == (ulong *)0x0) goto LAB_0;
+    *puVar8 = uVar11 | 0x9000000000000000;
+    lVar5 = *(long *)(lVar7 + 8);
+    if (lVar5 != 0) {
+      if (*(long *)(lVar7 + 0x10) == 0) {
+        *(long *)(lVar5 + 0x608) = *(long *)(lVar5 + 0x608) + uVar11;
+      }
       else {
-        local_48 = lVar10 + 0x40 + (ulong)uVar15 * 0x38;
-        uVar8 = (ulong)*(uint *)(lVar10 + 0x40 + (ulong)uVar15 * 0x38);
-        lVar10 = *(long *)(local_48 + 8);
-        uVar3 = *(undefined8 *)(local_48 + 0x10);
-        lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        plVar18 = (long *)(lVar10 + (ulong)*(uint *)(lVar9 + 4) * 0x40);
-        iVar5 = (int)plVar18[1];
-        if (iVar5 == 0) {
-          FUN_001665a0(plVar18,uVar3,uVar8,0x80);
-          iVar5 = (int)plVar18[1];
-          if (iVar5 != 0) goto LAB_4;
-LAB_5:
-          if (4 < (int)uVar15) {
-            puVar11 = (ulong *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar16);
-            if (puVar11 == (ulong *)0x0) goto LAB_0;
-            *puVar11 = *puVar11 & 0xe000000000000000 | uVar16;
-            *(undefined1 *)((long)puVar11 + 7) = 0xc0;
-            lVar10 = *(long *)(lVar7 + 8);
-            goto joined_r0x00182de1;
-          }
-          if ((*(long *)(lVar7 + 8) == 0) ||
-             (lVar10 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar10 == 0)) goto LAB_6;
-          lVar9 = (ulong)(uVar15 + 1) * 0x38;
-          local_48 = lVar10 + 0x40 + lVar9;
-          uVar8 = (ulong)*(uint *)(lVar10 + 0x40 + lVar9);
-          uVar3 = *(undefined8 *)(local_48 + 0x10);
-          lVar10 = *(long *)(local_48 + 8);
-          lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          plVar18 = (long *)(lVar10 + (ulong)*(uint *)(lVar9 + 4) * 0x40);
-          iVar5 = (int)plVar18[1];
-          if (iVar5 == 0) {
-            FUN_001665a0(plVar18,uVar3,uVar8,0x80);
-            iVar5 = (int)plVar18[1];
-            if (iVar5 == 0) goto LAB_3;
-          }
-          puVar12 = (ulong *)*plVar18;
-          if (puVar12 == (ulong *)0x0) goto LAB_3;
-          uVar8 = (long)puVar12 + uVar8 + 7;
-        }
-        else {
-LAB_4:
-          puVar12 = (ulong *)*plVar18;
-          if (puVar12 == (ulong *)0x0) goto LAB_5;
-          uVar8 = (long)puVar12 + uVar8 + 7;
-        }
-        lVar7 = *(long *)(uVar8 & 0xfffffffffffffff8);
-        *(int *)(plVar18 + 1) = iVar5 + -1;
-        *plVar18 = lVar7;
-        lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        piVar1 = (int *)(*(long *)(local_48 + 0x18) + (ulong)*(uint *)(lVar7 + 4) * 4);
-        *piVar1 = *piVar1 + 1;
-        iVar5 = *(int *)(local_48 + 4);
-        *puVar12 = uVar16 | *puVar12 & 0xe000000000000000;
-        puVar11 = puVar12 + 1;
-        *(char *)((long)puVar12 + 7) = (char)(iVar5 << 5);
+        plVar2 = (long *)(*(long *)(lVar5 + 0x4f8) + (ulong)*(uint *)(lVar7 + 4) * 8);
+        *plVar2 = *plVar2 + uVar11;
       }
     }
-    else {
-      puVar12 = (ulong *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar16);
-      if (puVar12 == (ulong *)0x0) goto LAB_0;
-      puVar11 = puVar12 + 1;
-      *puVar12 = *puVar12 & 0xe000000000000000 | uVar16;
-      *(undefined1 *)((long)puVar12 + 7) = 0xc0;
-      lVar10 = *(long *)(lVar7 + 8);
-      if (lVar10 != 0) {
-        if (*(long *)(lVar7 + 0x10) == 0) {
-          *(long *)(lVar10 + 0x548) = *(long *)(lVar10 + 0x548) + uVar16;
-        }
-        else {
-          plVar18 = (long *)(*(long *)(lVar10 + 0x430) + (ulong)*(uint *)(lVar7 + 4) * 8);
-          *plVar18 = *plVar18 + uVar16;
-        }
+    goto LAB_2;
+  }
+  if ((uVar4 & 0xfffffffffffffff) == uVar11) {
+    return param_1;
+  }
+  uVar16 = (ulong)*(uint *)(&DAT_3 + (ulong)uVar9 * 4);
+  if (*(uint *)(&DAT_3 + (ulong)uVar9 * 4) <= uVar6) {
+    param_1[-1] = param_1[-1] & 0xf000000000000000 | uVar11;
+    return param_1;
+  }
+  if (*(int *)(lVar7 + 4) == 0) {
+    LOCK();
+    piVar13 = (int *)(lVar7 + 0x34);
+    *piVar13 = *piVar13 + 1;
+    UNLOCK();
+    if (*piVar13 != 0) {
+      FUN_001801e0(0xc,0);
+    }
+  }
+  if ((*(long *)(lVar7 + 8) == 0) || (lVar5 = *(long *)(*(long *)(lVar7 + 8) + 0x4e8), lVar5 == 0))
+  {
+LAB_4:
+    puVar8 = (ulong *)(*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(uVar11);
+    if (puVar8 == (ulong *)0x0) {
+      FUN_001801e0(0,0);
+      if (*(int *)(lVar7 + 4) != 0) {
+        return (ulong *)0x0;
       }
-    }
-    if (puVar11 == (ulong *)0x0) {
+      LOCK();
+      *(int *)(lVar7 + 0x34) = *(int *)(lVar7 + 0x34) + -1;
+      UNLOCK();
       return (ulong *)0x0;
     }
-    memcpy(puVar11,param_1,uVar17 & 0x1fffffffffffffff);
-    lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    bVar14 = *(byte *)((long)param_1 + -1) >> 5;
-    if (bVar14 == 6) {
-      lVar10 = *(long *)(lVar7 + 8);
-      if (lVar10 != 0) {
-        if (*(long *)(lVar7 + 0x10) == 0) {
-          *(long *)(lVar10 + 0x548) = *(long *)(lVar10 + 0x548) - (param_1[-1] & 0x1fffffffffffffff)
-          ;
-        }
-        else {
-          plVar18 = (long *)(*(long *)(lVar10 + 0x430) + (ulong)*(uint *)(lVar7 + 4) * 8);
-          *plVar18 = *plVar18 - (param_1[-1] & 0x1fffffffffffffff);
-        }
-      }
-      (*(code *)PTR_thunk_FUN_00137060_001d3760)(param_1 + -1);
-      return puVar11;
+    *puVar8 = uVar11 | 0x9000000000000000;
+    lVar5 = *(long *)(lVar7 + 8);
+    if (lVar5 == 0) goto LAB_5;
+    if (*(long *)(lVar7 + 0x10) != 0) {
+      plVar2 = (long *)(*(long *)(lVar5 + 0x4f8) + (ulong)*(uint *)(lVar7 + 4) * 8);
+      *plVar2 = *plVar2 + uVar11;
+      goto LAB_5;
     }
-    if ((*(long *)(lVar7 + 8) != 0) && (lVar7 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar7 != 0)
-       ) {
-      lVar10 = lVar7 + 0x40 + (ulong)bVar14 * 0x38;
-      uVar17 = (ulong)*(uint *)(lVar7 + 0x40 + (ulong)bVar14 * 0x38);
-      lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      piVar1 = (int *)(*(long *)(lVar10 + 0x18) + (ulong)*(uint *)(lVar7 + 4) * 4);
-      *piVar1 = *piVar1 + -1;
-      uVar3 = *(undefined8 *)(lVar10 + 0x10);
-      lVar7 = *(long *)(lVar10 + 8);
-      lVar10 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      plVar18 = (long *)(lVar7 + (ulong)*(uint *)(lVar10 + 4) * 0x40);
-      *(long *)((long)param_1 + (uVar17 - 1) & 0xfffffffffffffff8) = *plVar18;
-      *plVar18 = (long)(param_1 + -1);
-      iVar5 = (int)plVar18[1] + 1;
-      *(int *)(plVar18 + 1) = iVar5;
-      if (iVar5 < 0x100) {
-        return puVar11;
-      }
-      FUN_00166740(plVar18,uVar3,uVar17,0x80);
-      return puVar11;
-    }
-    goto LAB_6;
-  }
-  lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  uVar17 = uVar17 + 0xf & 0xfffffffffffffff8;
-  if ((*(int *)(lVar7 + 4) == 0) || (uVar6 = (int)uVar17 - 1U >> 5, (uVar6 & 0x7fffff0) != 0)) {
-LAB_7:
-    puVar12 = (ulong *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar17);
-    if (puVar12 == (ulong *)0x0) {
-LAB_0:
-      FUN_0019c4c0(0,0);
-      return (ulong *)0x0;
-    }
-    *puVar12 = *puVar12 & 0xe000000000000000 | uVar17;
-    *(undefined1 *)((long)puVar12 + 7) = 0xc0;
-    lVar10 = *(long *)(lVar7 + 8);
+    *(long *)(lVar5 + 0x608) = *(long *)(lVar5 + 0x608) + uVar11;
+    iVar10 = *(int *)(lVar7 + 4);
   }
   else {
-    uVar6 = *(uint *)((long)&DAT_2 + (ulong)uVar6 * 4);
-    if ((*(long *)(lVar7 + 8) == 0) ||
-       (lVar10 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar10 == 0)) goto LAB_7;
-    lVar9 = lVar10 + 0x40 + (ulong)uVar6 * 0x38;
-    uVar16 = (ulong)*(uint *)(lVar10 + 0x40 + (ulong)uVar6 * 0x38);
-    lVar10 = *(long *)(lVar9 + 8);
-    uVar3 = *(undefined8 *)(lVar9 + 0x10);
-    lVar13 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    plVar18 = (long *)(lVar10 + (ulong)*(uint *)(lVar13 + 4) * 0x40);
-    iVar5 = (int)plVar18[1];
-    if (iVar5 == 0) {
-      FUN_001665a0(plVar18,uVar3,uVar16,0x80);
-      iVar5 = (int)plVar18[1];
-      if (iVar5 != 0) goto LAB_8;
+    lVar14 = uVar16 * 0x40;
+    puVar1 = (uint *)(lVar5 + lVar14);
+    if (*(long *)(puVar1 + 0xe) == 0) goto LAB_4;
+    uVar6 = *(uint *)(lVar7 + 4);
+    uVar9 = *puVar1;
+    lVar12 = *(long *)(puVar1 + 4);
+    piVar13 = (int *)((ulong)uVar6 * 0x40 + *(long *)(lVar5 + 8 + lVar14));
+    iVar10 = piVar13[1];
+    if (iVar10 == 0) {
+      FUN_001b3480(piVar13,lVar12,(ulong)uVar9);
+      iVar10 = piVar13[1];
+      if (iVar10 != 0) goto LAB_6;
+LAB_7:
+      piVar13 = (int *)(lVar5 + 0x18 + lVar14);
+      LOCK();
+      *piVar13 = *piVar13 + 1;
+      UNLOCK();
+      goto LAB_4;
     }
-    else {
-LAB_8:
-      puVar12 = (ulong *)*plVar18;
-      if (puVar12 != (ulong *)0x0) {
-        lVar7 = *(long *)((long)puVar12 + uVar16 + 7 & 0xfffffffffffffff8);
-        *(int *)(plVar18 + 1) = iVar5 + -1;
-        *plVar18 = lVar7;
-        lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        piVar1 = (int *)(*(long *)(lVar9 + 0x18) + (ulong)*(uint *)(lVar7 + 4) * 4);
-        *piVar1 = *piVar1 + 1;
-        goto LAB_9;
+LAB_6:
+    if (*piVar13 == 0) goto LAB_7;
+    uVar15 = (ulong)(*piVar13 - 1);
+    puVar8 = (ulong *)(uVar9 * uVar15 + *(long *)(lVar12 + 0x18));
+    iVar3 = *(int *)(lVar12 + 0x28 + uVar15 * 4);
+    piVar13[1] = iVar10 + -1;
+    *piVar13 = iVar3;
+    lVar12 = uVar16 * 0x40 + lVar5;
+    piVar13 = (int *)((ulong)uVar6 * 0x10 + *(long *)(lVar12 + 0x20));
+    if (puVar8 == (ulong *)0x0) goto LAB_7;
+    *piVar13 = *piVar13 + 1;
+    uVar6 = *(uint *)(lVar12 + 0x18);
+    if (uVar6 != 0) {
+      if ((uint)piVar13[1] < uVar6) {
+        piVar13[1] = uVar6;
       }
+      *(ulong *)(piVar13 + 2) = *(long *)(piVar13 + 2) + (ulong)uVar6;
+      *(undefined4 *)(lVar5 + 0x18 + uVar16 * 0x40) = 0;
     }
-    if ((int)uVar6 < 5) {
-      if ((*(long *)(lVar7 + 8) == 0) ||
-         (lVar10 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar10 == 0)) {
-LAB_6:
-                    /* WARNING: Does not return */
-        pcVar4 = (code *)invalidInstructionException();
-        (*pcVar4)();
-      }
-      lVar13 = (ulong)(uVar6 + 1) * 0x38;
-      lVar9 = lVar10 + 0x40 + lVar13;
-      uVar16 = (ulong)*(uint *)(lVar10 + 0x40 + lVar13);
-      uVar3 = *(undefined8 *)(lVar9 + 0x10);
-      lVar10 = *(long *)(lVar9 + 8);
-      lVar13 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      puVar2 = (undefined8 *)(lVar10 + (ulong)*(uint *)(lVar13 + 4) * 0x40);
-      iVar5 = *(int *)(puVar2 + 1);
-      if (iVar5 == 0) {
-        FUN_001665a0(puVar2,uVar3,uVar16,0x80);
-        iVar5 = *(int *)(puVar2 + 1);
-        if (iVar5 == 0) goto LAB_10;
-      }
-      puVar12 = (ulong *)*puVar2;
-      if (puVar12 != (ulong *)0x0) {
-        uVar3 = *(undefined8 *)((long)puVar12 + uVar16 + 7 & 0xfffffffffffffff8);
-        *(int *)(puVar2 + 1) = iVar5 + -1;
-        *puVar2 = uVar3;
-        lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        piVar1 = (int *)(*(long *)(lVar9 + 0x18) + (ulong)*(uint *)(lVar7 + 4) * 4);
-        *piVar1 = *piVar1 + 1;
-LAB_9:
-        iVar5 = *(int *)(lVar9 + 4);
-        *puVar12 = uVar17 | *puVar12 & 0xe000000000000000;
-        *(char *)((long)puVar12 + 7) = (char)(iVar5 << 5);
-        return puVar12 + 1;
-      }
-    }
-LAB_10:
-    puVar12 = (ulong *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar17);
-    if (puVar12 == (ulong *)0x0) goto LAB_0;
-    *puVar12 = *puVar12 & 0xe000000000000000 | uVar17;
-    *(byte *)((long)puVar12 + 7) = *(byte *)((long)puVar12 + 7) & 0x1f | 0xc0;
-    lVar10 = *(long *)(lVar7 + 8);
+    *puVar8 = uVar16 << 0x3c | uVar11;
+LAB_5:
+    iVar10 = *(int *)(lVar7 + 4);
   }
-  puVar12 = puVar12 + 1;
-  if (lVar10 == 0) {
-    return puVar12;
+  if (iVar10 == 0) {
+    LOCK();
+    *(int *)(lVar7 + 0x34) = *(int *)(lVar7 + 0x34) + -1;
+    UNLOCK();
   }
-  if (*(long *)(lVar7 + 0x10) != 0) {
-    plVar18 = (long *)(*(long *)(lVar10 + 0x430) + (ulong)*(uint *)(lVar7 + 4) * 8);
-    *plVar18 = *plVar18 + uVar17;
-    return puVar12;
-  }
-LAB_1:
-  *(long *)(lVar10 + 0x548) = *(long *)(lVar10 + 0x548) + uVar17;
-  return puVar12;
+LAB_2:
+  memcpy(puVar8 + 1,param_1,uVar4 & 0xfffffffffffffff);
+  FUN_00173b40(param_1);
+  return puVar8 + 1;
 }
 

qmdpi_bundle_signature_ctl_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.46
i_ratio 0.53
m_ratio 0.99
b_ratio 0.86
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_ctl_get qmdpi_bundle_signature_ctl_get
fullname qmdpi_bundle_signature_ctl_get qmdpi_bundle_signature_ctl_get
refcount 3 3
length 423 384
called ::strncpy
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strncpy
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 00189210 00181700
sig undefined qmdpi_bundle_signature_ctl_get(void) undefined qmdpi_bundle_signature_ctl_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_ctl_get Called Diff

--- qmdpi_bundle_signature_ctl_get called
+++ qmdpi_bundle_signature_ctl_get called
@@ -2,3 +2,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_signature_ctl_get Diff

--- qmdpi_bundle_signature_ctl_get
+++ qmdpi_bundle_signature_ctl_get
@@ -1,70 +1,59 @@
 
 undefined4
 qmdpi_bundle_signature_ctl_get(long *param_1,char *param_2,int param_3,long param_4,int param_5)
 
 {
   long lVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
-  char local_1a8 [64];
+  undefined8 *puVar3;
+  char acStack_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  int local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if ((((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (param_4 == 0 || param_3 < 0)) ||
-     ((param_5 < 1 || (lVar1 = *param_1, lVar1 == 0)))) {
+  if (((param_1 == (long *)0x0 || param_2 == (char *)0x0) ||
+      ((param_4 == 0 || param_3 < 0) || param_5 < 1)) || (lVar1 = *param_1, lVar1 == 0)) {
     uVar2 = 0xffffffff;
   }
   else {
-    local_1a8[0] = '\0';
     local_168 = 0;
     local_128 = 0;
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
-    strncpy(local_1a8,param_2,0x3f);
-    FUN_00160640(lVar1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    strncpy(acStack_1a8,param_2,0x3f);
+    FUN_0011c550(lVar1);
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
+    puVar3[2] = 0;
+    puVar3[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = lVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
-    local_88 = param_3;
-    uVar2 = (**(code **)(param_1[1] + 0x178))(param_1[9],local_1a8,param_4,param_5);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
+    local_8c = CONCAT44(param_3,(undefined4)local_8c);
+    uVar2 = (**(code **)(param_1[1] + 0x178))(param_1[9],acStack_1a8,param_4,param_5);
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar2;
 }
 

qmdpi_worker_stream_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.89
i_ratio 0.67
m_ratio 0.97
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_stream_get qmdpi_worker_stream_get
fullname qmdpi_worker_stream_get qmdpi_worker_stream_get
refcount 3 3
length 48 53
called
calling
paramcount 0 0
address 00183710 00176630
sig undefined qmdpi_worker_stream_get(void) undefined qmdpi_worker_stream_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_stream_get Diff

--- qmdpi_worker_stream_get
+++ qmdpi_worker_stream_get
@@ -1,12 +1,12 @@
 
 undefined8 qmdpi_worker_stream_get(long param_1,undefined8 *param_2,undefined4 *param_3)
 
 {
-  if ((param_2 != (undefined8 *)0x0 && param_3 != (undefined4 *)0x0) && (param_1 != 0)) {
+  if (param_1 != 0 && (param_2 != (undefined8 *)0x0 && param_3 != (undefined4 *)0x0)) {
     *param_2 = *(undefined8 *)(param_1 + 0xb8);
     *param_3 = *(undefined4 *)(param_1 + 0xc0);
     return 0;
   }
   return 0xffffffff;
 }
 

qmdpi_report_start

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.54
i_ratio 0.23
m_ratio 0.64
b_ratio 0.59
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_report_start qmdpi_report_start
fullname qmdpi_report_start qmdpi_report_start
refcount 3 3
length 54 98
called FUN_00165ed0 FUN_001b56e0
calling
paramcount 0 0
address 00164830 001b7aa0
sig undefined qmdpi_report_start(void) undefined qmdpi_report_start(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_report_start Called Diff

--- qmdpi_report_start called
+++ qmdpi_report_start called
@@ -1 +1 @@
-FUN_00165ed0
+FUN_001b56e0

qmdpi_report_start Diff

--- qmdpi_report_start
+++ qmdpi_report_start
@@ -1,19 +1,28 @@
 
 undefined8 qmdpi_report_start(long param_1)
 
 {
   long lVar1;
   undefined8 uVar2;
   
   if (param_1 == 0) {
     return 0xffffffff;
   }
-  lVar1 = *(long *)(param_1 + 0x538);
-  if ((lVar1 != 0) && (*(int *)(lVar1 + 0x278) == 0)) {
+  lVar1 = *(long *)(param_1 + 0x5f8);
+  if ((lVar1 == 0) || ((*(byte *)(lVar1 + 0x288) & 2) != 0)) {
+    return 0xffffffe4;
+  }
+  if ((*(byte *)(lVar1 + 0x288) & 1) == 0) {
+    if (*(int *)(lVar1 + 0x278) != 0) {
+      return 0xffffffe4;
+    }
     *(undefined4 *)(lVar1 + 0x278) = 1;
-    uVar2 = FUN_00165ed0();
-    return uVar2;
+    uVar2 = FUN_001b56e0();
+    if ((int)uVar2 != 0) {
+      return uVar2;
+    }
   }
-  return 0xffffffe4;
+  *(byte *)(lVar1 + 0x288) = *(byte *)(lVar1 + 0x288) & 0xf3 | 8;
+  return 0;
 }
 

qmdpi_flow_offloading_attr_discard

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.2
i_ratio 0.44
m_ratio 0.93
b_ratio 0.69
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_offloading_attr_discard qmdpi_flow_offloading_attr_discard
fullname qmdpi_flow_offloading_attr_discard qmdpi_flow_offloading_attr_discard
refcount 3 3
length 225 268
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018ffc0 00187170
sig undefined qmdpi_flow_offloading_attr_discard(void) undefined qmdpi_flow_offloading_attr_discard(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_offloading_attr_discard Called Diff

--- qmdpi_flow_offloading_attr_discard called
+++ qmdpi_flow_offloading_attr_discard called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_offloading_attr_discard Diff

--- qmdpi_flow_offloading_attr_discard
+++ qmdpi_flow_offloading_attr_discard
@@ -1,44 +1,57 @@
 
 undefined8
 qmdpi_flow_offloading_attr_discard
           (long param_1,long param_2,uint param_3,undefined4 param_4,undefined4 param_5)
 
 {
-  undefined8 *puVar1;
-  undefined4 uVar2;
-  undefined8 uVar3;
-  undefined4 *puVar4;
+  int *piVar1;
+  undefined8 *puVar2;
+  undefined4 uVar3;
+  undefined8 *puVar4;
+  undefined8 uVar5;
   
-  uVar3 = 0xffffffff;
-  if ((param_1 != 0) && (param_2 != 0)) {
-    if (param_3 < 0x11) {
-      puVar1 = *(undefined8 **)(param_2 + 0x68);
-      puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      uVar3 = *puVar1;
-      *(long *)(puVar4 + 4) = param_1;
-      *(undefined8 *)(puVar4 + 2) = uVar3;
-      uVar3 = puVar1[9];
-      *(undefined8 *)(puVar4 + 10) = 0;
-      *(undefined8 *)(puVar4 + 6) = uVar3;
-      if ((undefined4 *)*puVar1 == (undefined4 *)0x0) {
-        uVar2 = 0;
+  if ((param_1 == 0 || param_2 == 0) || (0x10 < param_3)) {
+    uVar5 = 0xffffffff;
+  }
+  else {
+    LOCK();
+    piVar1 = (int *)(param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      puVar2 = *(undefined8 **)(param_2 + 0x80);
+      puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      uVar5 = *puVar2;
+      puVar4[2] = param_1;
+      puVar4[1] = uVar5;
+      uVar5 = puVar2[9];
+      puVar4[5] = 0;
+      puVar4[3] = uVar5;
+      uVar3 = 0;
+      if ((undefined4 *)*puVar2 != (undefined4 *)0x0) {
+        uVar3 = *(undefined4 *)*puVar2;
       }
-      else {
-        uVar2 = *(undefined4 *)*puVar1;
-      }
-      *puVar4 = uVar2;
-      puVar4[1] = *(undefined4 *)(param_1 + 8);
-      uVar3 = (**(code **)(puVar1[1] + 0x158))
-                        (*(undefined8 *)(param_2 + 0x90),param_3,param_4,param_5);
-      *(undefined8 *)(puVar4 + 2) = 0;
-      *(undefined8 *)(puVar4 + 4) = 0;
-      *(undefined8 *)(puVar4 + 6) = 0;
-      *(undefined8 *)(puVar4 + 10) = 0;
+      *(undefined4 *)puVar4 = uVar3;
+      *(undefined4 *)((long)puVar4 + 4) = *(undefined4 *)(param_1 + 8);
+      uVar5 = (**(code **)(puVar2[1] + 0x158))
+                        (*(undefined8 *)(param_2 + 0xa8),param_3,param_4,param_5);
+      puVar4[5] = 0;
       *puVar4 = 0;
       puVar4[1] = 0;
+      puVar4[2] = 0;
+      puVar4[3] = 0;
+      *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
     }
-    return uVar3;
+    else {
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
+      uVar5 = 0xfffffffa;
+    }
   }
-  return uVar3;
+  return uVar5;
 }
 

qmdpi_bundle_attr_unregister

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.31
i_ratio 0.49
m_ratio 0.99
b_ratio 0.85
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_attr_unregister qmdpi_bundle_attr_unregister
fullname qmdpi_bundle_attr_unregister qmdpi_bundle_attr_unregister
refcount 3 3
length 350 339
called FUN_00160640
FUN_001606c0
FUN_001663c0
thunk_FUN_00181e30
::strcmp
FUN_0011c550
FUN_0011c5d0
FUN_001b6cf0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018aae0 00182dd0
sig undefined qmdpi_bundle_attr_unregister(void) undefined qmdpi_bundle_attr_unregister(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_attr_unregister Called Diff

--- qmdpi_bundle_attr_unregister called
+++ qmdpi_bundle_attr_unregister called
@@ -1,4 +1,5 @@
-FUN_00160640
-FUN_001606c0
-FUN_001663c0
-thunk_FUN_00181e30
+<EXTERNAL>::strcmp
+FUN_0011c550
+FUN_0011c5d0
+FUN_001b6cf0
+thunk_FUN_00173540

qmdpi_bundle_attr_unregister Diff

--- qmdpi_bundle_attr_unregister
+++ qmdpi_bundle_attr_unregister
@@ -1,85 +1,56 @@
 
-int qmdpi_bundle_attr_unregister(undefined8 *param_1,long param_2,byte *param_3)
+int qmdpi_bundle_attr_unregister(undefined8 *param_1,long param_2,char *param_3)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
   int iVar3;
-  undefined4 *puVar4;
-  long lVar5;
-  byte *pbVar6;
-  byte *pbVar7;
-  bool bVar8;
-  bool bVar9;
-  byte bVar10;
+  int iVar4;
+  undefined8 *puVar5;
   
-  bVar10 = 0;
-  if ((param_1 == (undefined8 *)0x0) || (param_3 == (byte *)0x0)) {
-    iVar3 = -1;
+  if (param_1 == (undefined8 *)0x0 || param_3 == (char *)0x0) {
+    iVar4 = -1;
   }
   else {
-    FUN_00160640(*param_1);
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    FUN_0011c550(*param_1);
+    puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar5[2] = 0;
+    puVar5[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar5[5] = 0;
+    puVar5[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    bVar8 = false;
-    bVar9 = param_2 == 0;
-    *puVar4 = uVar2;
-    puVar4[1] = 0;
-    if (bVar9) {
-      iVar3 = (**(code **)(param_1[1] + 0x238))(param_1[9],param_3);
-      bVar8 = iVar3 == 0;
-      if (bVar8) {
-        lVar5 = 0x16;
-        pbVar6 = (byte *)"classification_method";
-        do {
-          if (lVar5 == 0) break;
-          lVar5 = lVar5 + -1;
-          bVar8 = *param_3 == *pbVar6;
-          param_3 = param_3 + (ulong)bVar10 * -2 + 1;
-          pbVar6 = pbVar6 + (ulong)bVar10 * -2 + 1;
-        } while (bVar8);
-        if (bVar8) {
+    *(undefined4 *)puVar5 = uVar2;
+    *(undefined4 *)((long)puVar5 + 4) = 0;
+    if (param_2 == 0) {
+      iVar4 = (**(code **)(param_1[1] + 0x238))(param_1[9],param_3);
+      if (iVar4 == 0) {
+        iVar3 = strcmp(param_3,"classification_method");
+        if (iVar3 == 0) {
           *(undefined4 *)(param_1[1] + 0x240) = 0;
         }
       }
     }
     else {
-      lVar5 = 0x16;
-      iVar3 = -1;
-      pbVar6 = param_3;
-      pbVar7 = (byte *)"classification_method";
-      do {
-        if (lVar5 == 0) break;
-        lVar5 = lVar5 + -1;
-        bVar8 = *pbVar6 < *pbVar7;
-        bVar9 = *pbVar6 == *pbVar7;
-        pbVar6 = pbVar6 + (ulong)bVar10 * -2 + 1;
-        pbVar7 = pbVar7 + (ulong)bVar10 * -2 + 1;
-      } while (bVar9);
-      if ((!bVar8 && !bVar9) != bVar8) {
-        FUN_001663c0(*param_1,param_2,param_3,0);
-        iVar3 = (**(code **)(param_1[1] + 0xa0))(param_1[9],param_2,param_3);
+      iVar4 = -1;
+      iVar3 = strcmp(param_3,"classification_method");
+      if (iVar3 != 0) {
+        FUN_001b6cf0(*param_1,param_2,param_3,0);
+        iVar4 = (**(code **)(param_1[1] + 0xa0))(param_1[9],param_2,param_3);
       }
     }
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar5[5] = 0;
+    *puVar5 = 0;
+    puVar5[1] = 0;
+    puVar5[2] = 0;
+    puVar5[3] = 0;
+    *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
-  return iVar3;
+  return iVar4;
 }
 

qmdpi_worker_flow_table_dump

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.43
i_ratio 0.42
m_ratio 1.0
b_ratio 0.84
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_flow_table_dump qmdpi_worker_flow_table_dump
fullname qmdpi_worker_flow_table_dump qmdpi_worker_flow_table_dump
refcount 3 3
length 61 60
called thunk_FUN_0016dd60 thunk_FUN_001a03c0
calling
paramcount 0 0
address 00186570 0017e240
sig undefined qmdpi_worker_flow_table_dump(void) undefined qmdpi_worker_flow_table_dump(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_flow_table_dump Called Diff

--- qmdpi_worker_flow_table_dump called
+++ qmdpi_worker_flow_table_dump called
@@ -1 +1 @@
-thunk_FUN_0016dd60
+thunk_FUN_001a03c0

qmdpi_worker_flow_table_dump Diff

--- qmdpi_worker_flow_table_dump
+++ qmdpi_worker_flow_table_dump
@@ -1,17 +1,12 @@
 
 undefined8 qmdpi_worker_flow_table_dump(long *param_1,long param_2,long param_3)
 
 {
-  undefined8 uVar1;
-  
-  if ((param_2 != 0 && param_3 != 0) && (param_1 != (long *)0x0)) {
-    uVar1 = 0xffffffff;
-    if (*(char *)(*param_1 + 0x310) == '\0') {
-      thunk_FUN_0016dd60();
-      uVar1 = 0;
-    }
-    return uVar1;
+  if ((param_1 != (long *)0x0 && (param_2 != 0 && param_3 != 0)) &&
+     (*(char *)(*param_1 + 0x310) == '\0')) {
+    thunk_FUN_001a03c0();
+    return 0;
   }
   return 0xffffffff;
 }
 

qmdpi_flow_monitor

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.36
i_ratio 0.54
m_ratio 1.0
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_monitor qmdpi_flow_monitor
fullname qmdpi_flow_monitor qmdpi_flow_monitor
refcount 3 3
length 292 296
called qm_malloc_default
thunk_FUN_00181e30
qm_malloc_default
thunk_FUN_00173540
calling
paramcount 0 0
address 00165780 001b8700
sig undefined qmdpi_flow_monitor(void) undefined qmdpi_flow_monitor(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_monitor Called Diff

--- qmdpi_flow_monitor called
+++ qmdpi_flow_monitor called
@@ -2 +2 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_monitor Diff

--- qmdpi_flow_monitor
+++ qmdpi_flow_monitor
@@ -1,68 +1,72 @@
 
 undefined8 qmdpi_flow_monitor(long param_1)
 
 {
   long *plVar1;
   undefined4 uVar2;
   undefined4 *puVar3;
   long lVar4;
-  undefined4 *puVar5;
+  undefined8 *puVar5;
   undefined8 *puVar6;
   undefined8 uVar7;
   ulong uVar8;
   byte bVar9;
   
   bVar9 = 0;
-  if (param_1 == 0) {
-    return 0xffffffff;
-  }
-  if (*(undefined8 **)(param_1 + 0x68) != (undefined8 *)0x0) {
-    puVar3 = (undefined4 *)**(undefined8 **)(param_1 + 0x68);
-    if (puVar3 == (undefined4 *)0x0) {
-      uVar7 = 0xffffffff;
+  if (param_1 != 0) {
+    if (*(undefined8 **)(param_1 + 0x80) == (undefined8 *)0x0) {
+      uVar7 = 0xffffffef;
     }
     else {
-      lVar4 = *(long *)(puVar3 + 0x14e);
-      if (lVar4 == 0) {
-        uVar7 = 0xffffffe4;
+      puVar3 = (undefined4 *)**(undefined8 **)(param_1 + 0x80);
+      if (puVar3 == (undefined4 *)0x0) {
+        uVar7 = 0xffffffff;
       }
       else {
-        puVar5 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined4 **)(puVar5 + 2) = puVar3;
-        *(undefined8 *)(puVar5 + 4) = 0;
-        *(undefined8 *)(puVar5 + 6) = 0;
-        *(undefined8 *)(puVar5 + 10) = 0;
-        uVar2 = *puVar3;
-        puVar5[1] = 0;
-        *puVar5 = uVar2;
-        puVar6 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x218,0xff000001,0x55);
-        *(undefined8 **)(param_1 + 0xd0) = puVar6;
-        uVar7 = 0xfffffffb;
-        if (puVar6 != (undefined8 *)0x0) {
-          *puVar6 = 0;
-          puVar6[0x42] = 0;
-          uVar7 = 0;
-          uVar8 = (ulong)(((int)puVar6 -
-                          (int)(undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8)) + 0x218U >>
-                         3);
-          puVar6 = (undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8);
-          for (; uVar8 != 0; uVar8 = uVar8 - 1) {
+        lVar4 = *(long *)(puVar3 + 0x17e);
+        if (lVar4 == 0) {
+          uVar7 = 0xffffffe4;
+        }
+        else {
+          puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          puVar5[1] = puVar3;
+          puVar5[2] = 0;
+          puVar5[3] = 0;
+          puVar5[5] = 0;
+          uVar2 = *puVar3;
+          *(undefined4 *)((long)puVar5 + 4) = 0;
+          *(undefined4 *)puVar5 = uVar2;
+          puVar6 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0x20a,0xff000001,0x55);
+          *(undefined8 **)(param_1 + 0xd0) = puVar6;
+          if (puVar6 == (undefined8 *)0x0) {
+            uVar7 = 0xfffffffb;
+          }
+          else {
             *puVar6 = 0;
-            puVar6 = puVar6 + (ulong)bVar9 * -2 + 1;
+            *(undefined8 *)((long)puVar6 + 0x202) = 0;
+            uVar7 = 0;
+            uVar8 = (ulong)(((int)puVar6 -
+                            (int)(undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8)) + 0x20aU
+                           >> 3);
+            puVar6 = (undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8);
+            for (; uVar8 != 0; uVar8 = uVar8 - 1) {
+              *puVar6 = 0;
+              puVar6 = puVar6 + (ulong)bVar9 * -2 + 1;
+            }
+            plVar1 = (long *)(lVar4 + 8);
+            *plVar1 = *plVar1 + 1;
+            puVar5[5] = 0;
+            *puVar5 = 0;
+            puVar5[1] = 0;
+            puVar5[2] = 0;
+            puVar5[3] = 0;
+            *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
           }
-          plVar1 = (long *)(lVar4 + 8);
-          *plVar1 = *plVar1 + 1;
-          *(undefined8 *)(puVar5 + 2) = 0;
-          *(undefined8 *)(puVar5 + 4) = 0;
-          *(undefined8 *)(puVar5 + 6) = 0;
-          *(undefined8 *)(puVar5 + 10) = 0;
-          *puVar5 = 0;
-          puVar5[1] = 0;
         }
       }
     }
     return uVar7;
   }
-  return 0xffffffef;
+  return 0xffffffff;
 }
 

qmdpi_engine_create

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.2
i_ratio 0.2
m_ratio 0.96
b_ratio 0.16
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_engine_create qmdpi_engine_create
fullname qmdpi_engine_create qmdpi_engine_create
refcount 3 3
length 2703 2475
called
Expand for full list:
::memchr
::memset
::pthread_spin_lock
::pthread_spin_unlock
FUN_0010eaf0
FUN_00166180
FUN_00181e50
FUN_00181e60
FUN_00184410
FUN_00184470
FUN_0018c9d0
FUN_0018ca40
FUN_00191130
FUN_00195480
FUN_00195560
FUN_001955c0
FUN_00195760
qm_free_default
qm_malloc_default
thunk_FUN_00133f90
thunk_FUN_00137060
thunk_FUN_00181e30
Expand for full list:
::memchr
::memset
::pthread_spin_lock
::pthread_spin_unlock
FUN_00172d50
FUN_00173560
FUN_00173570
FUN_00176aa0
FUN_00176b10
FUN_0017c070
FUN_0017c0c0
FUN_00188e20
FUN_0018f660
FUN_0018f8d0
FUN_0018f950
FUN_0018fae0
FUN_001a6fa0
FUN_001b23a0
FUN_001b6ac0
FUN_001b6c40
qm_free_default
qm_malloc_default
thunk_FUN_0014a9d0
thunk_FUN_0014cca0
thunk_FUN_00173540
calling
paramcount 0 0
address 00184c50 0017c7a0
sig undefined qmdpi_engine_create(void) undefined qmdpi_engine_create(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_engine_create Called Diff

--- qmdpi_engine_create called
+++ qmdpi_engine_create called
@@ -5,13 +5,16 @@
-FUN_0010eaf0
-FUN_00166180
-FUN_00181e50
-FUN_00181e60
-FUN_00184410
-FUN_00184470
-FUN_0018c9d0
-FUN_0018ca40
-FUN_00191130
-FUN_00195480
-FUN_00195560
-FUN_001955c0
-FUN_00195760
+FUN_00172d50
+FUN_00173560
+FUN_00173570
+FUN_00176aa0
+FUN_00176b10
+FUN_0017c070
+FUN_0017c0c0
+FUN_00188e20
+FUN_0018f660
+FUN_0018f8d0
+FUN_0018f950
+FUN_0018fae0
+FUN_001a6fa0
+FUN_001b23a0
+FUN_001b6ac0
+FUN_001b6c40
@@ -20,3 +23,3 @@
-thunk_FUN_00133f90
-thunk_FUN_00137060
-thunk_FUN_00181e30
+thunk_FUN_0014a9d0
+thunk_FUN_0014cca0
+thunk_FUN_00173540

qmdpi_engine_create Diff

--- qmdpi_engine_create
+++ qmdpi_engine_create
@@ -1,430 +1,400 @@
+
+/* WARNING: Type propagation algorithm not settling */
 
 int * qmdpi_engine_create(long param_1)
 
 {
-  long *plVar1;
+  long lVar1;
   int iVar2;
   uint uVar3;
   int *piVar4;
   undefined8 uVar5;
   int *piVar6;
-  long lVar7;
-  void *pvVar8;
+  void *pvVar7;
+  long lVar8;
   long lVar9;
-  void *pvVar10;
-  long lVar11;
-  ulong uVar12;
-  undefined8 *puVar13;
-  uint uVar14;
+  ulong uVar10;
+  undefined1 (*pauVar11) [16];
   size_t __n;
+  undefined8 *puVar12;
+  uint uVar13;
+  void *pvVar14;
   bool bVar15;
   byte bVar16;
   undefined **local_48;
   code *local_40;
   
   bVar16 = 0;
   LOCK();
   bVar15 = DAT_0 == 0;
   if (bVar15) {
     DAT_0 = 1;
   }
   UNLOCK();
   if (bVar15) {
-    (*(code *)PTR_FUN_001d35a8)(&DAT_1,"qmdpi_engine_global_init");
+    (*(code *)PTR_FUN_001f7948)(&DAT_1,"qmdpi_engine_global_init");
   }
   if (DAT_2 == 0) {
-    piVar4 = (int *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(0x580);
+    piVar4 = (int *)(*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(0x640);
   }
   else {
-    piVar4 = (int *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x580,0xff000000,0x5b);
+    piVar4 = (int *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0x640,0xff000000,0x5b);
   }
   if (piVar4 == (int *)0x0) {
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
+    lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar8 + 0x30) = 0xfffffffb;
     return (int *)0x0;
   }
   piVar4[0] = 0;
   piVar4[1] = 0;
-  piVar4[0x15e] = 0;
-  piVar4[0x15f] = 0;
-  puVar13 = (undefined8 *)((ulong)(piVar4 + 2) & 0xfffffffffffffff8);
-  for (uVar12 = (ulong)(((int)piVar4 - (int)(undefined8 *)((ulong)(piVar4 + 2) & 0xfffffffffffffff8)
-                        ) + 0x580U >> 3); uVar12 != 0; uVar12 = uVar12 - 1) {
-    *puVar13 = 0;
-    puVar13 = puVar13 + (ulong)bVar16 * -2 + 1;
-  }
-  FUN_00195480(piVar4);
-  if ((param_1 == 0) ||
-     ((iVar2 = FUN_001955c0(piVar4,param_1), -1 < iVar2 &&
-      (iVar2 = FUN_00195760(piVar4), -1 < iVar2)))) {
-    uVar5 = FUN_00195560(piVar4);
-    iVar2 = FUN_00181e50(uVar5);
+  piVar4[0x18e] = 0;
+  piVar4[399] = 0;
+  puVar12 = (undefined8 *)((ulong)(piVar4 + 2) & 0xfffffffffffffff8);
+  for (uVar10 = (ulong)(((int)piVar4 - (int)(undefined8 *)((ulong)(piVar4 + 2) & 0xfffffffffffffff8)
+                        ) + 0x640U >> 3); uVar10 != 0; uVar10 = uVar10 - 1) {
+    *puVar12 = 0;
+    puVar12 = puVar12 + (ulong)bVar16 * -2 + 1;
+  }
+  FUN_0018f660(piVar4);
+  if (param_1 == 0) {
+LAB_3:
+    uVar5 = FUN_0018f8d0(piVar4);
+    iVar2 = FUN_00173560(uVar5);
     if (iVar2 == 0) {
-      piVar6 = (int *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+      piVar6 = (int *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(int **)(piVar6 + 2) = piVar4;
       piVar6[4] = 0;
       piVar6[5] = 0;
       piVar6[6] = 0;
       piVar6[7] = 0;
       piVar6[10] = 0;
       piVar6[0xb] = 0;
       iVar2 = *piVar4;
       piVar6[1] = 0;
       *piVar6 = iVar2;
-      lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      lVar9 = *(long *)(lVar7 + 8);
-      if ((lVar9 != 0) && (DAT_2 == 0)) {
-        if (*(long *)(lVar7 + 0x10) == 0) {
-          *(long *)(lVar9 + 0x550) = *(long *)(lVar9 + 0x550) + 0x580;
+      iVar2 = DAT_2;
+      piVar6[0xd] = -1;
+      if (((iVar2 == 0) && (lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar8 != 0)) &&
+         (lVar9 = *(long *)(lVar8 + 8), lVar9 != 0)) {
+        if (*(long *)(lVar8 + 0x10) == 0) {
+          *(long *)(lVar9 + 0x610) = *(long *)(lVar9 + 0x610) + 0x640;
         }
         else {
-          plVar1 = (long *)(*(long *)(lVar9 + 0x438) + (ulong)*(uint *)(lVar7 + 4) * 8);
-          *plVar1 = *plVar1 + 0x580;
+          LOCK();
+          *(long *)(lVar9 + 0x4f0) = *(long *)(lVar9 + 0x4f0) + 0x640;
+          UNLOCK();
         }
       }
-      (*(code *)PTR_pthread_spin_lock_001d35c0)(&DAT_1);
-      __n = (size_t)DAT_3;
-      if (DAT_3 == 0) {
-        DAT_3 = 0x800;
+      (*(code *)PTR_pthread_spin_lock_001f7960)(&DAT_1);
+      __n = (size_t)DAT_4;
+      pvVar14 = DAT_5;
+      if (DAT_4 == 0) {
         __n = 0x800;
-      }
-      pvVar10 = DAT_4;
-      uVar14 = DAT_3;
-      if (DAT_4 == (void *)0x0) {
+        DAT_4 = 0x800;
+        uVar10 = 0x800;
+        uVar13 = 0x800;
+        if (DAT_5 == (void *)0x0) goto LAB_0017cd90;
+LAB_7:
+        pvVar7 = memchr(pvVar14,0,__n);
+        if (pvVar7 == (void *)0x0) {
+          iVar2 = -0x1b;
+          (*(code *)PTR_pthread_spin_unlock_001f7968)(&DAT_1);
+          goto LAB_8;
+        }
+        uVar3 = (uint)((long)pvVar7 - (long)pvVar14);
+        iVar2 = uVar3 + 1;
+        if (iVar2 != 0 && uVar3 < uVar13) {
+          *(undefined1 *)((long)pvVar14 + ((long)pvVar7 - (long)pvVar14 & 0xffffffffU)) = 1;
+        }
+        (*(code *)PTR_pthread_spin_unlock_001f7968)(&DAT_1);
+        if (iVar2 < 0) goto LAB_8;
+        *piVar4 = iVar2;
+        piVar4[0x17a] = 1;
+        piVar4[0x17b] = 0;
+        piVar4[0x13c] = 0;
+        piVar4[0x13d] = 0;
+        lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
         if (DAT_2 == 0) {
-          DAT_4 = (void *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(__n);
+          lVar8 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)();
         }
         else {
-          DAT_4 = (void *)(*(code *)PTR_qm_malloc_default_001d3558)
-                                           (1,DAT_3,0xff000000,0x5b);
-        }
-        if (DAT_4 != (void *)0x0) {
-          uVar12 = (ulong)DAT_3;
-          lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar9 = *(long *)(lVar7 + 8);
-          if ((lVar9 != 0) && (DAT_2 == 0)) {
-            if (*(long *)(lVar7 + 0x10) == 0) {
-              *(long *)(lVar9 + 0x550) = *(long *)(lVar9 + 0x550) + uVar12;
+          lVar8 = (*(code *)PTR_qm_malloc_default_001f78f8)
+                            (1,(*(long *)(*(long *)(lVar8 + 8) + 0x2f0) * 8 + 0x47U &
+                               0xffffffffffffffc0) + 0x40 & 0xffffffff,0xff000000,0x5b);
+        }
+        if (lVar8 == 0) {
+          piVar4[0x178] = 0;
+          piVar4[0x179] = 0;
+          lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          *(undefined4 *)(lVar8 + 0x30) = 0xfffffffb;
+        }
+        else {
+          uVar10 = lVar8 + 0x47U & 0xffffffffffffffc0;
+          *(long *)(uVar10 - 8) = lVar8;
+          *(ulong *)(piVar4 + 0x178) = uVar10;
+          lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          memset(*(void **)(piVar4 + 0x178),0,*(long *)(*(long *)(lVar8 + 8) + 0x2f0) * 8 + 8);
+          lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          lVar8 = *(long *)(*(long *)(lVar8 + 8) + 0x2f0);
+          if (((DAT_2 == 0) &&
+              (lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar9 != 0)) &&
+             (lVar1 = *(long *)(lVar9 + 8), lVar1 != 0)) {
+            lVar8 = lVar8 * 8 + 8;
+            if (*(long *)(lVar9 + 0x10) == 0) {
+              *(long *)(lVar1 + 0x610) = *(long *)(lVar1 + 0x610) + lVar8;
             }
             else {
-              plVar1 = (long *)(*(long *)(lVar9 + 0x438) + (ulong)*(uint *)(lVar7 + 4) * 8);
-              *plVar1 = *plVar1 + uVar12;
-            }
-          }
-          pvVar10 = DAT_4;
-          uVar14 = DAT_3;
-          __n = (size_t)DAT_3;
-          memset(DAT_4,0,__n);
-          goto LAB_5;
-        }
-        iVar2 = -5;
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(&DAT_1);
-LAB_6:
-        lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(int *)(lVar9 + 0x30) = iVar2;
-      }
-      else {
-LAB_5:
-        pvVar8 = memchr(pvVar10,0,__n);
-        if (pvVar8 == (void *)0x0) {
-          iVar2 = -0x1b;
-          (*(code *)PTR_pthread_spin_unlock_001d35c8)(&DAT_1);
-          goto LAB_6;
-        }
-        uVar3 = (uint)((long)pvVar8 - (long)pvVar10);
-        iVar2 = uVar3 + 1;
-        if ((uVar3 != 0xffffffff) && (uVar3 < uVar14)) {
-          *(undefined1 *)((long)pvVar10 + ((long)pvVar8 - (long)pvVar10 & 0xffffffffU)) = 1;
-        }
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(&DAT_1);
-        if (iVar2 < 0) goto LAB_6;
-        *piVar4 = iVar2;
-        piVar4[0x14a] = 1;
-        piVar4[0x14b] = 0;
-        lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        if (DAT_2 == 0) {
-          lVar9 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)();
-        }
-        else {
-          lVar9 = (*(code *)PTR_qm_malloc_default_001d3558)
-                            (1,(*(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 8 + 0x47U &
-                               0xffffffffffffffc0) + 0x40 & 0xffffffff,0xff000000,0x5b);
-        }
-        if (lVar9 == 0) {
-          piVar4[0x148] = 0;
-          piVar4[0x149] = 0;
-LAB_7:
-          lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
-        }
-        else {
-          uVar12 = lVar9 + 0x47U & 0xffffffffffffffc0;
-          *(long *)(uVar12 - 8) = lVar9;
-          *(ulong *)(piVar4 + 0x148) = uVar12;
-          lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          pvVar10 = memset(*(void **)(piVar4 + 0x148),0,
-                           *(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 8 + 8);
-          if (pvVar10 == (void *)0x0) goto LAB_7;
-          lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-          lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar7 = *(long *)(lVar11 + 8);
-          if ((lVar7 != 0) && (DAT_2 == 0)) {
-            lVar9 = lVar9 * 8 + 8;
-            if (*(long *)(lVar11 + 0x10) == 0) {
-              *(long *)(lVar7 + 0x550) = *(long *)(lVar7 + 0x550) + lVar9;
+              LOCK();
+              *(long *)(lVar1 + 0x4f0) = *(long *)(lVar1 + 0x4f0) + lVar8;
+              UNLOCK();
+            }
+          }
+          lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          if (DAT_2 == 0) {
+            lVar8 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)();
+          }
+          else {
+            lVar8 = (*(code *)PTR_qm_malloc_default_001f78f8)
+                              (1,(*(long *)(*(long *)(lVar8 + 8) + 0x2f0) * 8 + 0x47U &
+                                 0xffffffffffffffc0) + 0x40 & 0xffffffff,0xff000000,0x5b);
+          }
+          if (lVar8 == 0) {
+            piVar4[0x13e] = 0;
+            piVar4[0x13f] = 0;
+            lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+            *(undefined4 *)(lVar8 + 0x30) = 0xfffffffb;
+LAB_9:
+            uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x178) + -8);
+            if (DAT_2 != 0) goto LAB_0017ceea;
+            (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(uVar5);
+          }
+          else {
+            uVar10 = lVar8 + 0x47U & 0xffffffffffffffc0;
+            *(long *)(uVar10 - 8) = lVar8;
+            *(ulong *)(piVar4 + 0x13e) = uVar10;
+            lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+            memset(*(void **)(piVar4 + 0x13e),0,*(long *)(*(long *)(lVar8 + 8) + 0x2f0) * 8 + 8);
+            lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+            lVar8 = *(long *)(*(long *)(lVar8 + 8) + 0x2f0);
+            if (((DAT_2 == 0) &&
+                (lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar9 != 0)) &&
+               (lVar1 = *(long *)(lVar9 + 8), lVar1 != 0)) {
+              lVar8 = lVar8 * 8 + 8;
+              if (*(long *)(lVar9 + 0x10) == 0) {
+                *(long *)(lVar1 + 0x610) = *(long *)(lVar1 + 0x610) + lVar8;
+              }
+              else {
+                LOCK();
+                *(long *)(lVar1 + 0x4f0) = *(long *)(lVar1 + 0x4f0) + lVar8;
+                UNLOCK();
+              }
+            }
+            (*(code *)PTR_pthread_spin_lock_001f7960)(&DAT_1);
+            iVar2 = FUN_00176aa0(piVar4);
+            (*(code *)PTR_pthread_spin_unlock_001f7968)(&DAT_1);
+            if (iVar2 < 0) {
+              lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+              *(int *)(lVar8 + 0x30) = iVar2;
             }
             else {
-              plVar1 = (long *)(*(long *)(lVar7 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-              *plVar1 = *plVar1 + lVar9;
-            }
-          }
-          lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          if (DAT_2 == 0) {
-            lVar9 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)();
-          }
-          else {
-            lVar9 = (*(code *)PTR_qm_malloc_default_001d3558)
-                              (1,(*(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 8 + 0x47U &
-                                 0xffffffffffffffc0) + 0x40 & 0xffffffff,0xff000000,0x5b);
-          }
-          if (lVar9 == 0) {
-            piVar4[0x10e] = 0;
-            piVar4[0x10f] = 0;
-LAB_8:
-            lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
-LAB_9:
-            uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x148) + -8);
-            if (DAT_2 == 0) goto LAB_00185340;
-LAB_11:
-            (*(code *)PTR_qm_free_default_001d3560)(uVar5,0xff000000,0x5b);
-          }
-          else {
-            uVar12 = lVar9 + 0x47U & 0xffffffffffffffc0;
-            *(long *)(uVar12 - 8) = lVar9;
-            *(ulong *)(piVar4 + 0x10e) = uVar12;
-            lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            pvVar10 = memset(*(void **)(piVar4 + 0x10e),0,
-                             *(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 8 + 8);
-            if (pvVar10 == (void *)0x0) goto LAB_8;
-            lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-            lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            lVar7 = *(long *)(lVar11 + 8);
-            if ((lVar7 != 0) && (DAT_2 == 0)) {
-              lVar9 = lVar9 * 8 + 8;
-              if (*(long *)(lVar11 + 0x10) == 0) {
-                *(long *)(lVar7 + 0x550) = *(long *)(lVar7 + 0x550) + lVar9;
+              local_48 = &PTR_DAT_11;
+              local_40 = FUN_001b58e0;
+              iVar2 = FUN_001b6ac0(piVar4,&local_48,1);
+              if (iVar2 < 0) {
+                lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+                *(int *)(lVar8 + 0x30) = iVar2;
               }
               else {
-                plVar1 = (long *)(*(long *)(lVar7 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-                *plVar1 = *plVar1 + lVar9;
-              }
-            }
-            lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            if (DAT_2 == 0) {
-              lVar9 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)();
-            }
-            else {
-              lVar9 = (*(code *)PTR_qm_malloc_default_001d3558)
-                                (1,(*(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 8 + 0x47U &
-                                   0xffffffffffffffc0) + 0x40 & 0xffffffff,0xff000000,0x5b);
-            }
-            if (lVar9 == 0) {
-              piVar4[0x10c] = 0;
-              piVar4[0x10d] = 0;
-LAB_12:
-              lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-              *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
-LAB_13:
-              uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x10e) + -8);
-              if (DAT_2 == 0) goto LAB_001853e0;
-LAB_15:
-              (*(code *)PTR_qm_free_default_001d3560)(uVar5,0xff000000,0x5b);
-            }
-            else {
-              uVar12 = lVar9 + 0x47U & 0xffffffffffffffc0;
-              *(long *)(uVar12 - 8) = lVar9;
-              *(ulong *)(piVar4 + 0x10c) = uVar12;
-              lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-              pvVar10 = memset(*(void **)(piVar4 + 0x10c),0,
-                               *(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 8 + 8);
-              if (pvVar10 == (void *)0x0) goto LAB_12;
-              lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-              lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-              lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-              lVar7 = *(long *)(lVar11 + 8);
-              if ((lVar7 != 0) && (DAT_2 == 0)) {
-                lVar9 = lVar9 * 8 + 8;
-                if (*(long *)(lVar11 + 0x10) == 0) {
-                  *(long *)(lVar7 + 0x550) = *(long *)(lVar7 + 0x550) + lVar9;
+                FUN_00188e20();
+                (*(code *)PTR_pthread_spin_lock_001f7960)(piVar4 + 0x164);
+                piVar4[0x156] = 0;
+                piVar4[0x157] = 0;
+                piVar4[0x158] = 0;
+                piVar4[0x159] = 0;
+                piVar4[0x15a] = 0;
+                (*(code *)PTR_pthread_spin_unlock_001f7968)(piVar4 + 0x164);
+                (*(code *)PTR_pthread_spin_lock_001f7960)(piVar4 + 0x170);
+                piVar4[0x15c] = 0;
+                piVar4[0x15d] = 0;
+                piVar4[0x15e] = 0;
+                piVar4[0x15f] = 0;
+                piVar4[0x160] = 0;
+                (*(code *)PTR_pthread_spin_unlock_001f7968)(piVar4 + 0x170);
+                if (DAT_2 == 0) {
+                  lVar8 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(0x80);
                 }
                 else {
-                  plVar1 = (long *)(*(long *)(lVar7 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-                  *plVar1 = *plVar1 + lVar9;
+                  lVar8 = (*(code *)PTR_qm_malloc_default_001f78f8)(1,0x80,0xff000000,0x5b);
                 }
-              }
-              (*(code *)PTR_pthread_spin_lock_001d35c0)(&DAT_1);
-              iVar2 = FUN_0018c9d0(piVar4);
-              (*(code *)PTR_pthread_spin_unlock_001d35c8)(&DAT_1);
-              if (iVar2 < 0) {
-                lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-                *(int *)(lVar9 + 0x30) = iVar2;
-              }
-              else {
-                local_48 = &PTR_DAT_16;
-                local_40 = FUN_001660d0;
-                iVar2 = FUN_00166180(piVar4,&local_48,1);
-                if (-1 < iVar2) {
-                  FUN_00191130();
-                  (*(code *)PTR_pthread_spin_lock_001d35c0)(piVar4 + 0x134);
-                  piVar4[0x126] = 0;
-                  piVar4[0x127] = 0;
-                  piVar4[0x128] = 0;
-                  piVar4[0x129] = 0;
-                  piVar4[0x12a] = 0;
-                  (*(code *)PTR_pthread_spin_unlock_001d35c8)(piVar4 + 0x134);
-                  (*(code *)PTR_pthread_spin_lock_001d35c0)(piVar4 + 0x140);
-                  piVar4[300] = 0;
-                  piVar4[0x12d] = 0;
-                  piVar4[0x12e] = 0;
-                  piVar4[0x12f] = 0;
-                  piVar4[0x130] = 0;
-                  (*(code *)PTR_pthread_spin_unlock_001d35c8)(piVar4 + 0x140);
-                  piVar4[0x122] = 1;
+                if (lVar8 != 0) {
+                  pauVar11 = (undefined1 (*) [16])(lVar8 + 0x47U & 0xffffffffffffffc0);
+                  *(long *)(pauVar11[-1] + 8) = lVar8;
+                  *(undefined1 (**) [16])(piVar4 + 0x168) = pauVar11;
+                  *(undefined8 *)pauVar11[1] = 0;
+                  *pauVar11 = (undefined1  [16])0x0;
+                  FUN_001b23a0(piVar4);
+                  piVar4[0x152] = 1;
+                  piVar6[10] = 0;
+                  piVar6[0xb] = 0;
+                  piVar6[0] = 0;
+                  piVar6[1] = 0;
                   piVar6[2] = 0;
                   piVar6[3] = 0;
                   piVar6[4] = 0;
                   piVar6[5] = 0;
                   piVar6[6] = 0;
                   piVar6[7] = 0;
-                  piVar6[10] = 0;
-                  piVar6[0xb] = 0;
-                  *piVar6 = 0;
-                  piVar6[1] = 0;
+                  piVar6[0xd] = -1;
                   return piVar4;
                 }
-                lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-                *(int *)(lVar9 + 0x30) = iVar2;
-                (*(code *)PTR_pthread_spin_lock_001d35c0)(&DAT_1);
-                FUN_0018ca40(piVar4);
-                (*(code *)PTR_pthread_spin_unlock_001d35c8)(&DAT_1);
-              }
-              if (DAT_2 == 0) {
-                (*(code *)PTR_thunk_FUN_00137060_001d3760)
-                          (*(undefined8 *)(*(long *)(piVar4 + 0x10c) + -8));
-              }
-              else {
-                (*(code *)PTR_qm_free_default_001d3560)
-                          (*(undefined8 *)(*(long *)(piVar4 + 0x10c) + -8),0xff000000,0x5b);
-              }
-              piVar4[0x10c] = 0;
-              piVar4[0x10d] = 0;
-              lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-              lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-              lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-              lVar7 = *(long *)(lVar11 + 8);
-              if (lVar7 == 0) goto LAB_13;
-              if (DAT_2 != 0) {
-                uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x10e) + -8);
-                goto LAB_15;
-              }
-              lVar9 = lVar9 * 8 + 8;
-              if (*(long *)(lVar11 + 0x10) != 0) {
-                plVar1 = (long *)(*(long *)(lVar7 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-                *plVar1 = *plVar1 - lVar9;
-                goto LAB_13;
-              }
-              *(long *)(lVar7 + 0x550) = *(long *)(lVar7 + 0x550) - lVar9;
-              uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x10e) + -8);
-LAB_14:
-              (*(code *)PTR_thunk_FUN_00137060_001d3760)(uVar5);
-            }
-            piVar4[0x10e] = 0;
-            piVar4[0x10f] = 0;
-            lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-            lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-            lVar7 = *(long *)(lVar11 + 8);
-            if (lVar7 == 0) goto LAB_9;
-            if (DAT_2 != 0) {
-              uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x148) + -8);
-              goto LAB_11;
-            }
-            lVar9 = lVar9 * 8 + 8;
-            if (*(long *)(lVar11 + 0x10) != 0) {
-              plVar1 = (long *)(*(long *)(lVar7 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-              *plVar1 = *plVar1 - lVar9;
+                piVar4[0x168] = 0;
+                piVar4[0x169] = 0;
+                lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+                *(undefined4 *)(lVar8 + 0x30) = 0xfffffffb;
+                FUN_001b6c40(piVar4);
+              }
+              (*(code *)PTR_pthread_spin_lock_001f7960)(&DAT_1);
+              FUN_00176b10(piVar4);
+              (*(code *)PTR_pthread_spin_unlock_001f7968)(&DAT_1);
+            }
+            if (DAT_2 == 0) {
+              (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)
+                        (*(undefined8 *)(*(long *)(piVar4 + 0x13e) + -8));
+            }
+            else {
+              (*(code *)PTR_qm_free_default_001f7900)
+                        (*(undefined8 *)(*(long *)(piVar4 + 0x13e) + -8),0xff000000,0x5b);
+            }
+            piVar4[0x13e] = 0;
+            piVar4[0x13f] = 0;
+            lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+            lVar8 = *(long *)(*(long *)(lVar8 + 8) + 0x2f0);
+            if (DAT_2 == 0) {
+              lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+              if ((lVar9 != 0) && (lVar1 = *(long *)(lVar9 + 8), lVar1 != 0)) {
+                lVar8 = lVar8 * 8 + 8;
+                if (*(long *)(lVar9 + 0x10) == 0) {
+                  *(long *)(lVar1 + 0x610) = *(long *)(lVar1 + 0x610) - lVar8;
+                }
+                else {
+                  LOCK();
+                  *(long *)(lVar1 + 0x4f0) = *(long *)(lVar1 + 0x4f0) - lVar8;
+                  UNLOCK();
+                }
+              }
               goto LAB_9;
             }
-            *(long *)(lVar7 + 0x550) = *(long *)(lVar7 + 0x550) - lVar9;
-            uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x148) + -8);
+            uVar5 = *(undefined8 *)(*(long *)(piVar4 + 0x178) + -8);
 LAB_10:
-            (*(code *)PTR_thunk_FUN_00137060_001d3760)(uVar5);
-          }
-          piVar4[0x148] = 0;
-          piVar4[0x149] = 0;
-          lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-          lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          lVar7 = *(long *)(lVar11 + 8);
-          if ((lVar7 != 0) && (DAT_2 == 0)) {
-            lVar9 = lVar9 * 8 + 8;
-            if (*(long *)(lVar11 + 0x10) == 0) {
-              *(long *)(lVar7 + 0x550) = *(long *)(lVar7 + 0x550) - lVar9;
+            (*(code *)PTR_qm_free_default_001f7900)(uVar5,0xff000000,0x5b);
+          }
+          piVar4[0x178] = 0;
+          piVar4[0x179] = 0;
+          lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          lVar8 = *(long *)(*(long *)(lVar8 + 8) + 0x2f0);
+          if (((DAT_2 == 0) &&
+              (lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar9 != 0)) &&
+             (lVar1 = *(long *)(lVar9 + 8), lVar1 != 0)) {
+            lVar8 = lVar8 * 8 + 8;
+            if (*(long *)(lVar9 + 0x10) == 0) {
+              *(long *)(lVar1 + 0x610) = *(long *)(lVar1 + 0x610) - lVar8;
             }
             else {
-              plVar1 = (long *)(*(long *)(lVar7 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-              *plVar1 = *plVar1 - lVar9;
-            }
-          }
-        }
+              LOCK();
+              *(long *)(lVar1 + 0x4f0) = *(long *)(lVar1 + 0x4f0) - lVar8;
+              UNLOCK();
+            }
+          }
+        }
+        piVar6[10] = 0;
+        piVar6[0xb] = 0;
+        piVar6[0] = 0;
+        piVar6[1] = 0;
         piVar6[2] = 0;
         piVar6[3] = 0;
         piVar6[4] = 0;
         piVar6[5] = 0;
         piVar6[6] = 0;
         piVar6[7] = 0;
-        piVar6[10] = 0;
-        piVar6[0xb] = 0;
-        *piVar6 = 0;
-        piVar6[1] = 0;
-        FUN_00181e60();
+        piVar6[0xd] = -1;
+        FUN_00173570();
       }
-      FUN_00184410(*piVar4);
+      else {
+        uVar10 = __n;
+        uVar13 = DAT_4;
+        if (DAT_5 != (void *)0x0) goto LAB_0017c915;
+LAB_6:
+        if (DAT_2 == 0) {
+          DAT_5 = (void *)(*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(uVar10);
+        }
+        else {
+          DAT_5 = (void *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,uVar10,0xff000000,0x5b)
+          ;
+        }
+        if (DAT_5 != (void *)0x0) {
+          __n = (size_t)DAT_4;
+          if (DAT_2 == 0) {
+            lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+            if ((lVar8 != 0) && (lVar9 = *(long *)(lVar8 + 8), lVar9 != 0)) {
+              if (*(long *)(lVar8 + 0x10) == 0) {
+                *(long *)(lVar9 + 0x610) = *(long *)(lVar9 + 0x610) + __n;
+                __n = (size_t)DAT_4;
+                goto LAB_12;
+              }
+              LOCK();
+              *(long *)(lVar9 + 0x4f0) = *(long *)(lVar9 + 0x4f0) + __n;
+              UNLOCK();
+            }
+            __n = (size_t)DAT_4;
+          }
+LAB_12:
+          pvVar14 = DAT_5;
+          uVar13 = DAT_4;
+          memset(DAT_5,0,__n);
+          goto LAB_7;
+        }
+        iVar2 = -5;
+        (*(code *)PTR_pthread_spin_unlock_001f7968)(&DAT_1);
+LAB_8:
+        lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        *(int *)(lVar8 + 0x30) = iVar2;
+      }
+      FUN_0017c070(*piVar4);
     }
     else {
-      lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
+      lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar8 + 0x30) = 0xfffffffb;
     }
   }
   else {
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(int *)(lVar9 + 0x30) = iVar2;
-  }
-  lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  lVar9 = *(long *)(lVar7 + 8);
-  if (lVar9 == 0) {
-LAB_17:
-    if (DAT_2 != 0) {
-LAB_18:
-      (*(code *)PTR_qm_free_default_001d3560)(piVar4,0xff000000,0x5b);
-      goto LAB_19;
+    iVar2 = FUN_0018f950(piVar4,param_1);
+    if ((-1 < iVar2) && (iVar2 = FUN_0018fae0(piVar4), -1 < iVar2)) {
+      FUN_001a6fa0(piVar4);
+      goto LAB_3;
     }
-  }
-  else {
-    if (DAT_2 != 0) goto LAB_00185448;
-    if (*(long *)(lVar7 + 0x10) != 0) {
-      plVar1 = (long *)(*(long *)(lVar9 + 0x438) + (ulong)*(uint *)(lVar7 + 4) * 8);
-      *plVar1 = *plVar1 + -0x580;
-      goto LAB_17;
+    lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(int *)(lVar8 + 0x30) = iVar2;
+  }
+  if (DAT_2 == 0) {
+    lVar8 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    if ((lVar8 != 0) && (lVar9 = *(long *)(lVar8 + 8), lVar9 != 0)) {
+      if (*(long *)(lVar8 + 0x10) == 0) {
+        *(long *)(lVar9 + 0x610) = *(long *)(lVar9 + 0x610) + -0x640;
+      }
+      else {
+        LOCK();
+        *(long *)(lVar9 + 0x4f0) = *(long *)(lVar9 + 0x4f0) + -0x640;
+        UNLOCK();
+      }
     }
-    *(long *)(lVar9 + 0x550) = *(long *)(lVar9 + 0x550) + -0x580;
-  }
-  (*(code *)PTR_thunk_FUN_00137060_001d3760)(piVar4);
-LAB_19:
-  FUN_00184470();
+    if (DAT_2 == 0) {
+      (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(piVar4);
+      goto LAB_13;
+    }
+  }
+  (*(code *)PTR_qm_free_default_001f7900)(piVar4,0xff000000,0x5b);
+LAB_13:
+  FUN_0017c0c0();
   return (int *)0x0;
 }
 

qmdpi_license_dump

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.46
i_ratio 0.46
m_ratio 0.94
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_license_dump qmdpi_license_dump
fullname qmdpi_license_dump qmdpi_license_dump
refcount 3 3
length 180 160
called FUN_00186bd0
FUN_0019efd0
FUN_0017e8d0
FUN_001ba030
calling
paramcount 0 0
address 00186ff0 0017ed30
sig undefined qmdpi_license_dump(void) undefined qmdpi_license_dump(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_license_dump Called Diff

--- qmdpi_license_dump called
+++ qmdpi_license_dump called
@@ -1,2 +1,2 @@
-FUN_00186bd0
-FUN_0019efd0
+FUN_0017e8d0
+FUN_001ba030

qmdpi_license_dump Diff

--- qmdpi_license_dump
+++ qmdpi_license_dump
@@ -1,37 +1,38 @@
 
 undefined8 qmdpi_license_dump(undefined8 param_1,code *param_2)
 
 {
   int iVar1;
   undefined8 uVar2;
   undefined1 auStack_f8 [16];
   long *local_e8;
   undefined1 local_d8 [12];
   undefined4 local_cc;
   undefined4 local_c8;
   undefined4 local_c4;
   long local_b8;
   long local_b0;
   undefined1 local_a8 [144];
   
-  if (param_2 == (code *)0x0) {
-    return 0xffffffff;
+  if (param_2 != (code *)0x0) {
+    local_e8 = &local_b8;
+    iVar1 = FUN_001ba030(auStack_f8);
+    if (iVar1 < 0) {
+      uVar2 = 0xffffffff;
+    }
+    else {
+      (*param_2)(param_1,"Serial Number: %s\n",local_a8);
+      FUN_0017e8d0(local_d8,&local_b8);
+      if (local_b0 == 0 && local_b8 == 0) {
+        (*param_2)(param_1,"Expiration date: none\n");
+      }
+      else {
+        (*param_2)(param_1,"Expiration date (DD-MM-YYYY): %d-%d-%d\n",local_cc,local_c8,local_c4);
+      }
+      uVar2 = 0;
+    }
+    return uVar2;
   }
-  local_e8 = &local_b8;
-  iVar1 = FUN_0019efd0(auStack_f8);
-  if (iVar1 < 0) {
-    uVar2 = 0xffffffff;
-  }
-  else {
-    (*param_2)(param_1,"Serial Number: %s\n",local_a8);
-    FUN_00186bd0(local_d8,&local_b8);
-    if ((local_b8 == 0) && (local_b0 == 0)) {
-      (*param_2)(param_1,"Expiration date: none\n");
-      return 0;
-    }
-    (*param_2)(param_1,"Expiration date (DD-MM-YYYY): %d-%d-%d\n",local_cc,local_c8,local_c4);
-    uVar2 = 0;
-  }
-  return uVar2;
+  return 0xffffffff;
 }
 

qmdpi_packet_hashkey_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.38
i_ratio 0.17
m_ratio 0.81
b_ratio 0.44
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_packet_hashkey_get qmdpi_packet_hashkey_get
fullname qmdpi_packet_hashkey_get qmdpi_packet_hashkey_get
refcount 3 3
length 114 84
called FUN_0019bdb0
thunk_FUN_00181e30
FUN_0017fb20
thunk_FUN_00173540
calling
paramcount 0 0
address 0019c2b0 00180060
sig undefined qmdpi_packet_hashkey_get(void) undefined qmdpi_packet_hashkey_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_packet_hashkey_get Called Diff

--- qmdpi_packet_hashkey_get called
+++ qmdpi_packet_hashkey_get called
@@ -1,2 +1,2 @@
-FUN_0019bdb0
-thunk_FUN_00181e30
+FUN_0017fb20
+thunk_FUN_00173540

qmdpi_packet_hashkey_get Diff

--- qmdpi_packet_hashkey_get
+++ qmdpi_packet_hashkey_get
@@ -1,23 +1,20 @@
 
-int qmdpi_packet_hashkey_get(long param_1,int param_2,undefined4 param_3)
+undefined8 qmdpi_packet_hashkey_get(long param_1,int param_2,undefined4 param_3)
 
 {
-  int iVar1;
-  long lVar2;
-  undefined4 local_c;
+  long lVar1;
+  undefined8 uVar2;
+  undefined4 local_c [3];
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    local_c = 1;
-    iVar1 = FUN_0019bdb0(param_3,param_1,(long)param_2,&local_c);
-    if (iVar1 != 0) {
-      return iVar1;
+  if (param_1 != 0 && param_2 != 0) {
+    local_c[0] = 1;
+    uVar2 = FUN_0017fb20(param_3,param_1,(long)param_2,local_c);
+    if ((int)uVar2 != 0) {
+      return uVar2;
     }
-    lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
-    return 0;
   }
-  lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
+  lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
   return 0;
 }
 

qmdpi_bundle_signature_upper_add

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.46
i_ratio 0.46
m_ratio 0.99
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_upper_add qmdpi_bundle_signature_upper_add
fullname qmdpi_bundle_signature_upper_add qmdpi_bundle_signature_upper_add
refcount 3 3
length 331 323
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 00183f60 001745f0
sig undefined qmdpi_bundle_signature_upper_add(void) undefined qmdpi_bundle_signature_upper_add(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_upper_add Called Diff

--- qmdpi_bundle_signature_upper_add called
+++ qmdpi_bundle_signature_upper_add called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_signature_upper_add Diff

--- qmdpi_bundle_signature_upper_add
+++ qmdpi_bundle_signature_upper_add
@@ -1,45 +1,43 @@
 
 undefined4
 qmdpi_bundle_signature_upper_add
           (long *param_1,char *param_2,char *param_3,char *param_4,undefined4 param_5,char *param_6)
 
 {
   long lVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   
-  if ((((((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) ||
-        (param_3 == (char *)0x0 || param_4 == (char *)0x0)) ||
-       ((param_6 == (char *)0x0 || (*param_2 == '\0')))) ||
-      ((*param_3 == '\0' || ((*param_4 == '\0' || (*param_6 == '\0')))))) || (*param_1 == 0)) {
+  if ((((param_1 == (long *)0x0 || param_2 == (char *)0x0) ||
+       ((param_3 == (char *)0x0 || param_4 == (char *)0x0) || param_6 == (char *)0x0)) ||
+      (*param_2 == '\0')) ||
+     (((*param_3 == '\0' || (*param_4 == '\0')) || ((*param_6 == '\0' || (*param_1 == 0)))))) {
     uVar2 = 0xffffffff;
   }
   else {
-    FUN_00160640();
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    FUN_0011c550();
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
+    puVar3[2] = 0;
+    puVar3[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = lVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
     uVar2 = (**(code **)(param_1[1] + 0x110))(param_1[9],param_2,param_3,param_4,param_5,param_6);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar2;
 }
 

qmdpi_bundle_pdb_activate

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.53
i_ratio 0.66
m_ratio 0.99
b_ratio 0.97
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_activate qmdpi_bundle_pdb_activate
fullname qmdpi_bundle_pdb_activate qmdpi_bundle_pdb_activate
refcount 3 3
length 205 204
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 001879f0 00175520
sig undefined qmdpi_bundle_pdb_activate(void) undefined qmdpi_bundle_pdb_activate(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_activate Called Diff

--- qmdpi_bundle_pdb_activate called
+++ qmdpi_bundle_pdb_activate called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_pdb_activate Diff

--- qmdpi_bundle_pdb_activate
+++ qmdpi_bundle_pdb_activate
@@ -1,40 +1,38 @@
 
 undefined4 qmdpi_bundle_pdb_activate(undefined8 *param_1)
 
 {
   long *plVar1;
   long lVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   
   if ((param_1 != (undefined8 *)0x0) && (plVar1 = (long *)*param_1, *plVar1 != 0)) {
     plVar1[0xb] = (long)param_1;
-    FUN_00160640();
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    FUN_0011c550();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar2 = *plVar1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar2;
+    puVar4[2] = 0;
+    puVar4[1] = lVar2;
     lVar2 = plVar1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar2;
-    if ((undefined4 *)*plVar1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar2;
+    uVar3 = 0;
+    if ((undefined4 *)*plVar1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*plVar1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     uVar3 = (**(code **)(plVar1[1] + 0x128))(plVar1[9],*(undefined4 *)(param_1 + 1));
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
-    FUN_001606c0(*plVar1);
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*plVar1);
     return uVar3;
   }
   return 0xffffffff;
 }
 

qmdpi_worker_process

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.17
i_ratio 0.25
m_ratio 0.89
b_ratio 0.72
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_process qmdpi_worker_process
fullname qmdpi_worker_process qmdpi_worker_process
refcount 3 3
length 275 348
called FUN_0017c290
FUN_0017e2b0
thunk_FUN_00181e30
FUN_001a4570
FUN_001a4ac0
thunk_FUN_00173540
calling
paramcount 0 0
address 0017f010 001a61e0
sig undefined qmdpi_worker_process(void) undefined qmdpi_worker_process(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_process Called Diff

--- qmdpi_worker_process called
+++ qmdpi_worker_process called
@@ -1,3 +1,3 @@
-FUN_0017c290
-FUN_0017e2b0
-thunk_FUN_00181e30
+FUN_001a4570
+FUN_001a4ac0
+thunk_FUN_00173540

qmdpi_worker_process Diff

--- qmdpi_worker_process
+++ qmdpi_worker_process
@@ -1,47 +1,67 @@
 
-undefined8 qmdpi_worker_process(long *param_1,long param_2,undefined8 *param_3)
+undefined8 qmdpi_worker_process(long *param_1,long param_2,long *param_3)
 
 {
-  long lVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
-  undefined8 uVar4;
+  long *plVar1;
+  int *piVar2;
+  long lVar3;
+  undefined4 uVar4;
+  undefined8 *puVar5;
+  undefined8 uVar6;
   
-  if ((param_3 != (undefined8 *)0x0) && (param_1 != (long *)0x0)) {
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar1 = *param_1;
-    *(long **)(puVar3 + 4) = param_1;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
+  if (param_3 != (long *)0x0 && param_1 != (long *)0x0) {
+    LOCK();
+    piVar2 = (int *)((long)param_1 + 0x224);
+    *piVar2 = *piVar2 + 1;
+    UNLOCK();
+    if (*piVar2 == 0) {
+      puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      lVar3 = *param_1;
+      puVar5[2] = param_1;
+      puVar5[1] = lVar3;
+      uVar4 = 0;
+      puVar5[3] = 0;
+      puVar5[5] = 0;
+      if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+        uVar4 = *(undefined4 *)*param_1;
+      }
+      *(undefined4 *)puVar5 = uVar4;
+      plVar1 = param_1 + 3;
+      *(int *)((long)puVar5 + 4) = (int)param_1[1];
+      *(undefined1 (*) [16])(param_1 + 3) = (undefined1  [16])0x0;
+      param_1[7] = 0;
+      *(undefined1 (*) [16])(param_1 + 5) = (undefined1  [16])0x0;
+      if (*(char *)(*param_1 + 0x310) == '\0') {
+        uVar6 = FUN_001a4ac0(param_1,param_1 + 9,plVar1,puVar5);
+      }
+      else if (((param_2 == 0) || (*(long *)(param_2 + 0x80) == 0)) ||
+              (lVar3 = *(long *)(*(long *)(param_2 + 0x80) + 0x48), lVar3 == 0)) {
+        uVar6 = 0xffffffff;
+      }
+      else {
+        puVar5[3] = lVar3;
+        puVar5[4] = param_2;
+        uVar6 = FUN_001a4570(param_1,param_1 + 9,param_2,plVar1);
+      }
+      *param_3 = (long)plVar1;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      puVar5[5] = 0;
+      *puVar5 = 0;
+      puVar5[1] = 0;
+      puVar5[2] = 0;
+      puVar5[3] = 0;
+      *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
     }
     else {
-      uVar2 = *(undefined4 *)*param_1;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      uVar6 = 0xfffffffa;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = (int)param_1[1];
-    if (*(char *)(*param_1 + 0x310) == '\0') {
-      uVar4 = FUN_0017c290(param_1,param_1 + 9,param_1 + 3,puVar3);
-    }
-    else if (((param_2 == 0) || (*(long *)(param_2 + 0x68) == 0)) ||
-            (lVar1 = *(long *)(*(long *)(param_2 + 0x68) + 0x48), lVar1 == 0)) {
-      uVar4 = 0xffffffff;
-    }
-    else {
-      *(long *)(puVar3 + 6) = lVar1;
-      uVar4 = FUN_0017e2b0(param_1,param_1 + 9,param_2,param_1 + 3);
-    }
-    *param_3 = param_1 + 3;
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *puVar3 = 0;
-    puVar3[1] = 0;
-    return uVar4;
+    return uVar6;
   }
   return 0xffffffff;
 }
 

qmdpi_extralib_activate

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.25
i_ratio 0.34
m_ratio 0.83
b_ratio 0.53
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_extralib_activate qmdpi_extralib_activate
fullname qmdpi_extralib_activate qmdpi_extralib_activate
refcount 3 3
length 279 408
called ::pthread_spin_lock
::pthread_spin_unlock
FUN_00160640
FUN_001606c0
::pthread_spin_lock
::pthread_spin_unlock
FUN_0011c550
FUN_0011c5d0
calling
paramcount 0 0
address 00183e30 00173990
sig undefined qmdpi_extralib_activate(void) undefined qmdpi_extralib_activate(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_extralib_activate Called Diff

--- qmdpi_extralib_activate called
+++ qmdpi_extralib_activate called
@@ -3,2 +3,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0

qmdpi_extralib_activate Diff

--- qmdpi_extralib_activate
+++ qmdpi_extralib_activate
@@ -1,40 +1,63 @@
 
-undefined8 qmdpi_extralib_activate(long *param_1)
+int qmdpi_extralib_activate(long *param_1)
 
 {
-  long lVar1;
+  undefined8 *puVar1;
   long lVar2;
-  undefined8 *puVar3;
-  undefined8 uVar4;
+  long lVar3;
+  long lVar4;
+  int iVar5;
+  undefined8 *puVar6;
   
-  if ((param_1 == (long *)0x0) || (lVar2 = *param_1, lVar2 == 0)) {
-    uVar4 = 0xffffffff;
+  if ((param_1 == (long *)0x0) || (lVar4 = *param_1, lVar4 == 0)) {
+    return -1;
+  }
+  lVar2 = lVar4 + 0x5c0;
+  FUN_0011c550(lVar4);
+  (*(code *)PTR_pthread_spin_lock_001f7960)(lVar2);
+  lVar3 = (ulong)*(byte *)(param_1 + 4) * 8 + -8;
+  if ((byte)(*(byte *)(param_1 + 4) - 1) < 2) {
+    puVar6 = (undefined8 *)(lVar3 + *(long *)(lVar4 + 0x5a0));
+    if ((long *)*puVar6 == param_1) {
+      iVar5 = -1;
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar2);
+      goto LAB_0;
+    }
   }
   else {
-    lVar1 = lVar2 + 0x500;
-    FUN_00160640(lVar2);
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(lVar1);
-    if (param_1 == *(long **)(lVar2 + 0x4e0)) {
-      uVar4 = 0xffffffff;
-      (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar1);
+    puVar6 = (undefined8 *)(lVar3 + *(long *)(lVar4 + 0x5a0));
+  }
+  *puVar6 = param_1;
+  (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar2);
+  (*(code *)PTR_pthread_spin_lock_001f7960)(lVar4 + 0x590);
+  for (puVar6 = *(undefined8 **)(lVar4 + 0x558); puVar6 != (undefined8 *)0x0;
+      puVar6 = (undefined8 *)*puVar6) {
+    (*(code *)PTR_pthread_spin_lock_001f7960)(lVar2);
+    puVar1 = puVar6 + 4;
+    (*(code *)PTR_pthread_spin_lock_001f7960)(puVar1);
+    if ((char)param_1[4] == '\x01') {
+      iVar5 = (**(code **)(puVar6[3] + 0x2c8))
+                        (&DAT_1,"if_qm_engine_ml_etc_predict",param_1[2]);
+LAB_2:
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar2);
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(puVar1);
+      if (iVar5 != 0) goto LAB_3;
     }
     else {
-      *(long **)(lVar2 + 0x4e0) = param_1;
-      (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar1);
-      (*(code *)PTR_pthread_spin_lock_001d35c0)(lVar2 + 0x4d0);
-      for (puVar3 = *(undefined8 **)(lVar2 + 0x498); puVar3 != (undefined8 *)0x0;
-          puVar3 = (undefined8 *)*puVar3) {
-        (*(code *)PTR_pthread_spin_lock_001d35c0)(lVar1);
-        (*(code *)PTR_pthread_spin_lock_001d35c0)(puVar3 + 4);
-        (**(code **)(puVar3[3] + 0x2c8))(&DAT_0,"if_qm_engine_ml_etc_predict",param_1[2]);
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar1);
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(puVar3 + 4);
+      if ((char)param_1[4] == '\x02') {
+        iVar5 = (**(code **)(puVar6[3] + 0x2c8))
+                          (&DAT_1,"if_qm_engine_ml_cla_predict",param_1[3]);
+        goto LAB_2;
       }
-      uVar4 = 0;
-      (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar2 + 0x4d0);
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar2);
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(puVar1);
     }
-    FUN_001606c0(lVar2);
   }
-  return uVar4;
+  iVar5 = 0;
+LAB_3:
+  (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar4 + 0x590);
+LAB_0:
+  FUN_0011c5d0(lVar4);
+  return iVar5;
 }
 

qmdpi_layer_store_insert_entry

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.14
i_ratio 0.22
m_ratio 0.99
b_ratio 0.72
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_insert_entry qmdpi_layer_store_insert_entry
fullname qmdpi_layer_store_insert_entry qmdpi_layer_store_insert_entry
refcount 3 3
length 303 311
called FUN_00192190
FUN_001923f0
thunk_FUN_00181e30
FUN_001896f0
FUN_00189940
thunk_FUN_00173540
calling
paramcount 0 0
address 0018ddd0 00178230
sig undefined qmdpi_layer_store_insert_entry(void) undefined qmdpi_layer_store_insert_entry(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_insert_entry Called Diff

--- qmdpi_layer_store_insert_entry called
+++ qmdpi_layer_store_insert_entry called
@@ -1,3 +1,3 @@
-FUN_00192190
-FUN_001923f0
-thunk_FUN_00181e30
+FUN_001896f0
+FUN_00189940
+thunk_FUN_00173540

qmdpi_layer_store_insert_entry Diff

--- qmdpi_layer_store_insert_entry
+++ qmdpi_layer_store_insert_entry
@@ -1,57 +1,67 @@
 
 undefined8 qmdpi_layer_store_insert_entry(undefined8 *param_1,long param_2,int param_3)
 
 {
-  undefined4 uVar1;
-  undefined4 *puVar2;
-  long lVar3;
-  undefined8 uVar4;
+  int *piVar1;
+  undefined4 uVar2;
+  undefined8 *puVar3;
+  long lVar4;
+  undefined8 uVar5;
   
-  if ((param_2 != 0 && 0 < param_3) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    uVar4 = *param_1;
-    *(undefined8 **)(puVar2 + 4) = param_1;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar4;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
+  if (param_1 == (undefined8 *)0x0 || (param_2 == 0 || param_3 < 0x4d)) {
+    uVar5 = 0xffffffff;
+  }
+  else {
+    LOCK();
+    piVar1 = (int *)((long)param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      uVar5 = *param_1;
+      puVar3[2] = param_1;
+      puVar3[1] = uVar5;
+      uVar2 = 0;
+      puVar3[3] = 0;
+      puVar3[5] = 0;
+      if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+        uVar2 = *(undefined4 *)*param_1;
+      }
+      *(undefined4 *)puVar3 = uVar2;
+      *(undefined4 *)((long)puVar3 + 4) = *(undefined4 *)(param_1 + 1);
+      lVar4 = FUN_001896f0(*param_1,param_2 + 8);
+      if (lVar4 == 0) {
+        puVar3[5] = 0;
+        *puVar3 = 0;
+        puVar3[1] = 0;
+        puVar3[2] = 0;
+        puVar3[3] = 0;
+        *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+        uVar5 = 0xfffffff8;
+      }
+      else {
+        uVar5 = FUN_00189940(lVar4,param_2,param_3);
+        puVar3[5] = 0;
+        *puVar3 = 0;
+        puVar3[1] = 0;
+        puVar3[2] = 0;
+        puVar3[3] = 0;
+        *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+      }
     }
     else {
-      uVar1 = *(undefined4 *)*param_1;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      uVar5 = 0xfffffffa;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = *(undefined4 *)(param_1 + 1);
-    if (param_3 < 0x4d) {
-      *(undefined8 *)(puVar2 + 2) = 0;
-      *(undefined8 *)(puVar2 + 4) = 0;
-      uVar4 = 0xffffffff;
-      *puVar2 = 0;
-      puVar2[1] = 0;
-    }
-    else {
-      lVar3 = FUN_00192190(*param_1,param_2 + 8);
-      if (lVar3 == 0) {
-        *(undefined8 *)(puVar2 + 2) = 0;
-        *(undefined8 *)(puVar2 + 4) = 0;
-        uVar4 = 0xfffffff8;
-        *(undefined8 *)(puVar2 + 6) = 0;
-        *(undefined8 *)(puVar2 + 10) = 0;
-        *puVar2 = 0;
-        puVar2[1] = 0;
-      }
-      else {
-        uVar4 = FUN_001923f0(lVar3,param_2,param_3);
-        *(undefined8 *)(puVar2 + 2) = 0;
-        *(undefined8 *)(puVar2 + 4) = 0;
-        *(undefined8 *)(puVar2 + 6) = 0;
-        *(undefined8 *)(puVar2 + 10) = 0;
-        *puVar2 = 0;
-        puVar2[1] = 0;
-      }
-    }
-    return uVar4;
   }
-  return 0xffffffff;
+  return uVar5;
 }
 

qmdpi_worker_signature_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.34
i_ratio 0.49
m_ratio 0.93
b_ratio 0.48
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_signature_get_byname qmdpi_worker_signature_get_byname
fullname qmdpi_worker_signature_get_byname qmdpi_worker_signature_get_byname
refcount 3 3
length 273 235
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018bb70 00184040
sig undefined qmdpi_worker_signature_get_byname(void) undefined qmdpi_worker_signature_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_signature_get_byname Called Diff

--- qmdpi_worker_signature_get_byname called
+++ qmdpi_worker_signature_get_byname called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_signature_get_byname Diff

--- qmdpi_worker_signature_get_byname
+++ qmdpi_worker_signature_get_byname
@@ -1,53 +1,52 @@
 
 long qmdpi_worker_signature_get_byname(long param_1,undefined8 *param_2,long param_3)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   long lVar4;
-  long lVar5;
-  long local_68;
-  undefined4 local_60;
+  long local_78;
+  undefined4 local_70;
   
-  if ((param_2 != (undefined8 *)0x0) && (param_3 != 0)) {
-    local_60 = 0;
-    local_68 = param_3;
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_2 == (undefined8 *)0x0 || param_3 == 0) {
+    lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
+    lVar4 = 0;
+  }
+  else {
+    local_70 = 0;
+    local_78 = param_3;
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_2;
-    *(long *)(puVar3 + 4) = param_1;
-    *(undefined8 *)(puVar3 + 2) = uVar1;
+    puVar3[2] = param_1;
+    puVar3[1] = uVar1;
     uVar1 = param_2[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar3 = 0;
+    puVar3[5] = 0;
+    puVar3[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar2 = *(undefined4 *)*param_2;
     }
-    else {
-      *puVar3 = *(undefined4 *)*param_2;
-    }
-    if (param_1 == 0) {
-      uVar2 = 0;
-    }
-    else {
+    *(undefined4 *)puVar3 = uVar2;
+    uVar2 = 0;
+    if (param_1 != 0) {
       uVar2 = *(undefined4 *)(param_1 + 8);
     }
-    puVar3[1] = uVar2;
-    lVar4 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_68);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    *(undefined4 *)((long)puVar3 + 4) = uVar2;
+    lVar4 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_78);
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
     if (lVar4 == 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar5 + 0x30) = 0xfffffff8;
+      lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar4 + 0x30) = 0xfffffff8;
+      lVar4 = 0;
     }
-    return lVar4;
   }
-  lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
-  return 0;
+  return lVar4;
 }
 

qmdpi_bundle_gen_attr_unregister

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.14
i_ratio 0.57
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_gen_attr_unregister qmdpi_bundle_gen_attr_unregister
fullname qmdpi_bundle_gen_attr_unregister qmdpi_bundle_gen_attr_unregister
refcount 3 3
length 267 251
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strcmp
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018ad80 001832b0
sig undefined qmdpi_bundle_gen_attr_unregister(void) undefined qmdpi_bundle_gen_attr_unregister(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_gen_attr_unregister Called Diff

--- qmdpi_bundle_gen_attr_unregister called
+++ qmdpi_bundle_gen_attr_unregister called
@@ -1,3 +1,4 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+<EXTERNAL>::strcmp
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_gen_attr_unregister Diff

--- qmdpi_bundle_gen_attr_unregister
+++ qmdpi_bundle_gen_attr_unregister
@@ -1,61 +1,43 @@
 
-undefined4 qmdpi_bundle_gen_attr_unregister(undefined8 *param_1,byte *param_2)
+undefined4 qmdpi_bundle_gen_attr_unregister(undefined8 *param_1,char *param_2)
 
 {
   undefined8 uVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
-  long lVar4;
-  byte *pbVar5;
-  byte *pbVar6;
-  bool bVar7;
-  bool bVar8;
+  int iVar2;
+  undefined4 uVar3;
+  undefined8 *puVar4;
   
-  if (param_1 != (undefined8 *)0x0) {
-    bVar7 = false;
-    bVar8 = param_2 == (byte *)0x0;
-    if (!bVar8) {
-      lVar4 = 0x16;
-      pbVar5 = param_2;
-      pbVar6 = (byte *)"classification_method";
-      do {
-        if (lVar4 == 0) break;
-        lVar4 = lVar4 + -1;
-        bVar7 = *pbVar5 < *pbVar6;
-        bVar8 = *pbVar5 == *pbVar6;
-        pbVar5 = pbVar5 + 1;
-        pbVar6 = pbVar6 + 1;
-      } while (bVar8);
-      FUN_00160640(*param_1);
-      puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      uVar1 = *param_1;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 2) = uVar1;
-      uVar1 = param_1[9];
-      *(undefined8 *)(puVar3 + 10) = 0;
-      *(undefined8 *)(puVar3 + 6) = uVar1;
-      if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-        uVar2 = 0;
-      }
-      else {
-        uVar2 = *(undefined4 *)*param_1;
-      }
-      *puVar3 = uVar2;
-      puVar3[1] = 0;
-      if ((!bVar7 && !bVar8) == bVar7) {
-        *(undefined4 *)(param_1[1] + 0x240) = 0;
-      }
-      uVar2 = (**(code **)(param_1[1] + 0x238))(param_1[9],param_2);
-      *(undefined8 *)(puVar3 + 2) = 0;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 6) = 0;
-      *(undefined8 *)(puVar3 + 10) = 0;
-      *puVar3 = 0;
-      puVar3[1] = 0;
-      FUN_001606c0(*param_1);
-      return uVar2;
+  if (param_1 == (undefined8 *)0x0 || param_2 == (char *)0x0) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    iVar2 = strcmp(param_2,"classification_method");
+    FUN_0011c550(*param_1);
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar1 = *param_1;
+    puVar4[2] = 0;
+    puVar4[1] = uVar1;
+    uVar1 = param_1[9];
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+      uVar3 = *(undefined4 *)*param_1;
     }
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    if (iVar2 == 0) {
+      *(undefined4 *)(param_1[1] + 0x240) = 0;
+    }
+    uVar3 = (**(code **)(param_1[1] + 0x238))(param_1[9],param_2);
+    puVar4[5] = 0;
+    *puVar4 = 0;
+    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_worker_pdu_ntuple_get_proto

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.8
i_ratio 0.6
m_ratio 1.0
b_ratio 0.88
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_pdu_ntuple_get_proto qmdpi_worker_pdu_ntuple_get_proto
fullname qmdpi_worker_pdu_ntuple_get_proto qmdpi_worker_pdu_ntuple_get_proto
refcount 3 3
length 74 70
called FUN_00180100 FUN_001a73a0
calling
paramcount 0 0
address 001839d0 00176990
sig undefined qmdpi_worker_pdu_ntuple_get_proto(void) undefined qmdpi_worker_pdu_ntuple_get_proto(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_pdu_ntuple_get_proto Called Diff

--- qmdpi_worker_pdu_ntuple_get_proto called
+++ qmdpi_worker_pdu_ntuple_get_proto called
@@ -1 +1 @@
-FUN_00180100
+FUN_001a73a0

qmdpi_worker_pdu_ntuple_get_proto Diff

--- qmdpi_worker_pdu_ntuple_get_proto
+++ qmdpi_worker_pdu_ntuple_get_proto
@@ -1,18 +1,18 @@
 
 ulong qmdpi_worker_pdu_ntuple_get_proto(long *param_1,int param_2)
 
 {
   long lVar1;
   
   if (((param_1 != (long *)0x0) && (*param_1 != 0)) && (*(char *)(*param_1 + 0x310) == '\0')) {
-    lVar1 = FUN_00180100();
+    lVar1 = FUN_001a73a0();
     if (param_2 < (int)(*(byte *)(lVar1 + 0x28) & 0xf)) {
       return (ulong)*(ushort *)
-                     (*(long *)(lVar1 + 0x18) + -2 +
-                     (ulong)*(byte *)(*(long *)(lVar1 + 8) + (long)param_2));
+                     ((ulong)*(byte *)((long)param_2 + *(long *)(lVar1 + 8)) +
+                      *(long *)(lVar1 + 0x18) + -2);
     }
     return 0xffffffff;
   }
   return 0xffffffff;
 }
 

qmdpi_flow_blob_flags_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.74
i_ratio 0.46
m_ratio 0.98
b_ratio 0.77
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_blob_flags_get qmdpi_flow_blob_flags_get
fullname qmdpi_flow_blob_flags_get qmdpi_flow_blob_flags_get
refcount 3 3
length 76 80
called FUN_0019ebd0 FUN_001b9c60
calling
paramcount 0 0
address 00181c20 001a8aa0
sig undefined qmdpi_flow_blob_flags_get(void) undefined qmdpi_flow_blob_flags_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_blob_flags_get Called Diff

--- qmdpi_flow_blob_flags_get called
+++ qmdpi_flow_blob_flags_get called
@@ -1 +1 @@
-FUN_0019ebd0
+FUN_001b9c60

qmdpi_flow_blob_flags_get Diff

--- qmdpi_flow_blob_flags_get
+++ qmdpi_flow_blob_flags_get
@@ -1,21 +1,23 @@
 
 undefined8 qmdpi_flow_blob_flags_get(undefined4 *param_1,uint param_2,undefined4 *param_3)
 
 {
   int iVar1;
   undefined8 uVar2;
   
-  if ((3 < param_2 && param_3 != (undefined4 *)0x0) && (param_1 != (undefined4 *)0x0)) {
-    iVar1 = FUN_0019ebd0(&DAT_0);
+  if (param_1 == (undefined4 *)0x0 || (param_2 < 4 || param_3 == (undefined4 *)0x0)) {
+    uVar2 = 0xffffffff;
+  }
+  else {
+    iVar1 = FUN_001b9c60(&DAT_0);
     if (iVar1 == 0) {
       uVar2 = 0xfffffff1;
     }
     else {
       *param_3 = *param_1;
       uVar2 = 0;
     }
-    return uVar2;
   }
-  return 0xffffffff;
+  return uVar2;
 }
 

qmdpi_worker_classification_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.22
i_ratio 0.22
m_ratio 0.89
b_ratio 0.56
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_classification_set qmdpi_worker_classification_set
fullname qmdpi_worker_classification_set qmdpi_worker_classification_set
refcount 3 3
length 386 467
called FUN_0017dd70
FUN_00180120
FUN_0019b240
thunk_FUN_00181e30
FUN_00179640
FUN_00179e30
FUN_001a4130
FUN_001a73b0
thunk_FUN_00173540
calling
paramcount 0 0
address 00181c80 001a8b00
sig undefined qmdpi_worker_classification_set(void) undefined qmdpi_worker_classification_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_classification_set Called Diff

--- qmdpi_worker_classification_set called
+++ qmdpi_worker_classification_set called
@@ -1,4 +1,5 @@
-FUN_0017dd70
-FUN_00180120
-FUN_0019b240
-thunk_FUN_00181e30
+FUN_00179640
+FUN_00179e30
+FUN_001a4130
+FUN_001a73b0
+thunk_FUN_00173540

qmdpi_worker_classification_set Diff

--- qmdpi_worker_classification_set
+++ qmdpi_worker_classification_set
@@ -1,63 +1,84 @@
 
 ulong qmdpi_worker_classification_set
                 (long *param_1,long param_2,undefined4 param_3,long param_4,undefined4 param_5,
                 undefined4 param_6)
 
 {
-  long lVar1;
+  int *piVar1;
   long lVar2;
-  undefined8 uVar3;
-  undefined4 uVar4;
-  undefined4 *puVar5;
-  ulong uVar6;
+  long lVar3;
+  undefined8 uVar4;
+  undefined4 uVar5;
+  undefined8 *puVar6;
   ulong uVar7;
+  byte *pbVar8;
   
-  if ((param_4 != 0) && (param_1 != (long *)0x0)) {
-    lVar1 = *(long *)(*param_1 + 0x490);
-    puVar5 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar2 = *param_1;
-    *(long **)(puVar5 + 4) = param_1;
-    *(long *)(puVar5 + 2) = lVar2;
-    uVar3 = *(undefined8 *)(lVar1 + 0x48);
-    *(undefined8 *)(puVar5 + 10) = 0;
-    *(undefined8 *)(puVar5 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar4 = 0;
+  if (param_4 == 0 || param_1 == (long *)0x0) {
+LAB_0:
+    uVar7 = 0xffffffff;
+  }
+  else {
+    LOCK();
+    piVar1 = (int *)((long)param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 != 0) {
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      return 0xfffffffa;
     }
-    else {
-      uVar4 = *(undefined4 *)*param_1;
+    lVar2 = *(long *)(*param_1 + 0x550);
+    puVar6 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    lVar3 = *param_1;
+    puVar6[2] = param_1;
+    puVar6[1] = lVar3;
+    uVar4 = *(undefined8 *)(lVar2 + 0x48);
+    puVar6[5] = 0;
+    puVar6[3] = uVar4;
+    uVar5 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+      uVar5 = *(undefined4 *)*param_1;
     }
-    *puVar5 = uVar4;
-    puVar5[1] = (int)param_1[1];
+    *(undefined4 *)puVar6 = uVar5;
+    *(int *)((long)puVar6 + 4) = (int)param_1[1];
     if (*(char *)(*param_1 + 0x310) == '\0') {
-      uVar6 = FUN_00180120(param_1,param_3,param_4,param_5,param_6);
+      uVar7 = FUN_001a73b0(param_1,param_3,param_4,param_5,param_6);
+      if ((int)uVar7 == 0 && param_2 != 0) {
+LAB_1:
+        FUN_00179640(param_1[8],param_2,0,0,0);
+        FUN_00179e30(param_1[8],0,0,0);
+        uVar7 = uVar7 & 0xffffffff;
+        pbVar8 = (byte *)((ulong)*(uint *)(*(long *)(param_2 + 0x80) + 0x54) +
+                         *(long *)(param_2 + 0xa8));
+        *pbVar8 = *pbVar8 & 0xf3 | 4;
+      }
     }
     else {
       if (param_2 == 0) {
-        *(undefined8 *)(puVar5 + 2) = 0;
-        *(undefined8 *)(puVar5 + 4) = 0;
-        *(undefined8 *)(puVar5 + 6) = 0;
-        *puVar5 = 0;
-        puVar5[1] = 0;
-        return 0xffffffff;
+        *puVar6 = 0;
+        puVar6[1] = 0;
+        puVar6[2] = 0;
+        puVar6[3] = 0;
+        *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+        goto LAB_0;
       }
-      uVar6 = FUN_0017dd70(param_1,param_2,param_3,param_4,param_5);
+      uVar7 = FUN_001a4130(param_1,param_2,param_3,param_4,param_5);
+      if ((int)uVar7 == 0 && param_2 != 0) goto LAB_1;
     }
-    if (((int)uVar6 == 0) && (param_2 != 0)) {
-      FUN_0019b240(param_1[8],0,0,0);
-      uVar6 = uVar6 & 0xffffffff;
-      uVar7 = (ulong)*(uint *)(*(long *)(param_2 + 0x68) + 0x54);
-      *(byte *)(*(long *)(param_2 + 0x90) + uVar7) =
-           *(byte *)(*(long *)(param_2 + 0x90) + uVar7) & 0xf3 | 4;
-    }
-    *(undefined8 *)(puVar5 + 2) = 0;
-    *(undefined8 *)(puVar5 + 4) = 0;
-    *(undefined8 *)(puVar5 + 6) = 0;
-    *(undefined8 *)(puVar5 + 10) = 0;
-    *puVar5 = 0;
-    puVar5[1] = 0;
-    return uVar6;
+    puVar6[5] = 0;
+    *puVar6 = 0;
+    puVar6[1] = 0;
+    puVar6[2] = 0;
+    puVar6[3] = 0;
+    *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
   }
-  return 0xffffffff;
+  return uVar7;
 }
 

qmdpi_bundle_signature_foreach

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.59
m_ratio 0.99
b_ratio 0.75
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_foreach qmdpi_bundle_signature_foreach
fullname qmdpi_bundle_signature_foreach qmdpi_bundle_signature_foreach
refcount 6 6
length 194 196
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018af30 00183450
sig undefined qmdpi_bundle_signature_foreach(void) undefined qmdpi_bundle_signature_foreach(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_foreach Called Diff

--- qmdpi_bundle_signature_foreach called
+++ qmdpi_bundle_signature_foreach called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_foreach Diff

--- qmdpi_bundle_signature_foreach
+++ qmdpi_bundle_signature_foreach
@@ -1,36 +1,36 @@
 
 undefined8 qmdpi_bundle_signature_foreach(undefined8 *param_1,long param_2,undefined8 param_3)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_1 != (undefined8 *)0x0) && (param_2 != 0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || param_2 == 0) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 200))(param_1[9],param_1,param_2,param_3);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_layer_store_print_info

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.38
i_ratio 0.59
m_ratio 0.97
b_ratio 0.71
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_print_info qmdpi_layer_store_print_info
fullname qmdpi_layer_store_print_info qmdpi_layer_store_print_info
refcount 3 3
length 219 225
called FUN_00191c20
FUN_00192190
thunk_FUN_00181e30
FUN_00189160
FUN_001896f0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018db70 00177fb0
sig undefined qmdpi_layer_store_print_info(void) undefined qmdpi_layer_store_print_info(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_print_info Called Diff

--- qmdpi_layer_store_print_info called
+++ qmdpi_layer_store_print_info called
@@ -1,3 +1,3 @@
-FUN_00191c20
-FUN_00192190
-thunk_FUN_00181e30
+FUN_00189160
+FUN_001896f0
+thunk_FUN_00173540

qmdpi_layer_store_print_info Diff

--- qmdpi_layer_store_print_info
+++ qmdpi_layer_store_print_info
@@ -1,38 +1,42 @@
 
 undefined8
 qmdpi_layer_store_print_info
           (undefined4 *param_1,long param_2,undefined8 param_3,undefined8 param_4,undefined8 param_5
           ,undefined4 param_6)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   long lVar3;
   undefined8 uVar4;
   
-  if ((param_1 != (undefined4 *)0x0) && (param_2 != 0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 **)(puVar2 + 2) = param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+  if (param_1 == (undefined4 *)0x0 || param_2 == 0) {
+    uVar4 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    puVar2[1] = param_1;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    puVar2[5] = 0;
     uVar1 = *param_1;
-    puVar2[1] = 0;
-    *puVar2 = uVar1;
-    lVar3 = FUN_00192190(param_1,param_2);
-    uVar4 = 0xfffffff8;
-    if (lVar3 != 0) {
-      FUN_00191c20(lVar3,param_3,param_4,param_5,param_6);
+    *(undefined4 *)((long)puVar2 + 4) = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    lVar3 = FUN_001896f0(param_1,param_2);
+    if (lVar3 == 0) {
+      uVar4 = 0xfffffff8;
+    }
+    else {
+      FUN_00189160(lVar3,param_3,param_4,param_5,param_6);
       uVar4 = 0;
     }
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar4;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar4;
 }
 

qmdpi_bundle_signature_foreach_enabled_by_mpa

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.49
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_foreach_enabled_by_mpa qmdpi_bundle_signature_foreach_enabled_by_mpa
fullname qmdpi_bundle_signature_foreach_enabled_by_mpa qmdpi_bundle_signature_foreach_enabled_by_mpa
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b280 001837a0
sig undefined qmdpi_bundle_signature_foreach_enabled_by_mpa(void) undefined qmdpi_bundle_signature_foreach_enabled_by_mpa(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_foreach_enabled_by_mpa Called Diff

--- qmdpi_bundle_signature_foreach_enabled_by_mpa called
+++ qmdpi_bundle_signature_foreach_enabled_by_mpa called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_foreach_enabled_by_mpa Diff

--- qmdpi_bundle_signature_foreach_enabled_by_mpa
+++ qmdpi_bundle_signature_foreach_enabled_by_mpa
@@ -1,38 +1,38 @@
 
 undefined8
 qmdpi_bundle_signature_foreach_enabled_by_mpa
           (undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_3 != 0 && param_2 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_3 == 0 || param_2 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x1f8))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_flow_monitor_stats_update

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.29
i_ratio 0.53
m_ratio 0.99
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_monitor_stats_update qmdpi_flow_monitor_stats_update
fullname qmdpi_flow_monitor_stats_update qmdpi_flow_monitor_stats_update
refcount 3 3
length 536 529
called ::strcpy
::strlen
FUN_00164400
FUN_00164450
thunk_FUN_00181e30
::strcpy
::strlen
FUN_001b7470
FUN_001b74c0
thunk_FUN_00173540
calling
paramcount 0 0
address 001658b0 001b8840
sig undefined qmdpi_flow_monitor_stats_update(void) undefined qmdpi_flow_monitor_stats_update(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_monitor_stats_update Called Diff

--- qmdpi_flow_monitor_stats_update called
+++ qmdpi_flow_monitor_stats_update called
@@ -3,3 +3,3 @@
-FUN_00164400
-FUN_00164450
-thunk_FUN_00181e30
+FUN_001b7470
+FUN_001b74c0
+thunk_FUN_00173540

qmdpi_flow_monitor_stats_update Diff

--- qmdpi_flow_monitor_stats_update
+++ qmdpi_flow_monitor_stats_update
@@ -1,98 +1,86 @@
 
 undefined8
 qmdpi_flow_monitor_stats_update
           (long param_1,long param_2,long param_3,undefined4 param_4,undefined4 param_5)
 
 {
   undefined4 uVar1;
   undefined8 *puVar2;
   undefined4 *puVar3;
   long *plVar4;
   uint *puVar5;
   char *__src;
   int iVar6;
-  undefined4 *puVar7;
-  undefined8 uVar8;
-  size_t sVar9;
+  undefined8 *puVar7;
+  size_t sVar8;
   char *local_170;
   uint local_168;
   undefined4 local_164;
   long local_160;
   long local_158;
   undefined4 local_150;
   uint local_14c;
   char local_148 [256];
   long local_48;
   
-  if (param_1 == 0) {
-    return 0xffffffff;
-  }
-  puVar2 = *(undefined8 **)(param_1 + 0x68);
-  if (puVar2 == (undefined8 *)0x0) {
-    uVar8 = 0xffffffef;
-  }
-  else {
+  if (param_1 != 0) {
+    puVar2 = *(undefined8 **)(param_1 + 0x80);
+    if (puVar2 == (undefined8 *)0x0) {
+      return 0xffffffef;
+    }
     puVar3 = (undefined4 *)*puVar2;
-    if (puVar3 == (undefined4 *)0x0) {
-      uVar8 = 0xffffffff;
-    }
-    else {
-      puVar7 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 **)(puVar7 + 2) = puVar3;
-      *(undefined8 *)(puVar7 + 4) = 0;
-      *(undefined8 *)(puVar7 + 6) = 0;
-      *(undefined8 *)(puVar7 + 10) = 0;
+    if (puVar3 != (undefined4 *)0x0) {
+      puVar7 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      puVar7[1] = puVar3;
+      puVar7[2] = 0;
+      puVar7[3] = 0;
+      puVar7[5] = 0;
       uVar1 = *puVar3;
-      puVar7[1] = 0;
-      *puVar7 = uVar1;
-      plVar4 = *(long **)(puVar3 + 0x14e);
-      if (plVar4 == (long *)0x0) {
-        uVar8 = 0xffffffe4;
+      *(undefined4 *)((long)puVar7 + 4) = 0;
+      *(undefined4 *)puVar7 = uVar1;
+      plVar4 = *(long **)(puVar3 + 0x17e);
+      if (((plVar4 != (long *)0x0) && ((*(byte *)(plVar4 + 0x51) & 6) == 0)) &&
+         (local_48 = *(long *)(param_1 + 0xd0), local_48 != 0)) {
+        local_148[0] = '\0';
+        local_14c = 0;
+        local_168 = 0;
+        puVar5 = *(uint **)((ulong)*(uint *)(*(long *)(param_1 + 0x80) + 0x54) +
+                            *(long *)(param_1 + 0xa8) + 0x14);
+        if (puVar5 != (uint *)0x0) {
+          local_14c = puVar5[(ulong)(*puVar5 - 1) + 1];
+          if ((local_14c == 4) && (1 < *puVar5)) {
+            local_14c = puVar5[(ulong)(*puVar5 - 2) + 1];
+          }
+          local_170 = (char *)0x0;
+          iVar6 = (**(code **)(puVar2[1] + 0x218))(puVar2[9],local_14c,&local_170);
+          __src = local_170;
+          if (iVar6 != 0) {
+            sVar8 = strlen(local_170);
+            local_168 = (uint)sVar8;
+            if (local_168 < 0x100) {
+              strcpy(local_148,__src);
+            }
+          }
+          local_48 = *(long *)(param_1 + 0xd0);
+        }
+        *plVar4 = *plVar4 + param_2 + param_3;
+        local_164 = param_4;
+        local_160 = param_2;
+        local_158 = param_3;
+        local_150 = param_5;
+        FUN_001b7470(plVar4,&local_168);
+        FUN_001b74c0(plVar4,&local_168);
+        puVar7[5] = 0;
+        *puVar7 = 0;
+        puVar7[1] = 0;
+        puVar7[2] = 0;
+        puVar7[3] = 0;
+        *(undefined4 *)((long)puVar7 + 0x34) = 0xffffffff;
+        return 0;
       }
-      else {
-        local_48 = *(long *)(param_1 + 0xd0);
-        uVar8 = 0xffffffe4;
-        if (local_48 != 0) {
-          local_148[0] = '\0';
-          local_14c = 0;
-          local_168 = 0;
-          puVar5 = *(uint **)(*(long *)(param_1 + 0x90) + 0x14 +
-                             (ulong)*(uint *)(*(long *)(param_1 + 0x68) + 0x54));
-          if (puVar5 != (uint *)0x0) {
-            local_14c = puVar5[(ulong)(*puVar5 - 1) + 1];
-            if ((local_14c == 4) && (1 < *puVar5)) {
-              local_14c = puVar5[(ulong)(*puVar5 - 2) + 1];
-            }
-            local_170 = (char *)0x0;
-            iVar6 = (**(code **)(puVar2[1] + 0x218))(puVar2[9],local_14c,&local_170);
-            __src = local_170;
-            if (iVar6 != 0) {
-              sVar9 = strlen(local_170);
-              local_168 = (uint)sVar9;
-              if (local_168 < 0x100) {
-                strcpy(local_148,__src);
-              }
-            }
-            local_48 = *(long *)(param_1 + 0xd0);
-          }
-          *plVar4 = *plVar4 + param_2 + param_3;
-          local_164 = param_4;
-          local_160 = param_2;
-          local_158 = param_3;
-          local_150 = param_5;
-          FUN_00164400(plVar4,&local_168);
-          FUN_00164450(plVar4,&local_168);
-          *(undefined8 *)(puVar7 + 2) = 0;
-          *(undefined8 *)(puVar7 + 4) = 0;
-          uVar8 = 0;
-          *(undefined8 *)(puVar7 + 6) = 0;
-          *(undefined8 *)(puVar7 + 10) = 0;
-          *puVar7 = 0;
-          puVar7[1] = 0;
-        }
-      }
+      return 0xffffffe4;
     }
   }
-  return uVar8;
+  return 0xffffffff;
 }
 

qmdpi_bundle_gen_attr_register

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.14
i_ratio 0.57
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_gen_attr_register qmdpi_bundle_gen_attr_register
fullname qmdpi_bundle_gen_attr_register qmdpi_bundle_gen_attr_register
refcount 3 3
length 267 251
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strcmp
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018ac60 001831a0
sig undefined qmdpi_bundle_gen_attr_register(void) undefined qmdpi_bundle_gen_attr_register(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_gen_attr_register Called Diff

--- qmdpi_bundle_gen_attr_register called
+++ qmdpi_bundle_gen_attr_register called
@@ -1,3 +1,4 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+<EXTERNAL>::strcmp
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_gen_attr_register Diff

--- qmdpi_bundle_gen_attr_register
+++ qmdpi_bundle_gen_attr_register
@@ -1,61 +1,43 @@
 
-undefined4 qmdpi_bundle_gen_attr_register(undefined8 *param_1,byte *param_2)
+undefined4 qmdpi_bundle_gen_attr_register(undefined8 *param_1,char *param_2)
 
 {
   undefined8 uVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
-  long lVar4;
-  byte *pbVar5;
-  byte *pbVar6;
-  bool bVar7;
-  bool bVar8;
+  int iVar2;
+  undefined4 uVar3;
+  undefined8 *puVar4;
   
-  if (param_1 != (undefined8 *)0x0) {
-    bVar7 = false;
-    bVar8 = param_2 == (byte *)0x0;
-    if (!bVar8) {
-      lVar4 = 0x16;
-      pbVar5 = param_2;
-      pbVar6 = (byte *)"classification_method";
-      do {
-        if (lVar4 == 0) break;
-        lVar4 = lVar4 + -1;
-        bVar7 = *pbVar5 < *pbVar6;
-        bVar8 = *pbVar5 == *pbVar6;
-        pbVar5 = pbVar5 + 1;
-        pbVar6 = pbVar6 + 1;
-      } while (bVar8);
-      FUN_00160640(*param_1);
-      puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      uVar1 = *param_1;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 2) = uVar1;
-      uVar1 = param_1[9];
-      *(undefined8 *)(puVar3 + 10) = 0;
-      *(undefined8 *)(puVar3 + 6) = uVar1;
-      if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-        uVar2 = 0;
-      }
-      else {
-        uVar2 = *(undefined4 *)*param_1;
-      }
-      *puVar3 = uVar2;
-      puVar3[1] = 0;
-      if ((!bVar7 && !bVar8) == bVar7) {
-        *(undefined4 *)(param_1[1] + 0x240) = 1;
-      }
-      uVar2 = (**(code **)(param_1[1] + 0x230))(param_1[9],param_2);
-      *(undefined8 *)(puVar3 + 2) = 0;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 6) = 0;
-      *(undefined8 *)(puVar3 + 10) = 0;
-      *puVar3 = 0;
-      puVar3[1] = 0;
-      FUN_001606c0(*param_1);
-      return uVar2;
+  if (param_1 == (undefined8 *)0x0 || param_2 == (char *)0x0) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    iVar2 = strcmp(param_2,"classification_method");
+    FUN_0011c550(*param_1);
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar1 = *param_1;
+    puVar4[2] = 0;
+    puVar4[1] = uVar1;
+    uVar1 = param_1[9];
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+      uVar3 = *(undefined4 *)*param_1;
     }
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    if (iVar2 == 0) {
+      *(undefined4 *)(param_1[1] + 0x240) = 1;
+    }
+    uVar3 = (**(code **)(param_1[1] + 0x230))(param_1[9],param_2);
+    puVar4[5] = 0;
+    *puVar4 = 0;
+    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_bundle_pdb_compile_and_activate

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.51
i_ratio 0.48
m_ratio 0.99
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_compile_and_activate qmdpi_bundle_pdb_compile_and_activate
fullname qmdpi_bundle_pdb_compile_and_activate qmdpi_bundle_pdb_compile_and_activate
refcount 3 3
length 304 303
called FUN_00160640
FUN_001606c0
FUN_0019ebd0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
FUN_001b9c60
thunk_FUN_00173540
calling
paramcount 0 0
address 00187c30 00175740
sig undefined qmdpi_bundle_pdb_compile_and_activate(void) undefined qmdpi_bundle_pdb_compile_and_activate(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_compile_and_activate Called Diff

--- qmdpi_bundle_pdb_compile_and_activate called
+++ qmdpi_bundle_pdb_compile_and_activate called
@@ -1,4 +1,4 @@
-FUN_00160640
-FUN_001606c0
-FUN_0019ebd0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+FUN_001b9c60
+thunk_FUN_00173540

qmdpi_bundle_pdb_compile_and_activate Diff

--- qmdpi_bundle_pdb_compile_and_activate
+++ qmdpi_bundle_pdb_compile_and_activate
@@ -1,47 +1,46 @@
 
 undefined4
 qmdpi_bundle_pdb_compile_and_activate
           (long *param_1,long param_2,int param_3,long param_4,int param_5)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   
-  iVar2 = FUN_0019ebd0(&DAT_0);
+  iVar2 = FUN_001b9c60(&DAT_0);
   if (iVar2 == 0) {
     uVar3 = 0xfffffff1;
   }
-  else if (((param_2 == 0 || param_3 == 0) || (param_1 == (long *)0x0)) || (*param_1 == 0)) {
+  else if (((param_1 == (long *)0x0 || (param_2 == 0 || param_3 == 0)) || (*param_1 == 0)) ||
+          (param_4 != 0 && param_5 == 0)) {
     uVar3 = 0xffffffff;
   }
-  else if ((param_4 == 0) || (uVar3 = 0xffffffff, param_5 != 0)) {
-    FUN_00160640();
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  else {
+    FUN_0011c550();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x130))(param_1[9],param_2,param_3,param_4,param_5);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar3;
 }
 

qmdpi_bundle_tune_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.47
i_ratio 0.53
m_ratio 0.98
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_tune_set qmdpi_bundle_tune_set
fullname qmdpi_bundle_tune_set qmdpi_bundle_tune_set
refcount 3 3
length 391 355
called ::strncpy
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::strncpy
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018c220 001846c0
sig undefined qmdpi_bundle_tune_set(void) undefined qmdpi_bundle_tune_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_tune_set Called Diff

--- qmdpi_bundle_tune_set called
+++ qmdpi_bundle_tune_set called
@@ -2,3 +2,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_tune_set Diff

--- qmdpi_bundle_tune_set
+++ qmdpi_bundle_tune_set
@@ -1,68 +1,57 @@
 
 undefined4 qmdpi_bundle_tune_set(long *param_1,char *param_2,long param_3,undefined4 param_4)
 
 {
   long lVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
-  char local_198 [64];
+  undefined8 *puVar3;
+  char acStack_198 [64];
   undefined1 local_158;
   undefined1 local_118;
   undefined1 local_d8;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_90;
-  undefined4 local_8c;
-  undefined4 local_88;
-  undefined4 local_84;
-  undefined4 local_7c;
-  undefined4 local_78;
+  undefined8 local_98;
+  undefined8 local_90;
+  undefined8 local_88;
+  undefined8 local_7c;
   undefined1 local_68;
   
-  if (((param_2 == (char *)0x0 || param_3 == 0) || (param_1 == (long *)0x0)) ||
+  if ((param_1 == (long *)0x0 || (param_2 == (char *)0x0 || param_3 == 0)) ||
      (lVar1 = *param_1, lVar1 == 0)) {
     uVar2 = 0xffffffff;
   }
   else {
-    local_198[0] = '\0';
     local_158 = 0;
     local_118 = 0;
     local_68 = 0;
     local_d8 = 0;
     local_98 = 0;
-    local_94 = 0;
-    local_90 = 0;
-    local_8c = 0xffffffff;
+    local_90 = 0xffffffff00000000;
     local_88 = 0;
-    local_84 = 0;
-    local_7c = 0;
-    strncpy(local_198,param_2,0x3f);
-    local_78 = 5;
-    FUN_00160640(lVar1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    strncpy(acStack_198,param_2,0x3f);
+    local_7c = 0x500000000;
+    FUN_0011c550(lVar1);
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(long *)(puVar3 + 2) = lVar1;
+    puVar3[2] = 0;
+    puVar3[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = lVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
-    uVar2 = (**(code **)(param_1[1] + 0xe0))(param_1[9],local_198,param_3,param_4);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
+    uVar2 = (**(code **)(param_1[1] + 0xe0))(param_1[9],acStack_198,param_3,param_4);
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar2;
 }
 

qmdpi_worker_pdu_ntuple_get_size

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.26
i_ratio 0.29
m_ratio 0.98
b_ratio 0.83
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_pdu_ntuple_get_size qmdpi_worker_pdu_ntuple_get_size
fullname qmdpi_worker_pdu_ntuple_get_size qmdpi_worker_pdu_ntuple_get_size
refcount 3 3
length 66 60
called FUN_00180100 FUN_001a73a0
calling
paramcount 0 0
address 00183900 001768d0
sig undefined qmdpi_worker_pdu_ntuple_get_size(void) undefined qmdpi_worker_pdu_ntuple_get_size(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_pdu_ntuple_get_size Called Diff

--- qmdpi_worker_pdu_ntuple_get_size called
+++ qmdpi_worker_pdu_ntuple_get_size called
@@ -1 +1 @@
-FUN_00180100
+FUN_001a73a0

qmdpi_worker_pdu_ntuple_get_size Diff

--- qmdpi_worker_pdu_ntuple_get_size
+++ qmdpi_worker_pdu_ntuple_get_size
@@ -1,26 +1,18 @@
 
 uint qmdpi_worker_pdu_ntuple_get_size(long *param_1)
 
 {
-  uint uVar1;
-  long lVar2;
+  long lVar1;
+  uint uVar2;
   
-  if (param_1 == (long *)0x0) {
-    return 0xffffffff;
+  if (((param_1 != (long *)0x0) && (*param_1 != 0)) && (*(char *)(*param_1 + 0x310) == '\0')) {
+    lVar1 = FUN_001a73a0();
+    uVar2 = 0;
+    if (lVar1 != 0) {
+      uVar2 = *(byte *)(lVar1 + 0x28) & 0xf;
+    }
+    return uVar2;
   }
-  uVar1 = 0xffffffff;
-  if (*param_1 == 0) {
-    return uVar1;
-  }
-  if (*(char *)(*param_1 + 0x310) == '\0') {
-    lVar2 = FUN_00180100();
-    if (lVar2 == 0) {
-      uVar1 = 0;
-    }
-    else {
-      uVar1 = *(byte *)(lVar2 + 0x28) & 0xf;
-    }
-  }
-  return uVar1;
+  return 0xffffffff;
 }
 

qmdpi_bundle_signature_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.36
i_ratio 0.37
m_ratio 0.92
b_ratio 0.71
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_get_byname qmdpi_bundle_signature_get_byname
fullname qmdpi_bundle_signature_get_byname qmdpi_bundle_signature_get_byname
refcount 3 3
length 117 107
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018bc90 00184140
sig undefined qmdpi_bundle_signature_get_byname(void) undefined qmdpi_bundle_signature_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_get_byname Called Diff

--- qmdpi_bundle_signature_get_byname called
+++ qmdpi_bundle_signature_get_byname called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_get_byname Diff

--- qmdpi_bundle_signature_get_byname
+++ qmdpi_bundle_signature_get_byname
@@ -1,24 +1,26 @@
 
 long qmdpi_bundle_signature_get_byname(long param_1,long param_2)
 
 {
   long lVar1;
-  long lVar2;
-  long local_48;
-  undefined4 local_40;
+  long local_58;
+  undefined4 local_50;
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    local_40 = 0;
-    local_48 = param_2;
-    lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0xb8))(*(undefined8 *)(param_1 + 0x48),&local_48);
+  if (param_1 == 0 || param_2 == 0) {
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
+    lVar1 = 0;
+  }
+  else {
+    local_50 = 0;
+    local_58 = param_2;
+    lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0xb8))(*(undefined8 *)(param_1 + 0x48),&local_58);
     if (lVar1 == 0) {
-      lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar2 + 0x30) = 0xfffffff8;
+      lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar1 + 0x30) = 0xfffffff8;
+      lVar1 = 0;
     }
-    return lVar1;
   }
-  lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
-  return 0;
+  return lVar1;
 }
 

qmdpi_tag_id_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.46
i_ratio 0.57
m_ratio 0.91
b_ratio 0.34
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_tag_id_get_byname qmdpi_tag_id_get_byname
fullname qmdpi_tag_id_get_byname qmdpi_tag_id_get_byname
refcount 3 3
length 51 58
called
calling
paramcount 0 0
address 0018cde0 00176ff0
sig undefined qmdpi_tag_id_get_byname(void) undefined qmdpi_tag_id_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_tag_id_get_byname Diff

--- qmdpi_tag_id_get_byname
+++ qmdpi_tag_id_get_byname
@@ -1,16 +1,16 @@
 
-int qmdpi_tag_id_get_byname(long param_1,long param_2)
+undefined8 qmdpi_tag_id_get_byname(long param_1,long param_2)
 
 {
-  int iVar1;
+  undefined8 uVar1;
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    iVar1 = (**(code **)(*(long *)(param_1 + 8) + 0x1b0))(param_2);
-    if (iVar1 == 0) {
-      iVar1 = -8;
+  if (param_1 != 0 && param_2 != 0) {
+    uVar1 = (**(code **)(*(long *)(param_1 + 8) + 0x1b0))(param_2);
+    if ((int)uVar1 == 0) {
+      uVar1 = 0xfffffff8;
     }
-    return iVar1;
+    return uVar1;
   }
-  return -1;
+  return 0xffffffff;
 }
 

qmdpi_layer_store_lifetime_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.4
i_ratio 0.49
m_ratio 0.88
b_ratio 0.63
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_lifetime_set qmdpi_layer_store_lifetime_set
fullname qmdpi_layer_store_lifetime_set qmdpi_layer_store_lifetime_set
refcount 3 3
length 48 57
called FUN_00192190
FUN_001926e0
FUN_001896f0
FUN_00189c30
calling
paramcount 0 0
address 0018e010 00178480
sig undefined qmdpi_layer_store_lifetime_set(void) undefined qmdpi_layer_store_lifetime_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_lifetime_set Called Diff

--- qmdpi_layer_store_lifetime_set called
+++ qmdpi_layer_store_lifetime_set called
@@ -1,2 +1,2 @@
-FUN_00192190
-FUN_001926e0
+FUN_001896f0
+FUN_00189c30

qmdpi_layer_store_lifetime_set Diff

--- qmdpi_layer_store_lifetime_set
+++ qmdpi_layer_store_lifetime_set
@@ -1,19 +1,17 @@
 
 undefined8 qmdpi_layer_store_lifetime_set(long param_1,long param_2,undefined4 param_3)
 
 {
   long lVar1;
-  undefined8 uVar2;
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    lVar1 = FUN_00192190();
-    uVar2 = 0xfffffff8;
-    if (lVar1 != 0) {
-      FUN_001926e0(lVar1,param_3);
-      uVar2 = 0;
-    }
-    return uVar2;
+  if (param_1 == 0 || param_2 == 0) {
+    return 0xffffffff;
   }
-  return 0xffffffff;
+  lVar1 = FUN_001896f0();
+  if (lVar1 != 0) {
+    FUN_00189c30(lVar1,param_3);
+    return 0;
+  }
+  return 0xfffffff8;
 }
 

qmdpi_flow_bytes_processed_get_cts

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_bytes_processed_get_cts qmdpi_flow_bytes_processed_get_cts
fullname qmdpi_flow_bytes_processed_get_cts qmdpi_flow_bytes_processed_get_cts
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f790 00186940
sig undefined qmdpi_flow_bytes_processed_get_cts(void) undefined qmdpi_flow_bytes_processed_get_cts(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_bytes_processed_get_cts Called Diff

--- qmdpi_flow_bytes_processed_get_cts called
+++ qmdpi_flow_bytes_processed_get_cts called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_bytes_processed_get_cts Diff

--- qmdpi_flow_bytes_processed_get_cts
+++ qmdpi_flow_bytes_processed_get_cts
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_bytes_processed_get_cts(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 8) {
     return *(undefined8 *)(lVar1 + 0x38);
   }
   if ((*param_1 & 0x60) != 0x20) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x30);
 }
 

qmdpi_flow_packets_get_stc

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_packets_get_stc qmdpi_flow_packets_get_stc
fullname qmdpi_flow_packets_get_stc qmdpi_flow_packets_get_stc
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f4f0 00186650
sig undefined qmdpi_flow_packets_get_stc(void) undefined qmdpi_flow_packets_get_stc(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_packets_get_stc Called Diff

--- qmdpi_flow_packets_get_stc called
+++ qmdpi_flow_packets_get_stc called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_packets_get_stc Diff

--- qmdpi_flow_packets_get_stc
+++ qmdpi_flow_packets_get_stc
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_packets_get_stc(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 0x10) {
     return *(undefined8 *)(lVar1 + 0x28);
   }
   if ((*param_1 & 0x60) != 0x40) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x20);
 }
 

qmdpi_bundle_attr_register

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.35
i_ratio 0.42
m_ratio 0.94
b_ratio 0.71
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_attr_register qmdpi_bundle_attr_register
fullname qmdpi_bundle_attr_register qmdpi_bundle_attr_register
refcount 3 3
length 353 304
called FUN_00160640
FUN_001606c0
FUN_001663c0
thunk_FUN_00181e30
::strcmp
FUN_0011c550
FUN_0011c5d0
FUN_001b6cf0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018a960 00182c90
sig undefined qmdpi_bundle_attr_register(void) undefined qmdpi_bundle_attr_register(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_attr_register Called Diff

--- qmdpi_bundle_attr_register called
+++ qmdpi_bundle_attr_register called
@@ -1,4 +1,5 @@
-FUN_00160640
-FUN_001606c0
-FUN_001663c0
-thunk_FUN_00181e30
+<EXTERNAL>::strcmp
+FUN_0011c550
+FUN_0011c5d0
+FUN_001b6cf0
+thunk_FUN_00173540

qmdpi_bundle_attr_register Diff

--- qmdpi_bundle_attr_register
+++ qmdpi_bundle_attr_register
@@ -1,85 +1,52 @@
 
-int qmdpi_bundle_attr_register(undefined8 *param_1,long param_2,byte *param_3)
+int qmdpi_bundle_attr_register(undefined8 *param_1,long param_2,char *param_3)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
   int iVar3;
-  undefined4 *puVar4;
-  long lVar5;
-  byte *pbVar6;
-  byte *pbVar7;
-  bool bVar8;
-  bool bVar9;
-  byte bVar10;
+  int iVar4;
+  undefined8 *puVar5;
   
-  bVar10 = 0;
-  if ((param_1 == (undefined8 *)0x0) || (param_3 == (byte *)0x0)) {
+  if (param_1 == (undefined8 *)0x0 || param_3 == (char *)0x0) {
     iVar3 = -1;
   }
   else {
-    FUN_00160640(*param_1);
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    FUN_0011c550(*param_1);
+    puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar5[2] = 0;
+    puVar5[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar5[5] = 0;
+    puVar5[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    bVar8 = false;
-    bVar9 = param_2 == 0;
-    *puVar4 = uVar2;
-    puVar4[1] = 0;
-    if (bVar9) {
+    *(undefined4 *)puVar5 = uVar2;
+    *(undefined4 *)((long)puVar5 + 4) = 0;
+    if (param_2 == 0) {
       iVar3 = (**(code **)(param_1[1] + 0x230))(param_1[9],param_3);
-      bVar8 = iVar3 == 0;
-      if (bVar8) {
-        lVar5 = 0x16;
-        pbVar6 = (byte *)"classification_method";
-        do {
-          if (lVar5 == 0) break;
-          lVar5 = lVar5 + -1;
-          bVar8 = *param_3 == *pbVar6;
-          param_3 = param_3 + (ulong)bVar10 * -2 + 1;
-          pbVar6 = pbVar6 + (ulong)bVar10 * -2 + 1;
-        } while (bVar8);
-        if (bVar8) {
+      if (iVar3 == 0) {
+        iVar4 = strcmp(param_3,"classification_method");
+        if (iVar4 == 0) {
           *(undefined4 *)(param_1[1] + 0x240) = 1;
         }
       }
     }
     else {
-      lVar5 = 0x16;
-      iVar3 = -1;
-      pbVar6 = param_3;
-      pbVar7 = (byte *)"classification_method";
-      do {
-        if (lVar5 == 0) break;
-        lVar5 = lVar5 + -1;
-        bVar8 = *pbVar6 < *pbVar7;
-        bVar9 = *pbVar6 == *pbVar7;
-        pbVar6 = pbVar6 + (ulong)bVar10 * -2 + 1;
-        pbVar7 = pbVar7 + (ulong)bVar10 * -2 + 1;
-      } while (bVar9);
-      if ((!bVar8 && !bVar9) != bVar8) {
-        FUN_001663c0(*param_1,param_2,param_3,1);
-        iVar3 = (**(code **)(param_1[1] + 0x98))(param_1[9],param_2,param_3);
-      }
+      FUN_001b6cf0(*param_1,param_2,param_3,1);
+      iVar3 = (**(code **)(param_1[1] + 0x98))(param_1[9],param_2,param_3);
     }
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar5[5] = 0;
+    *puVar5 = 0;
+    puVar5[1] = 0;
+    puVar5[2] = 0;
+    puVar5[3] = 0;
+    *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return iVar3;
 }
 

qmdpi_worker_flow_create_from_blob

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.27
i_ratio 0.26
m_ratio 0.93
b_ratio 0.11
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_flow_create_from_blob qmdpi_worker_flow_create_from_blob
fullname qmdpi_worker_flow_create_from_blob qmdpi_worker_flow_create_from_blob
refcount 6 6
length 1282 1124
called FUN_001707a0
FUN_0017b6e0
FUN_0019ebd0
thunk_FUN_00181e30
FUN_001a20a0
FUN_001a3390
FUN_001b9c60
thunk_FUN_00173540
calling
paramcount 0 0
address 00180a60 001a7a00
sig undefined qmdpi_worker_flow_create_from_blob(void) undefined qmdpi_worker_flow_create_from_blob(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_flow_create_from_blob Called Diff

--- qmdpi_worker_flow_create_from_blob called
+++ qmdpi_worker_flow_create_from_blob called
@@ -1,4 +1,4 @@
-FUN_001707a0
-FUN_0017b6e0
-FUN_0019ebd0
-thunk_FUN_00181e30
+FUN_001a20a0
+FUN_001a3390
+FUN_001b9c60
+thunk_FUN_00173540

qmdpi_worker_flow_create_from_blob Diff

--- qmdpi_worker_flow_create_from_blob
+++ qmdpi_worker_flow_create_from_blob
@@ -1,222 +1,209 @@
 
 long qmdpi_worker_flow_create_from_blob(long *param_1,uint *param_2,uint param_3)
 
 {
   short sVar1;
   undefined4 *puVar2;
   undefined8 uVar3;
-  char cVar4;
-  int iVar5;
-  uint uVar6;
-  undefined4 uVar7;
-  uint *puVar8;
-  undefined4 *puVar9;
-  long lVar10;
-  uint uVar11;
-  undefined8 *puVar12;
-  byte bVar13;
-  byte bVar14;
+  int iVar4;
+  undefined4 uVar5;
+  undefined8 *puVar6;
+  ulong uVar7;
+  uint uVar8;
+  long lVar9;
+  uint uVar10;
+  uint *puVar11;
+  byte bVar12;
   uint local_13c;
   uint *local_138;
   long local_130;
-  undefined8 local_128;
-  undefined8 local_120;
+  undefined1 local_128 [2];
+  undefined1 auStack_126 [14];
   undefined8 local_118;
-  undefined8 *local_110;
+  undefined1 *local_110;
   undefined8 *local_108;
-  uint *local_100;
+  long local_100;
   undefined8 local_f8;
   undefined1 local_ef;
   byte local_ec;
   undefined8 local_b8 [17];
   
-  bVar14 = 0;
-  uVar6 = param_3;
-  if ((((param_1 == (long *)0x0) || (uVar6 = param_3, param_2 == (uint *)0x0)) ||
-      (uVar6 = param_3, param_3 == 0)) || (uVar6 = param_3, *(char *)(*param_1 + 0x310) != '\0'))
-  goto LAB_0;
+  bVar12 = 0;
   local_13c = param_3;
-  iVar5 = FUN_0019ebd0(&DAT_1);
-  if (iVar5 == 0) {
-    lVar10 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar10 + 0x30) = 0xfffffff1;
+  if (((param_1 == (long *)0x0 || param_2 == (uint *)0x0) || (local_13c = param_3, param_3 == 0)) ||
+     (local_13c = param_3, *(char *)(*param_1 + 0x310) != '\0')) goto LAB_0;
+  local_13c = param_3;
+  iVar4 = FUN_001b9c60(&DAT_1);
+  if (iVar4 == 0) {
+    lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar9 + 0x30) = 0xfffffff1;
     return 0;
   }
-  uVar6 = local_13c;
   if (param_1[0x17] != 0) goto LAB_0;
   puVar2 = (undefined4 *)*param_1;
   uVar3 = *(undefined8 *)param_1[2];
   local_130 = 0;
-  puVar12 = &local_118;
-  for (lVar10 = 0xb; lVar10 != 0; lVar10 = lVar10 + -1) {
-    *puVar12 = 0;
-    puVar12 = puVar12 + (ulong)bVar14 * -2 + 1;
-  }
-  local_138 = param_2;
-  if (local_13c < 4) goto LAB_0;
-  local_128 = 0;
-  local_120 = 0;
-  puVar12 = local_b8;
-  for (lVar10 = 0x10; lVar10 != 0; lVar10 = lVar10 + -1) {
-    *puVar12 = 0;
-    puVar12 = puVar12 + (ulong)bVar14 * -2 + 1;
-  }
-  local_110 = &local_128;
+  puVar6 = &local_118;
+  for (lVar9 = 0xb; lVar9 != 0; lVar9 = lVar9 + -1) {
+    *puVar6 = 0;
+    puVar6 = puVar6 + (ulong)bVar12 * -2 + 1;
+  }
+  if (param_3 < 4) goto LAB_0;
+  local_13c = param_3 - 4;
+  puVar6 = local_b8;
+  for (lVar9 = 0x10; lVar9 != 0; lVar9 = lVar9 + -1) {
+    *puVar6 = 0;
+    puVar6 = puVar6 + (ulong)bVar12 * -2 + 1;
+  }
+  local_110 = local_128;
   local_108 = local_b8;
-  uVar6 = local_13c - 4;
-  local_138 = param_2 + 1;
-  if (local_13c - 4 < 8) goto LAB_0;
+  _local_128 = (undefined1  [16])0x0;
+  if (local_13c < 8) goto LAB_0;
   local_f8 = *(undefined8 *)(param_2 + 1);
-  uVar6 = local_13c - 0xc;
   local_138 = param_2 + 3;
-  if (local_13c - 0xc == 0) goto LAB_0;
-  local_100 = (uint *)((long)param_2 + 0xd);
-  uVar6 = local_13c - 0xd;
-  local_138 = local_100;
-  if (local_13c - 0xd == 0) goto LAB_0;
+  if (param_3 == 0xc) goto LAB_0;
+  local_100 = (long)param_2 + 0xd;
+  local_13c = param_3 - 0xd;
+  if (param_3 - 0xd == 0) goto LAB_0;
   local_138 = (uint *)((long)param_2 + 0xe);
-  bVar14 = *(byte *)((long)param_2 + 0xd);
-  uVar6 = local_13c - 0xe;
-  if (uVar6 < bVar14) goto LAB_0;
+  bVar12 = *(byte *)((long)param_2 + 0xd);
+  local_13c = param_3 - 0xe;
+  if (local_13c < bVar12) goto LAB_0;
   if ((char)param_2[3] == '\0') {
-    local_13c = uVar6;
-    iVar5 = FUN_0017b6e0(&local_138,&local_13c,&local_118);
-    puVar8 = (uint *)0x0;
-    uVar6 = local_13c;
-    if (iVar5 != 0) goto LAB_0;
+    iVar4 = FUN_001a3390(&local_138,&local_13c,&local_118);
+    lVar9 = 0;
+    if (iVar4 != 0) goto LAB_0;
   }
   else {
-    if (uVar6 < 2) goto LAB_0;
+    if (local_13c < 2) goto LAB_0;
     local_138 = param_2 + 4;
-    uVar6 = local_13c - 0x10;
+    local_13c = param_3 - 0x10;
     if (*(short *)((long)param_2 + 0xe) == 0x51) {
-      local_13c = 9;
-      lVar10 = 9;
+      uVar10 = 9;
+      lVar9 = 9;
     }
     else {
       if (*(short *)((long)param_2 + 0xe) != 0x52) goto LAB_0;
-      local_13c = 0x21;
-      lVar10 = 0x21;
-    }
-    cVar4 = (char)local_100;
-    bVar13 = (char)local_138 - cVar4;
-    local_128 = (ulong)bVar13;
-    if (uVar6 < local_13c) goto LAB_0;
-    puVar8 = (uint *)((long)local_138 + lVar10);
-    local_13c = uVar6 - local_13c;
-    lVar10 = (long)puVar8 - (long)local_100;
-    if (lVar10 < (long)(ulong)bVar14) {
-      uVar6 = local_13c;
-      local_138 = puVar8;
-      if (local_13c < 2) goto LAB_0;
-      local_138 = (uint *)((long)puVar8 + 2);
-      sVar1 = (short)*puVar8;
-      uVar6 = local_13c - 2;
+      uVar10 = 0x21;
+      lVar9 = 0x21;
+    }
+    stack0xfffffffffffffed9 = SUB1615((undefined1  [16])0x0,1);
+    local_128[0] = 3;
+    if (local_13c < uVar10) goto LAB_0;
+    puVar11 = (uint *)((long)local_138 + lVar9);
+    uVar10 = local_13c - uVar10;
+    uVar7 = (long)puVar11 - local_100;
+    local_138 = puVar11;
+    local_13c = uVar10;
+    if ((long)uVar7 < (long)(ulong)bVar12) {
+      if (uVar10 < 2) goto LAB_0;
+      local_138 = (uint *)((long)puVar11 + 2);
+      sVar1 = (short)*puVar11;
+      local_13c = uVar10 - 2;
+      uVar7 = (long)local_138 - local_100 & 0xffffffff;
+      local_128[1] = (undefined1)((long)local_138 - local_100);
+      auStack_126 = SUB1614((undefined1  [16])0x0,2);
       if (sVar1 == 0xcd) {
         local_ef = 1;
-LAB_2:
-        local_128._0_2_ = CONCAT11((char)local_138 - cVar4,bVar13);
-        local_128 = (ulong)(ushort)local_128;
-        if (uVar6 < 4) goto LAB_0;
-        lVar10 = 4;
-        iVar5 = 4;
+      }
+      else if (sVar1 == 0xd8) {
+        local_ec = local_ec & 0xf | 0x10;
       }
       else {
-        if (sVar1 == 0xd8) {
-          local_ec = local_ec & 0xf | 0x10;
+        if (sVar1 != 0xb4) {
+          local_128[0] = 3;
+          uVar10 = local_13c;
           goto LAB_2;
         }
-        if (sVar1 == 0xb4) {
-          local_ec = local_ec & 0xf0 | 1;
-          goto LAB_2;
-        }
-        iVar5 = 0;
-        local_128._0_2_ = CONCAT11((char)local_138 - cVar4,bVar13);
-        local_128 = (ulong)(ushort)local_128;
-        lVar10 = 0;
+        local_ec = local_ec & 0xf0 | 1;
       }
-      puVar8 = (uint *)(lVar10 + (long)local_138);
-      local_13c = uVar6 - iVar5;
-      lVar10 = (long)puVar8 - (long)local_100;
-    }
-    uVar11 = (uint)bVar14 - ((uint)lVar10 & 0xff);
-    uVar6 = local_13c;
-    local_138 = puVar8;
-    if (local_13c < uVar11) goto LAB_0;
-    uVar6 = local_13c - uVar11;
-    puVar8 = (uint *)((ulong)uVar11 + (long)puVar8);
-    local_138 = puVar8;
-    if (uVar6 < 4) goto LAB_0;
-    local_138 = puVar8 + 1;
-    local_13c = uVar6 - 4;
-  }
-  puVar9 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 **)(puVar9 + 2) = puVar2;
-  *(long **)(puVar9 + 4) = param_1;
-  *(undefined8 *)(puVar9 + 6) = 0;
-  *(undefined8 *)(puVar9 + 10) = 0;
-  if (puVar2 == (undefined4 *)0x0) {
-    uVar7 = 0;
-  }
-  else {
-    uVar7 = *puVar2;
-  }
-  *puVar9 = uVar7;
-  puVar9[1] = (int)param_1[1];
-  FUN_001707a0(puVar2,uVar3,&local_118,puVar8,(char)param_2[3],&local_130,0);
-  uVar6 = local_13c;
+      local_128[0] = 3;
+      if (local_13c < 4) goto LAB_0;
+      local_138 = (uint *)((long)puVar11 + 6);
+      uVar10 = uVar10 - 6;
+      uVar7 = (ulong)(uint)((int)local_138 - (int)local_100);
+    }
+LAB_2:
+    uVar8 = (uint)bVar12 - ((uint)uVar7 & 0xff);
+    if (uVar10 < uVar8) goto LAB_0;
+    local_13c = uVar10 - uVar8;
+    lVar9 = (long)local_138 + (ulong)uVar8;
+    if (local_13c < 4) goto LAB_0;
+    local_138 = (uint *)(lVar9 + 4);
+    local_13c = local_13c - 4;
+  }
+  puVar6 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  puVar6[1] = puVar2;
+  puVar6[2] = param_1;
+  puVar6[3] = 0;
+  puVar6[5] = 0;
+  uVar5 = 0;
+  if (puVar2 != (undefined4 *)0x0) {
+    uVar5 = *puVar2;
+  }
+  *(undefined4 *)puVar6 = uVar5;
+  *(int *)((long)puVar6 + 4) = (int)param_1[1];
+  FUN_001a20a0(puVar2,uVar3,&local_118,lVar9,(char)param_2[3],&local_130,0);
   if (local_130 != 0) {
-    *(undefined8 *)(puVar9 + 2) = 0;
-    *(undefined8 *)(puVar9 + 4) = 0;
-    *(undefined8 *)(puVar9 + 6) = 0;
-    *(undefined8 *)(puVar9 + 10) = 0;
-    *puVar9 = 0;
-    puVar9[1] = 0;
-    uVar11 = *param_2;
-    if ((uVar11 & 1) != 0) {
+    puVar6[5] = 0;
+    *puVar6 = 0;
+    puVar6[1] = 0;
+    puVar6[2] = 0;
+    puVar6[3] = 0;
+    *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+    uVar10 = *param_2;
+    if ((uVar10 & 1) != 0) {
       if (local_13c < 0x44) goto LAB_0;
       local_13c = local_13c - 0x44;
-      *(undefined8 *)(local_130 + 0x20) = *(undefined8 *)local_138;
-      *(undefined8 *)(local_130 + 0x28) = *(undefined8 *)(local_138 + 2);
-      *(undefined8 *)(local_130 + 0x30) = *(undefined8 *)(local_138 + 4);
-      *(undefined8 *)(local_130 + 0x38) = *(undefined8 *)(local_138 + 6);
-      *(undefined8 *)(local_130 + 0x40) = *(undefined8 *)(local_138 + 8);
-      *(undefined8 *)(local_130 + 0x48) = *(undefined8 *)(local_138 + 10);
-      *(undefined8 *)(local_130 + 0x50) = *(undefined8 *)(local_138 + 0xc);
-      *(undefined8 *)(local_130 + 0x58) = *(undefined8 *)(local_138 + 0xe);
-      *(uint *)(local_130 + 0x60) = local_138[0x10];
-      uVar11 = *param_2;
+      uVar3 = *(undefined8 *)(local_138 + 2);
+      *(undefined8 *)(local_130 + 0x38) = *(undefined8 *)local_138;
+      *(undefined8 *)(local_130 + 0x40) = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 6);
+      *(undefined8 *)(local_130 + 0x48) = *(undefined8 *)(local_138 + 4);
+      *(undefined8 *)(local_130 + 0x50) = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 10);
+      *(undefined8 *)(local_130 + 0x58) = *(undefined8 *)(local_138 + 8);
+      *(undefined8 *)(local_130 + 0x60) = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 0xe);
+      *(undefined8 *)(local_130 + 0x68) = *(undefined8 *)(local_138 + 0xc);
+      *(undefined8 *)(local_130 + 0x70) = uVar3;
+      *(uint *)(local_130 + 0x78) = local_138[0x10];
+      uVar10 = *param_2;
       local_138 = local_138 + 0x11;
     }
-    if ((uVar11 & 2) == 0) {
+    if ((uVar10 & 2) == 0) {
       return local_130;
     }
-    puVar12 = *(undefined8 **)(local_130 + 0xc0);
-    if (puVar12 == (undefined8 *)0x0) {
+    puVar6 = *(undefined8 **)(local_130 + 0xc0);
+    if (puVar6 == (undefined8 *)0x0) {
       return local_130;
     }
-    uVar6 = local_13c;
     if (0x67 < local_13c) {
-      *puVar12 = *(undefined8 *)local_138;
-      puVar12[1] = *(undefined8 *)(local_138 + 2);
-      puVar12[2] = *(undefined8 *)(local_138 + 4);
-      puVar12[3] = *(undefined8 *)(local_138 + 6);
-      puVar12[4] = *(undefined8 *)(local_138 + 8);
-      puVar12[5] = *(undefined8 *)(local_138 + 10);
-      puVar12[6] = *(undefined8 *)(local_138 + 0xc);
-      puVar12[7] = *(undefined8 *)(local_138 + 0xe);
-      puVar12[8] = *(undefined8 *)(local_138 + 0x10);
-      puVar12[9] = *(undefined8 *)(local_138 + 0x12);
-      puVar12[10] = *(undefined8 *)(local_138 + 0x14);
-      puVar12[0xb] = *(undefined8 *)(local_138 + 0x16);
-      puVar12[0xc] = *(undefined8 *)(local_138 + 0x18);
+      uVar3 = *(undefined8 *)(local_138 + 2);
+      *puVar6 = *(undefined8 *)local_138;
+      puVar6[1] = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 6);
+      puVar6[2] = *(undefined8 *)(local_138 + 4);
+      puVar6[3] = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 10);
+      puVar6[4] = *(undefined8 *)(local_138 + 8);
+      puVar6[5] = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 0xe);
+      puVar6[6] = *(undefined8 *)(local_138 + 0xc);
+      puVar6[7] = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 0x12);
+      puVar6[8] = *(undefined8 *)(local_138 + 0x10);
+      puVar6[9] = uVar3;
+      uVar3 = *(undefined8 *)(local_138 + 0x16);
+      puVar6[10] = *(undefined8 *)(local_138 + 0x14);
+      puVar6[0xb] = uVar3;
+      puVar6[0xc] = *(undefined8 *)(local_138 + 0x18);
       return local_130;
     }
   }
 LAB_0:
-  local_13c = uVar6;
-  lVar10 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar10 + 0x30) = 0xffffffff;
+  lVar9 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  *(undefined4 *)(lVar9 + 0x30) = 0xffffffff;
   return 0;
 }
 

qmdpi_bundle_pdb_destroy

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.71
i_ratio 0.46
m_ratio 0.99
b_ratio 0.94
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_destroy qmdpi_bundle_pdb_destroy
fullname qmdpi_bundle_pdb_destroy qmdpi_bundle_pdb_destroy
refcount 3 3
length 265 272
called FUN_00160640
FUN_001606c0
qm_free_default
qmdpi_bundle_is_active
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
qm_free_default
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 001878d0 001753f0
sig undefined qmdpi_bundle_pdb_destroy(void) undefined qmdpi_bundle_pdb_destroy(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_destroy Called Diff

--- qmdpi_bundle_pdb_destroy called
+++ qmdpi_bundle_pdb_destroy called
@@ -1,2 +1,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -5 +5 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_pdb_destroy Diff

--- qmdpi_bundle_pdb_destroy
+++ qmdpi_bundle_pdb_destroy
@@ -1,55 +1,55 @@
 
 int qmdpi_bundle_pdb_destroy(undefined8 *param_1)
 
 {
   undefined4 uVar1;
   undefined8 *puVar2;
   undefined4 *puVar3;
   undefined8 uVar4;
   int iVar5;
   int iVar6;
-  undefined4 *puVar7;
+  undefined8 *puVar7;
   
   if (param_1 == (undefined8 *)0x0) {
     return -1;
   }
   puVar2 = (undefined8 *)*param_1;
   puVar3 = (undefined4 *)*puVar2;
   if (puVar3 == (undefined4 *)0x0) {
     return -1;
   }
   iVar5 = qmdpi_bundle_is_active(puVar2);
   if (iVar5 != 0) {
-    FUN_00160640(puVar3);
+    FUN_0011c550(puVar3);
   }
-  puVar7 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 **)(puVar7 + 2) = puVar3;
-  *(undefined8 *)(puVar7 + 4) = 0;
+  puVar7 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  puVar7[1] = puVar3;
+  puVar7[2] = 0;
   uVar4 = puVar2[9];
-  *(undefined8 *)(puVar7 + 10) = 0;
-  *(undefined8 *)(puVar7 + 6) = uVar4;
+  puVar7[5] = 0;
+  puVar7[3] = uVar4;
   uVar1 = *puVar3;
-  puVar7[1] = 0;
-  *puVar7 = uVar1;
+  *(undefined4 *)((long)puVar7 + 4) = 0;
+  *(undefined4 *)puVar7 = uVar1;
   if (*(uint *)puVar2[1] < 0x19) {
     iVar6 = 0;
   }
   else {
     iVar6 = (**(code **)((uint *)puVar2[1] + 0x9c))(puVar2[9],*(undefined4 *)(param_1 + 1));
     if (iVar6 < 0) goto LAB_0;
   }
-  (*(code *)PTR_qm_free_default_001d3560)(param_1,0xff000000,0x51);
+  (*(code *)PTR_qm_free_default_001f7900)(param_1,0xff000000,0x51);
 LAB_0:
-  *(undefined8 *)(puVar7 + 2) = 0;
-  *(undefined8 *)(puVar7 + 4) = 0;
-  *(undefined8 *)(puVar7 + 6) = 0;
-  *(undefined8 *)(puVar7 + 10) = 0;
+  puVar7[5] = 0;
   *puVar7 = 0;
   puVar7[1] = 0;
+  puVar7[2] = 0;
+  puVar7[3] = 0;
+  *(undefined4 *)((long)puVar7 + 0x34) = 0xffffffff;
   if (iVar5 != 0) {
-    FUN_001606c0(puVar3);
+    FUN_0011c5d0(puVar3);
     return iVar6;
   }
   return iVar6;
 }
 

qmdpi_flow_packets_processed_get_stc

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_packets_processed_get_stc qmdpi_flow_packets_processed_get_stc
fullname qmdpi_flow_packets_processed_get_stc qmdpi_flow_packets_processed_get_stc
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f6f0 00186890
sig undefined qmdpi_flow_packets_processed_get_stc(void) undefined qmdpi_flow_packets_processed_get_stc(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_packets_processed_get_stc Called Diff

--- qmdpi_flow_packets_processed_get_stc called
+++ qmdpi_flow_packets_processed_get_stc called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_packets_processed_get_stc Diff

--- qmdpi_flow_packets_processed_get_stc
+++ qmdpi_flow_packets_processed_get_stc
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_packets_processed_get_stc(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 0x10) {
     return *(undefined8 *)(lVar1 + 0x48);
   }
   if ((*param_1 & 0x60) != 0x40) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x40);
 }
 

qmdpi_bundle_signature_foreach_by_mpa

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.49
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_foreach_by_mpa qmdpi_bundle_signature_foreach_by_mpa
fullname qmdpi_bundle_signature_foreach_by_mpa qmdpi_bundle_signature_foreach_by_mpa
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b1a0 001836c0
sig undefined qmdpi_bundle_signature_foreach_by_mpa(void) undefined qmdpi_bundle_signature_foreach_by_mpa(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_foreach_by_mpa Called Diff

--- qmdpi_bundle_signature_foreach_by_mpa called
+++ qmdpi_bundle_signature_foreach_by_mpa called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_foreach_by_mpa Diff

--- qmdpi_bundle_signature_foreach_by_mpa
+++ qmdpi_bundle_signature_foreach_by_mpa
@@ -1,38 +1,38 @@
 
 undefined8
 qmdpi_bundle_signature_foreach_by_mpa
           (undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_3 != 0 && param_2 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_3 == 0 || param_2 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x1f0))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_bundle_signature_disable_byfamily

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.56
i_ratio 0.5
m_ratio 0.98
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_disable_byfamily qmdpi_bundle_signature_disable_byfamily
fullname qmdpi_bundle_signature_disable_byfamily qmdpi_bundle_signature_disable_byfamily
refcount 3 3
length 440 386
called ::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_00160640
FUN_001606c0
qmdpi_bundle_is_active
thunk_FUN_00181e30
::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_0011c550
FUN_0011c5d0
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 0018a3a0 00182750
sig undefined qmdpi_bundle_signature_disable_byfamily(void) undefined qmdpi_bundle_signature_disable_byfamily(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_disable_byfamily Called Diff

--- qmdpi_bundle_signature_disable_byfamily called
+++ qmdpi_bundle_signature_disable_byfamily called
@@ -4,2 +4,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_disable_byfamily Diff

--- qmdpi_bundle_signature_disable_byfamily
+++ qmdpi_bundle_signature_disable_byfamily
@@ -1,75 +1,64 @@
 
 undefined4 qmdpi_bundle_signature_disable_byfamily(long *param_1,char *param_2)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   undefined1 local_1a8 [64];
   undefined1 local_168;
   char local_128 [64];
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  undefined4 local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if (((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (*param_1 == 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (*param_1 == 0)) {
     uVar3 = 0xffffffff;
   }
   else {
     local_1a8[0] = 0;
     local_168 = 0;
-    local_128[0] = '\0';
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
     strncpy(local_128,param_2,0x3f);
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 2);
     iVar2 = qmdpi_bundle_is_active(param_1);
     if (iVar2 != 0) {
-      FUN_00160640(*param_1);
+      FUN_0011c550(*param_1);
     }
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x90))(param_1[9],local_1a8);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     if (iVar2 != 0) {
-      FUN_001606c0(*param_1);
+      FUN_0011c5d0(*param_1);
     }
-    (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 2);
   }
   return uVar3;
 }
 

_FINI_0

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.53
i_ratio 0.31
m_ratio 0.92
b_ratio 0.92
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name _FINI_0 _FINI_0
fullname _FINI_0 _FINI_0
refcount 2 2
length 50 54
called ::__cxa_finalize
FUN_0010e7a0
::__cxa_finalize
FUN_0011c3d3
calling
paramcount 0 0
address 0010e830 0011c42e
sig undefined _FINI_0(void) undefined _FINI_0(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

_FINI_0 Called Diff

--- _FINI_0 called
+++ _FINI_0 called
@@ -2 +2 @@
-FUN_0010e7a0
+FUN_0011c3d3

_FINI_0 Diff

--- _FINI_0
+++ _FINI_0
@@ -1,12 +1,13 @@
 
 void _FINI_0(void)
 
 {
-  if (DAT_0 == '\0') {
-    __cxa_finalize(PTR_LOOP_001d33c0);
-    FUN_0010e7a0();
-    DAT_0 = '\x01';
+  if (DAT_0 != '\0') {
+    return;
   }
+  __cxa_finalize(PTR_LOOP_001f7380);
+  FUN_0011c3d3();
+  DAT_0 = 1;
   return;
 }
 

qmdpi_bundle_signature_upper_dump

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.35
i_ratio 0.29
m_ratio 0.98
b_ratio 0.85
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_upper_dump qmdpi_bundle_signature_upper_dump
fullname qmdpi_bundle_signature_upper_dump qmdpi_bundle_signature_upper_dump
refcount 3 3
length 605 557
called ::memset
::strncpy
qm_free_default
qm_malloc_default
thunk_FUN_00181e30
::memset
::strncpy
qm_free_default
qm_malloc_default
thunk_FUN_00173540
calling
paramcount 0 0
address 001841a0 00174820
sig undefined qmdpi_bundle_signature_upper_dump(void) undefined qmdpi_bundle_signature_upper_dump(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_upper_dump Called Diff

--- qmdpi_bundle_signature_upper_dump called
+++ qmdpi_bundle_signature_upper_dump called
@@ -5 +5 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_upper_dump Diff

--- qmdpi_bundle_signature_upper_dump
+++ qmdpi_bundle_signature_upper_dump
@@ -1,93 +1,83 @@
 
 undefined8
 qmdpi_bundle_signature_upper_dump
           (undefined8 *param_1,char *param_2,undefined8 param_3,code *param_4)
 
 {
   undefined4 uVar1;
   int iVar2;
-  undefined8 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar3;
+  undefined8 uVar4;
   void *__s;
-  long lVar5;
-  long lVar6;
+  void *pvVar5;
+  void *pvVar6;
   uint local_1ac;
   char local_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  undefined4 local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
   local_1ac = 0;
-  uVar3 = 0xffffffff;
-  if (((param_4 != (code *)0x0 && param_2 != (char *)0x0) && (param_1 != (undefined8 *)0x0)) &&
-     (*param_2 != '\0')) {
-    local_1a8[0] = '\0';
+  if ((param_1 == (undefined8 *)0x0 || (param_4 == (code *)0x0 || param_2 == (char *)0x0)) ||
+     (*param_2 == '\0')) {
+    uVar4 = 0xffffffff;
+  }
+  else {
     local_168 = 0;
     local_128 = 0;
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
     strncpy(local_1a8,param_2,0x3f);
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    uVar3 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar3;
-    uVar3 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar4 = *param_1;
+    puVar3[2] = 0;
+    puVar3[1] = uVar4;
+    uVar4 = param_1[9];
+    puVar3[5] = 0;
+    puVar3[3] = uVar4;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar1;
-    puVar4[1] = 0;
-    uVar3 = (**(code **)(param_1[1] + 0x1a0))(param_1[9],local_1a8,&local_1ac,4);
-    if (-1 < (int)uVar3) {
-      uVar3 = 0;
+    *(undefined4 *)puVar3 = uVar1;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
+    uVar4 = (**(code **)(param_1[1] + 0x1a0))(param_1[9],local_1a8,&local_1ac,4);
+    if (-1 < (int)uVar4) {
       if (local_1ac != 0) {
-        __s = (void *)(*(code *)PTR_qm_malloc_default_001d3558)(local_1ac,200,0xff000000,0x47);
-        uVar3 = 0xfffffffb;
-        if (__s != (void *)0x0) {
-          memset(__s,0,(ulong)local_1ac * 200);
-          iVar2 = (**(code **)(param_1[1] + 0x198))(param_1[9],local_1a8,__s,local_1ac * 200);
-          if (0 < iVar2) {
-            lVar5 = (long)__s + 0x40;
-            do {
-              lVar6 = lVar5 + 200;
-              (*param_4)(param_3,"%s:%s:%s\n",lVar5,lVar5 + -0x40,lVar5 + 0x40);
-              lVar5 = lVar6;
-            } while (lVar6 != (long)__s + (ulong)(iVar2 - 1) * 200 + 0x108);
-          }
-          (*(code *)PTR_qm_free_default_001d3560)(__s,0xff000000,0x47);
-          *(undefined8 *)(puVar4 + 2) = 0;
-          *(undefined8 *)(puVar4 + 4) = 0;
-          uVar3 = 0;
-          *(undefined8 *)(puVar4 + 6) = 0;
-          *(undefined8 *)(puVar4 + 10) = 0;
-          *puVar4 = 0;
-          puVar4[1] = 0;
+        __s = (void *)(*(code *)PTR_qm_malloc_default_001f78f8)(local_1ac,200,0xff000000,0x47);
+        if (__s == (void *)0x0) {
+          return 0xfffffffb;
         }
+        memset(__s,0,(ulong)local_1ac * 200);
+        iVar2 = (**(code **)(param_1[1] + 0x198))(param_1[9],local_1a8,__s,local_1ac * 200);
+        if (0 < iVar2) {
+          pvVar5 = __s;
+          do {
+            pvVar6 = (void *)((long)pvVar5 + 200);
+            (*param_4)(param_3,"%s:%s:%s\n",(long)pvVar5 + 0x40,pvVar5,(long)pvVar5 + 0x80);
+            pvVar5 = pvVar6;
+          } while (pvVar6 != (void *)((long)__s + (long)iVar2 * 200));
+        }
+        (*(code *)PTR_qm_free_default_001f7900)(__s,0xff000000,0x47);
+        puVar3[5] = 0;
+        *puVar3 = 0;
+        puVar3[1] = 0;
+        puVar3[2] = 0;
+        puVar3[3] = 0;
+        *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
       }
+      uVar4 = 0;
     }
   }
-  return uVar3;
+  return uVar4;
 }
 

qmdpi_bundle_attr_foreach

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.53
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_attr_foreach qmdpi_bundle_attr_foreach
fullname qmdpi_bundle_attr_foreach qmdpi_bundle_attr_foreach
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b440 00183960
sig undefined qmdpi_bundle_attr_foreach(void) undefined qmdpi_bundle_attr_foreach(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_attr_foreach Called Diff

--- qmdpi_bundle_attr_foreach called
+++ qmdpi_bundle_attr_foreach called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_attr_foreach Diff

--- qmdpi_bundle_attr_foreach
+++ qmdpi_bundle_attr_foreach
@@ -1,37 +1,37 @@
 
 undefined8
 qmdpi_bundle_attr_foreach(undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_2 != 0 && param_3 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_2 == 0 || param_3 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0xd0))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_flow_bytes_get_stc

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_bytes_get_stc qmdpi_flow_bytes_get_stc
fullname qmdpi_flow_bytes_get_stc qmdpi_flow_bytes_get_stc
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f5f0 00186770
sig undefined qmdpi_flow_bytes_get_stc(void) undefined qmdpi_flow_bytes_get_stc(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_bytes_get_stc Called Diff

--- qmdpi_flow_bytes_get_stc called
+++ qmdpi_flow_bytes_get_stc called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_bytes_get_stc Diff

--- qmdpi_flow_bytes_get_stc
+++ qmdpi_flow_bytes_get_stc
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_bytes_get_stc(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 0x10) {
     return *(undefined8 *)(lVar1 + 0x18);
   }
   if ((*param_1 & 0x60) != 0x40) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x10);
 }
 

qmdpi_flow_table_set_port

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.9
i_ratio 0.5
m_ratio 0.92
b_ratio 0.83
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_table_set_port qmdpi_flow_table_set_port
fullname qmdpi_flow_table_set_port qmdpi_flow_table_set_port
refcount 3 3
length 42 36
called FUN_0016cde0 FUN_00195370
calling
paramcount 0 0
address 00185d80 0017d7f0
sig undefined qmdpi_flow_table_set_port(void) undefined qmdpi_flow_table_set_port(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_table_set_port Called Diff

--- qmdpi_flow_table_set_port called
+++ qmdpi_flow_table_set_port called
@@ -1 +1 @@
-FUN_0016cde0
+FUN_00195370

qmdpi_flow_table_set_port Diff

--- qmdpi_flow_table_set_port
+++ qmdpi_flow_table_set_port
@@ -1,13 +1,13 @@
 
 int qmdpi_flow_table_set_port(undefined8 param_1,undefined8 param_2,undefined2 param_3)
 
 {
   int iVar1;
   
   if (DAT_0 != 1) {
-    iVar1 = FUN_0016cde0(param_1,param_2,param_3);
+    iVar1 = FUN_00195370(param_1,param_2,param_3);
     return -(uint)(iVar1 != 0);
   }
   return -1;
 }
 

qmdpi_bundle_attr_foreach_permitted

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.53
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_attr_foreach_permitted qmdpi_bundle_attr_foreach_permitted
fullname qmdpi_bundle_attr_foreach_permitted qmdpi_bundle_attr_foreach_permitted
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b520 00183a40
sig undefined qmdpi_bundle_attr_foreach_permitted(void) undefined qmdpi_bundle_attr_foreach_permitted(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_attr_foreach_permitted Called Diff

--- qmdpi_bundle_attr_foreach_permitted called
+++ qmdpi_bundle_attr_foreach_permitted called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_attr_foreach_permitted Diff

--- qmdpi_bundle_attr_foreach_permitted
+++ qmdpi_bundle_attr_foreach_permitted
@@ -1,38 +1,38 @@
 
 undefined8
 qmdpi_bundle_attr_foreach_permitted
           (undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_2 != 0 && param_3 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_2 == 0 || param_3 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x1e8))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

_DT_INIT

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.8
i_ratio 0.55
m_ratio 0.73
b_ratio 0.36
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name _DT_INIT _DT_INIT
fullname _DT_INIT _DT_INIT
refcount 4 4
length 14 26
called FUN_0010e788 ::gmon_start
calling
paramcount 0 0
address 0010e000 00111000
sig undefined _DT_INIT(void) undefined _DT_INIT(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

_DT_INIT Called Diff

--- _DT_INIT called
+++ _DT_INIT called
@@ -1 +1 @@
-FUN_0010e788
+<EXTERNAL>::__gmon_start__

_DT_INIT Diff

--- _DT_INIT
+++ _DT_INIT
@@ -1,8 +1,8 @@
 
 void _DT_INIT(void)
 
 {
-  FUN_0010e788();
+  __gmon_start__();
   return;
 }
 

qm_malloc_default

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.05
i_ratio 0.0
m_ratio 0.02
b_ratio 0.02
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qm_malloc_default qm_malloc_default
fullname qm_malloc_default qm_malloc_default
refcount 6 6
length 691 8
called FUN_001665a0
FUN_0019c4c0
thunk_FUN_00133f90
thunk_FUN_00181e30
FUN_00173d10
calling
paramcount 0 0
address 00182470 00173fd0
sig undefined qm_malloc_default(void) undefined qm_malloc_default(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qm_malloc_default Called Diff

--- qm_malloc_default called
+++ qm_malloc_default called
@@ -1,4 +1 @@
-FUN_001665a0
-FUN_0019c4c0
-thunk_FUN_00133f90
-thunk_FUN_00181e30
+FUN_00173d10

qm_malloc_default Diff

--- qm_malloc_default
+++ qm_malloc_default
@@ -1,110 +1,8 @@
 
-ulong * qm_malloc_default(int param_1,int param_2)
+void qm_malloc_default(int param_1,int param_2)
 
 {
-  int *piVar1;
-  long lVar2;
-  undefined8 uVar3;
-  code *pcVar4;
-  uint uVar5;
-  int iVar6;
-  long lVar7;
-  long lVar8;
-  long *plVar9;
-  ulong *puVar10;
-  ulong *puVar11;
-  ulong uVar12;
-  ulong uVar13;
-  undefined8 *puVar14;
-  long lVar15;
-  
-  lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  uVar13 = (ulong)(uint)(param_1 * param_2) + 0xf & 0xfffffffffffffff8;
-  if ((*(int *)(lVar7 + 4) == 0) || (uVar5 = (int)uVar13 - 1U >> 5, (uVar5 & 0x7fffff0) != 0))
-  goto LAB_0;
-  uVar5 = *(uint *)((long)&DAT_1 + (ulong)uVar5 * 4);
-  if ((*(long *)(lVar7 + 8) == 0) || (lVar2 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar2 == 0))
-  goto LAB_0;
-  lVar15 = lVar2 + 0x40 + (ulong)uVar5 * 0x38;
-  uVar12 = (ulong)*(uint *)(lVar2 + 0x40 + (ulong)uVar5 * 0x38);
-  uVar3 = *(undefined8 *)(lVar15 + 0x10);
-  lVar2 = *(long *)(lVar15 + 8);
-  lVar8 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  plVar9 = (long *)((ulong)*(uint *)(lVar8 + 4) * 0x40 + lVar2);
-  iVar6 = (int)plVar9[1];
-  if (iVar6 == 0) {
-    FUN_001665a0(plVar9,uVar3,uVar12,0x80);
-    iVar6 = (int)plVar9[1];
-    if (iVar6 != 0) goto LAB_2;
-  }
-  else {
-LAB_2:
-    puVar10 = (ulong *)*plVar9;
-    if (puVar10 != (ulong *)0x0) {
-      lVar7 = *(long *)((long)puVar10 + uVar12 + 7 & 0xfffffffffffffff8);
-      *(int *)(plVar9 + 1) = iVar6 + -1;
-      *plVar9 = lVar7;
-      lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      piVar1 = (int *)(*(long *)(lVar15 + 0x18) + (ulong)*(uint *)(lVar7 + 4) * 4);
-      *piVar1 = *piVar1 + 1;
-      goto LAB_3;
-    }
-  }
-  if ((int)uVar5 < 5) {
-    if ((*(long *)(lVar7 + 8) == 0) || (lVar2 = *(long *)(*(long *)(lVar7 + 8) + 0x428), lVar2 == 0)
-       ) {
-                    /* WARNING: Does not return */
-      pcVar4 = (code *)invalidInstructionException();
-      (*pcVar4)();
-    }
-    lVar8 = (ulong)(uVar5 + 1) * 0x38;
-    lVar15 = lVar2 + 0x40 + lVar8;
-    uVar12 = (ulong)*(uint *)(lVar2 + 0x40 + lVar8);
-    uVar3 = *(undefined8 *)(lVar15 + 0x10);
-    lVar2 = *(long *)(lVar15 + 8);
-    lVar8 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    puVar14 = (undefined8 *)(lVar2 + (ulong)*(uint *)(lVar8 + 4) * 0x40);
-    iVar6 = *(int *)(puVar14 + 1);
-    if (iVar6 == 0) {
-      FUN_001665a0(puVar14,uVar3,uVar12,0x80);
-      iVar6 = *(int *)(puVar14 + 1);
-      if (iVar6 == 0) goto LAB_0;
-    }
-    puVar10 = (ulong *)*puVar14;
-    if (puVar10 != (ulong *)0x0) {
-      uVar3 = *(undefined8 *)((long)puVar10 + uVar12 + 7 & 0xfffffffffffffff8);
-      *(int *)(puVar14 + 1) = iVar6 + -1;
-      *puVar14 = uVar3;
-      lVar7 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      piVar1 = (int *)(*(long *)(lVar15 + 0x18) + (ulong)*(uint *)(lVar7 + 4) * 4);
-      *piVar1 = *piVar1 + 1;
-LAB_3:
-      iVar6 = *(int *)(lVar15 + 4);
-      *puVar10 = uVar13 | *puVar10 & 0xe000000000000000;
-      *(char *)((long)puVar10 + 7) = (char)(iVar6 << 5);
-      return puVar10 + 1;
-    }
-  }
-LAB_0:
-  puVar10 = (ulong *)(*(code *)PTR_thunk_FUN_00133f90_001d36e8)(uVar13);
-  if (puVar10 == (ulong *)0x0) {
-    FUN_0019c4c0(0,0);
-    puVar11 = (ulong *)0x0;
-  }
-  else {
-    puVar11 = puVar10 + 1;
-    *puVar10 = *puVar10 & 0xe000000000000000 | uVar13;
-    *(undefined1 *)((long)puVar10 + 7) = 0xc0;
-    lVar2 = *(long *)(lVar7 + 8);
-    if (lVar2 != 0) {
-      if (*(long *)(lVar7 + 0x10) != 0) {
-        plVar9 = (long *)(*(long *)(lVar2 + 0x430) + (ulong)*(uint *)(lVar7 + 4) * 8);
-        *plVar9 = *plVar9 + uVar13;
-        return puVar11;
-      }
-      *(long *)(lVar2 + 0x548) = *(long *)(lVar2 + 0x548) + uVar13;
-    }
-  }
-  return puVar11;
+  FUN_00173d10(param_1 * param_2);
+  return;
 }
 

qmdpi_layer_store_flush

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.19
i_ratio 0.26
m_ratio 0.91
b_ratio 0.72
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_flush qmdpi_layer_store_flush
fullname qmdpi_layer_store_flush qmdpi_layer_store_flush
refcount 3 3
length 197 246
called FUN_00192190
FUN_00192910
thunk_FUN_00181e30
FUN_001896f0
FUN_00189f30
thunk_FUN_00173540
calling
paramcount 0 0
address 0018daa0 00177ea0
sig undefined qmdpi_layer_store_flush(void) undefined qmdpi_layer_store_flush(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_flush Called Diff

--- qmdpi_layer_store_flush called
+++ qmdpi_layer_store_flush called
@@ -1,3 +1,3 @@
-FUN_00192190
-FUN_00192910
-thunk_FUN_00181e30
+FUN_001896f0
+FUN_00189f30
+thunk_FUN_00173540

qmdpi_layer_store_flush Diff

--- qmdpi_layer_store_flush
+++ qmdpi_layer_store_flush
@@ -1,41 +1,59 @@
 
 undefined8 qmdpi_layer_store_flush(undefined8 *param_1,long param_2,undefined4 param_3)
 
 {
-  undefined4 uVar1;
-  long lVar2;
-  undefined8 uVar3;
-  undefined4 *puVar4;
+  int *piVar1;
+  undefined4 uVar2;
+  long lVar3;
+  undefined8 *puVar4;
+  undefined8 uVar5;
   
-  if ((param_1 != (undefined8 *)0x0) && (param_2 != 0)) {
-    lVar2 = FUN_00192190(*param_1);
-    uVar3 = 0xfffffff8;
-    if (lVar2 != 0) {
-      puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      uVar3 = *param_1;
-      *(undefined8 **)(puVar4 + 4) = param_1;
-      *(undefined8 *)(puVar4 + 6) = 0;
-      *(undefined8 *)(puVar4 + 10) = 0;
-      *(undefined8 *)(puVar4 + 2) = uVar3;
-      if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-        uVar1 = 0;
+  if (param_1 == (undefined8 *)0x0 || param_2 == 0) {
+    uVar5 = 0xffffffff;
+  }
+  else {
+    lVar3 = FUN_001896f0(*param_1);
+    if (lVar3 == 0) {
+      uVar5 = 0xfffffff8;
+    }
+    else {
+      LOCK();
+      piVar1 = (int *)((long)param_1 + 0x224);
+      *piVar1 = *piVar1 + 1;
+      UNLOCK();
+      if (*piVar1 == 0) {
+        puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        uVar5 = *param_1;
+        puVar4[2] = param_1;
+        puVar4[1] = uVar5;
+        uVar2 = 0;
+        puVar4[3] = 0;
+        puVar4[5] = 0;
+        if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+          uVar2 = *(undefined4 *)*param_1;
+        }
+        *(undefined4 *)puVar4 = uVar2;
+        *(undefined4 *)((long)puVar4 + 4) = *(undefined4 *)(param_1 + 1);
+        FUN_00189f30(lVar3,param_3);
+        puVar4[5] = 0;
+        *puVar4 = 0;
+        puVar4[1] = 0;
+        puVar4[2] = 0;
+        puVar4[3] = 0;
+        *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+        uVar5 = 0;
       }
       else {
-        uVar1 = *(undefined4 *)*param_1;
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+        uVar5 = 0xfffffffa;
       }
-      *puVar4 = uVar1;
-      puVar4[1] = *(undefined4 *)(param_1 + 1);
-      FUN_00192910(lVar2,param_3);
-      *(undefined8 *)(puVar4 + 2) = 0;
-      *(undefined8 *)(puVar4 + 4) = 0;
-      uVar3 = 0;
-      *(undefined8 *)(puVar4 + 6) = 0;
-      *(undefined8 *)(puVar4 + 10) = 0;
-      *puVar4 = 0;
-      puVar4[1] = 0;
     }
-    return uVar3;
   }
-  return 0xffffffff;
+  return uVar5;
 }
 

qmdpi_flow_get_bypdu

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.18
i_ratio 0.5
m_ratio 0.96
b_ratio 0.79
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_get_bypdu qmdpi_flow_get_bypdu
fullname qmdpi_flow_get_bypdu qmdpi_flow_get_bypdu
refcount 3 3
length 301 295
called FUN_0017c060
thunk_FUN_00181e30
FUN_001a4350
thunk_FUN_00173540
calling
paramcount 0 0
address 0017eed0 001a60b0
sig undefined qmdpi_flow_get_bypdu(void) undefined qmdpi_flow_get_bypdu(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_get_bypdu Called Diff

--- qmdpi_flow_get_bypdu called
+++ qmdpi_flow_get_bypdu called
@@ -1,2 +1,2 @@
-FUN_0017c060
-thunk_FUN_00181e30
+FUN_001a4350
+thunk_FUN_00173540

qmdpi_flow_get_bypdu Diff

--- qmdpi_flow_get_bypdu
+++ qmdpi_flow_get_bypdu
@@ -1,52 +1,47 @@
 
 long qmdpi_flow_get_bypdu
                (long *param_1,long param_2,int param_3,undefined4 param_4,undefined4 param_5)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   long lVar3;
-  long lVar4;
   
-  if (((param_2 == 0) || (param_1 == (long *)0x0)) || (param_3 < 1)) {
-    lVar4 = 0;
-    lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if ((param_2 == 0 || param_1 == (long *)0x0) || (param_3 < 1)) {
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
+    return 0;
+  }
+  puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  lVar3 = *param_1;
+  puVar2[2] = param_1;
+  puVar2[1] = lVar3;
+  uVar1 = 0;
+  puVar2[3] = 0;
+  puVar2[5] = 0;
+  if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+    uVar1 = *(undefined4 *)*param_1;
+  }
+  *(undefined4 *)puVar2 = uVar1;
+  *(int *)((long)puVar2 + 4) = (int)param_1[1];
+  if (*(char *)(*param_1 + 0x310) == '\0') {
+    lVar3 = FUN_001a4350(param_1,param_2,param_3,param_4,param_5);
+    if (lVar3 != 0) goto LAB_0;
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar3 + 0x30) = 0xfffffff8;
+  }
+  else {
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
   }
-  else {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar4 = *param_1;
-    *(long **)(puVar2 + 4) = param_1;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(long *)(puVar2 + 2) = lVar4;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
-      uVar1 = *(undefined4 *)*param_1;
-    }
-    *puVar2 = uVar1;
-    puVar2[1] = (int)param_1[1];
-    if (*(char *)(*param_1 + 0x310) == '\0') {
-      lVar4 = FUN_0017c060(param_1,param_2,param_3,param_4,param_5);
-      if (lVar4 == 0) {
-        lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined4 *)(lVar3 + 0x30) = 0xfffffff8;
-      }
-    }
-    else {
-      lVar4 = 0;
-      lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
-    }
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *puVar2 = 0;
-    puVar2[1] = 0;
-  }
-  return lVar4;
+  lVar3 = 0;
+LAB_0:
+  puVar2[5] = 0;
+  *puVar2 = 0;
+  puVar2[1] = 0;
+  puVar2[2] = 0;
+  puVar2[3] = 0;
+  *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
+  return lVar3;
 }
 

qmdpi_flow_classif_ext_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.51
i_ratio 0.48
m_ratio 0.96
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_classif_ext_get qmdpi_flow_classif_ext_get
fullname qmdpi_flow_classif_ext_get qmdpi_flow_classif_ext_get
refcount 3 3
length 579 638
called ::strncpy
FUN_00162120
FUN_00164400
FUN_0019ebd0
thunk_FUN_00181e30
::strncpy
FUN_001b6430
FUN_001b6dd0
FUN_001b7470
FUN_001b9c60
thunk_FUN_00173540
calling
paramcount 0 0
address 00165410 001b8350
sig undefined qmdpi_flow_classif_ext_get(void) undefined qmdpi_flow_classif_ext_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_classif_ext_get Called Diff

--- qmdpi_flow_classif_ext_get called
+++ qmdpi_flow_classif_ext_get called
@@ -2,4 +2,5 @@
-FUN_00162120
-FUN_00164400
-FUN_0019ebd0
-thunk_FUN_00181e30
+FUN_001b6430
+FUN_001b6dd0
+FUN_001b7470
+FUN_001b9c60
+thunk_FUN_00173540

qmdpi_flow_classif_ext_get Diff

--- qmdpi_flow_classif_ext_get
+++ qmdpi_flow_classif_ext_get
@@ -1,90 +1,95 @@
 
-uint qmdpi_flow_classif_ext_get(long param_1,char *param_2,int param_3)
+ulong qmdpi_flow_classif_ext_get(long param_1,char *param_2,int param_3)
 
 {
   undefined4 uVar1;
   undefined4 *puVar2;
   int *piVar3;
   int iVar4;
-  undefined4 *puVar5;
-  long lVar6;
-  uint *puVar7;
+  undefined8 *puVar5;
+  ulong uVar6;
+  long lVar7;
+  uint *puVar8;
   uint local_168 [7];
   int local_14c;
   char local_148 [256];
   long local_48;
   
-  puVar7 = local_168;
-  for (lVar6 = 0x25; lVar6 != 0; lVar6 = lVar6 + -1) {
-    puVar7[0] = 0;
-    puVar7[1] = 0;
-    puVar7 = puVar7 + 2;
+  puVar8 = local_168;
+  for (lVar7 = 0x25; lVar7 != 0; lVar7 = lVar7 + -1) {
+    puVar8[0] = 0;
+    puVar8[1] = 0;
+    puVar8 = puVar8 + 2;
   }
-  iVar4 = FUN_0019ebd0("classif_ext");
+  iVar4 = FUN_001b9c60("classif_ext");
   if (iVar4 == 0) {
     return 0xfffffff1;
   }
-  if (((0 < param_3) && (param_1 != 0)) && (param_2 != (char *)0x0)) {
-    if (*(undefined8 **)(param_1 + 0x68) == (undefined8 *)0x0) {
+  if ((0 < param_3) && (param_1 != 0 && param_2 != (char *)0x0)) {
+    if (*(undefined8 **)(param_1 + 0x80) == (undefined8 *)0x0) {
       return 0xffffffef;
     }
-    puVar2 = (undefined4 *)**(undefined8 **)(param_1 + 0x68);
+    puVar2 = (undefined4 *)**(undefined8 **)(param_1 + 0x80);
     if (puVar2 != (undefined4 *)0x0) {
-      lVar6 = *(long *)(puVar2 + 0x14e);
-      if (lVar6 != 0) {
-        puVar5 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined8 *)(puVar5 + 4) = 0;
-        *(undefined8 *)(puVar5 + 6) = 0;
-        *(undefined8 *)(puVar5 + 10) = 0;
-        *(undefined4 **)(puVar5 + 2) = puVar2;
+      lVar7 = *(long *)(puVar2 + 0x17e);
+      if (lVar7 != 0) {
+        if ((*(byte *)(lVar7 + 0x288) & 2) != 0) {
+          uVar6 = FUN_001b6dd0(lVar7,0,puVar2,param_1,param_2,param_3);
+          return uVar6;
+        }
+        puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        puVar5[2] = 0;
+        puVar5[1] = puVar2;
+        puVar5[3] = 0;
+        puVar5[5] = 0;
         uVar1 = *puVar2;
-        puVar5[1] = 0;
-        *puVar5 = uVar1;
+        *(undefined4 *)((long)puVar5 + 4) = 0;
+        *(undefined4 *)puVar5 = uVar1;
         local_48 = *(long *)(param_1 + 0xd0);
         if (local_48 != 0) {
-          if ((*(byte *)(*(long *)(param_1 + 0x90) +
-                        (ulong)*(uint *)(*(long *)(param_1 + 0x68) + 0x54)) & 2) == 0) {
+          if ((*(byte *)(*(long *)(param_1 + 0xa8) +
+                        (ulong)*(uint *)(*(long *)(param_1 + 0x80) + 0x54)) & 2) == 0) {
             return 0xffffffe1;
           }
-          piVar3 = *(int **)(*(long *)(param_1 + 0x90) + 0x14 +
-                            (ulong)*(uint *)(*(long *)(param_1 + 0x68) + 0x54));
+          piVar3 = *(int **)(*(long *)(param_1 + 0xa8) + 0x14 +
+                            (ulong)*(uint *)(*(long *)(param_1 + 0x80) + 0x54));
           if (piVar3 != (int *)0x0) {
             local_14c = piVar3[(ulong)(*piVar3 - 1) + 1];
-            FUN_00164400(lVar6,local_168);
+            FUN_001b7470(lVar7,local_168);
           }
-          iVar4 = FUN_00162120(lVar6 + 0x10,local_168,lVar6 + 0x208,lVar6 + 0x230,lVar6 + 0x268,0);
+          iVar4 = FUN_001b6430(lVar7 + 0x10,local_168,lVar7 + 0x208,lVar7 + 0x230,lVar7 + 0x268,0);
           if (iVar4 == 1) {
             if ((int)local_168[0] < param_3) {
               strncpy(param_2,local_148,(ulong)local_168[0]);
+              puVar5[5] = 0;
+              puVar5[1] = 0;
+              puVar5[2] = 0;
+              puVar5[3] = 0;
+              *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
               *puVar5 = 0;
-              *(undefined8 *)(puVar5 + 2) = 0;
-              *(undefined8 *)(puVar5 + 4) = 0;
-              *(undefined8 *)(puVar5 + 6) = 0;
-              *(undefined8 *)(puVar5 + 10) = 0;
-              puVar5[1] = 0;
-              return local_168[0];
+              return (ulong)local_168[0];
             }
             strncpy(param_2,local_148,(long)param_3);
-            *(undefined8 *)(puVar5 + 2) = 0;
-            *(undefined8 *)(puVar5 + 4) = 0;
-            *(undefined8 *)(puVar5 + 6) = 0;
-            *(undefined8 *)(puVar5 + 10) = 0;
+            puVar5[5] = 0;
             *puVar5 = 0;
             puVar5[1] = 0;
+            puVar5[2] = 0;
+            puVar5[3] = 0;
+            *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
             return 0xffffffe5;
           }
-          *(undefined8 *)(puVar5 + 2) = 0;
-          *(undefined8 *)(puVar5 + 4) = 0;
-          *(undefined8 *)(puVar5 + 6) = 0;
-          *(undefined8 *)(puVar5 + 10) = 0;
+          puVar5[5] = 0;
           *puVar5 = 0;
           puVar5[1] = 0;
+          puVar5[2] = 0;
+          puVar5[3] = 0;
+          *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
           return 0xfffffff8;
         }
       }
       return 0xffffffe4;
     }
   }
   return 0xffffffff;
 }
 

qmdpi_layer_store_on_update_entry_callback_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.5
i_ratio 0.51
m_ratio 0.94
b_ratio 0.63
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_on_update_entry_callback_set qmdpi_layer_store_on_update_entry_callback_set
fullname qmdpi_layer_store_on_update_entry_callback_set qmdpi_layer_store_on_update_entry_callback_set
refcount 3 3
length 66 75
called FUN_00192190
FUN_00192390
FUN_001896f0
FUN_001898d0
calling
paramcount 0 0
address 0018dd80 001781d0
sig undefined qmdpi_layer_store_on_update_entry_callback_set(void) undefined qmdpi_layer_store_on_update_entry_callback_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_on_update_entry_callback_set Called Diff

--- qmdpi_layer_store_on_update_entry_callback_set called
+++ qmdpi_layer_store_on_update_entry_callback_set called
@@ -1,2 +1,2 @@
-FUN_00192190
-FUN_00192390
+FUN_001896f0
+FUN_001898d0

qmdpi_layer_store_on_update_entry_callback_set Diff

--- qmdpi_layer_store_on_update_entry_callback_set
+++ qmdpi_layer_store_on_update_entry_callback_set
@@ -1,21 +1,25 @@
 
 undefined8
 qmdpi_layer_store_on_update_entry_callback_set
           (long param_1,long param_2,undefined8 param_3,undefined8 param_4)
 
 {
   long lVar1;
   undefined8 uVar2;
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    lVar1 = FUN_00192190();
-    uVar2 = 0xfffffff8;
-    if (lVar1 != 0) {
-      FUN_00192390(lVar1,param_3,param_4);
+  if (param_1 == 0 || param_2 == 0) {
+    uVar2 = 0xffffffff;
+  }
+  else {
+    lVar1 = FUN_001896f0();
+    if (lVar1 == 0) {
+      uVar2 = 0xfffffff8;
+    }
+    else {
+      FUN_001898d0(lVar1,param_3,param_4);
       uVar2 = 0;
     }
-    return uVar2;
   }
-  return 0xffffffff;
+  return uVar2;
 }
 

qmdpi_bundle_create_from_file

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.08
i_ratio 0.35
m_ratio 0.97
b_ratio 0.18
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_create_from_file qmdpi_bundle_create_from_file
fullname qmdpi_bundle_create_from_file qmdpi_bundle_create_from_file
refcount 3 3
length 1544 1637
called
Expand for full list:
::memset
::pthread_spin_lock
::pthread_spin_unlock
FUN_0010eaf0
FUN_0010f1e0
FUN_0010f260
FUN_0010f2e0
FUN_00188530
FUN_0019d5f0
qm_free_default
qm_malloc_default
thunk_FUN_00133f90
thunk_FUN_00137060
thunk_FUN_00181e30
Expand for full list:
::memset
::pthread_spin_lock
::pthread_spin_unlock
FUN_00172940
FUN_001729b0
FUN_00172a30
FUN_00172d50
FUN_001809e0
FUN_0018cc40
qm_free_default
qm_malloc_default
thunk_FUN_0014a9d0
thunk_FUN_0014cca0
thunk_FUN_00173540
calling
paramcount 0 0
address 00188a40 00180f00
sig undefined qmdpi_bundle_create_from_file(void) undefined qmdpi_bundle_create_from_file(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_create_from_file Called Diff

--- qmdpi_bundle_create_from_file called
+++ qmdpi_bundle_create_from_file called
@@ -4,6 +4,6 @@
-FUN_0010eaf0
-FUN_0010f1e0
-FUN_0010f260
-FUN_0010f2e0
-FUN_00188530
-FUN_0019d5f0
+FUN_00172940
+FUN_001729b0
+FUN_00172a30
+FUN_00172d50
+FUN_001809e0
+FUN_0018cc40
@@ -12,3 +12,3 @@
-thunk_FUN_00133f90
-thunk_FUN_00137060
-thunk_FUN_00181e30
+thunk_FUN_0014a9d0
+thunk_FUN_0014cca0
+thunk_FUN_00173540

qmdpi_bundle_create_from_file Diff

--- qmdpi_bundle_create_from_file
+++ qmdpi_bundle_create_from_file
@@ -1,231 +1,233 @@
 
 undefined8 * qmdpi_bundle_create_from_file(undefined4 *param_1,long param_2)
 
 {
-  long *plVar1;
+  undefined8 *puVar1;
   undefined4 *puVar2;
-  long lVar3;
-  undefined8 uVar4;
-  int iVar5;
-  undefined4 uVar6;
-  undefined4 *puVar7;
+  undefined8 uVar3;
+  long lVar4;
+  bool bVar5;
+  int iVar6;
+  undefined4 uVar7;
   undefined8 *puVar8;
-  long lVar9;
-  void *pvVar10;
+  undefined8 *puVar9;
+  long lVar10;
   long lVar11;
   ulong uVar12;
-  undefined8 *puVar13;
+  long *plVar13;
   undefined8 *puVar14;
   byte bVar15;
-  undefined8 local_68;
-  undefined **local_60;
-  undefined8 local_58;
-  undefined *local_50;
-  undefined8 local_48;
-  undefined **local_40;
   
   bVar15 = 0;
   if (param_1 == (undefined4 *)0x0) {
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar9 + 0x30) = 0xffffffff;
+    lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar10 + 0x30) = 0xffffffff;
     return (undefined8 *)0x0;
   }
-  puVar7 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 **)(puVar7 + 2) = param_1;
-  *(undefined8 *)(puVar7 + 4) = 0;
-  *(undefined8 *)(puVar7 + 6) = 0;
-  *(undefined8 *)(puVar7 + 10) = 0;
-  uVar6 = *param_1;
-  puVar7[1] = 0;
-  *puVar7 = uVar6;
-  puVar8 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x70,0xff000000,0x1d);
-  if ((puVar8 == (undefined8 *)0x0) || (puVar14 = puVar8 + 2, puVar14 == (undefined8 *)0x0)) {
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
+  puVar8 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  puVar8[1] = param_1;
+  puVar8[2] = 0;
+  puVar8[3] = 0;
+  puVar8[5] = 0;
+  uVar7 = *param_1;
+  *(undefined4 *)((long)puVar8 + 4) = 0;
+  *(undefined4 *)puVar8 = uVar7;
+  puVar9 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0x70,0xff000000,0x1d);
+  if (puVar9 == (undefined8 *)0x0) {
+    lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar10 + 0x30) = 0xfffffffb;
     goto LAB_0;
   }
+  puVar1 = puVar9 + 2;
+  puVar9[2] = 0;
+  puVar9[0xd] = 0;
+  puVar14 = (undefined8 *)((ulong)(puVar9 + 3) & 0xfffffffffffffff8);
+  for (uVar12 = (ulong)(((int)puVar1 - (int)(undefined8 *)((ulong)(puVar9 + 3) & 0xfffffffffffffff8)
+                        ) + 0x60U >> 3); uVar12 != 0; uVar12 = uVar12 - 1) {
+    *puVar14 = 0;
+    puVar14 = puVar14 + (ulong)bVar15 * -2 + 1;
+  }
+  lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  if (DAT_1 == 0) {
+    lVar10 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)();
+  }
+  else {
+    lVar10 = (*(code *)PTR_qm_malloc_default_001f78f8)
+                       (1,*(long *)(*(long *)(lVar10 + 8) + 0x2f0) * 0x40 + 0x80U & 0xffffffff,
+                        0xff000000,0x5b);
+  }
+  if (lVar10 == 0) {
+    puVar9[9] = 0;
+    lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar10 + 0x30) = 0xfffffffb;
+  }
+  else {
+    uVar12 = lVar10 + 0x47U & 0xffffffffffffffc0;
+    *(long *)(uVar12 - 8) = lVar10;
+    puVar9[9] = uVar12;
+    lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    memset((void *)puVar9[9],0,(*(long *)(*(long *)(lVar10 + 8) + 0x2f0) + 1) * 0x40);
+    lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    lVar10 = *(long *)(*(long *)(lVar10 + 8) + 0x2f0);
+    if (((DAT_1 == 0) && (lVar11 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar11 != 0)
+        ) && (lVar4 = *(long *)(lVar11 + 8), lVar4 != 0)) {
+      lVar10 = (lVar10 + 1) * 0x40;
+      if (*(long *)(lVar11 + 0x10) == 0) {
+        *(long *)(lVar4 + 0x610) = *(long *)(lVar4 + 0x610) + lVar10;
+        goto LAB_2;
+      }
+      LOCK();
+      *(long *)(lVar4 + 0x4f0) = *(long *)(lVar4 + 0x4f0) + lVar10;
+      UNLOCK();
+      if (param_2 != 0) goto LAB_3;
+LAB_4:
+      iVar6 = FUN_001729b0(puVar1);
+      if (iVar6 < 0) goto LAB_5;
+LAB_6:
+      lVar10 = FUN_001809e0(param_1,puVar9[3]);
+      if (lVar10 == 0) {
+        iVar6 = (**(code **)(puVar9[3] + 0x38))(puVar9[3],1,0x2da,0);
+        if (iVar6 != 0) {
+          iVar6 = -1;
+LAB_7:
+          FUN_00172a30(puVar1);
+          goto LAB_5;
+        }
+        iVar6 = (**(code **)(puVar9[3] + 0x78))(puVar9 + 0xb,puVar9[3],param_1);
+        if ((iVar6 == 0) &&
+           (iVar6 = (**(code **)(puVar9[3] + 0x2b8))(*(undefined4 *)(puVar9 + 5)), iVar6 == 0)) {
+          (*(code *)PTR_FUN_001f7948)(puVar9 + 4,"qmbundle_init");
+          *(uint *)(puVar9 + 0xc) = (uint)*(ushort *)(puVar9[3] + 0x148);
+          *(uint *)((long)puVar9 + 100) = (uint)*(ushort *)(puVar9[3] + 0x14a);
+        }
+        else if (iVar6 < 0) goto LAB_7;
+        puVar2 = param_1 + 0x164;
+        (*(code *)PTR_pthread_spin_lock_001f7960)(puVar2);
+        puVar9[2] = param_1;
+        iVar6 = param_1[0x166];
+        param_1[0x166] = iVar6 + 1;
+        *(int *)(puVar9 + 5) = iVar6 + 1;
+        *puVar9 = 0;
+        puVar14 = *(undefined8 **)(param_1 + 0x158);
+        if (puVar14 == (undefined8 *)0x0) {
+          puVar9[1] = 0;
+          *(undefined8 **)(param_1 + 0x156) = puVar9;
+        }
+        else {
+          puVar9[1] = puVar14;
+          *puVar14 = puVar9;
+        }
+        *(undefined8 **)(param_1 + 0x158) = puVar9;
+        param_1[0x15a] = param_1[0x15a] + 1;
+        param_1[0x162] = param_1[0x162] + 1;
+        (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 0x170);
+        plVar13 = *(long **)(param_1 + 0x168);
+        lVar10 = *plVar13;
+        if (lVar10 == 0) goto LAB_8;
+        bVar5 = false;
+        do {
+          if (*(char *)(lVar10 + 0x20) == '\x01') {
+            (**(code **)(puVar9[3] + 0x2c8))
+                      (&DAT_9,"if_qm_engine_ml_etc_predict",*(undefined8 *)(lVar10 + 0x10));
+          }
+          else if (*(char *)(lVar10 + 0x20) == '\x02') {
+            (**(code **)(puVar9[3] + 0x2c8))
+                      (&DAT_9,"if_qm_engine_ml_cla_predict",*(undefined8 *)(lVar10 + 0x18));
+          }
+          if (bVar5) break;
+          plVar13 = *(long **)(param_1 + 0x168);
+LAB_8:
+          lVar10 = plVar13[1];
+          bVar5 = true;
+        } while (lVar10 != 0);
+        (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 0x170);
+        (*(code *)PTR_pthread_spin_unlock_001f7968)(puVar2);
+        if (*(long *)(param_1 + 0xe2) == 0) {
+LAB_10:
+          puVar8[5] = 0;
+          *puVar8 = 0;
+          puVar8[1] = 0;
+          puVar8[2] = 0;
+          puVar8[3] = 0;
+          *(undefined4 *)((long)puVar8 + 0x34) = 0xffffffff;
+          return puVar1;
+        }
+        puVar8 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        uVar3 = puVar9[2];
+        puVar8[2] = 0;
+        puVar8[1] = uVar3;
+        uVar7 = 0;
+        puVar8[3] = 0;
+        puVar8[5] = 0;
+        if ((undefined4 *)puVar9[2] != (undefined4 *)0x0) {
+          uVar7 = *(undefined4 *)puVar9[2];
+        }
+        *(undefined4 *)puVar8 = uVar7;
+        *(undefined4 *)((long)puVar8 + 4) = 0;
+        if ((*(long *)(param_1 + 0xe2) == 3) || (iVar6 = FUN_0018cc40(param_1), -1 < iVar6))
+        goto LAB_10;
+        (*(code *)PTR_pthread_spin_lock_001f7960)(puVar2);
+        lVar10 = *(long *)(param_1 + 0x158);
+        if (lVar10 != 0) {
+          **(undefined8 **)(lVar10 + 8) = 0;
+          uVar3 = *(undefined8 *)(lVar10 + 8);
+          param_1[0x15a] = param_1[0x15a] + -1;
+          *(undefined8 *)(param_1 + 0x158) = uVar3;
+        }
+        param_1[0x162] = param_1[0x162] + -1;
+        (*(code *)PTR_pthread_spin_unlock_001f7968)(puVar2);
+        FUN_00172a30(puVar1);
+        lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        *(undefined4 *)(lVar10 + 0x30) = 0xffffffe4;
+      }
+      else {
+        FUN_00172a30(puVar1);
+        lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        *(undefined4 *)(lVar10 + 0x30) = 0xffffffff;
+      }
+    }
+    else {
+LAB_2:
+      if (param_2 == 0) goto LAB_4;
+LAB_3:
+      iVar6 = FUN_00172940(param_2,puVar1);
+      if (-1 < iVar6) goto LAB_6;
+LAB_5:
+      lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(int *)(lVar10 + 0x30) = iVar6;
+    }
+    if (DAT_1 == 0) {
+      (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(*(undefined8 *)(puVar9[9] + -8));
+    }
+    else {
+      (*(code *)PTR_qm_free_default_001f7900)(*(undefined8 *)(puVar9[9] + -8),0xff000000,0x5b);
+    }
+    puVar9[9] = 0;
+    lVar10 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    if (DAT_1 == 0) {
+      lVar10 = *(long *)(*(long *)(lVar10 + 8) + 0x2f0);
+      lVar11 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      if ((lVar11 != 0) && (lVar4 = *(long *)(lVar11 + 8), lVar4 != 0)) {
+        lVar10 = lVar10 + 1;
+        if (*(long *)(lVar11 + 0x10) == 0) {
+          *(long *)(lVar4 + 0x610) = *(long *)(lVar4 + 0x610) + lVar10 * -0x40;
+        }
+        else {
+          LOCK();
+          *(long *)(lVar4 + 0x4f0) = *(long *)(lVar4 + 0x4f0) + lVar10 * -0x40;
+          UNLOCK();
+        }
+      }
+    }
+  }
+  (*(code *)PTR_qm_free_default_001f7900)(puVar9,0xff000000,0x1d);
+LAB_0:
+  puVar8[5] = 0;
+  *puVar8 = 0;
+  puVar8[1] = 0;
   puVar8[2] = 0;
-  puVar8[0xd] = 0;
-  puVar13 = (undefined8 *)((ulong)(puVar8 + 3) & 0xfffffffffffffff8);
-  for (uVar12 = (ulong)(((int)puVar14 -
-                        (int)(undefined8 *)((ulong)(puVar8 + 3) & 0xfffffffffffffff8)) + 0x60U >> 3)
-      ; uVar12 != 0; uVar12 = uVar12 - 1) {
-    *puVar13 = 0;
-    puVar13 = puVar13 + (ulong)bVar15 * -2 + 1;
-  }
-  lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  if (DAT_1 == 0) {
-    lVar9 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)();
-  }
-  else {
-    lVar9 = (*(code *)PTR_qm_malloc_default_001d3558)
-                      (1,*(long *)(*(long *)(lVar9 + 8) + 0x2f0) * 0x40 + 0x80U & 0xffffffff,
-                       0xff000000,0x5b);
-  }
-  if (lVar9 == 0) {
-    puVar8[9] = 0;
-LAB_2:
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar9 + 0x30) = 0xfffffffb;
-  }
-  else {
-    uVar12 = lVar9 + 0x47U & 0xffffffffffffffc0;
-    *(long *)(uVar12 - 8) = lVar9;
-    puVar8[9] = uVar12;
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    pvVar10 = memset((void *)puVar8[9],0,(*(long *)(*(long *)(lVar9 + 8) + 0x2f0) + 1) * 0x40);
-    if (pvVar10 == (void *)0x0) goto LAB_2;
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-    lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar3 = *(long *)(lVar11 + 8);
-    if ((lVar3 != 0) && (DAT_1 == 0)) {
-      lVar9 = (lVar9 + 1) * 0x40;
-      if (*(long *)(lVar11 + 0x10) == 0) {
-        *(long *)(lVar3 + 0x550) = *(long *)(lVar3 + 0x550) + lVar9;
-      }
-      else {
-        plVar1 = (long *)(*(long *)(lVar3 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-        *plVar1 = *plVar1 + lVar9;
-      }
-    }
-    if (param_2 == 0) {
-      iVar5 = FUN_0010f260(puVar14);
-      if (-1 < iVar5) goto LAB_3;
-LAB_4:
-      lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(int *)(lVar9 + 0x30) = iVar5;
-    }
-    else {
-      iVar5 = FUN_0010f1e0(param_2,puVar14);
-      if (iVar5 < 0) goto LAB_4;
-LAB_3:
-      lVar9 = FUN_00188530(param_1,puVar8[3]);
-      if (lVar9 == 0) {
-        local_48 = 0x228;
-        local_40 = &PTR_printf_001d3540;
-        local_68 = 0x148;
-        local_58 = 0x170;
-        local_60 = &PTR_FUN_001d33e0;
-        local_50 = &DAT_5;
-        iVar5 = (**(code **)(puVar8[3] + 0x38))(puVar8[3],1,0x21c,0);
-        if (iVar5 != 0) {
-          iVar5 = -1;
-LAB_6:
-          FUN_0010f2e0(puVar14);
-          goto LAB_4;
-        }
-        iVar5 = (**(code **)(puVar8[3] + 0x78))(puVar8 + 0xb,puVar8[3],param_1,&local_68);
-        if ((iVar5 == 0) &&
-           (iVar5 = (**(code **)(puVar8[3] + 0x2b8))(*(undefined4 *)(puVar8 + 5)), iVar5 == 0)) {
-          (*(code *)PTR_FUN_001d35a8)(puVar8 + 4,"qmbundle_init");
-          *(uint *)(puVar8 + 0xc) = (uint)*(ushort *)(puVar8[3] + 0x148);
-          *(uint *)((long)puVar8 + 100) = (uint)*(ushort *)(puVar8[3] + 0x14a);
-        }
-        else if (iVar5 < 0) goto LAB_6;
-        puVar2 = param_1 + 0x134;
-        (*(code *)PTR_pthread_spin_lock_001d35c0)(puVar2);
-        puVar8[2] = param_1;
-        iVar5 = param_1[0x136];
-        param_1[0x136] = iVar5 + 1;
-        *(int *)(puVar8 + 5) = iVar5 + 1;
-        *puVar8 = 0;
-        puVar13 = *(undefined8 **)(param_1 + 0x128);
-        if (puVar13 == (undefined8 *)0x0) {
-          puVar8[1] = 0;
-          *(undefined8 **)(param_1 + 0x126) = puVar8;
-        }
-        else {
-          puVar8[1] = puVar13;
-          *puVar13 = puVar8;
-        }
-        param_1[0x12a] = param_1[0x12a] + 1;
-        param_1[0x132] = param_1[0x132] + 1;
-        *(undefined8 **)(param_1 + 0x128) = puVar8;
-        (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 0x140);
-        if (*(long *)(param_1 + 0x138) != 0) {
-          (**(code **)(puVar8[3] + 0x2c8))
-                    (&DAT_7,"if_qm_engine_ml_etc_predict",
-                     *(undefined8 *)(*(long *)(param_1 + 0x138) + 0x10));
-        }
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 0x140);
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(puVar2);
-        if (*(long *)(param_1 + 0xe2) == 0) {
-LAB_8:
-          *(undefined8 *)(puVar7 + 2) = 0;
-          *(undefined8 *)(puVar7 + 4) = 0;
-          *(undefined8 *)(puVar7 + 6) = 0;
-          *(undefined8 *)(puVar7 + 10) = 0;
-          *puVar7 = 0;
-          puVar7[1] = 0;
-          return puVar14;
-        }
-        puVar7 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        uVar4 = puVar8[2];
-        *(undefined8 *)(puVar7 + 4) = 0;
-        *(undefined8 *)(puVar7 + 6) = 0;
-        *(undefined8 *)(puVar7 + 10) = 0;
-        *(undefined8 *)(puVar7 + 2) = uVar4;
-        if ((undefined4 *)puVar8[2] == (undefined4 *)0x0) {
-          uVar6 = 0;
-        }
-        else {
-          uVar6 = *(undefined4 *)puVar8[2];
-        }
-        *puVar7 = uVar6;
-        puVar7[1] = 0;
-        if ((*(long *)(param_1 + 0xe2) == 3) || (iVar5 = FUN_0019d5f0(param_1), -1 < iVar5))
-        goto LAB_8;
-        (*(code *)PTR_pthread_spin_lock_001d35c0)(puVar2);
-        lVar9 = *(long *)(param_1 + 0x128);
-        if (lVar9 != 0) {
-          **(undefined8 **)(lVar9 + 8) = 0;
-          uVar4 = *(undefined8 *)(lVar9 + 8);
-          param_1[0x12a] = param_1[0x12a] + -1;
-          *(undefined8 *)(param_1 + 0x128) = uVar4;
-        }
-        param_1[0x132] = param_1[0x132] + -1;
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(puVar2);
-        FUN_0010f2e0(puVar14);
-        lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined4 *)(lVar9 + 0x30) = 0xffffffe4;
-      }
-      else {
-        FUN_0010f2e0(puVar14);
-        lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined4 *)(lVar9 + 0x30) = 0xffffffff;
-      }
-    }
-    if (DAT_1 == 0) {
-      (*(code *)PTR_thunk_FUN_00137060_001d3760)();
-    }
-    else {
-      (*(code *)PTR_qm_free_default_001d3560)(*(undefined8 *)(puVar8[9] + -8),0xff000000,0x5b);
-    }
-    puVar8[9] = 0;
-    lVar9 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar9 = *(long *)(*(long *)(lVar9 + 8) + 0x2f0);
-    lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar3 = *(long *)(lVar11 + 8);
-    if ((lVar3 != 0) && (DAT_1 == 0)) {
-      lVar9 = lVar9 + 1;
-      if (*(long *)(lVar11 + 0x10) == 0) {
-        *(long *)(lVar3 + 0x550) = *(long *)(lVar3 + 0x550) + lVar9 * -0x40;
-      }
-      else {
-        plVar1 = (long *)(*(long *)(lVar3 + 0x438) + (ulong)*(uint *)(lVar11 + 4) * 8);
-        *plVar1 = *plVar1 + lVar9 * -0x40;
-      }
-    }
-  }
-  (*(code *)PTR_qm_free_default_001d3560)(puVar8,0xff000000,0x1d);
-LAB_0:
-  *(undefined8 *)(puVar7 + 2) = 0;
-  *(undefined8 *)(puVar7 + 4) = 0;
-  *(undefined8 *)(puVar7 + 6) = 0;
-  *(undefined8 *)(puVar7 + 10) = 0;
-  *puVar7 = 0;
-  puVar7[1] = 0;
+  puVar8[3] = 0;
+  *(undefined4 *)((long)puVar8 + 0x34) = 0xffffffff;
   return (undefined8 *)0x0;
 }
 

qmdpi_result_attr_getnext_with_index

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.26
i_ratio 0.22
m_ratio 0.7
b_ratio 0.52
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_result_attr_getnext_with_index qmdpi_result_attr_getnext_with_index
fullname qmdpi_result_attr_getnext_with_index qmdpi_result_attr_getnext_with_index
refcount 6 6
length 251 428
called
calling
paramcount 0 0
address 00183740 00176670
sig undefined qmdpi_result_attr_getnext_with_index(void) undefined qmdpi_result_attr_getnext_with_index(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_result_attr_getnext_with_index Diff

--- qmdpi_result_attr_getnext_with_index
+++ qmdpi_result_attr_getnext_with_index
@@ -1,55 +1,97 @@
 
 undefined8
 qmdpi_result_attr_getnext_with_index
           (long param_1,undefined4 *param_2,int *param_3,undefined4 *param_4,undefined8 *param_5,
           undefined4 *param_6,uint *param_7)
 
 {
   byte bVar1;
   long lVar2;
   long lVar3;
   undefined8 *puVar4;
-  uint uVar5;
+  undefined8 *puVar5;
+  uint uVar6;
+  uint uVar7;
+  bool bVar8;
   
-  if ((((param_1 == 0) || (param_2 == (undefined4 *)0x0)) || (param_3 == (int *)0x0)) ||
-     (((param_4 == (undefined4 *)0x0 ||
-       (param_5 == (undefined8 *)0x0 || param_6 == (undefined4 *)0x0)) ||
-      ((param_7 == (uint *)0x0 || (lVar2 = *(long *)(param_1 + 0x20), lVar2 == 0)))))) {
+  if ((((param_1 == 0 || param_2 == (undefined4 *)0x0) ||
+       (param_3 == (int *)0x0 || param_4 == (undefined4 *)0x0)) ||
+      ((param_5 == (undefined8 *)0x0 || param_6 == (undefined4 *)0x0) || param_7 == (uint *)0x0)) ||
+     (lVar2 = *(long *)(param_1 + 0x20), lVar2 == 0)) {
     return 0xffffffff;
   }
+  if ((*(uint *)(lVar2 + 0x10) & 0x7fffffff) == 0) {
+    return 0xfffffff8;
+  }
   lVar3 = *(long *)(lVar2 + 0x68);
+  puVar4 = *(undefined8 **)(lVar2 + 0x60);
   if (lVar3 == 0) {
-    if ((*(uint *)(lVar2 + 0x10) & 0x7fffffff) == 0) {
+    bVar1 = *(byte *)((long)puVar4 + 0x15);
+    puVar5 = puVar4;
+  }
+  else {
+    puVar5 = (undefined8 *)(lVar3 + 0x18);
+    if ((*(byte *)(lVar3 + 0x15) & 1) != 0) {
+      puVar5 = (undefined8 *)
+               (((ulong)((uint)((*(byte *)(lVar3 + 0x15) & 0x20) != 0) + *(int *)(lVar3 + 0x10)) +
+                 0x1f & 0xfffffffffffffff8) + lVar3);
+    }
+    if ((undefined8 *)((ulong)*(uint *)(lVar2 + 8) + (long)puVar4) <= puVar5) {
       return 0xfffffff8;
     }
-    puVar4 = *(undefined8 **)(lVar2 + 0x60);
+    bVar1 = *(byte *)((long)puVar5 + 0x15);
+  }
+  if ((bVar1 & 0x30) == 0x20) {
+    do {
+      if ((bVar1 & 1) == 0) {
+        puVar5 = puVar5 + 3;
+      }
+      else {
+        puVar5 = (undefined8 *)
+                 ((long)puVar5 + ((ulong)(*(int *)(puVar5 + 2) + 1) + 0x1f & 0xfffffffffffffff8));
+      }
+      if ((undefined8 *)((long)puVar4 + (ulong)*(uint *)(lVar2 + 8)) <= puVar5) {
+        return 0xfffffff8;
+      }
+      bVar1 = *(byte *)((long)puVar5 + 0x15);
+    } while ((bVar1 & 0x10) == 0);
+  }
+  *param_2 = *(undefined4 *)(puVar5 + 1);
+  *param_3 = (int)*(char *)((long)puVar5 + 0x14);
+  *param_4 = *(undefined4 *)((long)puVar5 + 0xc);
+  *param_6 = *(undefined4 *)(puVar5 + 2);
+  *param_5 = *puVar5;
+  *param_7 = 0;
+  bVar8 = (*(byte *)((long)puVar5 + 0x15) & 2) != 0;
+  uVar7 = (uint)bVar8;
+  uVar6 = (uint)bVar8;
+  *param_7 = uVar6;
+  bVar1 = *(byte *)((long)puVar5 + 0x15);
+  if ((bVar1 & 4) != 0) {
+    uVar7 = uVar6 | 2;
+    *param_7 = uVar7;
+    bVar1 = *(byte *)((long)puVar5 + 0x15);
+  }
+  if ((bVar1 & 8) != 0) {
+    uVar7 = uVar7 | 4;
+    *param_7 = uVar7;
+    bVar1 = *(byte *)((long)puVar5 + 0x15);
+  }
+  if ((bVar1 & 0x20) == 0) {
+    if ((bVar1 & 0x10) == 0) {
+      uVar7 = uVar7 | 0x10;
+      goto LAB_0;
+    }
   }
   else {
-    puVar4 = (undefined8 *)(lVar3 + 0x18);
-    if ((*(byte *)(lVar3 + 0x15) & 1) != 0) {
-      puVar4 = (undefined8 *)(((ulong)*(uint *)(lVar3 + 0x10) + 0x1f & 0xfffffffffffffff8) + lVar3);
-    }
-    if ((undefined8 *)((ulong)*(uint *)(lVar2 + 8) + *(long *)(lVar2 + 0x60)) <= puVar4) {
-      return 0xfffffff8;
-    }
+    uVar7 = uVar7 | 0x20;
+LAB_0:
+    *param_7 = uVar7;
+    if ((*(byte *)((long)puVar5 + 0x15) & 0x10) == 0) goto LAB_1;
   }
-  *param_2 = *(undefined4 *)(puVar4 + 1);
-  *param_3 = (int)*(char *)((long)puVar4 + 0x14);
-  *param_4 = *(undefined4 *)((long)puVar4 + 0xc);
-  *param_6 = *(undefined4 *)(puVar4 + 2);
-  *param_5 = *puVar4;
-  *param_7 = 0;
-  uVar5 = *(byte *)((long)puVar4 + 0x15) >> 1 & 1;
-  *param_7 = uVar5;
-  bVar1 = *(byte *)((long)puVar4 + 0x15);
-  if ((bVar1 & 4) != 0) {
-    *param_7 = uVar5 | 2;
-    bVar1 = *(byte *)((long)puVar4 + 0x15);
-  }
-  if ((bVar1 & 8) != 0) {
-    *param_7 = *param_7 | 4;
-  }
-  *(undefined8 **)(lVar2 + 0x68) = puVar4;
+  *param_7 = uVar7 | 0x10;
+LAB_1:
+  *(undefined8 **)(lVar2 + 0x68) = puVar5;
   return 0;
 }
 

qmdpi_bundle_signature_foreach_permitted_by_mpa

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.49
m_ratio 1.0
b_ratio 0.82
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_foreach_permitted_by_mpa qmdpi_bundle_signature_foreach_permitted_by_mpa
fullname qmdpi_bundle_signature_foreach_permitted_by_mpa qmdpi_bundle_signature_foreach_permitted_by_mpa
refcount 3 3
length 209 206
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b360 00183880
sig undefined qmdpi_bundle_signature_foreach_permitted_by_mpa(void) undefined qmdpi_bundle_signature_foreach_permitted_by_mpa(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_foreach_permitted_by_mpa Called Diff

--- qmdpi_bundle_signature_foreach_permitted_by_mpa called
+++ qmdpi_bundle_signature_foreach_permitted_by_mpa called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_foreach_permitted_by_mpa Diff

--- qmdpi_bundle_signature_foreach_permitted_by_mpa
+++ qmdpi_bundle_signature_foreach_permitted_by_mpa
@@ -1,38 +1,38 @@
 
 undefined8
 qmdpi_bundle_signature_foreach_permitted_by_mpa
           (undefined8 *param_1,long param_2,long param_3,undefined8 param_4)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_3 != 0 && param_2 != 0) && (param_1 != (undefined8 *)0x0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || (param_3 == 0 || param_2 == 0)) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x200))(param_1[9],param_1,param_2,param_3,param_4);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_bundle_signature_disable

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.51
i_ratio 0.53
m_ratio 0.98
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_disable qmdpi_bundle_signature_disable
fullname qmdpi_bundle_signature_disable qmdpi_bundle_signature_disable
refcount 3 3
length 435 388
called ::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_00160640
FUN_001606c0
qmdpi_bundle_is_active
thunk_FUN_00181e30
::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_0011c550
FUN_0011c5d0
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 0018a570 001828f0
sig undefined qmdpi_bundle_signature_disable(void) undefined qmdpi_bundle_signature_disable(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_disable Called Diff

--- qmdpi_bundle_signature_disable called
+++ qmdpi_bundle_signature_disable called
@@ -4,2 +4,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_disable Diff

--- qmdpi_bundle_signature_disable
+++ qmdpi_bundle_signature_disable
@@ -1,75 +1,64 @@
 
 undefined4 qmdpi_bundle_signature_disable(long *param_1,char *param_2)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
-  char local_1a8 [64];
+  undefined8 *puVar4;
+  char acStack_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  undefined4 local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if (((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (*param_1 == 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (*param_1 == 0)) {
     uVar3 = 0xffffffff;
   }
   else {
-    local_1a8[0] = '\0';
     local_168 = 0;
     local_128 = 0;
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
-    strncpy(local_1a8,param_2,0x3f);
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 2);
+    strncpy(acStack_1a8,param_2,0x3f);
+    (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 2);
     iVar2 = qmdpi_bundle_is_active(param_1);
     if (iVar2 != 0) {
-      FUN_00160640(*param_1);
+      FUN_0011c550(*param_1);
     }
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
-    uVar3 = (**(code **)(param_1[1] + 0x90))(param_1[9],local_1a8);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    uVar3 = (**(code **)(param_1[1] + 0x90))(param_1[9],acStack_1a8);
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     if (iVar2 != 0) {
-      FUN_001606c0(*param_1);
+      FUN_0011c5d0(*param_1);
     }
-    (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 2);
   }
   return uVar3;
 }
 

qmdpi_flow_blob_5tuple_inner_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.44
i_ratio 0.12
m_ratio 0.99
b_ratio 0.1
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_blob_5tuple_inner_get qmdpi_flow_blob_5tuple_inner_get
fullname qmdpi_flow_blob_5tuple_inner_get qmdpi_flow_blob_5tuple_inner_get
refcount 3 3
length 898 922
called FUN_0017b6e0
FUN_0019ebd0
FUN_001a3390
FUN_001b9c60
calling
paramcount 0 0
address 00181860 001a86d0
sig undefined qmdpi_flow_blob_5tuple_inner_get(void) undefined qmdpi_flow_blob_5tuple_inner_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_blob_5tuple_inner_get Called Diff

--- qmdpi_flow_blob_5tuple_inner_get called
+++ qmdpi_flow_blob_5tuple_inner_get called
@@ -1,2 +1,2 @@
-FUN_0017b6e0
-FUN_0019ebd0
+FUN_001a3390
+FUN_001b9c60

qmdpi_flow_blob_5tuple_inner_get Diff

--- qmdpi_flow_blob_5tuple_inner_get
+++ qmdpi_flow_blob_5tuple_inner_get
@@ -1,197 +1,198 @@
-
-/* WARNING: Type propagation algorithm not settling */
 
 undefined8
 qmdpi_flow_blob_5tuple_inner_get
           (long param_1,uint param_2,uint *param_3,uint *param_4,long *param_5,long *param_6,
           long *param_7,long *param_8)
 
 {
-  ushort uVar1;
-  short sVar2;
-  int iVar3;
-  short *psVar4;
-  uint uVar5;
-  long lVar6;
+  short sVar1;
+  int iVar2;
+  long lVar3;
+  long lVar4;
+  ushort uVar5;
+  byte *pbVar6;
   uint uVar7;
-  long *plVar8;
+  uint uVar8;
   undefined8 *puVar9;
   byte bVar10;
+  short *psVar11;
+  byte bVar12;
   uint local_13c [3];
-  long local_130 [4];
-  long *local_110;
+  long local_130;
+  undefined1 local_128 [2];
+  undefined1 auStack_126 [14];
+  undefined8 local_118;
+  byte *local_110;
   undefined8 *local_108;
   long local_100;
   undefined8 local_f8;
   byte local_ef;
   byte local_ec;
   byte local_eb;
   undefined8 local_b8 [17];
   
-  bVar10 = 0;
-  if (param_2 == 0) {
+  bVar12 = 0;
+  if (param_1 == 0 || param_2 == 0) {
     return 0xffffffff;
   }
-  if (param_1 == 0) {
+  if (param_3 == (uint *)0x0 || param_4 == (uint *)0x0) {
     return 0xffffffff;
   }
-  if (param_3 == (uint *)0x0) {
+  if (param_5 == (long *)0x0 || param_6 == (long *)0x0) {
     return 0xffffffff;
   }
-  if (param_4 == (uint *)0x0) {
-    return 0xffffffff;
-  }
-  if (param_5 == (long *)0x0) {
-    return 0xffffffff;
-  }
-  if (param_6 == (long *)0x0) {
-    return 0xffffffff;
-  }
-  if (param_7 == (long *)0x0) {
-    return 0xffffffff;
-  }
-  if (param_8 == (long *)0x0) {
+  if (param_7 == (long *)0x0 || param_8 == (long *)0x0) {
     return 0xffffffff;
   }
   local_13c[0] = param_2;
-  iVar3 = FUN_0019ebd0(&DAT_0);
-  if (iVar3 == 0) {
+  iVar2 = FUN_001b9c60(&DAT_0);
+  if (iVar2 == 0) {
     return 0xfffffff1;
   }
-  plVar8 = local_130 + 3;
-  for (lVar6 = 0xb; lVar6 != 0; lVar6 = lVar6 + -1) {
-    *plVar8 = 0;
-    plVar8 = plVar8 + (ulong)bVar10 * -2 + 1;
+  puVar9 = &local_118;
+  for (lVar3 = 0xb; lVar3 != 0; lVar3 = lVar3 + -1) {
+    *puVar9 = 0;
+    puVar9 = puVar9 + (ulong)bVar12 * -2 + 1;
   }
-  if (local_13c[0] < 4) {
+  if (param_2 < 4) {
     return 0xffffffff;
   }
-  local_130[1] = 0;
-  local_130[2] = 0;
   puVar9 = local_b8;
-  for (lVar6 = 0x10; lVar6 != 0; lVar6 = lVar6 + -1) {
+  for (lVar3 = 0x10; lVar3 != 0; lVar3 = lVar3 + -1) {
     *puVar9 = 0;
-    puVar9 = puVar9 + (ulong)bVar10 * -2 + 1;
+    puVar9 = puVar9 + (ulong)bVar12 * -2 + 1;
   }
-  local_110 = local_130 + 1;
+  pbVar6 = local_128;
+  _local_128 = (undefined1  [16])0x0;
+  local_110 = pbVar6;
   local_108 = local_b8;
-  if (local_13c[0] - 4 < 8) {
+  if (param_2 - 4 < 8) {
     return 0xffffffff;
   }
   local_f8 = *(undefined8 *)(param_1 + 4);
-  if (local_13c[0] == 0xc) {
+  if (param_2 == 0xc) {
     return 0xffffffff;
   }
   local_100 = param_1 + 0xd;
-  if (local_13c[0] == 0xd) {
+  if (param_2 == 0xd) {
     return 0xffffffff;
   }
-  local_130[0] = param_1 + 0xe;
-  bVar10 = *(byte *)(param_1 + 0xd);
-  uVar7 = local_13c[0] - 0xe;
-  if (uVar7 < bVar10) {
+  local_130 = param_1 + 0xe;
+  bVar12 = *(byte *)(param_1 + 0xd);
+  local_13c[0] = param_2 - 0xe;
+  if (local_13c[0] < bVar12) {
     return 0xffffffff;
   }
   if (*(char *)(param_1 + 0xc) == '\0') {
-    local_13c[0] = uVar7;
-    iVar3 = FUN_0017b6e0(local_130,local_13c);
-    if (iVar3 != 0) {
+    iVar2 = FUN_001a3390(&local_130,local_13c,&local_118,(uint)bVar12);
+    if (iVar2 != 0) {
       return 0xffffffff;
     }
+    bVar12 = local_eb >> 4;
+    if (local_eb >> 4 < (local_eb & 0xf)) {
+      bVar12 = local_eb & 0xf;
+    }
+    pbVar6 = local_110 + bVar12;
+    uVar5 = *(ushort *)(local_100 + -2 + (ulong)*pbVar6);
     goto LAB_1;
   }
-  if (uVar7 < 2) {
+  if (local_13c[0] < 2) {
     return 0xffffffff;
   }
-  if (*(short *)(param_1 + 0xe) == 0x51) {
+  uVar5 = *(ushort *)(param_1 + 0xe);
+  if (uVar5 == 0x51) {
     uVar7 = 9;
-    lVar6 = 9;
+    lVar3 = 9;
   }
   else {
-    if (*(short *)(param_1 + 0xe) != 0x52) {
+    if (uVar5 != 0x52) {
       return 0xffffffff;
     }
     uVar7 = 0x21;
-    lVar6 = 0x21;
+    lVar3 = 0x21;
   }
-  if (local_13c[0] - 0x10 < uVar7) {
+  stack0xfffffffffffffed9 = SUB1615((undefined1  [16])0x0,1);
+  local_128[0] = 3;
+  if (param_2 - 0x10 < uVar7) {
     return 0xffffffff;
   }
-  psVar4 = (short *)(lVar6 + param_1 + 0x10);
-  uVar7 = (local_13c[0] - 0x10) - uVar7;
-  lVar6 = (long)psVar4 - local_100;
-  if (lVar6 < (long)(ulong)(uint)bVar10) {
+  psVar11 = (short *)(param_1 + 0x10 + lVar3);
+  uVar7 = (param_2 - 0x10) - uVar7;
+  local_128[1] = (byte)((long)psVar11 - local_100);
+  uVar8 = uVar7;
+  if ((long)psVar11 - local_100 < (long)(ulong)(uint)bVar12) {
     if (uVar7 < 2) {
       return 0xffffffff;
     }
-    sVar2 = *psVar4;
-    if (sVar2 == 0xcd) {
+    sVar1 = *psVar11;
+    uVar8 = uVar7 - 2;
+    local_128[1] = ((char)psVar11 + '\x02') - (char)local_100;
+    auStack_126 = SUB1614((undefined1  [16])0x0,2);
+    if (sVar1 == 0xcd) {
       local_ef = 1;
-LAB_2:
-      if (uVar7 - 2 < 4) {
-        return 0xffffffff;
-      }
-      lVar6 = 4;
-      iVar3 = 4;
+    }
+    else if (sVar1 == 0xd8) {
+      local_ec = local_ec & 0xf | 0x10;
     }
     else {
-      if (sVar2 == 0xd8) {
-        local_ec = local_ec & 0xf | 0x10;
+      if (sVar1 != 0xb4) {
+        local_128[0] = 3;
         goto LAB_2;
       }
-      if (sVar2 == 0xb4) {
-        local_ec = local_ec & 0xf0 | 1;
-        goto LAB_2;
-      }
-      iVar3 = 0;
-      lVar6 = 0;
+      local_ec = local_ec & 0xf0 | 1;
     }
-    uVar7 = (uVar7 - 2) - iVar3;
-    lVar6 = (long)psVar4 + ((lVar6 + 2) - local_100);
+    local_128[0] = 3;
+    if (uVar8 < 4) {
+      return 0xffffffff;
+    }
+    uVar8 = uVar7 - 6;
+    local_128[1] = ((char)psVar11 + '\x06') - (char)local_100;
   }
-  uVar5 = (uint)bVar10 - ((uint)lVar6 & 0xff);
-  if ((uVar7 < uVar5) || (uVar7 - uVar5 < 4)) {
+LAB_2:
+  uVar7 = (uint)bVar12 - (uint)local_128[1];
+  if (uVar8 < uVar7) {
+    return 0xffffffff;
+  }
+  if (uVar8 - uVar7 < 4) {
     return 0xffffffff;
   }
 LAB_1:
-  bVar10 = local_eb & 0xf;
-  if ((local_eb & 0xf) <= local_eb >> 4) {
-    bVar10 = local_eb >> 4;
-  }
-  uVar1 = *(ushort *)(local_100 + -2 + (ulong)*(byte *)((ulong)bVar10 + (long)local_110));
-  *param_3 = (uint)uVar1;
-  lVar6 = (ulong)*(byte *)((ulong)bVar10 + (long)local_110) + local_100;
-  if (uVar1 == 0x51) {
-    *param_5 = lVar6;
-    *param_7 = lVar6 + 4;
+  *param_3 = (uint)uVar5;
+  lVar3 = (ulong)*pbVar6 + local_100;
+  if (uVar5 == 0x51) {
+    lVar4 = lVar3 + 4;
   }
   else {
-    if (uVar1 != 0x52) {
+    if (uVar5 != 0x52) {
       *param_3 = 0;
       return 0xffffffff;
     }
-    *param_5 = lVar6;
-    *param_7 = lVar6 + 0x10;
+    lVar4 = lVar3 + 0x10;
   }
-  bVar10 = local_ec & 0xf;
+  *param_5 = lVar3;
+  bVar12 = local_ec & 0xf;
+  *param_7 = lVar4;
   local_ec = local_ec >> 4;
-  if (local_ec < local_ef) {
-    if (bVar10 < local_ef) {
-      bVar10 = local_ef;
-    }
-  }
-  else if (bVar10 < local_ec) {
+  bVar10 = bVar12;
+  if (bVar12 <= local_ec) {
     bVar10 = local_ec;
   }
-  uVar1 = *(ushort *)(local_100 + -2 + (ulong)*(byte *)((ulong)bVar10 + (long)local_110));
-  *param_4 = (uint)uVar1;
-  local_100 = local_100 + (ulong)*(byte *)((ulong)bVar10 + (long)local_110);
-  if (((uVar1 != 0xcd) && (uVar1 != 0xd8)) && (uVar1 != 0xb4)) {
-    *param_4 = 0;
+  if (bVar12 <= local_ef) {
+    bVar12 = local_ef;
+  }
+  if (local_ef <= local_ec) {
+    bVar12 = bVar10;
+  }
+  uVar5 = *(ushort *)(local_100 + -2 + (ulong)local_110[bVar12]);
+  *param_4 = (uint)uVar5;
+  uVar5 = uVar5 - 0xb4;
+  local_100 = local_100 + (ulong)local_110[bVar12];
+  if ((uVar5 < 0x25) && ((0x1002000001U >> ((ulong)uVar5 & 0x3f) & 1) != 0)) {
+    *param_6 = local_100;
+    *param_8 = local_100 + 2;
     return 0;
   }
-  *param_6 = local_100;
-  *param_8 = local_100 + 2;
+  *param_4 = 0;
   return 0;
 }
 

qmdpi_worker_signature_family_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.52
m_ratio 0.94
b_ratio 0.76
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_signature_family_get_byname qmdpi_worker_signature_family_get_byname
fullname qmdpi_worker_signature_family_get_byname qmdpi_worker_signature_family_get_byname
refcount 3 3
length 270 239
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018ba50 00183f40
sig undefined qmdpi_worker_signature_family_get_byname(void) undefined qmdpi_worker_signature_family_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_signature_family_get_byname Called Diff

--- qmdpi_worker_signature_family_get_byname called
+++ qmdpi_worker_signature_family_get_byname called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_signature_family_get_byname Diff

--- qmdpi_worker_signature_family_get_byname
+++ qmdpi_worker_signature_family_get_byname
@@ -1,56 +1,55 @@
 
 undefined8 qmdpi_worker_signature_family_get_byname(long param_1,undefined8 *param_2,long param_3)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   long lVar3;
   undefined8 uVar4;
-  long local_68;
-  undefined4 local_60;
+  long local_78;
+  undefined4 local_70;
   
-  if ((param_2 != (undefined8 *)0x0) && (param_3 != 0)) {
-    local_60 = 0;
-    local_68 = param_3;
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_2 == (undefined8 *)0x0 || param_3 == 0) {
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
+    uVar4 = 0;
+  }
+  else {
+    local_70 = 0;
+    local_78 = param_3;
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar4 = *param_2;
-    *(long *)(puVar2 + 4) = param_1;
-    *(undefined8 *)(puVar2 + 2) = uVar4;
+    puVar2[2] = param_1;
+    puVar2[1] = uVar4;
     uVar4 = param_2[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar4;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar2 = 0;
+    puVar2[5] = 0;
+    puVar2[3] = uVar4;
+    uVar1 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar1 = *(undefined4 *)*param_2;
     }
-    else {
-      *puVar2 = *(undefined4 *)*param_2;
-    }
-    if (param_1 == 0) {
-      uVar1 = 0;
-    }
-    else {
+    *(undefined4 *)puVar2 = uVar1;
+    uVar1 = 0;
+    if (param_1 != 0) {
       uVar1 = *(undefined4 *)(param_1 + 8);
     }
-    puVar2[1] = uVar1;
-    lVar3 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_68);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    *(undefined4 *)((long)puVar2 + 4) = uVar1;
+    lVar3 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_78);
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
     if (lVar3 == 0) {
-      lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+      lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(undefined4 *)(lVar3 + 0x30) = 0xfffffff8;
       uVar4 = 0;
     }
     else {
       uVar4 = *(undefined8 *)(lVar3 + 0x18);
     }
-    return uVar4;
   }
-  lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
-  return 0;
+  return uVar4;
 }
 

qmdpi_bundle_signature_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.57
i_ratio 0.4
m_ratio 0.92
b_ratio 0.88
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_get_byid qmdpi_bundle_signature_get_byid
fullname qmdpi_bundle_signature_get_byid qmdpi_bundle_signature_get_byid
refcount 6 6
length 105 96
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b7e0 00183cf0
sig undefined qmdpi_bundle_signature_get_byid(void) undefined qmdpi_bundle_signature_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_get_byid Called Diff

--- qmdpi_bundle_signature_get_byid called
+++ qmdpi_bundle_signature_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_get_byid Diff

--- qmdpi_bundle_signature_get_byid
+++ qmdpi_bundle_signature_get_byid
@@ -1,26 +1,26 @@
 
 long qmdpi_bundle_signature_get_byid(long param_1,undefined4 param_2)
 
 {
   long lVar1;
-  long lVar2;
-  undefined8 local_48;
-  undefined4 local_40;
+  undefined8 local_58;
+  undefined4 local_50;
   
   if (param_1 == 0) {
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     lVar1 = 0;
-    lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
   }
   else {
-    local_48 = 0;
-    local_40 = param_2;
-    lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0xb8))(*(undefined8 *)(param_1 + 0x48),&local_48);
+    local_58 = 0;
+    local_50 = param_2;
+    lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0xb8))(*(undefined8 *)(param_1 + 0x48),&local_58);
     if (lVar1 == 0) {
-      lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar2 + 0x30) = 0xfffffff8;
+      lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar1 + 0x30) = 0xfffffff8;
+      lVar1 = 0;
     }
   }
   return lVar1;
 }
 

qmdpi_report_cleanup

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.36
m_ratio 0.94
b_ratio 0.76
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_report_cleanup qmdpi_report_cleanup
fullname qmdpi_report_cleanup qmdpi_report_cleanup
refcount 3 3
length 320 356
called ::pthread_spin_destroy
FUN_00160640
FUN_001606c0
FUN_00161190
FUN_00161d30
qm_free_default
thunk_FUN_00181e30
::pthread_spin_destroy
FUN_0011c550
FUN_0011c5d0
FUN_001b3f40
FUN_001b5fe0
qm_free_default
thunk_FUN_00173540
calling
paramcount 0 0
address 00165050 001b7d80
sig undefined qmdpi_report_cleanup(void) undefined qmdpi_report_cleanup(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_report_cleanup Called Diff

--- qmdpi_report_cleanup called
+++ qmdpi_report_cleanup called
@@ -2,4 +2,4 @@
-FUN_00160640
-FUN_001606c0
-FUN_00161190
-FUN_00161d30
+FUN_0011c550
+FUN_0011c5d0
+FUN_001b3f40
+FUN_001b5fe0
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_report_cleanup Diff

--- qmdpi_report_cleanup
+++ qmdpi_report_cleanup
@@ -1,50 +1,52 @@
 
 undefined8 qmdpi_report_cleanup(undefined4 *param_1)
 
 {
   undefined4 uVar1;
   long lVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   undefined8 uVar4;
   
   if (param_1 != (undefined4 *)0x0) {
-    FUN_00160640();
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 **)(puVar3 + 2) = param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    FUN_0011c550();
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    puVar3[1] = param_1;
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    puVar3[5] = 0;
     uVar1 = *param_1;
-    puVar3[1] = 0;
-    *puVar3 = uVar1;
-    lVar2 = *(long *)(param_1 + 0x14e);
-    if (lVar2 == 0) {
-      FUN_001606c0(param_1);
+    *(undefined4 *)((long)puVar3 + 4) = 0;
+    *(undefined4 *)puVar3 = uVar1;
+    lVar2 = *(long *)(param_1 + 0x17e);
+    if ((lVar2 == 0) || ((*(int *)(lVar2 + 0x68) == 0 && ((*(byte *)(lVar2 + 0x288) & 2) != 0)))) {
+      FUN_0011c5d0(param_1);
       uVar4 = 0xffffffe4;
     }
     else {
-      (*(code *)PTR_pthread_spin_destroy_001d35b0)(lVar2 + 0x280);
-      FUN_00161d30(lVar2 + 0xb8);
-      FUN_00161d30(lVar2 + 0x10);
-      FUN_00161d30(lVar2 + 0x160);
-      FUN_00161190(lVar2 + 0x208);
-      FUN_00161190(lVar2 + 0x230);
-      if (*(long *)(lVar2 + 0x270) != 0) {
-        (*(code *)PTR_qm_free_default_001d3560)(*(long *)(lVar2 + 0x270),0xff000000,0x55);
+      (*(code *)PTR_pthread_spin_destroy_001f7950)(lVar2 + 0x280);
+      FUN_001b5fe0(lVar2 + 0xb8);
+      FUN_001b5fe0(lVar2 + 0x10);
+      FUN_001b5fe0(lVar2 + 0x160);
+      FUN_001b3f40(lVar2 + 0x208);
+      if ((*(byte *)(lVar2 + 0x288) & 1) == 0) {
+        FUN_001b3f40(lVar2 + 0x230);
+        if (*(long *)(lVar2 + 0x270) != 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(*(long *)(lVar2 + 0x270),0xff000000,0x55);
+        }
+        (*(code *)PTR_qm_free_default_001f7900)(*(undefined8 *)(param_1 + 0x17e),0xff000000,0x55);
+        *(undefined8 *)(param_1 + 0x17e) = 0;
       }
-      (*(code *)PTR_qm_free_default_001d3560)(*(undefined8 *)(param_1 + 0x14e),0xff000000,0x55);
-      *(undefined8 *)(param_1 + 0x14e) = 0;
-      *(undefined8 *)(puVar3 + 2) = 0;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 6) = 0;
-      *(undefined8 *)(puVar3 + 10) = 0;
+      puVar3[5] = 0;
       *puVar3 = 0;
       puVar3[1] = 0;
-      FUN_001606c0(param_1);
+      puVar3[2] = 0;
+      puVar3[3] = 0;
+      *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+      FUN_0011c5d0(param_1);
       uVar4 = 0;
     }
     return uVar4;
   }
   return 0xffffffff;
 }
 

qmdpi_flow_is_offloaded

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.88
i_ratio 0.6
m_ratio 1.0
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_is_offloaded qmdpi_flow_is_offloaded
fullname qmdpi_flow_is_offloaded qmdpi_flow_is_offloaded
refcount 6 6
length 33 35
called
calling
paramcount 0 0
address 0018ff90 00187140
sig undefined qmdpi_flow_is_offloaded(void) undefined qmdpi_flow_is_offloaded(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_is_offloaded Diff

--- qmdpi_flow_is_offloaded
+++ qmdpi_flow_is_offloaded
@@ -1,11 +1,11 @@
 
 uint qmdpi_flow_is_offloaded(long param_1)
 
 {
   if (param_1 != 0) {
-    return *(byte *)(*(long *)(param_1 + 0x90) + (ulong)*(uint *)(*(long *)(param_1 + 0x68) + 0x54))
+    return *(byte *)((ulong)*(uint *)(*(long *)(param_1 + 0x80) + 0x54) + *(long *)(param_1 + 0xa8))
            & 1;
   }
   return 0xffffffff;
 }
 

qmdpi_flow_offload

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.24
i_ratio 0.29
m_ratio 0.92
b_ratio 0.76
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_offload qmdpi_flow_offload
fullname qmdpi_flow_offload qmdpi_flow_offload
refcount 6 6
length 264 308
called FUN_0018e640
qm_free_default
thunk_FUN_00181e30
FUN_001856e0
qm_free_default
thunk_FUN_00173540
calling
paramcount 0 0
address 0018e870 00185890
sig undefined qmdpi_flow_offload(void) undefined qmdpi_flow_offload(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_offload Called Diff

--- qmdpi_flow_offload called
+++ qmdpi_flow_offload called
@@ -1 +1 @@
-FUN_0018e640
+FUN_001856e0
@@ -3 +3 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_offload Diff

--- qmdpi_flow_offload
+++ qmdpi_flow_offload
@@ -1,47 +1,66 @@
 
 undefined8 qmdpi_flow_offload(long *param_1,long param_2,long *param_3)
 
 {
-  byte *pbVar1;
+  int *piVar1;
   long lVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   undefined8 uVar5;
+  byte *pbVar6;
   
-  if (((param_1 != (long *)0x0) && (*param_1 != 0)) && (param_2 != 0)) {
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar2 = *param_1;
-    *(long **)(puVar4 + 4) = param_1;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 2) = lVar2;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
+  if (param_1 != (long *)0x0) {
+    if (param_2 == 0 || *param_1 == 0) {
+      uVar5 = 0xffffffff;
     }
     else {
-      uVar3 = *(undefined4 *)*param_1;
+      LOCK();
+      piVar1 = (int *)((long)param_1 + 0x224);
+      *piVar1 = *piVar1 + 1;
+      UNLOCK();
+      if (*piVar1 == 0) {
+        puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        lVar2 = *param_1;
+        puVar4[2] = param_1;
+        puVar4[1] = lVar2;
+        uVar3 = 0;
+        puVar4[3] = 0;
+        puVar4[5] = 0;
+        if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+          uVar3 = *(undefined4 *)*param_1;
+        }
+        *(undefined4 *)puVar4 = uVar3;
+        *(int *)((long)puVar4 + 4) = (int)param_1[1];
+        if (param_1[0x25] != 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(param_1[0x25],0xff000003,0x2e);
+          param_1[0x25] = 0;
+        }
+        uVar5 = FUN_001856e0(param_1,param_2,param_1 + 3);
+        if (param_3 != (long *)0x0) {
+          *param_3 = (long)(param_1 + 3);
+        }
+        pbVar6 = (byte *)((ulong)*(uint *)(*(long *)(param_2 + 0x80) + 0x54) +
+                         *(long *)(param_2 + 0xa8));
+        *pbVar6 = *pbVar6 | 1;
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+        puVar4[5] = 0;
+        *puVar4 = 0;
+        puVar4[1] = 0;
+        puVar4[2] = 0;
+        puVar4[3] = 0;
+        *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+      }
+      else {
+        LOCK();
+        *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+        UNLOCK();
+        uVar5 = 0xfffffffa;
+      }
     }
-    *puVar4 = uVar3;
-    puVar4[1] = (int)param_1[1];
-    if (param_1[0x25] != 0) {
-      (*(code *)PTR_qm_free_default_001d3560)(param_1[0x25],0xff000003,0x2e);
-      param_1[0x25] = 0;
-    }
-    uVar5 = FUN_0018e640(param_1,param_2,param_1 + 3);
-    if (param_3 != (long *)0x0) {
-      *param_3 = (long)(param_1 + 3);
-    }
-    pbVar1 = (byte *)(*(long *)(param_2 + 0x90) + (ulong)*(uint *)(*(long *)(param_2 + 0x68) + 0x54)
-                     );
-    *pbVar1 = *pbVar1 | 1;
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
     return uVar5;
   }
   return 0xffffffff;
 }
 

qmdpi_engine_pool_get_count

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.62
i_ratio 0.5
m_ratio 0.71
b_ratio 0.71
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_engine_pool_get_count qmdpi_engine_pool_get_count
fullname qmdpi_engine_pool_get_count qmdpi_engine_pool_get_count
refcount 3 3
length 41 58
called FUN_0019c3f0
thunk_FUN_00181e30
FUN_00180150
thunk_FUN_00173540
calling
paramcount 0 0
address 00187510 0017f260
sig undefined qmdpi_engine_pool_get_count(void) undefined qmdpi_engine_pool_get_count(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_engine_pool_get_count Called Diff

--- qmdpi_engine_pool_get_count called
+++ qmdpi_engine_pool_get_count called
@@ -1,2 +1,2 @@
-FUN_0019c3f0
-thunk_FUN_00181e30
+FUN_00180150
+thunk_FUN_00173540

qmdpi_engine_pool_get_count Diff

--- qmdpi_engine_pool_get_count
+++ qmdpi_engine_pool_get_count
@@ -1,16 +1,19 @@
 
-undefined8 qmdpi_engine_pool_get_count(long param_1)
+undefined8 qmdpi_engine_pool_get_count(long param_1,uint param_2)
 
 {
   undefined8 uVar1;
   long lVar2;
   
-  if (param_1 != 0) {
-    uVar1 = FUN_0019c3f0();
-    return uVar1;
+  if ((param_1 != 0) && (param_2 < 10)) {
+    if (param_2 != 0) {
+      uVar1 = FUN_00180150(param_1,param_2 - 1);
+      return uVar1;
+    }
+    return 0;
   }
-  lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  lVar2 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
   *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
   return 0;
 }
 

qmdpi_bundle_get_gc_head

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.21
i_ratio 0.41
m_ratio 0.76
b_ratio 0.52
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_get_gc_head qmdpi_bundle_get_gc_head
fullname qmdpi_bundle_get_gc_head qmdpi_bundle_get_gc_head
refcount 3 3
length 70 142
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018ee40 00185e60
sig undefined qmdpi_bundle_get_gc_head(void) undefined qmdpi_bundle_get_gc_head(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_get_gc_head Called Diff

--- qmdpi_bundle_get_gc_head called
+++ qmdpi_bundle_get_gc_head called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_get_gc_head Diff

--- qmdpi_bundle_get_gc_head
+++ qmdpi_bundle_get_gc_head
@@ -1,19 +1,45 @@
 
 long qmdpi_bundle_get_gc_head(long param_1,long param_2)
 
 {
-  long *plVar1;
-  long lVar2;
+  int *piVar1;
+  long *plVar2;
+  long lVar3;
   
-  if ((param_1 == 0) || (param_2 == 0)) {
-    lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
-    return 0;
+  if (param_1 == 0 || param_2 == 0) {
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
+    lVar3 = 0;
   }
-  plVar1 = (long *)((ulong)*(uint *)(param_1 + 8) * 0x40 + *(long *)(param_2 + 0x38));
-  if ((plVar1 != (long *)0x0) && (lVar2 = *plVar1, lVar2 != 0)) {
-    return lVar2 + -0x70;
+  else {
+    LOCK();
+    piVar1 = (int *)(param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      plVar2 = (long *)((ulong)*(uint *)(param_1 + 8) * 0x40 + *(long *)(param_2 + 0x38));
+      if ((plVar2 == (long *)0x0) || (lVar3 = *plVar2, lVar3 == 0)) {
+        LOCK();
+        *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+        UNLOCK();
+        lVar3 = 0;
+      }
+      else {
+        LOCK();
+        *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+        UNLOCK();
+        lVar3 = lVar3 + -0x88;
+      }
+    }
+    else {
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
+      lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar3 + 0x30) = 0xfffffffa;
+      lVar3 = 0;
+    }
   }
-  return 0;
+  return lVar3;
 }
 

qmdpi_bundle_dns_cache_dump

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.4
i_ratio 0.54
m_ratio 0.98
b_ratio 0.81
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_dns_cache_dump qmdpi_bundle_dns_cache_dump
fullname qmdpi_bundle_dns_cache_dump qmdpi_bundle_dns_cache_dump
refcount 3 3
length 246 239
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018c800 00184d10
sig undefined qmdpi_bundle_dns_cache_dump(void) undefined qmdpi_bundle_dns_cache_dump(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_dns_cache_dump Called Diff

--- qmdpi_bundle_dns_cache_dump called
+++ qmdpi_bundle_dns_cache_dump called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_dns_cache_dump Diff

--- qmdpi_bundle_dns_cache_dump
+++ qmdpi_bundle_dns_cache_dump
@@ -1,38 +1,38 @@
 
 undefined4 qmdpi_bundle_dns_cache_dump(undefined8 *param_1,long param_2,long param_3,long param_4)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   
-  if ((((param_1 != (undefined8 *)0x0) && (param_2 != 0)) && (param_3 != 0)) && (param_4 != 0)) {
-    FUN_00160640(*param_1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if ((param_1 == (undefined8 *)0x0 || param_2 == 0) || (param_3 == 0 || param_4 == 0)) {
+    uVar2 = 0xffffffff;
+  }
+  else {
+    FUN_0011c550(*param_1);
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 2) = uVar1;
+    puVar3[2] = 0;
+    puVar3[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
     uVar2 = (**(code **)(param_1[1] + 600))(param_1[9],param_2,param_3,param_4);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
-    return uVar2;
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
-  return 0xffffffff;
+  return uVar2;
 }
 

qmdpi_bundle_destroy_callback_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.24
i_ratio 0.6
m_ratio 1.0
b_ratio 0.77
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_destroy_callback_set qmdpi_bundle_destroy_callback_set
fullname qmdpi_bundle_destroy_callback_set qmdpi_bundle_destroy_callback_set
refcount 3 3
length 130 131
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018aea0 001833c0
sig undefined qmdpi_bundle_destroy_callback_set(void) undefined qmdpi_bundle_destroy_callback_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_destroy_callback_set Called Diff

--- qmdpi_bundle_destroy_callback_set called
+++ qmdpi_bundle_destroy_callback_set called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_destroy_callback_set Diff

--- qmdpi_bundle_destroy_callback_set
+++ qmdpi_bundle_destroy_callback_set
@@ -1,30 +1,27 @@
 
 undefined8 qmdpi_bundle_destroy_callback_set(long *param_1,long param_2,long param_3)
 
 {
-  undefined4 *puVar1;
+  undefined8 *puVar1;
   undefined8 uVar2;
   
-  if ((param_1 != (long *)0x0) && (param_2 != 0)) {
-    if (*param_1 == 0) {
-      uVar2 = 0xffffffff;
-    }
-    else {
-      FUN_00160640();
-      puVar1 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      param_1[4] = param_2;
-      param_1[5] = param_3;
-      *(undefined8 *)(puVar1 + 2) = 0;
-      *(undefined8 *)(puVar1 + 4) = 0;
-      *(undefined8 *)(puVar1 + 6) = 0;
-      *(undefined8 *)(puVar1 + 10) = 0;
-      *puVar1 = 0;
-      puVar1[1] = 0;
-      FUN_001606c0(*param_1);
-      uVar2 = 0;
-    }
-    return uVar2;
+  if ((param_1 == (long *)0x0 || param_2 == 0) || (*param_1 == 0)) {
+    uVar2 = 0xffffffff;
   }
-  return 0xffffffff;
+  else {
+    FUN_0011c550();
+    puVar1 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    param_1[4] = param_2;
+    param_1[5] = param_3;
+    puVar1[5] = 0;
+    *puVar1 = 0;
+    puVar1[1] = 0;
+    puVar1[2] = 0;
+    puVar1[3] = 0;
+    *(undefined4 *)((long)puVar1 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
+    uVar2 = 0;
+  }
+  return uVar2;
 }
 

qmdpi_bundle_version_get_string

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.18
i_ratio 0.15
m_ratio 0.99
b_ratio 0.78
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_version_get_string qmdpi_bundle_version_get_string
fullname qmdpi_bundle_version_get_string qmdpi_bundle_version_get_string
refcount 3 3
length 135 132
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018c620 00184b40
sig undefined qmdpi_bundle_version_get_string(void) undefined qmdpi_bundle_version_get_string(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_version_get_string Called Diff

--- qmdpi_bundle_version_get_string called
+++ qmdpi_bundle_version_get_string called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_version_get_string Diff

--- qmdpi_bundle_version_get_string
+++ qmdpi_bundle_version_get_string
@@ -1,36 +1,37 @@
 
 undefined8 qmdpi_bundle_version_get_string(undefined8 *param_1)
 
 {
-  undefined8 uVar1;
-  undefined4 uVar2;
-  undefined4 *puVar3;
-  long lVar4;
+  undefined4 *puVar1;
+  long lVar2;
+  undefined4 uVar3;
+  undefined8 uVar4;
   
-  if (param_1 != (undefined8 *)0x0) {
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    uVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 2) = uVar1;
-    uVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
+  if (param_1 == (undefined8 *)0x0) {
+    lVar2 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar4 = 0;
+    *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
+  }
+  else {
+    puVar1 = (undefined4 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar4 = *param_1;
+    *(undefined8 *)(puVar1 + 4) = 0;
+    *(undefined8 *)(puVar1 + 2) = uVar4;
+    uVar4 = param_1[9];
+    *(undefined8 *)(puVar1 + 10) = 0;
+    *(undefined8 *)(puVar1 + 6) = uVar4;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+      uVar3 = *(undefined4 *)*param_1;
     }
-    else {
-      uVar2 = *(undefined4 *)*param_1;
-    }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
-    uVar1 = *(undefined8 *)(param_1[1] + 8);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *puVar3 = 0;
-    return uVar1;
+    *puVar1 = uVar3;
+    puVar1[1] = 0;
+    uVar4 = *(undefined8 *)(param_1[1] + 8);
+    *(undefined8 *)(puVar1 + 2) = 0;
+    *(undefined8 *)(puVar1 + 6) = 0;
+    *puVar1 = 0;
+    puVar1[0xd] = 0xffffffff;
   }
-  lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
-  return 0;
+  return uVar4;
 }
 

qmdpi_engine_pool_get_used

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.62
i_ratio 0.5
m_ratio 0.71
b_ratio 0.71
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_engine_pool_get_used qmdpi_engine_pool_get_used
fullname qmdpi_engine_pool_get_used qmdpi_engine_pool_get_used
refcount 3 3
length 41 58
called FUN_0019c3c0
thunk_FUN_00181e30
thunk_FUN_00173540
thunk_FUN_00178820
calling
paramcount 0 0
address 00187570 0017f300
sig undefined qmdpi_engine_pool_get_used(void) undefined qmdpi_engine_pool_get_used(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_engine_pool_get_used Called Diff

--- qmdpi_engine_pool_get_used called
+++ qmdpi_engine_pool_get_used called
@@ -1,2 +1,2 @@
-FUN_0019c3c0
-thunk_FUN_00181e30
+thunk_FUN_00173540
+thunk_FUN_00178820

qmdpi_engine_pool_get_used Diff

--- qmdpi_engine_pool_get_used
+++ qmdpi_engine_pool_get_used
@@ -1,16 +1,19 @@
 
-undefined8 qmdpi_engine_pool_get_used(long param_1)
+undefined8 qmdpi_engine_pool_get_used(long param_1,uint param_2)
 
 {
   undefined8 uVar1;
   long lVar2;
   
-  if (param_1 != 0) {
-    uVar1 = FUN_0019c3c0();
-    return uVar1;
+  if ((param_1 != 0) && (param_2 < 10)) {
+    if (param_2 != 0) {
+      uVar1 = thunk_FUN_00178820(param_1,param_2 - 1);
+      return uVar1;
+    }
+    return 0;
   }
-  lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  lVar2 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
   *(undefined4 *)(lVar2 + 0x30) = 0xffffffff;
   return 0;
 }
 

qmdpi_layer_store_lifetime_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.4
i_ratio 0.49
m_ratio 0.88
b_ratio 0.63
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_layer_store_lifetime_get qmdpi_layer_store_lifetime_get
fullname qmdpi_layer_store_lifetime_get qmdpi_layer_store_lifetime_get
refcount 3 3
length 50 59
called FUN_00192190
FUN_001926f0
FUN_001896f0
FUN_00189c40
calling
paramcount 0 0
address 0018e050 001784d0
sig undefined qmdpi_layer_store_lifetime_get(void) undefined qmdpi_layer_store_lifetime_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_layer_store_lifetime_get Called Diff

--- qmdpi_layer_store_lifetime_get called
+++ qmdpi_layer_store_lifetime_get called
@@ -1,2 +1,2 @@
-FUN_00192190
-FUN_001926f0
+FUN_001896f0
+FUN_00189c40

qmdpi_layer_store_lifetime_get Diff

--- qmdpi_layer_store_lifetime_get
+++ qmdpi_layer_store_lifetime_get
@@ -1,19 +1,17 @@
 
 undefined8 qmdpi_layer_store_lifetime_get(long param_1,long param_2,undefined8 param_3)
 
 {
   long lVar1;
-  undefined8 uVar2;
   
-  if ((param_1 != 0) && (param_2 != 0)) {
-    lVar1 = FUN_00192190();
-    uVar2 = 0xfffffff8;
-    if (lVar1 != 0) {
-      FUN_001926f0(lVar1,param_3);
-      uVar2 = 0;
-    }
-    return uVar2;
+  if (param_1 == 0 || param_2 == 0) {
+    return 0xffffffff;
   }
-  return 0xffffffff;
+  lVar1 = FUN_001896f0();
+  if (lVar1 != 0) {
+    FUN_00189c40(lVar1,param_3);
+    return 0;
+  }
+  return 0xfffffff8;
 }
 

qmdpi_signature_family_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.74
i_ratio 0.53
m_ratio 0.98
b_ratio 0.98
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_signature_family_get_byid qmdpi_signature_family_get_byid
fullname qmdpi_signature_family_get_byid qmdpi_signature_family_get_byid
refcount 3 3
length 103 100
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b960 00183e50
sig undefined qmdpi_signature_family_get_byid(void) undefined qmdpi_signature_family_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_signature_family_get_byid Called Diff

--- qmdpi_signature_family_get_byid called
+++ qmdpi_signature_family_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_signature_family_get_byid Diff

--- qmdpi_signature_family_get_byid
+++ qmdpi_signature_family_get_byid
@@ -1,30 +1,30 @@
 
 undefined8 qmdpi_signature_family_get_byid(long param_1,undefined4 param_2)
 
 {
   long lVar1;
   undefined8 uVar2;
-  undefined8 local_48;
-  undefined4 local_40;
+  undefined8 local_58;
+  undefined4 local_50;
   
   if (param_1 == 0) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     uVar2 = 0;
   }
   else {
-    local_48 = 0;
-    local_40 = param_2;
-    lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0xb8))(*(undefined8 *)(param_1 + 0x48),&local_48);
+    local_58 = 0;
+    local_50 = param_2;
+    lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0xb8))(*(undefined8 *)(param_1 + 0x48),&local_58);
     if (lVar1 == 0) {
-      lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+      lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(undefined4 *)(lVar1 + 0x30) = 0xfffffff8;
       uVar2 = 0;
     }
     else {
       uVar2 = *(undefined8 *)(lVar1 + 0x18);
     }
   }
   return uVar2;
 }
 

qmdpi_classification_cache_lookup

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.13
i_ratio 0.28
m_ratio 0.96
b_ratio 0.6
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_classification_cache_lookup qmdpi_classification_cache_lookup
fullname qmdpi_classification_cache_lookup qmdpi_classification_cache_lookup
refcount 3 3
length 728 748
called FUN_0019dbe0
FUN_0019e0c0
qm_malloc_default
qmdpi_bundle_get_active
thunk_FUN_00181e30
FUN_0018d020
FUN_0018d0e0
qmdpi_bundle_get_active
thunk_FUN_00173540
calling
paramcount 0 0
address 001866e0 0017e3c0
sig undefined qmdpi_classification_cache_lookup(void) undefined qmdpi_classification_cache_lookup(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_classification_cache_lookup Called Diff

--- qmdpi_classification_cache_lookup called
+++ qmdpi_classification_cache_lookup called
@@ -1,3 +1,2 @@
-FUN_0019dbe0
-FUN_0019e0c0
-qm_malloc_default
+FUN_0018d020
+FUN_0018d0e0
@@ -5 +4 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_classification_cache_lookup Diff

--- qmdpi_classification_cache_lookup
+++ qmdpi_classification_cache_lookup
@@ -1,100 +1,116 @@
 
 int qmdpi_classification_cache_lookup
-              (long *param_1,int param_2,undefined4 param_3,undefined8 *param_4,undefined2 *param_5,
-              undefined4 param_6,long param_7,undefined4 *param_8)
+              (long *param_1,uint param_2,undefined4 param_3,undefined8 *param_4,undefined2 *param_5
+              ,undefined4 param_6,long param_7,undefined4 *param_8)
 
 {
-  undefined2 uVar1;
-  long lVar2;
-  undefined8 uVar3;
-  undefined4 uVar4;
-  int iVar5;
+  int *piVar1;
+  undefined2 uVar2;
+  long lVar3;
+  undefined8 uVar4;
+  undefined4 uVar5;
   int iVar6;
-  long lVar7;
-  undefined4 *puVar8;
-  long *plVar9;
-  undefined4 local_5c;
-  undefined1 local_58 [4];
-  undefined8 local_54;
-  undefined8 local_4c;
+  int iVar7;
+  long lVar8;
+  undefined8 *puVar9;
+  undefined8 ****ppppuVar10;
+  ulong uVar11;
+  undefined8 ****ppppuVar12;
+  undefined4 local_7c;
+  undefined1 local_78 [4];
+  undefined8 local_74;
+  undefined8 uStack_6c;
+  undefined8 ***local_58;
+  undefined1 local_50 [16];
   
-  iVar6 = -1;
+  uVar11 = (ulong)param_2;
   if (param_1 != (long *)0x0) {
-    if ((((param_4 == (undefined8 *)0x0 || *param_1 == 0) || (param_5 == (undefined2 *)0x0)) ||
-        (param_7 == 0)) || (param_8 == (undefined4 *)0x0)) {
-      iVar6 = -1;
-    }
-    else if ((*(long *)(*param_1 + 0x388) == 0) || (lVar7 = qmdpi_bundle_get_active(), lVar7 == 0))
-    {
-      iVar6 = -0x1c;
-    }
-    else {
-      puVar8 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      lVar2 = *param_1;
-      *(long **)(puVar8 + 4) = param_1;
-      *(long *)(puVar8 + 2) = lVar2;
-      uVar3 = *(undefined8 *)(lVar7 + 0x48);
-      *(undefined8 *)(puVar8 + 10) = 0;
-      *(undefined8 *)(puVar8 + 6) = uVar3;
-      if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-        uVar4 = 0;
+    iVar7 = -1;
+    if (((param_4 != (undefined8 *)0x0 && *param_1 != 0) && param_5 != (undefined2 *)0x0) &&
+       (param_8 != (undefined4 *)0x0 && param_7 != 0)) {
+      if ((*(long *)(*param_1 + 0x388) == 0) || (lVar8 = qmdpi_bundle_get_active(), lVar8 == 0)) {
+        iVar7 = -0x1c;
       }
       else {
-        uVar4 = *(undefined4 *)*param_1;
-      }
-      *puVar8 = uVar4;
-      puVar8[1] = (int)param_1[1];
-      *param_8 = 0;
-      if (((*(long *)(*param_1 + 0x388) == 0) || (*(long *)(*param_1 + 0x388) == 3)) ||
-         (iVar5 = FUN_0019e0c0(param_1,param_2,param_3,param_4,param_5,param_6,&param_7,param_8),
-         iVar5 == -8)) {
-        uVar1 = *param_5;
-        local_5c = 0;
-        plVar9 = (long *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x1c,0xff000001,0x28);
-        if (plVar9 == (long *)0x0) {
-          *(undefined8 *)(puVar8 + 2) = 0;
-          *(undefined8 *)(puVar8 + 4) = 0;
-          *(undefined8 *)(puVar8 + 6) = 0;
-          *(undefined8 *)(puVar8 + 10) = 0;
-          *puVar8 = 0;
-          puVar8[1] = 0;
-          return -5;
+        LOCK();
+        piVar1 = (int *)((long)param_1 + 0x224);
+        *piVar1 = *piVar1 + 1;
+        UNLOCK();
+        if (*piVar1 == 0) {
+          puVar9 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+          iVar7 = (int)uVar11;
+          lVar3 = *param_1;
+          puVar9[2] = param_1;
+          puVar9[1] = lVar3;
+          uVar4 = *(undefined8 *)(lVar8 + 0x48);
+          puVar9[5] = 0;
+          puVar9[3] = uVar4;
+          uVar5 = 0;
+          if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+            uVar5 = *(undefined4 *)*param_1;
+          }
+          *(undefined4 *)puVar9 = uVar5;
+          *(int *)((long)puVar9 + 4) = (int)param_1[1];
+          *param_8 = 0;
+          if ((*(long *)(*param_1 + 0x388) == 0 || *(long *)(*param_1 + 0x388) == 3) ||
+             (iVar6 = FUN_0018d0e0(param_1,uVar11 & 0xffffffff,param_3,param_4,param_5,param_6,
+                                   &param_7,param_8), iVar6 == -8)) {
+            uVar2 = *param_5;
+            local_7c = 0;
+            if (iVar7 == 0x51) {
+              local_78[0] = 1;
+              local_74 = CONCAT44(local_74._4_4_,*(undefined4 *)param_4);
+            }
+            else if (iVar7 == 0x52) {
+              local_74 = *param_4;
+              uStack_6c = param_4[1];
+              local_78[0] = 2;
+            }
+            local_58 = (undefined8 ***)(long)(int)param_1[0xe];
+            local_50 = (undefined1  [16])0x0;
+            ppppuVar12 = &local_58;
+            *(undefined4 *)(param_7 + 4) = 1;
+            iVar6 = (**(code **)(*(long *)(lVar8 + 8) + 0x2c0))
+                              (*(undefined8 *)(lVar8 + 0x48),param_1,0,param_7,&local_7c,param_3,
+                               local_78,uVar2,ppppuVar12,0,ppppuVar12);
+            if ((0 < iVar6) &&
+               (*(long *)(*param_1 + 0x388) != 0 && *(long *)(*param_1 + 0x388) != 3)) {
+              ppppuVar10 = (undefined8 ****)local_58;
+              if ((undefined8 ****)local_58 != (undefined8 ****)0x0) {
+                ppppuVar10 = ppppuVar12;
+              }
+              FUN_0018d020(param_1,local_78,param_3,uVar2,param_7,1,ppppuVar10);
+            }
+          }
+          puVar9[5] = 0;
+          *puVar9 = 0;
+          puVar9[1] = 0;
+          puVar9[2] = 0;
+          puVar9[3] = 0;
+          *(undefined4 *)((long)puVar9 + 0x34) = 0xffffffff;
+          LOCK();
+          *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+          UNLOCK();
+          if (iVar6 == 0) {
+            iVar7 = -8;
+          }
+          else {
+            iVar7 = 0;
+            if (iVar6 < 1) {
+              iVar7 = iVar6;
+            }
+          }
         }
-        if (param_2 == 0x51) {
-          local_58[0] = 1;
-          local_54 = CONCAT44(local_54._4_4_,*(undefined4 *)param_4);
-        }
-        else if (param_2 == 0x52) {
-          local_54 = *param_4;
-          local_4c = param_4[1];
-          local_58[0] = 2;
-        }
-        iVar5 = (**(code **)(*(long *)(lVar7 + 8) + 0x2c0))
-                          (*(undefined8 *)(lVar7 + 0x48),param_1,0,param_7,&local_5c,param_3,
-                           local_58,uVar1,plVar9,0);
-        if (((0 < iVar5) && (*(long *)(*param_1 + 0x388) != 0)) &&
-           (*(long *)(*param_1 + 0x388) != 3)) {
-          if (*plVar9 == 0) {
-            plVar9 = (long *)0x0;
-          }
-          FUN_0019dbe0(param_1,local_58,param_3,uVar1,param_7,1,plVar9);
+        else {
+          LOCK();
+          *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+          UNLOCK();
+          iVar7 = -6;
         }
       }
-      iVar6 = 0;
-      if (iVar5 < 1) {
-        iVar6 = iVar5;
-      }
-      *(undefined8 *)(puVar8 + 2) = 0;
-      *(undefined8 *)(puVar8 + 4) = 0;
-      *(undefined8 *)(puVar8 + 6) = 0;
-      if (iVar5 == 0) {
-        iVar6 = -8;
-      }
-      *(undefined8 *)(puVar8 + 10) = 0;
-      *puVar8 = 0;
-      puVar8[1] = 0;
     }
+    return iVar7;
   }
-  return iVar6;
+  return -1;
 }
 

qmdpi_license_load_from_addr

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.35
i_ratio 0.22
m_ratio 0.96
b_ratio 0.65
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_license_load_from_addr qmdpi_license_load_from_addr
fullname qmdpi_license_load_from_addr qmdpi_license_load_from_addr
refcount 3 3
length 443 452
called ::memcpy
::strlen
::strncpy
FUN_0019f0c0
qm_free_default
qm_malloc_default
thunk_FUN_00133f90
thunk_FUN_00137060
thunk_FUN_00181e30
::memcpy
::strlen
::strncpy
FUN_001ba110
qm_free_default
qm_malloc_default
thunk_FUN_0014a9d0
thunk_FUN_0014cca0
thunk_FUN_00173540
calling
paramcount 0 0
address 001869f0 0017e6f0
sig undefined qmdpi_license_load_from_addr(void) undefined qmdpi_license_load_from_addr(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_license_load_from_addr Called Diff

--- qmdpi_license_load_from_addr called
+++ qmdpi_license_load_from_addr called
@@ -4 +4 @@
-FUN_0019f0c0
+FUN_001ba110
@@ -7,3 +7,3 @@
-thunk_FUN_00133f90
-thunk_FUN_00137060
-thunk_FUN_00181e30
+thunk_FUN_0014a9d0
+thunk_FUN_0014cca0
+thunk_FUN_00173540

qmdpi_license_load_from_addr Diff

--- qmdpi_license_load_from_addr
+++ qmdpi_license_load_from_addr
@@ -1,68 +1,63 @@
 
 undefined4 qmdpi_license_load_from_addr(void *param_1,int param_2,char *param_3)
 
 {
-  long *plVar1;
+  long lVar1;
   undefined4 uVar2;
   size_t sVar3;
   long lVar4;
   long lVar5;
-  long lVar6;
   
-  if ((((param_2 < 0x100000) && (param_1 != (void *)0x0)) && (param_2 != 0)) &&
-     (param_3 != (char *)0x0)) {
-    uVar2 = 0xffffffff;
-    sVar3 = strlen(param_3);
-    if (sVar3 < 0x81) {
+  if (((param_2 < 0x100000 && param_1 != (void *)0x0) && (param_2 != 0 && param_3 != (char *)0x0))
+     && (sVar3 = strlen(param_3), sVar3 < 0x81)) {
+    if (DAT_0 == 0) {
+      lVar4 = (*(code *)PTR_thunk_FUN_0014a9d0_001f7a88)(0x100098);
+    }
+    else {
+      lVar4 = (*(code *)PTR_qm_malloc_default_001f78f8)(1,0x100098,0xff000000,0x5b);
+    }
+    if (lVar4 == 0) {
+      uVar2 = 0xfffffffb;
+    }
+    else {
+      if (((DAT_0 == 0) && (lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar5 != 0)
+          ) && (lVar1 = *(long *)(lVar5 + 8), lVar1 != 0)) {
+        if (*(long *)(lVar5 + 0x10) == 0) {
+          *(long *)(lVar1 + 0x610) = *(long *)(lVar1 + 0x610) + 0x100098;
+        }
+        else {
+          LOCK();
+          *(long *)(lVar1 + 0x4f0) = *(long *)(lVar1 + 0x4f0) + 0x100098;
+          UNLOCK();
+        }
+      }
+      *(int *)(lVar4 + 0x94) = param_2;
+      memcpy((void *)(lVar4 + 0x98),param_1,(long)param_2);
+      strncpy((char *)(lVar4 + 0x10),param_3,0x80);
+      *(undefined1 *)(lVar4 + 0x90) = 0;
+      uVar2 = FUN_001ba110(lVar4);
       if (DAT_0 == 0) {
-        lVar4 = (*(code *)PTR_thunk_FUN_00133f90_001d36e8)(0x100098);
+        (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(lVar4);
       }
       else {
-        lVar4 = (*(code *)PTR_qm_malloc_default_001d3558)(1,0x100098,0xff000000,0x5b);
+        (*(code *)PTR_qm_free_default_001f7900)(lVar4,0xff000000,0x5b);
       }
-      if (lVar4 == 0) {
-        uVar2 = 0xfffffffb;
-      }
-      else {
-        lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        lVar6 = *(long *)(lVar5 + 8);
-        if ((lVar6 != 0) && (DAT_0 == 0)) {
-          if (*(long *)(lVar5 + 0x10) == 0) {
-            *(long *)(lVar6 + 0x550) = *(long *)(lVar6 + 0x550) + 0x100098;
-          }
-          else {
-            plVar1 = (long *)(*(long *)(lVar6 + 0x438) + (ulong)*(uint *)(lVar5 + 4) * 8);
-            *plVar1 = *plVar1 + 0x100098;
-          }
-        }
-        *(int *)(lVar4 + 0x94) = param_2;
-        memcpy((void *)(lVar4 + 0x98),param_1,(long)param_2);
-        strncpy((char *)(lVar4 + 0x10),param_3,0x80);
-        *(undefined1 *)(lVar4 + 0x90) = 0;
-        uVar2 = FUN_0019f0c0(lVar4);
-        if (DAT_0 == 0) {
-          (*(code *)PTR_thunk_FUN_00137060_001d3760)(lVar4);
+      if (((DAT_0 == 0) && (lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar4 != 0)
+          ) && (lVar5 = *(long *)(lVar4 + 8), lVar5 != 0)) {
+        if (*(long *)(lVar4 + 0x10) == 0) {
+          *(long *)(lVar5 + 0x610) = *(long *)(lVar5 + 0x610) + -0x100098;
         }
         else {
-          (*(code *)PTR_qm_free_default_001d3560)(lVar4,0xff000000,0x5b);
-        }
-        lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        lVar4 = *(long *)(lVar6 + 8);
-        if ((lVar4 != 0) && (DAT_0 == 0)) {
-          if (*(long *)(lVar6 + 0x10) == 0) {
-            *(long *)(lVar4 + 0x550) = *(long *)(lVar4 + 0x550) + -0x100098;
-          }
-          else {
-            plVar1 = (long *)(*(long *)(lVar4 + 0x438) + (ulong)*(uint *)(lVar6 + 4) * 8);
-            *plVar1 = *plVar1 + -0x100098;
-          }
+          LOCK();
+          *(long *)(lVar5 + 0x4f0) = *(long *)(lVar5 + 0x4f0) + -0x100098;
+          UNLOCK();
         }
       }
     }
   }
   else {
     uVar2 = 0xffffffff;
   }
   return uVar2;
 }
 

qmdpi_worker_tune_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.17
i_ratio 0.39
m_ratio 0.89
b_ratio 0.65
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_tune_get_byname qmdpi_worker_tune_get_byname
fullname qmdpi_worker_tune_get_byname qmdpi_worker_tune_get_byname
refcount 3 3
length 303 450
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018c3b0 00184830
sig undefined qmdpi_worker_tune_get_byname(void) undefined qmdpi_worker_tune_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_tune_get_byname Called Diff

--- qmdpi_worker_tune_get_byname called
+++ qmdpi_worker_tune_get_byname called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_tune_get_byname Diff

--- qmdpi_worker_tune_get_byname
+++ qmdpi_worker_tune_get_byname
@@ -1,61 +1,86 @@
 
 undefined8
 qmdpi_worker_tune_get_byname(long param_1,undefined8 *param_2,undefined8 param_3,long param_4)
 
 {
-  undefined8 uVar1;
-  int iVar2;
+  int *piVar1;
+  undefined8 uVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
-  long lVar5;
-  undefined8 local_80;
-  long local_78;
+  int iVar4;
+  undefined8 *puVar5;
+  long lVar6;
+  undefined8 local_90;
+  long local_88;
+  undefined4 local_80;
+  undefined8 local_78;
   undefined4 local_70;
-  undefined8 local_68;
-  undefined4 local_60;
   
-  local_80 = 0;
-  if ((param_2 != (undefined8 *)0x0) && (param_4 != 0)) {
-    local_60 = 0;
+  local_90 = 0;
+  if (param_2 == (undefined8 *)0x0 || param_4 == 0) {
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar6 + 0x30) = 0xffffffff;
+    local_90 = 0;
+  }
+  else {
+    if (param_1 != 0) {
+      LOCK();
+      piVar1 = (int *)(param_1 + 0x224);
+      *piVar1 = *piVar1 + 1;
+      UNLOCK();
+      if (*piVar1 != 0) {
+        LOCK();
+        *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+        UNLOCK();
+        lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        *(undefined4 *)(lVar6 + 0x30) = 0xfffffffa;
+        return 0;
+      }
+    }
     local_70 = 0;
-    local_78 = param_4;
-    local_68 = param_3;
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    uVar1 = *param_2;
-    *(long *)(puVar4 + 4) = param_1;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
-    uVar1 = param_2[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar4 = 0;
+    local_80 = 0;
+    local_88 = param_4;
+    local_78 = param_3;
+    puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar2 = *param_2;
+    puVar5[2] = param_1;
+    puVar5[1] = uVar2;
+    uVar2 = param_2[9];
+    puVar5[5] = 0;
+    puVar5[3] = uVar2;
+    uVar3 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar3 = *(undefined4 *)*param_2;
+    }
+    *(undefined4 *)puVar5 = uVar3;
+    if (param_1 == 0) {
+      *(undefined4 *)((long)puVar5 + 4) = 0;
+      iVar4 = (**(code **)(param_2[1] + 0xe8))(param_2[9],&local_78,&local_88,&local_90);
+      puVar5[5] = 0;
+      *puVar5 = 0;
+      puVar5[1] = 0;
+      puVar5[2] = 0;
+      puVar5[3] = 0;
+      *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
     }
     else {
-      *puVar4 = *(undefined4 *)*param_2;
+      *(undefined4 *)((long)puVar5 + 4) = *(undefined4 *)(param_1 + 8);
+      iVar4 = (**(code **)(param_2[1] + 0xe8))(param_2[9],&local_78,&local_88,&local_90);
+      puVar5[5] = 0;
+      *puVar5 = 0;
+      puVar5[1] = 0;
+      puVar5[2] = 0;
+      puVar5[3] = 0;
+      *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
+      LOCK();
+      *(int *)(param_1 + 0x224) = *(int *)(param_1 + 0x224) + -1;
+      UNLOCK();
     }
-    if (param_1 == 0) {
-      uVar3 = 0;
+    if (iVar4 < 0) {
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(int *)(lVar6 + 0x30) = iVar4;
+      local_90 = 0;
     }
-    else {
-      uVar3 = *(undefined4 *)(param_1 + 8);
-    }
-    puVar4[1] = uVar3;
-    iVar2 = (**(code **)(param_2[1] + 0xe8))(param_2[9],&local_68,&local_78,&local_80);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    if (iVar2 < 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(int *)(lVar5 + 0x30) = iVar2;
-      local_80 = 0;
-    }
-    return local_80;
   }
-  lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
-  return 0;
+  return local_90;
 }
 

qmdpi_flow_blob_len_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.86
i_ratio 0.49
m_ratio 1.0
b_ratio 0.71
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_blob_len_get qmdpi_flow_blob_len_get
fullname qmdpi_flow_blob_len_get qmdpi_flow_blob_len_get
refcount 3 3
length 152 140
called FUN_0019ebd0 FUN_001b9c60
calling
paramcount 0 0
address 001813c0 001a82a0
sig undefined qmdpi_flow_blob_len_get(void) undefined qmdpi_flow_blob_len_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_blob_len_get Called Diff

--- qmdpi_flow_blob_len_get called
+++ qmdpi_flow_blob_len_get called
@@ -1 +1 @@
-FUN_0019ebd0
+FUN_001b9c60

qmdpi_flow_blob_len_get Diff

--- qmdpi_flow_blob_len_get
+++ qmdpi_flow_blob_len_get
@@ -1,37 +1,39 @@
 
 undefined8 qmdpi_flow_blob_len_get(long param_1,int *param_2,ulong param_3)
 
 {
   byte bVar1;
   int iVar2;
   undefined8 uVar3;
   
-  if ((((param_1 != 0) && (param_2 != (int *)0x0)) && (*(long **)(param_1 + 0x68) != (long *)0x0))
-     && (*(char *)(**(long **)(param_1 + 0x68) + 0x310) == '\0')) {
-    iVar2 = FUN_0019ebd0(&DAT_0);
+  if (((param_1 != 0 && param_2 != (int *)0x0) && (*(long **)(param_1 + 0x80) != (long *)0x0)) &&
+     (*(char *)(**(long **)(param_1 + 0x80) + 0x310) == '\0')) {
+    iVar2 = FUN_001b9c60(&DAT_0);
     if (iVar2 == 0) {
       uVar3 = 0xfffffff1;
     }
     else {
       bVar1 = *(byte *)(param_1 + 0xe0);
       if (bVar1 == 0) {
         return 0xffffffff;
       }
-      iVar2 = bVar1 + 0xd;
       if (*(char *)(param_1 + 1) < '\0') {
         iVar2 = bVar1 + 0x11;
+      }
+      else {
+        iVar2 = bVar1 + 0xd;
       }
       if ((param_3 & 1) != 0) {
         iVar2 = iVar2 + 0x44;
       }
       if ((param_3 & 2) != 0) {
         iVar2 = iVar2 + 0x68;
       }
       *param_2 = iVar2;
       uVar3 = 0;
     }
     return uVar3;
   }
   return 0xffffffff;
 }
 

qmdpi_worker_data_path_to_buffer

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.35
i_ratio 0.2
m_ratio 0.84
b_ratio 0.65
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_data_path_to_buffer qmdpi_worker_data_path_to_buffer
fullname qmdpi_worker_data_path_to_buffer qmdpi_worker_data_path_to_buffer
refcount 6 6
length 384 497
called ::memcpy
::snprintf
::strnlen
qmdpi_signature_name_get
qmdpi_worker_signature_get_byid
::snprintf
::strnlen
qmdpi_signature_name_get
qmdpi_worker_signature_get_byid
calling
paramcount 0 0
address 001986b0 0017a1a0
sig undefined qmdpi_worker_data_path_to_buffer(void) undefined qmdpi_worker_data_path_to_buffer(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_data_path_to_buffer Called Diff

--- qmdpi_worker_data_path_to_buffer called
+++ qmdpi_worker_data_path_to_buffer called
@@ -1 +0,0 @@
-<EXTERNAL>::memcpy

qmdpi_worker_data_path_to_buffer Diff

--- qmdpi_worker_data_path_to_buffer
+++ qmdpi_worker_data_path_to_buffer
@@ -1,66 +1,100 @@
 
 int qmdpi_worker_data_path_to_buffer
               (long param_1,long param_2,long param_3,int param_4,uint *param_5)
 
 {
   int iVar1;
-  size_t sVar2;
+  uint uVar2;
   undefined8 uVar3;
   char *__string;
-  undefined *puVar4;
-  uint uVar5;
-  int iVar6;
+  size_t sVar4;
+  undefined *puVar5;
+  uint uVar6;
+  char *pcVar7;
+  long lVar8;
+  uint uVar9;
+  int iVar10;
+  ulong uVar11;
   
-  if ((((param_1 == 0) || (param_2 == 0)) || (param_3 == 0 || param_4 < 1)) ||
-     (param_5 == (uint *)0x0)) {
-    iVar6 = -1;
+  if ((param_1 == 0 || param_2 == 0) || ((param_3 == 0 || param_4 < 1) || param_5 == (uint *)0x0)) {
+    iVar10 = -1;
   }
   else {
     if (*param_5 == 0) {
       iVar1 = 1;
-      iVar6 = 0;
+      iVar10 = 0;
     }
     else {
-      uVar5 = 0;
-      iVar6 = 0;
+      iVar10 = 0;
+      uVar9 = 0;
       do {
-        uVar3 = qmdpi_worker_signature_get_byid(param_1,param_2,param_5[(ulong)uVar5 + 1]);
+        uVar3 = qmdpi_worker_signature_get_byid(param_1,param_2,param_5[(ulong)uVar9 + 1]);
         __string = (char *)qmdpi_signature_name_get(uVar3);
         if (__string == (char *)0x0) {
-          puVar4 = &DAT_0;
-          if (uVar5 == 0) {
-            puVar4 = &DAT_1;
+          puVar5 = &DAT_0;
+          if (uVar9 != 0) {
+            puVar5 = &DAT_1;
           }
-          iVar1 = (*(code *)PTR_snprintf_001d3550)
-                            (iVar6 + param_3,(long)(param_4 - iVar6),&DAT_2,puVar4,
-                             param_5[(ulong)uVar5 + 1]);
-          iVar6 = iVar6 + iVar1;
-          if (param_4 < iVar6) goto LAB_3;
+          iVar1 = (*(code *)PTR_snprintf_001f78f0)
+                            (iVar10 + param_3,(long)(param_4 - iVar10),&DAT_2,puVar5,
+                             param_5[(ulong)uVar9 + 1]);
+          iVar10 = iVar10 + iVar1;
+          if (param_4 < iVar10) goto LAB_3;
         }
         else {
-          iVar1 = iVar6;
-          if (uVar5 != 0) {
-            if (param_4 <= iVar6 + 1) goto LAB_3;
-            *(undefined1 *)(param_3 + iVar6) = 0x2e;
-            iVar1 = iVar6 + 1;
+          iVar1 = iVar10;
+          if (uVar9 != 0) {
+            iVar1 = iVar10 + 1;
+            if (param_4 <= iVar1) goto LAB_3;
+            *(undefined1 *)(param_3 + iVar10) = 0x2e;
           }
-          sVar2 = strnlen(__string,0x40);
-          iVar6 = iVar1 + (int)sVar2;
-          if (param_4 <= iVar6) goto LAB_3;
-          memcpy((void *)(iVar1 + param_3),__string,(long)(int)sVar2);
+          sVar4 = strnlen(__string,0x40);
+          uVar2 = (uint)sVar4;
+          iVar10 = iVar1 + uVar2;
+          if (param_4 <= iVar10) goto LAB_3;
+          pcVar7 = (char *)(iVar1 + param_3);
+          if (uVar2 < 8) {
+            if ((sVar4 & 4) == 0) {
+              if ((uVar2 != 0) && (*pcVar7 = *__string, (sVar4 & 2) != 0)) {
+                *(undefined2 *)(pcVar7 + ((sVar4 & 0xffffffff) - 2)) =
+                     *(undefined2 *)(__string + ((sVar4 & 0xffffffff) - 2));
+              }
+            }
+            else {
+              *(undefined4 *)pcVar7 = *(undefined4 *)__string;
+              *(undefined4 *)(pcVar7 + ((sVar4 & 0xffffffff) - 4)) =
+                   *(undefined4 *)(__string + ((sVar4 & 0xffffffff) - 4));
+            }
+          }
+          else {
+            *(undefined8 *)pcVar7 = *(undefined8 *)__string;
+            *(undefined8 *)(pcVar7 + ((sVar4 & 0xffffffff) - 8)) =
+                 *(undefined8 *)(__string + ((sVar4 & 0xffffffff) - 8));
+            lVar8 = (long)pcVar7 - ((ulong)(pcVar7 + 8) & 0xfffffffffffffff8);
+            uVar2 = uVar2 + (int)lVar8 & 0xfffffff8;
+            if (7 < uVar2) {
+              uVar6 = 0;
+              do {
+                uVar11 = (ulong)uVar6;
+                uVar6 = uVar6 + 8;
+                *(undefined8 *)(((ulong)(pcVar7 + 8) & 0xfffffffffffffff8) + uVar11) =
+                     *(undefined8 *)(__string + (uVar11 - lVar8));
+              } while (uVar6 < uVar2);
+            }
+          }
         }
-        uVar5 = uVar5 + 1;
-      } while (uVar5 < *param_5);
-      iVar1 = iVar6 + 1;
+        uVar9 = uVar9 + 1;
+      } while (uVar9 < *param_5);
+      iVar1 = iVar10 + 1;
     }
     if (iVar1 < param_4) {
-      *(undefined1 *)(param_3 + iVar6) = 0;
+      *(undefined1 *)(param_3 + iVar10) = 0;
     }
     else {
 LAB_3:
-      iVar6 = -0x1b;
+      iVar10 = -0x1b;
     }
   }
-  return iVar6;
+  return iVar10;
 }
 

qmdpi_worker_flow_classif_ext_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.13
i_ratio 0.21
m_ratio 0.89
b_ratio 0.6
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_flow_classif_ext_get qmdpi_worker_flow_classif_ext_get
fullname qmdpi_worker_flow_classif_ext_get qmdpi_worker_flow_classif_ext_get
refcount 3 3
length 587 794
called ::strncpy
FUN_00162120
FUN_00164400
FUN_0019ebd0
thunk_FUN_00181e30
::strncpy
FUN_001b6430
FUN_001b6dd0
FUN_001b7470
FUN_001b9c60
thunk_FUN_00173540
calling
paramcount 0 0
address 001651a0 001b7f60
sig undefined qmdpi_worker_flow_classif_ext_get(void) undefined qmdpi_worker_flow_classif_ext_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_flow_classif_ext_get Called Diff

--- qmdpi_worker_flow_classif_ext_get called
+++ qmdpi_worker_flow_classif_ext_get called
@@ -2,4 +2,5 @@
-FUN_00162120
-FUN_00164400
-FUN_0019ebd0
-thunk_FUN_00181e30
+FUN_001b6430
+FUN_001b6dd0
+FUN_001b7470
+FUN_001b9c60
+thunk_FUN_00173540

qmdpi_worker_flow_classif_ext_get Diff

--- qmdpi_worker_flow_classif_ext_get
+++ qmdpi_worker_flow_classif_ext_get
@@ -1,90 +1,121 @@
 
-uint qmdpi_worker_flow_classif_ext_get(undefined8 *param_1,long param_2,char *param_3,int param_4)
+ulong qmdpi_worker_flow_classif_ext_get(undefined8 *param_1,long param_2,char *param_3,int param_4)
 
 {
-  undefined4 *puVar1;
-  int *piVar2;
-  int iVar3;
-  uint uVar4;
-  undefined4 *puVar5;
-  long lVar6;
-  byte *pbVar7;
-  uint *puVar8;
+  int *piVar1;
+  undefined4 *puVar2;
+  long lVar3;
+  int iVar4;
+  byte *pbVar5;
+  undefined8 *puVar6;
+  ulong uVar7;
+  long lVar8;
+  uint *puVar9;
+  byte bVar10;
   uint local_168 [7];
   int local_14c;
   char local_148 [256];
   undefined8 local_48;
   
-  puVar8 = local_168;
-  for (lVar6 = 0x25; lVar6 != 0; lVar6 = lVar6 + -1) {
-    puVar8[0] = 0;
-    puVar8[1] = 0;
-    puVar8 = puVar8 + 2;
+  bVar10 = 0;
+  if (param_4 < 1) {
+    return 0xffffffff;
   }
-  iVar3 = FUN_0019ebd0("classif_ext");
-  if (iVar3 == 0) {
-    uVar4 = 0xfffffff1;
+  if (((param_2 == 0 || param_3 == (char *)0x0) || param_1 == (undefined8 *)0x0) ||
+     (puVar2 = (undefined4 *)*param_1, puVar2 == (undefined4 *)0x0)) {
+    return 0xffffffff;
   }
-  else if ((((param_4 < 1) || (param_2 == 0 || param_3 == (char *)0x0)) ||
-           (param_1 == (undefined8 *)0x0)) ||
-          (puVar1 = (undefined4 *)*param_1, puVar1 == (undefined4 *)0x0)) {
-    uVar4 = 0xffffffff;
+  if (((*(long *)(param_2 + 0xd0) == 0) || (lVar3 = *(long *)(puVar2 + 0x17e), lVar3 == 0)) ||
+     (pbVar5 = (byte *)((ulong)*(uint *)(*(long *)(param_2 + 0x80) + 0x54) +
+                       *(long *)(param_2 + 0xa8)), pbVar5 == (byte *)0x0)) {
+    return 0xffffffe4;
   }
-  else {
-    lVar6 = *(long *)(puVar1 + 0x14e);
-    uVar4 = 0xffffffe4;
-    if (((lVar6 != 0) && (*(long *)(param_2 + 0xd0) != 0)) &&
-       ((pbVar7 = (byte *)((ulong)*(uint *)(*(long *)(param_2 + 0x68) + 0x54) +
-                          *(long *)(param_2 + 0x90)), pbVar7 != (byte *)0x0 &&
-        (uVar4 = 0xffffffe1, (*pbVar7 & 2) != 0)))) {
-      puVar5 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined8 **)(puVar5 + 4) = param_1;
-      *(undefined8 *)(puVar5 + 6) = 0;
-      *(undefined8 *)(puVar5 + 10) = 0;
-      *(undefined4 **)(puVar5 + 2) = puVar1;
-      *puVar5 = *puVar1;
-      puVar5[1] = *(undefined4 *)(param_1 + 1);
-      local_48 = *(undefined8 *)(param_2 + 0xd0);
-      piVar2 = *(int **)(*(long *)(param_2 + 0x90) + 0x14 +
-                        (ulong)*(uint *)(*(long *)(param_2 + 0x68) + 0x54));
-      if (piVar2 != (int *)0x0) {
-        local_14c = piVar2[(ulong)(*piVar2 - 1) + 1];
-        FUN_00164400(lVar6,local_168);
-      }
-      iVar3 = FUN_00162120(lVar6 + 0x10,local_168,lVar6 + 0x208,lVar6 + 0x230,lVar6 + 0x268,0);
-      if (iVar3 == 1) {
-        if ((int)local_168[0] < param_4) {
-          strncpy(param_3,local_148,(ulong)local_168[0]);
-          *puVar5 = 0;
-          *(undefined8 *)(puVar5 + 2) = 0;
-          *(undefined8 *)(puVar5 + 4) = 0;
-          *(undefined8 *)(puVar5 + 6) = 0;
-          *(undefined8 *)(puVar5 + 10) = 0;
-          puVar5[1] = 0;
-          uVar4 = local_168[0];
-        }
-        else {
-          strncpy(param_3,local_148,(long)param_4);
-          *(undefined8 *)(puVar5 + 2) = 0;
-          *(undefined8 *)(puVar5 + 4) = 0;
-          uVar4 = 0xffffffe5;
-          *(undefined8 *)(puVar5 + 6) = 0;
-          *(undefined8 *)(puVar5 + 10) = 0;
-          *puVar5 = 0;
-          puVar5[1] = 0;
-        }
-      }
-      else {
-        *(undefined8 *)(puVar5 + 2) = 0;
-        *(undefined8 *)(puVar5 + 4) = 0;
-        uVar4 = 0xfffffff8;
-        *(undefined8 *)(puVar5 + 6) = 0;
-        *(undefined8 *)(puVar5 + 10) = 0;
-        *puVar5 = 0;
-        puVar5[1] = 0;
-      }
+  if ((*pbVar5 & 2) == 0) {
+    return 0xffffffe1;
+  }
+  LOCK();
+  piVar1 = (int *)((long)param_1 + 0x224);
+  *piVar1 = *piVar1 + 1;
+  UNLOCK();
+  if (*piVar1 != 0) {
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return 0xfffffffa;
+  }
+  if ((*(byte *)(lVar3 + 0x288) & 2) != 0) {
+    uVar7 = FUN_001b6dd0(lVar3,param_1,puVar2,param_2,param_3,param_4);
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return uVar7;
+  }
+  iVar4 = FUN_001b9c60("classif_ext");
+  if (iVar4 == 0) {
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return 0xfffffff1;
+  }
+  puVar9 = local_168;
+  for (lVar8 = 0x25; lVar8 != 0; lVar8 = lVar8 + -1) {
+    puVar9[0] = 0;
+    puVar9[1] = 0;
+    puVar9 = puVar9 + ((ulong)bVar10 * -2 + 1) * 2;
+  }
+  puVar6 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  puVar6[2] = param_1;
+  puVar6[3] = 0;
+  puVar6[1] = puVar2;
+  puVar6[5] = 0;
+  *(undefined4 *)puVar6 = *puVar2;
+  *(undefined4 *)((long)puVar6 + 4) = *(undefined4 *)(param_1 + 1);
+  local_48 = *(undefined8 *)(param_2 + 0xd0);
+  piVar1 = *(int **)((ulong)*(uint *)(*(long *)(param_2 + 0x80) + 0x54) + *(long *)(param_2 + 0xa8)
+                    + 0x14);
+  if (piVar1 != (int *)0x0) {
+    local_14c = piVar1[(ulong)(*piVar1 - 1) + 1];
+    if ((*(byte *)(lVar3 + 0x288) & 2) != 0) goto LAB_0;
+    FUN_001b7470(lVar3,local_168);
+  }
+  if (((*(byte *)(lVar3 + 0x288) & 2) == 0) &&
+     (iVar4 = FUN_001b6430(lVar3 + 0x10,local_168,lVar3 + 0x208,lVar3 + 0x230,lVar3 + 0x268,0),
+     iVar4 == 1)) {
+    if ((int)local_168[0] < param_4) {
+      strncpy(param_3,local_148,(ulong)local_168[0]);
+      *puVar6 = 0;
+      puVar6[5] = 0;
+      puVar6[1] = 0;
+      puVar6[2] = 0;
+      puVar6[3] = 0;
+      *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      return (ulong)local_168[0];
     }
+    strncpy(param_3,local_148,(long)param_4);
+    *puVar6 = 0;
+    puVar6[5] = 0;
+    puVar6[1] = 0;
+    puVar6[2] = 0;
+    puVar6[3] = 0;
+    *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return 0xffffffe5;
   }
-  return uVar4;
+LAB_0:
+  puVar6[5] = 0;
+  *puVar6 = 0;
+  puVar6[1] = 0;
+  puVar6[2] = 0;
+  puVar6[3] = 0;
+  *(undefined4 *)((long)puVar6 + 0x34) = 0xffffffff;
+  LOCK();
+  *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+  UNLOCK();
+  return 0xfffffff8;
 }
 

qmdpi_bundle_destroy

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.59
i_ratio 0.62
m_ratio 1.0
b_ratio 0.93
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_destroy qmdpi_bundle_destroy
fullname qmdpi_bundle_destroy qmdpi_bundle_destroy
refcount 3 3
length 183 184
called FUN_001886a0
thunk_FUN_00181e30
FUN_00180b40
thunk_FUN_00173540
calling
paramcount 0 0
address 00189910 00181dc0
sig undefined qmdpi_bundle_destroy(void) undefined qmdpi_bundle_destroy(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_destroy Called Diff

--- qmdpi_bundle_destroy called
+++ qmdpi_bundle_destroy called
@@ -1,2 +1,2 @@
-FUN_001886a0
-thunk_FUN_00181e30
+FUN_00180b40
+thunk_FUN_00173540

qmdpi_bundle_destroy Diff

--- qmdpi_bundle_destroy
+++ qmdpi_bundle_destroy
@@ -1,40 +1,40 @@
 
 undefined8 qmdpi_bundle_destroy(undefined8 *param_1)
 
 {
   undefined4 uVar1;
   undefined4 *puVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   undefined8 uVar4;
   
   if (param_1 != (undefined8 *)0x0) {
     puVar2 = (undefined4 *)*param_1;
     if (puVar2 == (undefined4 *)0x0) {
       uVar4 = 0xffffffff;
     }
     else {
-      if (param_1 == *(undefined8 **)(puVar2 + 0x124)) {
-        *(undefined8 *)(puVar2 + 0x124) = 0;
+      if (*(undefined8 **)(puVar2 + 0x154) == param_1) {
+        *(undefined8 *)(puVar2 + 0x154) = 0;
       }
-      puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 **)(puVar3 + 2) = puVar2;
-      *(undefined8 *)(puVar3 + 4) = 0;
+      puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      puVar3[1] = puVar2;
+      puVar3[2] = 0;
       uVar4 = param_1[9];
-      *(undefined8 *)(puVar3 + 10) = 0;
-      *(undefined8 *)(puVar3 + 6) = uVar4;
+      puVar3[5] = 0;
+      puVar3[3] = uVar4;
       uVar1 = *puVar2;
-      puVar3[1] = 0;
-      *puVar3 = uVar1;
-      uVar4 = FUN_001886a0(param_1);
-      *(undefined8 *)(puVar3 + 2) = 0;
-      *(undefined8 *)(puVar3 + 4) = 0;
-      *(undefined8 *)(puVar3 + 6) = 0;
-      *(undefined8 *)(puVar3 + 10) = 0;
+      *(undefined4 *)((long)puVar3 + 4) = 0;
+      *(undefined4 *)puVar3 = uVar1;
+      uVar4 = FUN_00180b40(param_1);
+      puVar3[5] = 0;
       *puVar3 = 0;
       puVar3[1] = 0;
+      puVar3[2] = 0;
+      puVar3[3] = 0;
+      *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
     }
     return uVar4;
   }
   return 0xffffffff;
 }
 

qmdpi_tag_name_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.51
i_ratio 0.26
m_ratio 0.98
b_ratio 0.68
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_tag_name_get_byid qmdpi_tag_name_get_byid
fullname qmdpi_tag_name_get_byid qmdpi_tag_name_get_byid
refcount 3 3
length 89 95
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018ce20 00177040
sig undefined qmdpi_tag_name_get_byid(void) undefined qmdpi_tag_name_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_tag_name_get_byid Called Diff

--- qmdpi_tag_name_get_byid called
+++ qmdpi_tag_name_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_tag_name_get_byid Diff

--- qmdpi_tag_name_get_byid
+++ qmdpi_tag_name_get_byid
@@ -1,20 +1,21 @@
 
 long qmdpi_tag_name_get_byid(long param_1,int param_2)
 
 {
   long lVar1;
-  long lVar2;
   
-  if ((param_1 != 0) && (-1 < param_2)) {
+  if (param_1 == 0 || param_2 < 0) {
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
+  }
+  else {
     lVar1 = (**(code **)(*(long *)(param_1 + 8) + 0x1a8))(param_2);
-    if (lVar1 == 0) {
-      lVar2 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar2 + 0x30) = 0xfffffff8;
+    if (lVar1 != 0) {
+      return lVar1;
     }
-    return lVar1;
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar1 + 0x30) = 0xfffffff8;
   }
-  lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
   return 0;
 }
 

qmdpi_bundle_signature_enable

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.51
i_ratio 0.53
m_ratio 0.98
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_enable qmdpi_bundle_signature_enable
fullname qmdpi_bundle_signature_enable qmdpi_bundle_signature_enable
refcount 3 3
length 435 388
called ::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_00160640
FUN_001606c0
qmdpi_bundle_is_active
thunk_FUN_00181e30
::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_0011c550
FUN_0011c5d0
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 0018a740 00182a90
sig undefined qmdpi_bundle_signature_enable(void) undefined qmdpi_bundle_signature_enable(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_enable Called Diff

--- qmdpi_bundle_signature_enable called
+++ qmdpi_bundle_signature_enable called
@@ -4,2 +4,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_enable Diff

--- qmdpi_bundle_signature_enable
+++ qmdpi_bundle_signature_enable
@@ -1,75 +1,64 @@
 
 undefined4 qmdpi_bundle_signature_enable(long *param_1,char *param_2)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
-  char local_1a8 [64];
+  undefined8 *puVar4;
+  char acStack_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  undefined4 local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if (((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (*param_1 == 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (*param_1 == 0)) {
     uVar3 = 0xffffffff;
   }
   else {
-    local_1a8[0] = '\0';
     local_168 = 0;
     local_128 = 0;
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
-    strncpy(local_1a8,param_2,0x3f);
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 2);
+    strncpy(acStack_1a8,param_2,0x3f);
+    (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 2);
     iVar2 = qmdpi_bundle_is_active(param_1);
     if (iVar2 != 0) {
-      FUN_00160640(*param_1);
+      FUN_0011c550(*param_1);
     }
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
-    uVar3 = (**(code **)(param_1[1] + 0x88))(param_1[9],local_1a8);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    uVar3 = (**(code **)(param_1[1] + 0x88))(param_1[9],acStack_1a8);
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     if (iVar2 != 0) {
-      FUN_001606c0(*param_1);
+      FUN_0011c5d0(*param_1);
     }
-    (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 2);
   }
   return uVar3;
 }
 

qmdpi_bundle_pdb_get_default_addr

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.28
i_ratio 0.58
m_ratio 0.98
b_ratio 0.69
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_get_default_addr qmdpi_bundle_pdb_get_default_addr
fullname qmdpi_bundle_pdb_get_default_addr qmdpi_bundle_pdb_get_default_addr
refcount 3 3
length 206 208
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 00187f90 00175a90
sig undefined qmdpi_bundle_pdb_get_default_addr(void) undefined qmdpi_bundle_pdb_get_default_addr(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_get_default_addr Called Diff

--- qmdpi_bundle_pdb_get_default_addr called
+++ qmdpi_bundle_pdb_get_default_addr called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_pdb_get_default_addr Diff

--- qmdpi_bundle_pdb_get_default_addr
+++ qmdpi_bundle_pdb_get_default_addr
@@ -1,39 +1,39 @@
 
 undefined8 qmdpi_bundle_pdb_get_default_addr(undefined8 *param_1,long param_2,long param_3)
 
 {
   undefined4 uVar1;
-  undefined8 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar2;
+  undefined8 uVar3;
   
-  uVar2 = 0xffffffff;
   if (param_1 != (undefined8 *)0x0) {
-    if ((param_2 == 0) || (param_3 == 0)) {
-      return 0xffffffff;
-    }
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    uVar2 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 2) = uVar2;
-    uVar2 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar2;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
+    if (param_2 == 0 || param_3 == 0) {
+      uVar3 = 0xffffffff;
     }
     else {
-      uVar1 = *(undefined4 *)*param_1;
+      puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      uVar3 = *param_1;
+      puVar2[2] = 0;
+      puVar2[1] = uVar3;
+      uVar3 = param_1[9];
+      puVar2[5] = 0;
+      puVar2[3] = uVar3;
+      uVar1 = 0;
+      if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+        uVar1 = *(undefined4 *)*param_1;
+      }
+      *(undefined4 *)puVar2 = uVar1;
+      *(undefined4 *)((long)puVar2 + 4) = 0;
+      uVar3 = (**(code **)(param_1[1] + 0x188))(param_1[9],param_2,param_3);
+      puVar2[5] = 0;
+      *puVar2 = 0;
+      puVar2[1] = 0;
+      puVar2[2] = 0;
+      puVar2[3] = 0;
+      *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
     }
-    *puVar3 = uVar1;
-    puVar3[1] = 0;
-    uVar2 = (**(code **)(param_1[1] + 0x188))(param_1[9],param_2,param_3);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *puVar3 = 0;
-    puVar3[1] = 0;
+    return uVar3;
   }
-  return uVar2;
+  return 0xffffffff;
 }
 

qmdpi_report_init

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,refcount,length,address,called
ratio 0.1
i_ratio 0.18
m_ratio 0.8
b_ratio 0.19
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_report_init qmdpi_report_init
fullname qmdpi_report_init qmdpi_report_init
refcount 3 6
length 878 1363
called
Expand for full list:
FUN_0010eaf0
FUN_00160640
FUN_001606c0
FUN_001610a0
FUN_00161190
FUN_00161430
FUN_00161b60
FUN_00161d30
qm_free_default
qm_malloc_default
qmdpi_bundle_signature_foreach
thunk_FUN_00181e30
Expand for full list:
::strcmp
FUN_0011c550
FUN_0011c5d0
FUN_00172d50
FUN_001b3b90
FUN_001b3e60
FUN_001b3f40
FUN_001b5e00
FUN_001b5fe0
qm_free_default
qm_malloc_default
qmdpi_bundle_signature_foreach
thunk_FUN_00173540
calling
paramcount 0 0
address 001644a0 001b7510
sig undefined qmdpi_report_init(void) undefined qmdpi_report_init(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_report_init Called Diff

--- qmdpi_report_init called
+++ qmdpi_report_init called
@@ -1,8 +1,9 @@
-FUN_0010eaf0
-FUN_00160640
-FUN_001606c0
-FUN_001610a0
-FUN_00161190
-FUN_00161430
-FUN_00161b60
-FUN_00161d30
+<EXTERNAL>::strcmp
+FUN_0011c550
+FUN_0011c5d0
+FUN_00172d50
+FUN_001b3b90
+FUN_001b3e60
+FUN_001b3f40
+FUN_001b5e00
+FUN_001b5fe0
@@ -12 +13 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_report_init Diff

--- qmdpi_report_init
+++ qmdpi_report_init
@@ -1,125 +1,182 @@
 
-int qmdpi_report_init(undefined4 *param_1,undefined8 param_2)
+int qmdpi_report_init(undefined4 *param_1,char *param_2)
 
 {
-  undefined8 *puVar1;
-  undefined8 *puVar2;
-  undefined4 uVar3;
-  int iVar4;
-  undefined4 *puVar5;
+  undefined4 uVar1;
+  int iVar2;
+  int iVar3;
+  undefined8 *puVar4;
+  undefined8 *puVar5;
   undefined8 *puVar6;
-  undefined8 *puVar7;
-  ulong uVar8;
-  undefined8 *puVar9;
-  byte bVar10;
+  ulong uVar7;
+  undefined8 *puVar8;
+  byte bVar9;
+  undefined8 *local_50;
+  undefined8 *local_48;
+  undefined8 *local_40;
   
-  bVar10 = 0;
+  bVar9 = 0;
   if (param_1 == (undefined4 *)0x0) {
     return -1;
   }
-  FUN_00160640();
-  if (*(long *)(param_1 + 0x14e) != 0) {
-    FUN_001606c0(param_1);
-    return -0x1c;
-  }
-  puVar5 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 **)(puVar5 + 2) = param_1;
-  *(undefined8 *)(puVar5 + 4) = 0;
-  *(undefined8 *)(puVar5 + 6) = 0;
-  *(undefined8 *)(puVar5 + 10) = 0;
-  uVar3 = *param_1;
-  puVar5[1] = 0;
-  *puVar5 = uVar3;
-  puVar6 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0x288,0xff000000,0x55);
-  *(undefined8 **)(param_1 + 0x14e) = puVar6;
-  if (puVar6 == (undefined8 *)0x0) {
-LAB_0:
-    iVar4 = -5;
-    FUN_001606c0(param_1);
+  FUN_0011c550();
+  if ((param_2 == (char *)0x0) || (iVar2 = strcmp(param_2,"classif_ext"), iVar2 != 0)) {
+    if ((*(long *)(param_1 + 0x17e) != 0) &&
+       ((*(byte *)(*(long *)(param_1 + 0x17e) + 0x288) & 1) == 0)) goto LAB_0;
+    iVar2 = 0;
   }
   else {
-    *puVar6 = 0;
-    puVar6[0x50] = 0;
-    uVar8 = (ulong)(((int)puVar6 - (int)(undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8)) +
-                    0x288U >> 3);
-    puVar6 = (undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8);
-    for (; uVar8 != 0; uVar8 = uVar8 - 1) {
+    if ((*(long *)(param_1 + 0x17e) != 0) &&
+       ((*(byte *)(*(long *)(param_1 + 0x17e) + 0x288) & 1) != 0)) {
+LAB_0:
+      FUN_0011c5d0(param_1);
+      return -0x1c;
+    }
+    iVar2 = 1;
+  }
+  puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  puVar4[1] = param_1;
+  puVar4[2] = 0;
+  puVar4[3] = 0;
+  puVar4[5] = 0;
+  uVar1 = *param_1;
+  *(undefined4 *)((long)puVar4 + 4) = 0;
+  *(undefined4 *)puVar4 = uVar1;
+  puVar5 = *(undefined8 **)(param_1 + 0x17e);
+  if (puVar5 == (undefined8 *)0x0) {
+    puVar5 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0x290,0xff000000,0x55);
+    *(undefined8 **)(param_1 + 0x17e) = puVar5;
+    if (puVar5 == (undefined8 *)0x0) goto LAB_1;
+    *puVar5 = 0;
+    puVar5[0x51] = 0;
+    uVar7 = (ulong)(((int)puVar5 - (int)(undefined8 *)((ulong)(puVar5 + 1) & 0xfffffffffffffff8)) +
+                    0x290U >> 3);
+    puVar5 = (undefined8 *)((ulong)(puVar5 + 1) & 0xfffffffffffffff8);
+    for (; uVar7 != 0; uVar7 = uVar7 - 1) {
+      *puVar5 = 0;
+      puVar5 = puVar5 + (ulong)bVar9 * -2 + 1;
+    }
+    puVar5 = *(undefined8 **)(param_1 + 0x17e);
+  }
+  iVar3 = FUN_001b3b90(puVar5 + 0x4b,param_2,iVar2);
+  if (iVar3 != 0) {
+    (*(code *)PTR_qm_free_default_001f7900)(*(undefined8 *)(param_1 + 0x17e),0xff000000,0x55);
+    *(undefined8 *)(param_1 + 0x17e) = 0;
+    FUN_0011c5d0(param_1);
+    return iVar3;
+  }
+  if (iVar2 == 0) {
+    iVar3 = FUN_001b5e00(puVar5 + 2,*(undefined4 *)(puVar5 + 0x4b));
+    if (iVar3 == 0) {
+      iVar3 = FUN_001b5e00(puVar5 + 0x17,*(undefined4 *)((long)puVar5 + 0x25c));
+      if (iVar3 == 0) {
+        iVar3 = FUN_001b5e00(puVar5 + 0x2c,*(undefined4 *)(puVar5 + 0x4c));
+        if (iVar3 == 0) {
+          if (*(short *)(puVar5 + 0x4d) == 0) goto LAB_2;
+          if ((puVar5[0x48] == 0) &&
+             (iVar3 = FUN_001b3e60(puVar5 + 0x46,&PTR_DAT_4), iVar3 != 0)) goto LAB_001b7900;
+LAB_5:
+          iVar3 = FUN_001b3e60(puVar5 + 0x41,0);
+          if (iVar3 != 0) {
+            FUN_001b3f40(puVar5 + 0x46);
+            goto LAB_3;
+          }
+          if (*(short *)(puVar5 + 0x4d) == 0) goto LAB_6;
+          if ((*(byte *)(puVar5 + 0x51) & 1) == 0) goto LAB_7;
+          goto LAB_8;
+        }
+        FUN_001b5fe0(puVar5 + 0x17);
+      }
+      FUN_001b5fe0(puVar5 + 2);
+    }
+    (*(code *)PTR_qm_free_default_001f7900)(*(undefined8 *)(param_1 + 0x17e),0xff000000,0x55);
+    *(undefined8 *)(param_1 + 0x17e) = 0;
+    FUN_0011c5d0(param_1);
+  }
+  else {
+    if (*(short *)(puVar5 + 0x4d) == 0) {
+LAB_2:
+      puVar6 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001f78f8)(1,0xf8,0xff000000,0x55);
+      if (puVar6 == (undefined8 *)0x0) {
+        FUN_001b5fe0(puVar5 + 2);
+        FUN_001b5fe0(puVar5 + 0x17);
+        FUN_001b5fe0(puVar5 + 0x2c);
+        bVar9 = *(byte *)(puVar5 + 0x51);
+joined_r0x001b7a2c:
+        if ((bVar9 & 1) == 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(*(undefined8 *)(param_1 + 0x17e),0xff000000,0x55);
+          *(undefined8 *)(param_1 + 0x17e) = 0;
+        }
+LAB_1:
+        FUN_0011c5d0(param_1);
+        return -5;
+      }
       *puVar6 = 0;
-      puVar6 = puVar6 + (ulong)bVar10 * -2 + 1;
-    }
-    puVar6 = *(undefined8 **)(param_1 + 0x14e);
-    iVar4 = FUN_00161430(puVar6 + 0x4b,param_2);
-    if (iVar4 == 0) {
-      puVar1 = puVar6 + 2;
-      iVar4 = FUN_00161b60(puVar1,*(undefined4 *)(puVar6 + 0x4b));
-      if (iVar4 == 0) {
-        puVar2 = puVar6 + 0x17;
-        iVar4 = FUN_00161b60(puVar2,*(undefined4 *)((long)puVar6 + 0x25c));
-        if (iVar4 == 0) {
-          iVar4 = FUN_00161b60(puVar6 + 0x2c,*(undefined4 *)(puVar6 + 0x4c));
-          if (iVar4 == 0) {
-            puVar7 = (undefined8 *)(*(code *)PTR_qm_malloc_default_001d3558)(1,0xf8,0xff000000,0x55)
-            ;
-            if (puVar7 != (undefined8 *)0x0) {
-              *puVar7 = 0;
-              puVar7[0x1e] = 0;
-              puVar9 = (undefined8 *)((ulong)(puVar7 + 1) & 0xfffffffffffffff8);
-              for (uVar8 = (ulong)(((int)puVar7 -
-                                   (int)(undefined8 *)((ulong)(puVar7 + 1) & 0xfffffffffffffff8)) +
-                                   0xf8U >> 3); uVar8 != 0; uVar8 = uVar8 - 1) {
-                *puVar9 = 0;
-                puVar9 = puVar9 + (ulong)bVar10 * -2 + 1;
-              }
-              puVar6[0x4e] = puVar7;
-              *(undefined2 *)((long)puVar6 + 0x26a) = 0x3e;
-              *(undefined2 *)(puVar6 + 0x4d) = 0;
-              iVar4 = FUN_001610a0(puVar6 + 0x41,0);
-              if (iVar4 == 0) {
-                iVar4 = FUN_001610a0(puVar6 + 0x46,&PTR_DAT_1);
-                if (iVar4 == 0) {
-                  if (*(long *)(param_1 + 0x124) != 0) {
-                    qmdpi_bundle_signature_foreach
-                              (*(long *)(param_1 + 0x124),FUN_00164360,puVar6 + 0x4d);
-                  }
-                  *(undefined4 *)(puVar6 + 0x4f) = 0;
-                  *puVar6 = 0;
-                  puVar6[1] = 0;
-                  (*(code *)PTR_FUN_001d35a8)(puVar6 + 0x50,"qmdpi_report_init");
-                  *(undefined8 *)(puVar5 + 2) = 0;
-                  *(undefined8 *)(puVar5 + 4) = 0;
-                  *(undefined8 *)(puVar5 + 6) = 0;
-                  *(undefined8 *)(puVar5 + 10) = 0;
-                  *puVar5 = 0;
-                  puVar5[1] = 0;
-                  FUN_001606c0(param_1);
-                  return 0;
-                }
-                FUN_00161190(puVar6 + 0x41);
-              }
-              if (puVar6[0x4e] != 0) {
-                (*(code *)PTR_qm_free_default_001d3560)(puVar6[0x4e],0xff000000,0x55);
-              }
-            }
-            FUN_00161d30(puVar1);
-            FUN_00161d30(puVar2);
-            FUN_00161d30(puVar6 + 0x2c);
-            (*(code *)PTR_qm_free_default_001d3560)
-                      (*(undefined8 *)(param_1 + 0x14e),0xff000000,0x55);
-            *(undefined8 *)(param_1 + 0x14e) = 0;
-            goto LAB_0;
-          }
-          FUN_00161d30(puVar1);
-          FUN_00161d30(puVar2);
+      puVar6[0x1e] = 0;
+      puVar8 = (undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8);
+      for (uVar7 = (ulong)(((int)puVar6 -
+                           (int)(undefined8 *)((ulong)(puVar6 + 1) & 0xfffffffffffffff8)) + 0xf8U >>
+                          3); uVar7 != 0; uVar7 = uVar7 - 1) {
+        *puVar8 = 0;
+        puVar8 = puVar8 + (ulong)bVar9 * -2 + 1;
+      }
+      puVar5[0x4e] = puVar6;
+      *(undefined4 *)(puVar5 + 0x4d) = 0x3e0000;
+      if ((puVar5[0x48] == 0) && (iVar3 = FUN_001b3e60(puVar5 + 0x46,&PTR_DAT_4), iVar3 != 0)
+         ) goto LAB_3;
+      if (iVar2 == 0) goto LAB_5;
+LAB_9:
+      if (*(short *)(puVar5 + 0x4d) == 0) {
+LAB_6:
+        if (*(long *)(param_1 + 0x154) != 0) {
+          qmdpi_bundle_signature_foreach(*(long *)(param_1 + 0x154),FUN_001b70a0,puVar5 + 0x4d);
         }
-        else {
-          FUN_00161d30(puVar1);
-        }
+        if ((*(byte *)(puVar5 + 0x51) & 1) == 0) goto LAB_7;
+      }
+      else {
+        if ((*(byte *)(puVar5 + 0x51) & 1) != 0) goto LAB_10;
+LAB_7:
+        *(undefined4 *)(puVar5 + 0x4f) = 0;
+      }
+      if (iVar2 == 0) {
+LAB_8:
+        *puVar5 = 0;
+        puVar5[1] = 0;
+        (*(code *)PTR_FUN_001f7948)(puVar5 + 0x50,"qmdpi_report_init");
+        *(byte *)(puVar5 + 0x51) = *(byte *)(puVar5 + 0x51) & 0xfd;
       }
     }
-    (*(code *)PTR_qm_free_default_001d3560)(*(undefined8 *)(param_1 + 0x14e),0xff000000,0x55);
-    *(undefined8 *)(param_1 + 0x14e) = 0;
-    FUN_001606c0(param_1);
+    else {
+      if (puVar5[0x48] == 0) {
+        iVar3 = FUN_001b3e60(puVar5 + 0x46,&PTR_DAT_4);
+        if (iVar3 == 0) goto LAB_9;
+LAB_3:
+        local_40 = puVar5 + 0x2c;
+        local_48 = puVar5 + 0x17;
+        local_50 = puVar5 + 2;
+        if (puVar5[0x4e] != 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(puVar5[0x4e],0xff000000,0x55);
+        }
+        FUN_001b5fe0(local_50);
+        FUN_001b5fe0(local_48);
+        FUN_001b5fe0(local_40);
+        bVar9 = *(byte *)(puVar5 + 0x51);
+        goto joined_r0x001b7a2c;
+      }
+      if ((*(byte *)(puVar5 + 0x51) & 1) == 0) {
+        *(undefined4 *)(puVar5 + 0x4f) = 0;
+      }
+    }
+LAB_10:
+    puVar4[5] = 0;
+    *puVar4 = 0;
+    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(param_1);
+    iVar3 = 0;
   }
-  return iVar4;
+  return iVar3;
 }
 

qmdpi_bundle_activate

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.6
i_ratio 0.69
m_ratio 1.0
b_ratio 0.98
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_activate qmdpi_bundle_activate
fullname qmdpi_bundle_activate qmdpi_bundle_activate
refcount 3 3
length 182 179
called ::pthread_spin_lock
::pthread_spin_unlock
FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
::pthread_spin_lock
::pthread_spin_unlock
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 001899d0 00181e80
sig undefined qmdpi_bundle_activate(void) undefined qmdpi_bundle_activate(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_activate Called Diff

--- qmdpi_bundle_activate called
+++ qmdpi_bundle_activate called
@@ -3,3 +3,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_activate Diff

--- qmdpi_bundle_activate
+++ qmdpi_bundle_activate
@@ -1,33 +1,33 @@
 
 undefined8 qmdpi_bundle_activate(long *param_1)
 
 {
   long lVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
   if (param_1 != (long *)0x0) {
     lVar1 = *param_1;
-    if ((lVar1 == 0) || (param_1 == *(long **)(lVar1 + 0x490))) {
+    if ((lVar1 == 0) || (*(long **)(lVar1 + 0x550) == param_1)) {
       uVar3 = 0xffffffff;
     }
     else {
-      (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 2);
-      FUN_00160640(lVar1);
-      puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(long **)(lVar1 + 0x490) = param_1;
-      *(undefined8 *)(puVar2 + 2) = 0;
-      *(undefined8 *)(puVar2 + 4) = 0;
-      *(undefined8 *)(puVar2 + 6) = 0;
-      *(undefined8 *)(puVar2 + 10) = 0;
+      (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 2);
+      FUN_0011c550(lVar1);
+      puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(long **)(lVar1 + 0x550) = param_1;
+      puVar2[5] = 0;
       *puVar2 = 0;
       puVar2[1] = 0;
-      FUN_001606c0(lVar1);
-      (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 2);
+      puVar2[2] = 0;
+      puVar2[3] = 0;
+      *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
+      FUN_0011c5d0(lVar1);
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 2);
       uVar3 = 0;
     }
     return uVar3;
   }
   return 0xffffffff;
 }
 

qmdpi_packet_ntuple_hashkey_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.87
i_ratio 0.4
m_ratio 0.97
b_ratio 0.63
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_packet_ntuple_hashkey_get qmdpi_packet_ntuple_hashkey_get
fullname qmdpi_packet_ntuple_hashkey_get qmdpi_packet_ntuple_hashkey_get
refcount 3 3
length 78 88
called FUN_0019bdb0 FUN_0017fb20
calling
paramcount 0 0
address 0019c330 001800c0
sig undefined qmdpi_packet_ntuple_hashkey_get(void) undefined qmdpi_packet_ntuple_hashkey_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_packet_ntuple_hashkey_get Called Diff

--- qmdpi_packet_ntuple_hashkey_get called
+++ qmdpi_packet_ntuple_hashkey_get called
@@ -1 +1 @@
-FUN_0019bdb0
+FUN_0017fb20

qmdpi_packet_ntuple_hashkey_get Diff

--- qmdpi_packet_ntuple_hashkey_get
+++ qmdpi_packet_ntuple_hashkey_get
@@ -1,20 +1,20 @@
 
 undefined4
 qmdpi_packet_ntuple_hashkey_get
           (long param_1,int param_2,int param_3,undefined4 param_4,int *param_5)
 
 {
   int iVar1;
   undefined4 local_c;
   
-  if ((((param_1 != 0) && (param_2 != 0)) && (param_3 != 0)) && (param_5 != (int *)0x0)) {
+  if ((param_1 != 0 && param_2 != 0) && (param_3 != 0 && param_5 != (int *)0x0)) {
     local_c = param_4;
-    iVar1 = FUN_0019bdb0(param_3,param_1,(long)param_2,&local_c);
+    iVar1 = FUN_0017fb20(param_3,param_1,(long)param_2,&local_c);
     *param_5 = iVar1;
     if (iVar1 != 0) {
       return local_c;
     }
   }
   return 0xffffffff;
 }
 

qmdpi_flow_packets_get_cts

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_packets_get_cts qmdpi_flow_packets_get_cts
fullname qmdpi_flow_packets_get_cts qmdpi_flow_packets_get_cts
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f490 001865e0
sig undefined qmdpi_flow_packets_get_cts(void) undefined qmdpi_flow_packets_get_cts(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_packets_get_cts Called Diff

--- qmdpi_flow_packets_get_cts called
+++ qmdpi_flow_packets_get_cts called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_packets_get_cts Diff

--- qmdpi_flow_packets_get_cts
+++ qmdpi_flow_packets_get_cts
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_packets_get_cts(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 8) {
     return *(undefined8 *)(lVar1 + 0x28);
   }
   if ((*param_1 & 0x60) != 0x20) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x20);
 }
 

qmdpi_worker_destroy

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.14
i_ratio 0.46
m_ratio 0.86
b_ratio 0.74
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_destroy qmdpi_worker_destroy
fullname qmdpi_worker_destroy qmdpi_worker_destroy
refcount 3 3
length 438 591
called FUN_00160640
FUN_001606c0
FUN_0017f140
FUN_0017fe50
FUN_0018e250
FUN_0019a430
qm_free_default
thunk_FUN_00137060
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
FUN_00179510
FUN_00185250
FUN_001a6350
FUN_001a70d0
qm_free_default
thunk_FUN_0014cca0
thunk_FUN_00173540
calling
paramcount 0 0
address 001862f0 0017df20
sig undefined qmdpi_worker_destroy(void) undefined qmdpi_worker_destroy(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_destroy Called Diff

--- qmdpi_worker_destroy called
+++ qmdpi_worker_destroy called
@@ -1,6 +1,6 @@
-FUN_00160640
-FUN_001606c0
-FUN_0017f140
-FUN_0017fe50
-FUN_0018e250
-FUN_0019a430
+FUN_0011c550
+FUN_0011c5d0
+FUN_00179510
+FUN_00185250
+FUN_001a6350
+FUN_001a70d0
@@ -8,2 +8,2 @@
-thunk_FUN_00137060
-thunk_FUN_00181e30
+thunk_FUN_0014cca0
+thunk_FUN_00173540

qmdpi_worker_destroy Diff

--- qmdpi_worker_destroy
+++ qmdpi_worker_destroy
@@ -1,80 +1,101 @@
 
 undefined8 qmdpi_worker_destroy(long *param_1)
 
 {
-  long *plVar1;
-  char cVar2;
-  undefined4 *puVar3;
-  undefined4 *puVar4;
-  long lVar5;
+  char cVar1;
+  undefined4 *puVar2;
+  long lVar3;
+  int iVar4;
+  undefined8 *puVar5;
   long lVar6;
   undefined8 uVar7;
   ulong uVar8;
   
-  if (param_1 == (long *)0x0) {
-    return 0xffffffff;
-  }
-  puVar3 = (undefined4 *)*param_1;
-  if (puVar3 == (undefined4 *)0x0) {
-    uVar7 = 0xffffffff;
-  }
-  else {
-    FUN_00160640(puVar3);
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 **)(puVar4 + 2) = puVar3;
-    *(long **)(puVar4 + 4) = param_1;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = *puVar3;
-    puVar4[1] = (int)param_1[1];
-    lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar6 = *(long *)(lVar5 + 8);
-    if ((lVar6 != 0) && (DAT_0 == 0)) {
-      if (*(long *)(lVar5 + 0x10) == 0) {
-        *(long *)(lVar6 + 0x550) = *(long *)(lVar6 + 0x550) + -0x1c0;
+  if (param_1 != (long *)0x0) {
+    puVar2 = (undefined4 *)*param_1;
+    if (puVar2 == (undefined4 *)0x0) {
+      uVar7 = 0xffffffff;
+    }
+    else {
+      FUN_0011c550(puVar2);
+      puVar5 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      puVar5[1] = puVar2;
+      puVar5[2] = param_1;
+      puVar5[3] = 0;
+      puVar5[5] = 0;
+      *(undefined4 *)puVar5 = *puVar2;
+      iVar4 = DAT_0;
+      *(int *)((long)puVar5 + 4) = (int)param_1[1];
+      if (((iVar4 == 0) && (lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)(), lVar6 != 0)) &&
+         (lVar3 = *(long *)(lVar6 + 8), lVar3 != 0)) {
+        if (*(long *)(lVar6 + 0x10) == 0) {
+          *(long *)(lVar3 + 0x610) = *(long *)(lVar3 + 0x610) + -0x240;
+        }
+        else {
+          LOCK();
+          *(long *)(lVar3 + 0x4f0) = *(long *)(lVar3 + 0x4f0) + -0x240;
+          UNLOCK();
+        }
+      }
+      lVar6 = *param_1;
+      cVar1 = *(char *)(lVar6 + 0x310);
+      if (cVar1 == '\0') {
+        FUN_001a6350(param_1);
+        FUN_001a70d0(param_1);
+        lVar6 = *param_1;
+        cVar1 = *(char *)(lVar6 + 0x310);
+      }
+      if (cVar1 == '\x01') {
+        FUN_00185250(param_1);
+        lVar6 = *param_1;
+      }
+      if ((lVar6 != 0 && (int)param_1[1] != 0) &&
+         (uVar8 = (ulong)((int)param_1[1] - 1), uVar8 <= *(ulong *)(lVar6 + 0x2f0))) {
+        *(undefined1 *)(uVar8 + *(long *)(lVar6 + 0x5d0)) = 0;
+        *(int *)(lVar6 + 0x5d8) = *(int *)(lVar6 + 0x5d8) + -1;
+      }
+      FUN_00179510(param_1[8]);
+      lVar6 = param_1[0x33];
+      if (lVar6 != 0) {
+        lVar3 = *(long *)(lVar6 + 8);
+        if (lVar3 != 0) {
+          if (DAT_0 == 0) {
+            (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(lVar3);
+            lVar6 = param_1[0x33];
+          }
+          else {
+            (*(code *)PTR_qm_free_default_001f7900)(lVar3,0xff000000,0x5b);
+            lVar6 = param_1[0x33];
+          }
+        }
+        if (DAT_0 == 0) {
+          (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)(lVar6);
+        }
+        else {
+          (*(code *)PTR_qm_free_default_001f7900)(lVar6,0xff000000,0x5b);
+        }
+      }
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      if ((lVar6 != 0) && (*(long *)(lVar6 + 0x10) != 0)) {
+        *(undefined8 *)(lVar6 + 0x10) = 0;
+      }
+      if (DAT_0 == 0) {
+        (*(code *)PTR_thunk_FUN_0014cca0_001f7b00)();
       }
       else {
-        plVar1 = (long *)(*(long *)(lVar6 + 0x438) + (ulong)*(uint *)(lVar5 + 4) * 8);
-        *plVar1 = *plVar1 + -0x1c0;
+        (*(code *)PTR_qm_free_default_001f7900)(param_1[-1],0xff000000,0x5b);
       }
+      puVar5[5] = 0;
+      *puVar5 = 0;
+      puVar5[1] = 0;
+      puVar5[2] = 0;
+      puVar5[3] = 0;
+      *(undefined4 *)((long)puVar5 + 0x34) = 0xffffffff;
+      FUN_0011c5d0(puVar2);
+      uVar7 = 0;
     }
-    lVar6 = *param_1;
-    cVar2 = *(char *)(lVar6 + 0x310);
-    if (cVar2 == '\0') {
-      FUN_0017f140(param_1);
-      FUN_0017fe50(param_1);
-      lVar6 = *param_1;
-      cVar2 = *(char *)(lVar6 + 0x310);
-    }
-    if (cVar2 == '\x01') {
-      FUN_0018e250(param_1);
-      lVar6 = *param_1;
-    }
-    if (((lVar6 != 0) && ((int)param_1[1] != 0)) &&
-       (uVar8 = (ulong)((int)param_1[1] - 1), uVar8 <= *(ulong *)(lVar6 + 0x2f0))) {
-      *(undefined1 *)(*(long *)(lVar6 + 0x510) + uVar8) = 0;
-      *(int *)(lVar6 + 0x518) = *(int *)(lVar6 + 0x518) + -1;
-    }
-    FUN_0019a430(param_1[8]);
-    lVar6 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    if ((lVar6 != 0) && (*(long *)(lVar6 + 0x10) != 0)) {
-      *(undefined8 *)(lVar6 + 0x10) = 0;
-    }
-    if (DAT_0 == 0) {
-      (*(code *)PTR_thunk_FUN_00137060_001d3760)();
-    }
-    else {
-      (*(code *)PTR_qm_free_default_001d3560)(param_1[-1],0xff000000,0x5b);
-    }
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    FUN_001606c0(puVar3);
-    uVar7 = 0;
+    return uVar7;
   }
-  return uVar7;
+  return 0xffffffff;
 }
 

qmdpi_flow_bytes_processed_get_stc

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_bytes_processed_get_stc qmdpi_flow_bytes_processed_get_stc
fullname qmdpi_flow_bytes_processed_get_stc qmdpi_flow_bytes_processed_get_stc
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f7f0 001869b0
sig undefined qmdpi_flow_bytes_processed_get_stc(void) undefined qmdpi_flow_bytes_processed_get_stc(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_bytes_processed_get_stc Called Diff

--- qmdpi_flow_bytes_processed_get_stc called
+++ qmdpi_flow_bytes_processed_get_stc called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_bytes_processed_get_stc Diff

--- qmdpi_flow_bytes_processed_get_stc
+++ qmdpi_flow_bytes_processed_get_stc
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_bytes_processed_get_stc(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 0x10) {
     return *(undefined8 *)(lVar1 + 0x38);
   }
   if ((*param_1 & 0x60) != 0x40) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x30);
 }
 

qmdpi_worker_signature_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.34
i_ratio 0.46
m_ratio 0.96
b_ratio 0.83
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_signature_get_byid qmdpi_worker_signature_get_byid
fullname qmdpi_worker_signature_get_byid qmdpi_worker_signature_get_byid
refcount 6 6
length 250 225
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b6e0 00183c00
sig undefined qmdpi_worker_signature_get_byid(void) undefined qmdpi_worker_signature_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_signature_get_byid Called Diff

--- qmdpi_worker_signature_get_byid called
+++ qmdpi_worker_signature_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_signature_get_byid Diff

--- qmdpi_worker_signature_get_byid
+++ qmdpi_worker_signature_get_byid
@@ -1,53 +1,52 @@
 
 long qmdpi_worker_signature_get_byid(long param_1,undefined8 *param_2,undefined4 param_3)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   long lVar4;
-  long lVar5;
-  undefined8 local_68;
-  undefined4 local_60;
+  undefined8 local_78;
+  undefined4 local_70;
   
-  if (param_2 != (undefined8 *)0x0) {
-    local_68 = 0;
-    local_60 = param_3;
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_2 == (undefined8 *)0x0) {
+    lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
+    lVar4 = 0;
+  }
+  else {
+    local_78 = 0;
+    local_70 = param_3;
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_2;
-    *(long *)(puVar3 + 4) = param_1;
-    *(undefined8 *)(puVar3 + 2) = uVar1;
+    puVar3[2] = param_1;
+    puVar3[1] = uVar1;
     uVar1 = param_2[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar3 = 0;
+    puVar3[5] = 0;
+    puVar3[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar2 = *(undefined4 *)*param_2;
     }
-    else {
-      *puVar3 = *(undefined4 *)*param_2;
-    }
-    if (param_1 == 0) {
-      uVar2 = 0;
-    }
-    else {
+    *(undefined4 *)puVar3 = uVar2;
+    uVar2 = 0;
+    if (param_1 != 0) {
       uVar2 = *(undefined4 *)(param_1 + 8);
     }
-    puVar3[1] = uVar2;
-    lVar4 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_68);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    *(undefined4 *)((long)puVar3 + 4) = uVar2;
+    lVar4 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_78);
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
     if (lVar4 == 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar5 + 0x30) = 0xfffffff8;
+      lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar4 + 0x30) = 0xfffffff8;
+      lVar4 = 0;
     }
-    return lVar4;
   }
-  lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
-  return 0;
+  return lVar4;
 }
 

qmdpi_flow_duration_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.5
i_ratio 0.64
m_ratio 0.88
b_ratio 0.8
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_duration_get qmdpi_flow_duration_get
fullname qmdpi_flow_duration_get qmdpi_flow_duration_get
refcount 3 3
length 29 35
called FUN_001808f0 FUN_001a7870
calling
paramcount 0 0
address 0018f890 00186a80
sig undefined qmdpi_flow_duration_get(void) undefined qmdpi_flow_duration_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_duration_get Called Diff

--- qmdpi_flow_duration_get called
+++ qmdpi_flow_duration_get called
@@ -1 +1 @@
-FUN_001808f0
+FUN_001a7870

qmdpi_flow_duration_get Diff

--- qmdpi_flow_duration_get
+++ qmdpi_flow_duration_get
@@ -1,13 +1,17 @@
 
-void qmdpi_flow_duration_get(long param_1,undefined1 (*param_2) [16])
+void qmdpi_flow_duration_get(long param_1,undefined8 *param_2)
 
 {
-  undefined1 auVar1 [16];
+  undefined8 uVar1;
+  undefined1 extraout_DL;
+  undefined7 extraout_var;
   
-  if ((param_1 != 0) && (param_2 != (undefined1 (*) [16])0x0)) {
-    auVar1 = FUN_001808f0();
-    *param_2 = auVar1;
+  if (param_1 == 0 || param_2 == (undefined8 *)0x0) {
+    return;
   }
+  uVar1 = FUN_001a7870();
+  *param_2 = uVar1;
+  param_2[1] = CONCAT71(extraout_var,extraout_DL);
   return;
 }
 

qmdpi_engine_config_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.71
i_ratio 0.62
m_ratio 0.96
b_ratio 0.85
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_engine_config_set qmdpi_engine_config_set
fullname qmdpi_engine_config_set qmdpi_engine_config_set
refcount 3 3
length 66 72
called FUN_00160640
FUN_001606c0
FUN_001954d0
FUN_0011c550
FUN_0011c5d0
FUN_0018f6b0
calling
paramcount 0 0
address 00185c60 0017d6d0
sig undefined qmdpi_engine_config_set(void) undefined qmdpi_engine_config_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_engine_config_set Called Diff

--- qmdpi_engine_config_set called
+++ qmdpi_engine_config_set called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-FUN_001954d0
+FUN_0011c550
+FUN_0011c5d0
+FUN_0018f6b0

qmdpi_engine_config_set Diff

--- qmdpi_engine_config_set
+++ qmdpi_engine_config_set
@@ -1,17 +1,17 @@
 
 undefined4 qmdpi_engine_config_set(long param_1,long param_2,undefined8 param_3)
 
 {
   undefined4 uVar1;
   
-  if ((param_1 == 0) || (param_2 == 0)) {
+  if (param_1 == 0 || param_2 == 0) {
     uVar1 = 0xffffffff;
   }
   else {
-    FUN_00160640();
-    uVar1 = FUN_001954d0(param_1,param_2,param_3);
-    FUN_001606c0(param_1);
+    FUN_0011c550();
+    uVar1 = FUN_0018f6b0(param_1,param_2,param_3);
+    FUN_0011c5d0(param_1);
   }
   return uVar1;
 }
 

qmdpi_bundle_dns_cache_add

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.41
i_ratio 0.48
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_dns_cache_add qmdpi_bundle_dns_cache_add
fullname qmdpi_bundle_dns_cache_add qmdpi_bundle_dns_cache_add
refcount 3 3
length 317 308
called FUN_00160640
FUN_001606c0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
thunk_FUN_00173540
calling
paramcount 0 0
address 0018c6b0 00184bd0
sig undefined qmdpi_bundle_dns_cache_add(void) undefined qmdpi_bundle_dns_cache_add(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_dns_cache_add Called Diff

--- qmdpi_bundle_dns_cache_add called
+++ qmdpi_bundle_dns_cache_add called
@@ -1,3 +1,3 @@
-FUN_00160640
-FUN_001606c0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+thunk_FUN_00173540

qmdpi_bundle_dns_cache_add Diff

--- qmdpi_bundle_dns_cache_add
+++ qmdpi_bundle_dns_cache_add
@@ -1,45 +1,41 @@
 
 undefined4
 qmdpi_bundle_dns_cache_add
           (undefined8 *param_1,undefined4 param_2,undefined8 param_3,undefined4 param_4,long param_5
           ,long param_6,int param_7,long param_8,undefined4 param_9)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
-  undefined4 *puVar3;
+  undefined8 *puVar3;
   
-  if ((((param_1 == (undefined8 *)0x0) || (param_5 == 0)) || (param_6 == 0 || param_8 == 0)) ||
-     (param_7 < 1)) {
-    uVar2 = 0xffffffff;
-  }
-  else {
-    FUN_00160640(*param_1);
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if ((param_1 != (undefined8 *)0x0 && param_5 != 0) &&
+     ((param_6 != 0 && param_8 != 0) && 0 < param_7)) {
+    FUN_0011c550(*param_1);
+    puVar3 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 2) = uVar1;
+    puVar3[2] = 0;
+    puVar3[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(undefined8 *)(puVar3 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar3[5] = 0;
+    puVar3[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar3 = uVar2;
-    puVar3[1] = 0;
+    *(undefined4 *)puVar3 = uVar2;
+    *(undefined4 *)((long)puVar3 + 4) = 0;
     uVar2 = (**(code **)(param_1[1] + 0x250))
                       (param_1[9],param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9);
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
+    puVar3[5] = 0;
     *puVar3 = 0;
     puVar3[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar3[2] = 0;
+    puVar3[3] = 0;
+    *(undefined4 *)((long)puVar3 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
+    return uVar2;
   }
-  return uVar2;
+  return 0xffffffff;
 }
 

qmdpi_flow_packets_processed_get_cts

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_packets_processed_get_cts qmdpi_flow_packets_processed_get_cts
fullname qmdpi_flow_packets_processed_get_cts qmdpi_flow_packets_processed_get_cts
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f690 00186820
sig undefined qmdpi_flow_packets_processed_get_cts(void) undefined qmdpi_flow_packets_processed_get_cts(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_packets_processed_get_cts Called Diff

--- qmdpi_flow_packets_processed_get_cts called
+++ qmdpi_flow_packets_processed_get_cts called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_packets_processed_get_cts Diff

--- qmdpi_flow_packets_processed_get_cts
+++ qmdpi_flow_packets_processed_get_cts
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_packets_processed_get_cts(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 8) {
     return *(undefined8 *)(lVar1 + 0x48);
   }
   if ((*param_1 & 0x60) != 0x20) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x40);
 }
 

qmdpi_flow_timeout_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.61
i_ratio 0.59
m_ratio 0.89
b_ratio 0.81
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_timeout_get qmdpi_flow_timeout_get
fullname qmdpi_flow_timeout_get qmdpi_flow_timeout_get
refcount 3 3
length 35 41
called FUN_00180710 FUN_001a7640
calling
paramcount 0 0
address 0018f8b0 00186ab0
sig undefined qmdpi_flow_timeout_get(void) undefined qmdpi_flow_timeout_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_timeout_get Called Diff

--- qmdpi_flow_timeout_get called
+++ qmdpi_flow_timeout_get called
@@ -1 +1 @@
-FUN_00180710
+FUN_001a7640

qmdpi_flow_timeout_get Diff

--- qmdpi_flow_timeout_get
+++ qmdpi_flow_timeout_get
@@ -1,14 +1,15 @@
 
 void qmdpi_flow_timeout_get(long param_1,ulong *param_2)
 
 {
   uint uVar1;
   
-  if ((param_1 != 0) && (param_2 != (ulong *)0x0)) {
-    uVar1 = FUN_00180710();
-    param_2[1] = 0;
-    *param_2 = (ulong)uVar1;
+  if (param_1 == 0 || param_2 == (ulong *)0x0) {
+    return;
   }
+  uVar1 = FUN_001a7640();
+  param_2[1] = 0;
+  *param_2 = (ulong)uVar1;
   return;
 }
 

qmdpi_bundle_signature_enable_byfamily

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.56
i_ratio 0.5
m_ratio 0.98
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_enable_byfamily qmdpi_bundle_signature_enable_byfamily
fullname qmdpi_bundle_signature_enable_byfamily qmdpi_bundle_signature_enable_byfamily
refcount 3 3
length 440 386
called ::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_00160640
FUN_001606c0
qmdpi_bundle_is_active
thunk_FUN_00181e30
::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_0011c550
FUN_0011c5d0
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 0018a1d0 001825b0
sig undefined qmdpi_bundle_signature_enable_byfamily(void) undefined qmdpi_bundle_signature_enable_byfamily(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_enable_byfamily Called Diff

--- qmdpi_bundle_signature_enable_byfamily called
+++ qmdpi_bundle_signature_enable_byfamily called
@@ -4,2 +4,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_enable_byfamily Diff

--- qmdpi_bundle_signature_enable_byfamily
+++ qmdpi_bundle_signature_enable_byfamily
@@ -1,75 +1,64 @@
 
 undefined4 qmdpi_bundle_signature_enable_byfamily(long *param_1,char *param_2)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   undefined1 local_1a8 [64];
   undefined1 local_168;
   char local_128 [64];
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  undefined4 local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   undefined1 local_78;
   
-  if (((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (*param_1 == 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (*param_1 == 0)) {
     uVar3 = 0xffffffff;
   }
   else {
     local_1a8[0] = 0;
     local_168 = 0;
-    local_128[0] = '\0';
     local_78 = 0;
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
     strncpy(local_128,param_2,0x3f);
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 2);
     iVar2 = qmdpi_bundle_is_active(param_1);
     if (iVar2 != 0) {
-      FUN_00160640(*param_1);
+      FUN_0011c550(*param_1);
     }
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x88))(param_1[9],local_1a8);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     if (iVar2 != 0) {
-      FUN_001606c0(*param_1);
+      FUN_0011c5d0(*param_1);
     }
-    (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 2);
   }
   return uVar3;
 }
 

qmdpi_interface_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.02
i_ratio 0.02
m_ratio 0.89
b_ratio 0.04
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_interface_set qmdpi_interface_set
fullname qmdpi_interface_set qmdpi_interface_set
refcount 3 3
length 1617 1340
called ::strcmp
FUN_0019c4f0
::strcmp
FUN_00180210
thunk_FUN_00173540
calling
paramcount 0 0
address 00184560 0017c1d0
sig undefined qmdpi_interface_set(void) undefined qmdpi_interface_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_interface_set Called Diff

--- qmdpi_interface_set called
+++ qmdpi_interface_set called
@@ -2 +2,2 @@
-FUN_0019c4f0
+FUN_00180210
+thunk_FUN_00173540

qmdpi_interface_set Diff

--- qmdpi_interface_set
+++ qmdpi_interface_set
@@ -1,437 +1,646 @@
 
-int qmdpi_interface_set(byte *param_1,undefined *param_2)
+undefined8 qmdpi_interface_set(char *param_1,undefined *param_2)
 
 {
-  char cVar1;
-  int iVar2;
-  long lVar3;
-  byte *pbVar4;
-  byte *pbVar5;
-  bool bVar6;
-  bool bVar7;
-  bool bVar8;
+  undefined *puVar1;
+  undefined *puVar2;
+  undefined *puVar3;
+  undefined *puVar4;
+  undefined *puVar5;
+  undefined *puVar6;
+  undefined *puVar7;
+  undefined *puVar8;
+  undefined *puVar9;
+  undefined *puVar10;
+  undefined *puVar11;
+  undefined *puVar12;
+  undefined *puVar13;
+  undefined *puVar14;
+  undefined *puVar15;
+  undefined *puVar16;
+  undefined *puVar17;
+  undefined *puVar18;
+  undefined *puVar19;
+  undefined *puVar20;
+  undefined *puVar21;
+  undefined *puVar22;
+  undefined *puVar23;
+  undefined *puVar24;
+  undefined *puVar25;
+  undefined *puVar26;
+  undefined *puVar27;
+  undefined *puVar28;
+  undefined *puVar29;
+  undefined *puVar30;
+  undefined *puVar31;
+  undefined *puVar32;
+  int iVar33;
+  undefined8 uVar34;
+  long lVar35;
   
-  if ((DAT_0 == 1) || (param_2 == (undefined *)0x0)) {
-    return -1;
+  if (DAT_0 == 1) {
+    lVar35 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar35 + 0x30) = 0xfffffffa;
+    return 0xfffffffa;
   }
-  lVar3 = 7;
-  bVar6 = &stack0xfffffffffffffff0 < &DAT_1;
-  bVar8 = &stack0x00000000 == (undefined1 *)0x28;
-  pbVar4 = (byte *)0x1a8ead;
-  pbVar5 = param_1;
-  do {
-    if (lVar3 == 0) break;
-    lVar3 = lVar3 + -1;
-    bVar6 = *pbVar4 < *pbVar5;
-    bVar8 = *pbVar4 == *pbVar5;
-    pbVar4 = pbVar4 + 1;
-    pbVar5 = pbVar5 + 1;
-  } while (bVar8);
-  cVar1 = (!bVar6 && !bVar8) - bVar6;
-  bVar6 = false;
-  bVar8 = cVar1 == '\0';
-  if (bVar8) {
-    PTR_qm_malloc_default_001d3558 = param_2;
-    FUN_0019c4f0();
-    return (int)cVar1;
-  }
-  lVar3 = 5;
-  pbVar4 = (byte *)0x1a8ec4;
-  pbVar5 = param_1;
-  do {
-    if (lVar3 == 0) break;
-    lVar3 = lVar3 + -1;
-    bVar6 = *pbVar4 < *pbVar5;
-    bVar8 = *pbVar4 == *pbVar5;
-    pbVar4 = pbVar4 + 1;
-    pbVar5 = pbVar5 + 1;
-  } while (bVar8);
-  bVar7 = false;
-  bVar6 = (!bVar6 && !bVar8) == bVar6;
-  if (bVar6) {
-    iVar2 = 0;
-    PTR_qm_free_default_001d3560 = param_2;
+  if (param_2 == (undefined *)0x0) {
+    lVar35 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar35 + 0x30) = 0xffffffff;
+LAB_1:
+    uVar34 = 0xffffffff;
   }
   else {
-    lVar3 = 8;
-    pbVar4 = (byte *)0x1a8eb8;
-    pbVar5 = param_1;
-    do {
-      if (lVar3 == 0) break;
-      lVar3 = lVar3 + -1;
-      bVar7 = *pbVar4 < *pbVar5;
-      bVar6 = *pbVar4 == *pbVar5;
-      pbVar4 = pbVar4 + 1;
-      pbVar5 = pbVar5 + 1;
-    } while (bVar6);
-    iVar2 = (int)(char)((!bVar7 && !bVar6) - bVar7);
-    bVar6 = false;
-    bVar8 = iVar2 == 0;
-    if (bVar8) {
-      PTR_qm_realloc_default_001d3568 = param_2;
-      return iVar2;
-    }
-    lVar3 = 8;
-    pbVar4 = (byte *)"_strdup";
-    pbVar5 = param_1;
-    do {
-      if (lVar3 == 0) break;
-      lVar3 = lVar3 + -1;
-      bVar6 = *pbVar4 < *pbVar5;
-      bVar8 = *pbVar4 == *pbVar5;
-      pbVar4 = pbVar4 + 1;
-      pbVar5 = pbVar5 + 1;
-    } while (bVar8);
-    iVar2 = (int)(char)((!bVar6 && !bVar8) - bVar6);
-    bVar6 = false;
-    bVar8 = iVar2 == 0;
-    if (bVar8) {
-      PTR_thunk_FUN_00183150_001d3570 = param_2;
-      return iVar2;
-    }
-    lVar3 = 0xb;
-    pbVar4 = (byte *)"sys_malloc";
-    pbVar5 = param_1;
-    do {
-      if (lVar3 == 0) break;
-      lVar3 = lVar3 + -1;
-      bVar6 = *pbVar4 < *pbVar5;
-      bVar8 = *pbVar4 == *pbVar5;
-      pbVar4 = pbVar4 + 1;
-      pbVar5 = pbVar5 + 1;
-    } while (bVar8);
-    bVar7 = false;
-    bVar6 = (!bVar6 && !bVar8) == bVar6;
-    if (bVar6) {
-      iVar2 = 0;
-      PTR_thunk_FUN_00133f90_001d36e8 = param_2;
+    iVar33 = strcmp("malloc",param_1);
+    if (iVar33 == 0) {
+      PTR_qm_malloc_default_001f78f8 = param_2;
+      FUN_00180210();
+      puVar1 = PTR_qm_free_default_001f7900;
+      puVar2 = PTR_qm_realloc_default_001f7908;
+      puVar3 = PTR_thunk_FUN_00174430_001f7910;
+      puVar4 = PTR_dlopen_001f7918;
+      puVar5 = PTR_dlsym_001f7920;
+      puVar6 = PTR_dlclose_001f7928;
+      puVar7 = PTR_FUN_001f7938;
+      puVar8 = PTR_FUN_001f7a10;
+      puVar9 = PTR_FUN_001f7a18;
+      puVar10 = PTR_FUN_001f7a20;
+      puVar11 = PTR_FUN_001f7a28;
+      puVar12 = PTR_FUN_001f7a30;
+      puVar13 = PTR_FUN_001f7a38;
+      puVar14 = PTR_FUN_001f7a40;
+      puVar15 = PTR_FUN_001f7a48;
+      puVar16 = PTR_FUN_001f7a50;
+      puVar17 = PTR_FUN_001f7a58;
+      puVar18 = PTR_FUN_001f7a60;
+      puVar19 = PTR_FUN_001f7a68;
+      puVar20 = PTR_FUN_001f7a70;
+      puVar21 = PTR_FUN_001f7a78;
+      puVar22 = PTR_FUN_001f7a80;
+      puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88;
+      puVar24 = PTR_qm_malloc_init_default_001f7a90;
+      puVar25 = PTR_qm_malloc_cleanup_default_001f7a98;
+      puVar26 = PTR_FUN_001f7ad0;
+      puVar27 = PTR_FUN_001f7ad8;
+      puVar28 = PTR_thunk_FUN_001889b0_001f7ae0;
+      puVar29 = PTR_FUN_001f7ae8;
+      puVar30 = PTR_FUN_001f7af0;
+      puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8;
+      puVar32 = PTR_thunk_FUN_0014cca0_001f7b00;
     }
     else {
-      lVar3 = 0xc;
-      pbVar4 = (byte *)"sys_realloc";
-      pbVar5 = param_1;
-      do {
-        if (lVar3 == 0) break;
-        lVar3 = lVar3 + -1;
-        bVar7 = *pbVar4 < *pbVar5;
-        bVar6 = *pbVar4 == *pbVar5;
-        pbVar4 = pbVar4 + 1;
-        pbVar5 = pbVar5 + 1;
-      } while (bVar6);
-      bVar8 = false;
-      bVar6 = (!bVar7 && !bVar6) == bVar7;
-      if (bVar6) {
-        iVar2 = 0;
-        PTR_thunk_FUN_001354d0_001d3758 = param_2;
-      }
-      else {
-        lVar3 = 9;
-        pbVar4 = (byte *)"sys_free";
-        pbVar5 = param_1;
-        do {
-          if (lVar3 == 0) break;
-          lVar3 = lVar3 + -1;
-          bVar8 = *pbVar4 < *pbVar5;
-          bVar6 = *pbVar4 == *pbVar5;
-          pbVar4 = pbVar4 + 1;
-          pbVar5 = pbVar5 + 1;
-        } while (bVar6);
-        bVar7 = false;
-        bVar6 = (!bVar8 && !bVar6) == bVar8;
-        if (bVar6) {
-          iVar2 = 0;
-          PTR_thunk_FUN_00137060_001d3760 = param_2;
-        }
-        else {
-          lVar3 = 0xc;
-          pbVar4 = (byte *)"malloc_init";
-          pbVar5 = param_1;
-          do {
-            if (lVar3 == 0) break;
-            lVar3 = lVar3 + -1;
-            bVar7 = *pbVar4 < *pbVar5;
-            bVar6 = *pbVar4 == *pbVar5;
-            pbVar4 = pbVar4 + 1;
-            pbVar5 = pbVar5 + 1;
-          } while (bVar6);
-          bVar8 = false;
-          bVar6 = (!bVar7 && !bVar6) == bVar7;
-          if (bVar6) {
-            iVar2 = 0;
-            PTR_qm_malloc_init_default_001d36f0 = param_2;
-          }
-          else {
-            lVar3 = 0xf;
-            pbVar4 = (byte *)"malloc_cleanup";
-            pbVar5 = param_1;
-            do {
-              if (lVar3 == 0) break;
-              lVar3 = lVar3 + -1;
-              bVar8 = *pbVar4 < *pbVar5;
-              bVar6 = *pbVar4 == *pbVar5;
-              pbVar4 = pbVar4 + 1;
-              pbVar5 = pbVar5 + 1;
-            } while (bVar6);
-            bVar7 = false;
-            bVar6 = (!bVar8 && !bVar6) == bVar8;
-            if (bVar6) {
-              iVar2 = 0;
-              PTR_qm_malloc_cleanup_default_001d36f8 = param_2;
-            }
-            else {
-              lVar3 = 0x12;
-              pbVar4 = (byte *)"layer_store_setup";
-              pbVar5 = param_1;
-              do {
-                if (lVar3 == 0) break;
-                lVar3 = lVar3 + -1;
-                bVar7 = *pbVar4 < *pbVar5;
-                bVar6 = *pbVar4 == *pbVar5;
-                pbVar4 = pbVar4 + 1;
-                pbVar5 = pbVar5 + 1;
-              } while (bVar6);
-              bVar8 = false;
-              bVar6 = (!bVar7 && !bVar6) == bVar7;
-              if (bVar6) {
-                iVar2 = 0;
-                PTR_FUN_001d3670 = param_2;
-              }
-              else {
-                lVar3 = 0x15;
-                pbVar4 = (byte *)"layer_store_shutdown";
-                pbVar5 = param_1;
-                do {
-                  if (lVar3 == 0) break;
-                  lVar3 = lVar3 + -1;
-                  bVar8 = *pbVar4 < *pbVar5;
-                  bVar6 = *pbVar4 == *pbVar5;
-                  pbVar4 = pbVar4 + 1;
-                  pbVar5 = pbVar5 + 1;
-                } while (bVar6);
-                bVar7 = false;
-                bVar6 = (!bVar8 && !bVar6) == bVar8;
-                if (bVar6) {
-                  iVar2 = 0;
-                  PTR_FUN_001d3678 = param_2;
-                }
-                else {
-                  lVar3 = 0x13;
-                  pbVar4 = (byte *)"layer_store_create";
-                  pbVar5 = param_1;
-                  do {
-                    if (lVar3 == 0) break;
-                    lVar3 = lVar3 + -1;
-                    bVar7 = *pbVar4 < *pbVar5;
-                    bVar6 = *pbVar4 == *pbVar5;
-                    pbVar4 = pbVar4 + 1;
-                    pbVar5 = pbVar5 + 1;
-                  } while (bVar6);
-                  bVar8 = false;
-                  bVar6 = (!bVar7 && !bVar6) == bVar7;
-                  if (bVar6) {
-                    iVar2 = 0;
-                    PTR_FUN_001d3680 = param_2;
-                  }
-                  else {
-                    lVar3 = 0x14;
-                    pbVar4 = (byte *)"layer_store_destroy";
-                    pbVar5 = param_1;
-                    do {
-                      if (lVar3 == 0) break;
-                      lVar3 = lVar3 + -1;
-                      bVar8 = *pbVar4 < *pbVar5;
-                      bVar6 = *pbVar4 == *pbVar5;
-                      pbVar4 = pbVar4 + 1;
-                      pbVar5 = pbVar5 + 1;
-                    } while (bVar6);
-                    bVar7 = false;
-                    bVar6 = (!bVar8 && !bVar6) == bVar8;
-                    if (bVar6) {
-                      iVar2 = 0;
-                      PTR_FUN_001d3688 = param_2;
-                    }
-                    else {
-                      lVar3 = 0x17;
-                      pbVar4 = (byte *)"layer_store_invalidate";
-                      pbVar5 = param_1;
-                      do {
-                        if (lVar3 == 0) break;
-                        lVar3 = lVar3 + -1;
-                        bVar7 = *pbVar4 < *pbVar5;
-                        bVar6 = *pbVar4 == *pbVar5;
-                        pbVar4 = pbVar4 + 1;
-                        pbVar5 = pbVar5 + 1;
-                      } while (bVar6);
-                      bVar8 = false;
-                      bVar6 = (!bVar7 && !bVar6) == bVar7;
-                      if (bVar6) {
-                        iVar2 = 0;
-                        PTR_FUN_001d3690 = param_2;
-                      }
-                      else {
-                        lVar3 = 0x16;
-                        pbVar4 = (byte *)"layer_store_reference";
-                        pbVar5 = param_1;
-                        do {
-                          if (lVar3 == 0) break;
-                          lVar3 = lVar3 + -1;
-                          bVar8 = *pbVar4 < *pbVar5;
-                          bVar6 = *pbVar4 == *pbVar5;
-                          pbVar4 = pbVar4 + 1;
-                          pbVar5 = pbVar5 + 1;
-                        } while (bVar6);
-                        if ((!bVar8 && !bVar6) == bVar8) {
-                          iVar2 = 0;
-                          PTR_FUN_001d3698 = param_2;
-                        }
-                        else {
-                          iVar2 = strcmp("layer_store_lookup",(char *)param_1);
-                          if (iVar2 == 0) {
-                            iVar2 = 0;
-                            PTR_FUN_001d36a0 = param_2;
-                          }
-                          else {
-                            iVar2 = strcmp("layer_store_lookup_create",(char *)param_1);
-                            if (iVar2 == 0) {
-                              iVar2 = 0;
-                              PTR_FUN_001d36a8 = param_2;
-                            }
-                            else {
-                              iVar2 = strcmp("layer_store_unlock",(char *)param_1);
-                              if (iVar2 == 0) {
-                                iVar2 = 0;
-                                PTR_FUN_001d36b0 = param_2;
-                              }
-                              else {
-                                iVar2 = strcmp("layer_store_info",(char *)param_1);
-                                if (iVar2 == 0) {
-                                  iVar2 = 0;
-                                  PTR_FUN_001d36b8 = param_2;
-                                }
-                                else {
-                                  iVar2 = strcmp("layer_store_ioctl_get",(char *)param_1);
-                                  if (iVar2 == 0) {
-                                    iVar2 = 0;
-                                    PTR_FUN_001d36c0 = param_2;
-                                  }
-                                  else {
-                                    iVar2 = strcmp("layer_store_ioctl_set",(char *)param_1);
-                                    if (iVar2 == 0) {
-                                      iVar2 = 0;
-                                      PTR_FUN_001d36c8 = param_2;
-                                    }
-                                    else {
-                                      iVar2 = strcmp("layer_store_set_lifetime",(char *)param_1);
-                                      if (iVar2 == 0) {
-                                        iVar2 = 0;
-                                        PTR_FUN_001d36d0 = param_2;
-                                      }
-                                      else {
-                                        iVar2 = strcmp("layer_store_set_max_size",(char *)param_1);
-                                        if (iVar2 == 0) {
-                                          iVar2 = 0;
-                                          PTR_FUN_001d36d8 = param_2;
-                                        }
-                                        else {
-                                          iVar2 = strcmp("layer_store_foreach_unsafe",
-                                                         (char *)param_1);
-                                          if (iVar2 == 0) {
-                                            iVar2 = 0;
-                                            PTR_FUN_001d36e0 = param_2;
-                                          }
-                                          else {
-                                            iVar2 = strcmp("layer_store_foreach_invalidate_unsafe",
-                                                           (char *)param_1);
-                                            if (iVar2 == 0) {
-                                              iVar2 = 0;
-                                              PTR_FUN_001d3730 = param_2;
-                                            }
-                                            else {
-                                              iVar2 = strcmp("layer_store_foreach",(char *)param_1);
-                                              if (iVar2 == 0) {
-                                                iVar2 = 0;
-                                                PTR_FUN_001d3738 = param_2;
-                                              }
-                                              else {
-                                                iVar2 = strcmp("layer_store_lookup_create_with_time"
-                                                               ,(char *)param_1);
-                                                if (iVar2 == 0) {
-                                                  iVar2 = 0;
-                                                  PTR_thunk_FUN_00190c70_001d3740 = param_2;
-                                                }
-                                                else {
-                                                  iVar2 = strcmp("layer_store_get_timeout",
-                                                                 (char *)param_1);
-                                                  if (iVar2 == 0) {
-                                                    iVar2 = 0;
-                                                    PTR_FUN_001d3748 = param_2;
-                                                  }
-                                                  else {
-                                                    iVar2 = strcmp("qmdpi_attr_push",(char *)param_1
-                                                                  );
-                                                    if (iVar2 == 0) {
-                                                      iVar2 = 0;
-                                                      PTR_FUN_001d3750 = param_2;
-                                                    }
-                                                    else {
-                                                      iVar2 = strcmp("lib_load",(char *)param_1);
-                                                      if (iVar2 == 0) {
-                                                        iVar2 = 0;
-                                                        PTR_dlopen_001d3578 = param_2;
-                                                      }
-                                                      else {
-                                                        iVar2 = strcmp("lib_symlookup",
-                                                                       (char *)param_1);
-                                                        if (iVar2 == 0) {
-                                                          iVar2 = 0;
-                                                          PTR_dlsym_001d3580 = param_2;
-                                                        }
-                                                        else {
-                                                          iVar2 = strcmp("lib_unload",
-                                                                         (char *)param_1);
-                                                          if (iVar2 == 0) {
-                                                            iVar2 = 0;
-                                                            PTR_dlclose_001d3588 = param_2;
-                                                          }
-                                                          else {
-                                                            iVar2 = strcmp("cpuid_current",
-                                                                           (char *)param_1);
-                                                            if (iVar2 == 0) {
-                                                              iVar2 = 0;
-                                                              PTR_FUN_001d3598 = param_2;
-                                                            }
-                                                            else {
-                                                              iVar2 = -1;
-                                                            }
-                                                          }
-                                                        }
-                                                      }
-                                                    }
-                                                  }
-                                                }
-                                              }
-                                            }
-                                          }
-                                        }
-                                      }
-                                    }
-                                  }
-                                }
-                              }
-                            }
-                          }
-                        }
-                      }
-                    }
-                  }
-                }
-              }
-            }
-          }
-        }
+      iVar33 = strcmp("free",param_1);
+      puVar1 = param_2;
+      puVar2 = PTR_qm_realloc_default_001f7908;
+      puVar3 = PTR_thunk_FUN_00174430_001f7910;
+      puVar4 = PTR_dlopen_001f7918;
+      puVar5 = PTR_dlsym_001f7920;
+      puVar6 = PTR_dlclose_001f7928;
+      puVar7 = PTR_FUN_001f7938;
+      puVar8 = PTR_FUN_001f7a10;
+      puVar9 = PTR_FUN_001f7a18;
+      puVar10 = PTR_FUN_001f7a20;
+      puVar11 = PTR_FUN_001f7a28;
+      puVar12 = PTR_FUN_001f7a30;
+      puVar13 = PTR_FUN_001f7a38;
+      puVar14 = PTR_FUN_001f7a40;
+      puVar15 = PTR_FUN_001f7a48;
+      puVar16 = PTR_FUN_001f7a50;
+      puVar17 = PTR_FUN_001f7a58;
+      puVar18 = PTR_FUN_001f7a60;
+      puVar19 = PTR_FUN_001f7a68;
+      puVar20 = PTR_FUN_001f7a70;
+      puVar21 = PTR_FUN_001f7a78;
+      puVar22 = PTR_FUN_001f7a80;
+      puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88;
+      puVar24 = PTR_qm_malloc_init_default_001f7a90;
+      puVar25 = PTR_qm_malloc_cleanup_default_001f7a98;
+      puVar26 = PTR_FUN_001f7ad0;
+      puVar27 = PTR_FUN_001f7ad8;
+      puVar28 = PTR_thunk_FUN_001889b0_001f7ae0;
+      puVar29 = PTR_FUN_001f7ae8;
+      puVar30 = PTR_FUN_001f7af0;
+      puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8;
+      puVar32 = PTR_thunk_FUN_0014cca0_001f7b00;
+      if ((((((((iVar33 != 0) &&
+               (iVar33 = strcmp("realloc",param_1), puVar1 = PTR_qm_free_default_001f7900,
+               puVar2 = param_2, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+               puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+               puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+               puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+               puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+               puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+               puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+               puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0)) &&
+              (iVar33 = strcmp("_strdup",param_1), puVar1 = PTR_qm_free_default_001f7900,
+              puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = param_2,
+              puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+              puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+              puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+              puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+              puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+              puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+              puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+              puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+              puVar24 = PTR_qm_malloc_init_default_001f7a90,
+              puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+              puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+              puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+              puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+              iVar33 != 0)) &&
+             (((iVar33 = strcmp("sys_malloc",param_1), puVar1 = PTR_qm_free_default_001f7900,
+               puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+               puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+               puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+               puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+               puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+               puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+               puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+               puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80, puVar23 = param_2,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0 &&
+               (iVar33 = strcmp("sys_realloc",param_1), puVar1 = PTR_qm_free_default_001f7900,
+               puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+               puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+               puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+               puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+               puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+               puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+               puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+               puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0, puVar31 = param_2,
+               puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0)) &&
+              ((iVar33 = strcmp("sys_free",param_1), puVar1 = PTR_qm_free_default_001f7900,
+               puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+               puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+               puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+               puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+               puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+               puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+               puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+               puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = param_2, iVar33 != 0 &&
+               ((iVar33 = strcmp("malloc_init",param_1), puVar1 = PTR_qm_free_default_001f7900,
+                puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+                puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+                puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+                puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+                puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+                puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+                puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+                puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+                puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88, puVar24 = param_2,
+                puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00
+                , iVar33 != 0 &&
+                (iVar33 = strcmp("malloc_cleanup",param_1), puVar1 = PTR_qm_free_default_001f7900,
+                puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+                puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+                puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+                puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+                puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+                puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+                puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+                puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+                puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                puVar24 = PTR_qm_malloc_init_default_001f7a90, puVar25 = param_2,
+                puVar26 = PTR_FUN_001f7ad0, puVar27 = PTR_FUN_001f7ad8,
+                puVar28 = PTR_thunk_FUN_001889b0_001f7ae0, puVar29 = PTR_FUN_001f7ae8,
+                puVar30 = PTR_FUN_001f7af0, puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8,
+                puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0)))))))) &&
+            (iVar33 = strcmp("layer_store_setup",param_1), puVar1 = PTR_qm_free_default_001f7900,
+            puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+            puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928
+            , puVar7 = PTR_FUN_001f7938, puVar8 = param_2, puVar9 = PTR_FUN_001f7a18,
+            puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+            puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+            puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+            puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+            puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+            puVar24 = PTR_qm_malloc_init_default_001f7a90,
+            puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+            puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+            puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+            puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+            iVar33 != 0)) &&
+           ((((((iVar33 = strcmp("layer_store_shutdown",param_1),
+                puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = param_2,
+                puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+                puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+                puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00
+                , iVar33 != 0 &&
+                (iVar33 = strcmp("layer_store_create",param_1),
+                puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+                puVar10 = param_2, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+                puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+                puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00
+                , iVar33 != 0)) &&
+               (iVar33 = strcmp("layer_store_destroy",param_1),
+               puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+               puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+               puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938
+               , puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+               puVar11 = param_2, puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38,
+               puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50,
+               puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+               puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0)) &&
+              ((iVar33 = strcmp("layer_store_invalidate",param_1),
+               puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+               puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+               puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938
+               , puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+               puVar11 = PTR_FUN_001f7a28, puVar12 = param_2, puVar13 = PTR_FUN_001f7a38,
+               puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50,
+               puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+               puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0 &&
+               (iVar33 = strcmp("layer_store_reference",param_1),
+               puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+               puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+               puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938
+               , puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+               puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30, puVar13 = param_2,
+               puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50,
+               puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+               puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0)))) &&
+             (iVar33 = strcmp("layer_store_lookup",param_1), puVar1 = PTR_qm_free_default_001f7900,
+             puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+             puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+             puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+             puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+             puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = param_2,
+             puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+             puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+             puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+             puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+             puVar24 = PTR_qm_malloc_init_default_001f7a90,
+             puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+             puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+             puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+             puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+             iVar33 != 0)) &&
+            (((iVar33 = strcmp("layer_store_lookup_create",param_1),
+              puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+              puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+              puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938,
+              puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+              puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38,
+              puVar14 = PTR_FUN_001f7a40, puVar15 = param_2, puVar16 = PTR_FUN_001f7a50,
+              puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+              puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+              puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+              puVar24 = PTR_qm_malloc_init_default_001f7a90,
+              puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+              puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+              puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+              puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+              iVar33 != 0 &&
+              (iVar33 = strcmp("layer_store_unlock",param_1), puVar1 = PTR_qm_free_default_001f7900,
+              puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+              puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+              puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+              puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+              puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+              puVar15 = PTR_FUN_001f7a48, puVar16 = param_2, puVar17 = PTR_FUN_001f7a58,
+              puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+              puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+              puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+              puVar24 = PTR_qm_malloc_init_default_001f7a90,
+              puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+              puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+              puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+              puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+              iVar33 != 0)) &&
+             (((iVar33 = strcmp("layer_store_info",param_1), puVar1 = PTR_qm_free_default_001f7900,
+               puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+               puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+               puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+               puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+               puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+               puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = param_2,
+               puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+               puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0 &&
+               (((iVar33 = strcmp("layer_store_ioctl_get",param_1),
+                 puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                 puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                 puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                 puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+                 puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                 puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                 puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = param_2,
+                 puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+                 puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                 puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                 puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                 puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                 puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                 puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8,
+                 puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0 &&
+                 (iVar33 = strcmp("layer_store_ioctl_set",param_1),
+                 puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                 puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                 puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                 puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+                 puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                 puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                 puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+                 puVar19 = param_2, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+                 puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                 puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                 puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                 puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                 puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                 puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8,
+                 puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0)) &&
+                (iVar33 = strcmp("layer_store_set_lifetime",param_1),
+                puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+                puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+                puVar19 = PTR_FUN_001f7a68, puVar20 = param_2, puVar21 = PTR_FUN_001f7a78,
+                puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00
+                , iVar33 != 0)))) &&
+              (((iVar33 = strcmp("layer_store_set_max_size",param_1),
+                puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+                puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+                puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = param_2,
+                puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00
+                , iVar33 != 0 &&
+                (iVar33 = strcmp("layer_store_foreach_unsafe",param_1),
+                puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+                puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+                puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+                puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+                puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+                puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+                puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+                puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+                puVar22 = param_2, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+                puVar24 = PTR_qm_malloc_init_default_001f7a90,
+                puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+                puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+                puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+                puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00
+                , iVar33 != 0)) &&
+               (iVar33 = strcmp("layer_store_foreach_invalidate_unsafe",param_1),
+               puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+               puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+               puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938
+               , puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+               puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38,
+               puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50,
+               puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+               puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+               puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+               puVar24 = PTR_qm_malloc_init_default_001f7a90,
+               puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = param_2,
+               puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+               puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+               puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+               iVar33 != 0)))))))))) &&
+          (((iVar33 = strcmp("layer_store_foreach",param_1), puVar1 = PTR_qm_free_default_001f7900,
+            puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+            puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928
+            , puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+            puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+            puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+            puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+            puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+            puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+            puVar24 = PTR_qm_malloc_init_default_001f7a90,
+            puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+            puVar27 = param_2, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0, puVar29 = PTR_FUN_001f7ae8
+            , puVar30 = PTR_FUN_001f7af0, puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8,
+            puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0 &&
+            (iVar33 = strcmp("layer_store_lookup_create_with_time",param_1),
+            puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+            puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+            puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938,
+            puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+            puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38,
+            puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50,
+            puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+            puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+            puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88, puVar24 = PTR_qm_malloc_init_default_001f7a90
+            , puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+            puVar27 = PTR_FUN_001f7ad8, puVar28 = param_2, puVar29 = PTR_FUN_001f7ae8,
+            puVar30 = PTR_FUN_001f7af0, puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8,
+            puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0)) &&
+           ((iVar33 = strcmp("layer_store_get_timeout",param_1),
+            puVar1 = PTR_qm_free_default_001f7900, puVar2 = PTR_qm_realloc_default_001f7908,
+            puVar3 = PTR_thunk_FUN_00174430_001f7910, puVar4 = PTR_dlopen_001f7918,
+            puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938,
+            puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20,
+            puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38,
+            puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50,
+            puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68,
+            puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+            puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88, puVar24 = PTR_qm_malloc_init_default_001f7a90
+            , puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+            puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0, puVar29 = param_2
+            , puVar30 = PTR_FUN_001f7af0, puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8,
+            puVar32 = PTR_thunk_FUN_0014cca0_001f7b00, iVar33 != 0 &&
+            (((iVar33 = strcmp("qmdpi_attr_push",param_1), puVar1 = PTR_qm_free_default_001f7900,
+              puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+              puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920,
+              puVar6 = PTR_dlclose_001f7928, puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10,
+              puVar9 = PTR_FUN_001f7a18, puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28,
+              puVar12 = PTR_FUN_001f7a30, puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40,
+              puVar15 = PTR_FUN_001f7a48, puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58,
+              puVar18 = PTR_FUN_001f7a60, puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70,
+              puVar21 = PTR_FUN_001f7a78, puVar22 = PTR_FUN_001f7a80,
+              puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+              puVar24 = PTR_qm_malloc_init_default_001f7a90,
+              puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+              puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+              puVar29 = PTR_FUN_001f7ae8, puVar30 = param_2,
+              puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+              iVar33 != 0 &&
+              (iVar33 = strcmp("lib_load",param_1), puVar1 = PTR_qm_free_default_001f7900,
+              puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+              puVar4 = param_2, puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+              puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+              puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+              puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+              puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+              puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+              puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+              puVar24 = PTR_qm_malloc_init_default_001f7a90,
+              puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+              puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+              puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+              puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+              iVar33 != 0)) &&
+             (iVar33 = strcmp("lib_symlookup",param_1), puVar1 = PTR_qm_free_default_001f7900,
+             puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+             puVar4 = PTR_dlopen_001f7918, puVar5 = param_2, puVar6 = PTR_dlclose_001f7928,
+             puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+             puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+             puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+             puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+             puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+             puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+             puVar24 = PTR_qm_malloc_init_default_001f7a90,
+             puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+             puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+             puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+             puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+             iVar33 != 0)))))))) &&
+         ((iVar33 = strcmp("lib_unload",param_1), puVar1 = PTR_qm_free_default_001f7900,
+          puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+          puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920, puVar6 = param_2,
+          puVar7 = PTR_FUN_001f7938, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+          puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+          puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+          puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+          puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+          puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+          puVar24 = PTR_qm_malloc_init_default_001f7a90,
+          puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+          puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+          puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+          puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+          iVar33 != 0 &&
+          (iVar33 = strcmp("cpuid_current",param_1), puVar1 = PTR_qm_free_default_001f7900,
+          puVar2 = PTR_qm_realloc_default_001f7908, puVar3 = PTR_thunk_FUN_00174430_001f7910,
+          puVar4 = PTR_dlopen_001f7918, puVar5 = PTR_dlsym_001f7920, puVar6 = PTR_dlclose_001f7928,
+          puVar7 = param_2, puVar8 = PTR_FUN_001f7a10, puVar9 = PTR_FUN_001f7a18,
+          puVar10 = PTR_FUN_001f7a20, puVar11 = PTR_FUN_001f7a28, puVar12 = PTR_FUN_001f7a30,
+          puVar13 = PTR_FUN_001f7a38, puVar14 = PTR_FUN_001f7a40, puVar15 = PTR_FUN_001f7a48,
+          puVar16 = PTR_FUN_001f7a50, puVar17 = PTR_FUN_001f7a58, puVar18 = PTR_FUN_001f7a60,
+          puVar19 = PTR_FUN_001f7a68, puVar20 = PTR_FUN_001f7a70, puVar21 = PTR_FUN_001f7a78,
+          puVar22 = PTR_FUN_001f7a80, puVar23 = PTR_thunk_FUN_0014a9d0_001f7a88,
+          puVar24 = PTR_qm_malloc_init_default_001f7a90,
+          puVar25 = PTR_qm_malloc_cleanup_default_001f7a98, puVar26 = PTR_FUN_001f7ad0,
+          puVar27 = PTR_FUN_001f7ad8, puVar28 = PTR_thunk_FUN_001889b0_001f7ae0,
+          puVar29 = PTR_FUN_001f7ae8, puVar30 = PTR_FUN_001f7af0,
+          puVar31 = PTR_thunk_FUN_0014ebb0_001f7af8, puVar32 = PTR_thunk_FUN_0014cca0_001f7b00,
+          iVar33 != 0)))) {
+        lVar35 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+        *(undefined4 *)(lVar35 + 0x30) = 0xffffffff;
+        goto LAB_1;
       }
     }
+    PTR_thunk_FUN_0014cca0_001f7b00 = puVar32;
+    PTR_thunk_FUN_0014ebb0_001f7af8 = puVar31;
+    PTR_FUN_001f7af0 = puVar30;
+    PTR_FUN_001f7ae8 = puVar29;
+    PTR_thunk_FUN_001889b0_001f7ae0 = puVar28;
+    PTR_FUN_001f7ad8 = puVar27;
+    PTR_FUN_001f7ad0 = puVar26;
+    PTR_qm_malloc_cleanup_default_001f7a98 = puVar25;
+    PTR_qm_malloc_init_default_001f7a90 = puVar24;
+    PTR_thunk_FUN_0014a9d0_001f7a88 = puVar23;
+    PTR_FUN_001f7a80 = puVar22;
+    PTR_FUN_001f7a78 = puVar21;
+    PTR_FUN_001f7a70 = puVar20;
+    PTR_FUN_001f7a68 = puVar19;
+    PTR_FUN_001f7a60 = puVar18;
+    PTR_FUN_001f7a58 = puVar17;
+    PTR_FUN_001f7a50 = puVar16;
+    PTR_FUN_001f7a48 = puVar15;
+    PTR_FUN_001f7a40 = puVar14;
+    PTR_FUN_001f7a38 = puVar13;
+    PTR_FUN_001f7a30 = puVar12;
+    PTR_FUN_001f7a28 = puVar11;
+    PTR_FUN_001f7a20 = puVar10;
+    PTR_FUN_001f7a18 = puVar9;
+    PTR_FUN_001f7a10 = puVar8;
+    PTR_FUN_001f7938 = puVar7;
+    PTR_dlclose_001f7928 = puVar6;
+    PTR_dlsym_001f7920 = puVar5;
+    PTR_dlopen_001f7918 = puVar4;
+    PTR_thunk_FUN_00174430_001f7910 = puVar3;
+    PTR_qm_realloc_default_001f7908 = puVar2;
+    PTR_qm_free_default_001f7900 = puVar1;
+    uVar34 = 0;
   }
-  return iVar2;
+  return uVar34;
 }
 

qmdpi_flow_set_offloaded

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.92
i_ratio 0.6
m_ratio 1.0
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_set_offloaded qmdpi_flow_set_offloaded
fullname qmdpi_flow_set_offloaded qmdpi_flow_set_offloaded
refcount 6 6
length 32 34
called
calling
paramcount 0 0
address 0018ff70 00187110
sig undefined qmdpi_flow_set_offloaded(void) undefined qmdpi_flow_set_offloaded(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_set_offloaded Diff

--- qmdpi_flow_set_offloaded
+++ qmdpi_flow_set_offloaded
@@ -1,15 +1,15 @@
 
 undefined8 qmdpi_flow_set_offloaded(long param_1)
 
 {
   byte *pbVar1;
   
   if (param_1 != 0) {
-    pbVar1 = (byte *)(*(long *)(param_1 + 0x90) + (ulong)*(uint *)(*(long *)(param_1 + 0x68) + 0x54)
+    pbVar1 = (byte *)((ulong)*(uint *)(*(long *)(param_1 + 0x80) + 0x54) + *(long *)(param_1 + 0xa8)
                      );
     *pbVar1 = *pbVar1 | 1;
     return 0;
   }
   return 0xffffffff;
 }
 

qmdpi_bundle_attr_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.38
i_ratio 0.52
m_ratio 1.0
b_ratio 0.86
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_attr_get_byname qmdpi_bundle_attr_get_byname
fullname qmdpi_bundle_attr_get_byname qmdpi_bundle_attr_get_byname
refcount 3 3
length 282 272
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018be50 001842f0
sig undefined qmdpi_bundle_attr_get_byname(void) undefined qmdpi_bundle_attr_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_attr_get_byname Called Diff

--- qmdpi_bundle_attr_get_byname called
+++ qmdpi_bundle_attr_get_byname called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_attr_get_byname Diff

--- qmdpi_bundle_attr_get_byname
+++ qmdpi_bundle_attr_get_byname
@@ -1,57 +1,55 @@
 
 undefined8 qmdpi_bundle_attr_get_byname(undefined8 *param_1,long param_2,long param_3)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
   int iVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   long lVar5;
-  undefined8 local_80;
-  long local_78;
-  undefined4 local_70;
-  long local_58;
-  undefined4 local_50;
+  undefined8 local_90;
+  long local_88;
+  undefined4 local_80;
+  long local_68;
+  undefined4 local_60;
   
-  local_80 = 0;
-  if ((param_2 == 0 || param_3 == 0) || (param_1 == (undefined8 *)0x0)) {
-    lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  local_90 = 0;
+  if (param_1 == (undefined8 *)0x0 || (param_2 == 0 || param_3 == 0)) {
+    lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
-    local_80 = 0;
+    local_90 = 0;
   }
   else {
-    local_50 = 0;
-    local_70 = 0;
-    local_78 = param_3;
-    local_58 = param_2;
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    local_60 = 0;
+    local_80 = 0;
+    local_88 = param_3;
+    local_68 = param_2;
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar4[2] = 0;
+    puVar4[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar2;
+    *(undefined4 *)puVar4 = uVar2;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
+    iVar3 = (**(code **)(param_1[1] + 0xc0))(param_1[9],&local_68,&local_88,&local_90);
+    *puVar4 = 0;
+    puVar4[5] = 0;
     puVar4[1] = 0;
-    iVar3 = (**(code **)(param_1[1] + 0xc0))(param_1[9],&local_58,&local_78,&local_80);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     if (iVar3 < 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+      lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(int *)(lVar5 + 0x30) = iVar3;
-      local_80 = 0;
+      local_90 = 0;
     }
   }
-  return local_80;
+  return local_90;
 }
 

qmdpi_flow_bytes_get_cts

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.94
i_ratio 0.45
m_ratio 0.98
b_ratio 0.87
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_bytes_get_cts qmdpi_flow_bytes_get_cts
fullname qmdpi_flow_bytes_get_cts qmdpi_flow_bytes_get_cts
refcount 3 3
length 84 81
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018f590 00186700
sig undefined qmdpi_flow_bytes_get_cts(void) undefined qmdpi_flow_bytes_get_cts(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_bytes_get_cts Called Diff

--- qmdpi_flow_bytes_get_cts called
+++ qmdpi_flow_bytes_get_cts called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_bytes_get_cts Diff

--- qmdpi_flow_bytes_get_cts
+++ qmdpi_flow_bytes_get_cts
@@ -1,20 +1,20 @@
 
 undefined8 qmdpi_flow_bytes_get_cts(byte *param_1)
 
 {
   long lVar1;
   
   if ((param_1 == (byte *)0x0) || (lVar1 = *(long *)(param_1 + 0xc0), lVar1 == 0)) {
-    lVar1 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar1 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar1 + 0x30) = 0xffffffff;
     return 0;
   }
   if ((*param_1 & 0x18) == 8) {
     return *(undefined8 *)(lVar1 + 0x18);
   }
   if ((*param_1 & 0x60) != 0x20) {
     return 0;
   }
   return *(undefined8 *)(lVar1 + 0x10);
 }
 

qmdpi_flow_create

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.13
i_ratio 0.23
m_ratio 0.93
b_ratio 0.61
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_create qmdpi_flow_create
fullname qmdpi_flow_create qmdpi_flow_create
refcount 3 3
length 572 693
called ::memset
FUN_0018e090
qm_free_default
qm_malloc_default
thunk_FUN_00181e30
::memset
FUN_00185070
FUN_00192fd0
qm_free_default
qm_malloc_default
thunk_FUN_00173540
calling
paramcount 0 0
address 0018e3b0 001853c0
sig undefined qmdpi_flow_create(void) undefined qmdpi_flow_create(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_create Called Diff

--- qmdpi_flow_create called
+++ qmdpi_flow_create called
@@ -2 +2,2 @@
-FUN_0018e090
+FUN_00185070
+FUN_00192fd0
@@ -5 +6 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_create Diff

--- qmdpi_flow_create
+++ qmdpi_flow_create
@@ -1,77 +1,106 @@
 
-void * qmdpi_flow_create(undefined8 *param_1,int param_2,undefined4 param_3,long param_4,
-                        undefined8 param_5,long param_6,undefined8 param_7)
+void * qmdpi_flow_create(undefined8 *param_1,int param_2,undefined4 param_3,undefined8 param_4,
+                        undefined8 param_5,undefined8 param_6,undefined8 param_7)
 
 {
-  long *plVar1;
-  undefined4 *puVar2;
-  int iVar3;
+  int *piVar1;
+  long *plVar2;
+  long lVar3;
   undefined4 *puVar4;
+  int iVar5;
+  long lVar6;
+  undefined8 *puVar7;
   void *__s;
-  long lVar5;
-  long lVar6;
-  void *pvVar7;
+  long local_50;
   
-  if (((param_1 != (undefined8 *)0x0) &&
-      (puVar2 = (undefined4 *)*param_1, puVar2 != (undefined4 *)0x0)) &&
-     (*(char *)(puVar2 + 0xc4) == '\x01')) {
-    lVar5 = *(long *)(puVar2 + 0x124);
-    if (lVar5 == 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(undefined4 *)(lVar5 + 0x30) = 0xffffffe9;
+  if (((param_1 == (undefined8 *)0x0) ||
+      (puVar4 = (undefined4 *)*param_1, puVar4 == (undefined4 *)0x0)) ||
+     (*(char *)(puVar4 + 0xc4) != '\x01')) {
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar6 + 0x30) = 0xffffffff;
+    return (void *)0x0;
+  }
+  LOCK();
+  piVar1 = (int *)((long)param_1 + 0x224);
+  *piVar1 = *piVar1 + 1;
+  UNLOCK();
+  if (*piVar1 != 0) {
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar6 + 0x30) = 0xfffffffa;
+    return (void *)0x0;
+  }
+  lVar6 = *(long *)(puVar4 + 0x154);
+  if (lVar6 == 0) {
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar6 + 0x30) = 0xffffffe9;
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return (void *)0x0;
+  }
+  if (param_2 == 0x51) {
+    local_50 = 0x18;
+    iVar5 = 0x18;
+  }
+  else {
+    if (param_2 != 0x52) {
+      lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(undefined4 *)(lVar6 + 0x30) = 0xffffffff;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
       return (void *)0x0;
     }
-    if (param_2 == 0x51) {
-      iVar3 = 0x18;
-      lVar6 = 0x18;
+    local_50 = 0x30;
+    iVar5 = 0x30;
+  }
+  puVar7 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+  puVar7[1] = puVar4;
+  puVar7[2] = param_1;
+  puVar7[3] = 0;
+  puVar7[5] = 0;
+  *(undefined4 *)puVar7 = *puVar4;
+  *(undefined4 *)((long)puVar7 + 4) = *(undefined4 *)(param_1 + 1);
+  __s = (void *)(*(code *)PTR_qm_malloc_default_001f78f8)
+                          (1,*(int *)(lVar6 + 0x50) + 0xe8 + iVar5,0xff000003,0x2e);
+  if (__s == (void *)0x0) {
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar6 + 0x30) = 0xfffffffb;
+  }
+  else {
+    memset(__s,0,(ulong)*(uint *)(lVar6 + 0x50) + 0xe8 + local_50);
+    *(long *)((long)__s + 0x80) = lVar6;
+    *(long *)((long)__s + 0xa8) = (long)__s + local_50 + 0xe0;
+    *(byte *)((long)__s + 1) = *(byte *)((long)__s + 1) & 0xf5 | (local_50 == 0x18) * '\b' + 2U;
+    iVar5 = FUN_00185070(__s,param_2,param_3,param_4,param_5,param_6,param_7);
+    if (-1 < iVar5) {
+      LOCK();
+      plVar2 = (long *)(puVar4 + 0x17a);
+      lVar3 = *plVar2;
+      *plVar2 = *plVar2 + 1;
+      UNLOCK();
+      *(long *)((long)__s + 0xb0) = lVar3;
+      FUN_00192fd0(lVar6,(long)__s + 0x88,puVar4[0x9a],0x185524);
+      goto LAB_0;
     }
-    else {
-      if (param_2 != 0x52) goto LAB_0;
-      iVar3 = 0x30;
-      lVar6 = 0x30;
-    }
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined4 **)(puVar4 + 2) = puVar2;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 **)(puVar4 + 4) = param_1;
-    *puVar4 = *puVar2;
-    puVar4[1] = *(undefined4 *)(param_1 + 1);
-    __s = (void *)(*(code *)PTR_qm_malloc_default_001d3558)
-                            (1,iVar3 + 0xe0 + *(int *)(lVar5 + 0x50),0xff000003,0x2e);
-    pvVar7 = __s;
-    if (__s != (void *)0x0) {
-      memset(__s,0,lVar6 + 0xe0 + (ulong)*(uint *)(lVar5 + 0x50));
-      *(long *)((long)__s + 0x68) = lVar5;
-      *(long *)((long)__s + 0x90) = (long)__s + lVar6 + 0xe0;
-      *(byte *)((long)__s + 1) = *(byte *)((long)__s + 1) & 0xf7 | (lVar6 == 0x18) * '\b' | 2;
-      if (((param_4 == 0) || (param_6 == 0)) ||
-         (iVar3 = FUN_0018e090(__s,param_2,param_3,param_4,param_5,param_6,param_7), -1 < iVar3)) {
-        LOCK();
-        plVar1 = (long *)(puVar2 + 0x14a);
-        lVar5 = *plVar1;
-        *plVar1 = *plVar1 + 1;
-        UNLOCK();
-        *(long *)((long)__s + 0xa8) = lVar5;
-      }
-      else {
-        pvVar7 = (void *)0x0;
-        (*(code *)PTR_qm_free_default_001d3560)(__s,0xff000003,0x2e,0x18e4a8);
-        lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-        *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
-      }
-    }
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    return pvVar7;
+    (*(code *)PTR_qm_free_default_001f7900)(__s,0xff000003,0x2e);
+    lVar6 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar6 + 0x30) = 0xffffffff;
   }
+  __s = (void *)0x0;
 LAB_0:
-  lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
-  return (void *)0x0;
+  LOCK();
+  *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+  UNLOCK();
+  puVar7[5] = 0;
+  *puVar7 = 0;
+  puVar7[1] = 0;
+  puVar7[2] = 0;
+  puVar7[3] = 0;
+  *(undefined4 *)((long)puVar7 + 0x34) = 0xffffffff;
+  return __s;
 }
 

qmdpi_bundle_flow_get_count

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.3
i_ratio 0.09
m_ratio 0.97
b_ratio 0.62
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_flow_get_count qmdpi_bundle_flow_get_count
fullname qmdpi_bundle_flow_get_count qmdpi_bundle_flow_get_count
refcount 6 6
length 102 115
called
calling
paramcount 0 0
address 0018c1b0 00184640
sig undefined qmdpi_bundle_flow_get_count(void) undefined qmdpi_bundle_flow_get_count(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_flow_get_count Diff

--- qmdpi_bundle_flow_get_count
+++ qmdpi_bundle_flow_get_count
@@ -1,32 +1,34 @@
 
 long qmdpi_bundle_flow_get_count(long *param_1)
 
 {
   long lVar1;
-  long lVar2;
-  ulong uVar3;
-  uint uVar4;
+  ulong uVar2;
+  uint uVar3;
+  long lVar4;
   
   if (param_1 == (long *)0x0) {
-    return -1;
-  }
-  lVar1 = *param_1;
-  if ((*(long *)(lVar1 + 0x2f0) == -1) || (*(int *)(lVar1 + 0x518) == -1)) {
-    lVar2 = 0;
+    lVar4 = -1;
   }
   else {
-    uVar3 = 0;
-    lVar2 = 0;
-    uVar4 = 0;
-    do {
-      uVar4 = (uVar4 + 1) - (uint)(*(long *)(*(long *)(lVar1 + 0x520) + uVar3 * 8) == 0);
-      lVar2 = lVar2 + *(long *)(param_1[7] + 8 + uVar3 * 0x40);
-      uVar3 = (ulong)((int)uVar3 + 1);
-      if (*(long *)(lVar1 + 0x2f0) + 1U <= uVar3) {
-        return lVar2;
-      }
-    } while (uVar4 < *(int *)(lVar1 + 0x518) + 1U);
+    lVar1 = *param_1;
+    if (*(long *)(lVar1 + 0x2f0) == -1) {
+      lVar4 = 0;
+    }
+    else {
+      lVar4 = 0;
+      uVar3 = 0;
+      uVar2 = 0;
+      do {
+        if (*(int *)(lVar1 + 0x5d8) + 1U <= uVar3) {
+          return lVar4;
+        }
+        uVar3 = (uVar3 + 1) - (uint)(*(long *)(uVar2 * 8 + *(long *)(lVar1 + 0x5e0)) == 0);
+        lVar4 = lVar4 + *(long *)(uVar2 * 0x40 + param_1[7] + 8);
+        uVar2 = (ulong)((int)uVar2 + 1);
+      } while (uVar2 < *(long *)(lVar1 + 0x2f0) + 1U);
+    }
   }
-  return lVar2;
+  return lVar4;
 }
 

qmdpi_flow_expiration_ts_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.61
i_ratio 0.59
m_ratio 0.89
b_ratio 0.81
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_expiration_ts_get qmdpi_flow_expiration_ts_get
fullname qmdpi_flow_expiration_ts_get qmdpi_flow_expiration_ts_get
refcount 3 3
length 35 41
called FUN_00180720 FUN_001a7660
calling
paramcount 0 0
address 0018f8e0 00186ae0
sig undefined qmdpi_flow_expiration_ts_get(void) undefined qmdpi_flow_expiration_ts_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_expiration_ts_get Called Diff

--- qmdpi_flow_expiration_ts_get called
+++ qmdpi_flow_expiration_ts_get called
@@ -1 +1 @@
-FUN_00180720
+FUN_001a7660

qmdpi_flow_expiration_ts_get Diff

--- qmdpi_flow_expiration_ts_get
+++ qmdpi_flow_expiration_ts_get
@@ -1,14 +1,15 @@
 
 void qmdpi_flow_expiration_ts_get(long param_1,ulong *param_2)
 
 {
   uint uVar1;
   
-  if ((param_1 != 0) && (param_2 != (ulong *)0x0)) {
-    uVar1 = FUN_00180720();
-    param_2[1] = 0;
-    *param_2 = (ulong)uVar1;
+  if (param_1 == 0 || param_2 == (ulong *)0x0) {
+    return;
   }
+  uVar1 = FUN_001a7660();
+  param_2[1] = 0;
+  *param_2 = (ulong)uVar1;
   return;
 }
 

qmdpi_bundle_signature_enable_bytag

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.56
i_ratio 0.5
m_ratio 0.98
b_ratio 0.91
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_enable_bytag qmdpi_bundle_signature_enable_bytag
fullname qmdpi_bundle_signature_enable_bytag qmdpi_bundle_signature_enable_bytag
refcount 3 3
length 440 386
called ::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_00160640
FUN_001606c0
qmdpi_bundle_is_active
thunk_FUN_00181e30
::pthread_spin_lock
::pthread_spin_unlock
::strncpy
FUN_0011c550
FUN_0011c5d0
qmdpi_bundle_is_active
thunk_FUN_00173540
calling
paramcount 0 0
address 00189e30 00182270
sig undefined qmdpi_bundle_signature_enable_bytag(void) undefined qmdpi_bundle_signature_enable_bytag(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_enable_bytag Called Diff

--- qmdpi_bundle_signature_enable_bytag called
+++ qmdpi_bundle_signature_enable_bytag called
@@ -4,2 +4,2 @@
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_enable_bytag Diff

--- qmdpi_bundle_signature_enable_bytag
+++ qmdpi_bundle_signature_enable_bytag
@@ -1,75 +1,64 @@
 
 undefined4 qmdpi_bundle_signature_enable_bytag(long *param_1,char *param_2)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   undefined1 local_1a8 [64];
   undefined1 local_168;
   undefined1 local_128;
   undefined1 local_e8;
-  undefined4 local_a8;
-  undefined4 local_a4;
-  undefined4 local_a0;
-  undefined4 local_9c;
-  undefined4 local_98;
-  undefined4 local_94;
-  undefined4 local_8c;
-  undefined4 local_88;
+  undefined8 local_a8;
+  undefined8 local_a0;
+  undefined8 local_98;
+  undefined8 local_8c;
   char local_78 [72];
   
-  if (((param_1 == (long *)0x0) || (param_2 == (char *)0x0)) || (*param_1 == 0)) {
+  if ((param_1 == (long *)0x0 || param_2 == (char *)0x0) || (*param_1 == 0)) {
     uVar3 = 0xffffffff;
   }
   else {
     local_1a8[0] = 0;
     local_168 = 0;
     local_128 = 0;
-    local_78[0] = '\0';
     local_e8 = 0;
     local_a8 = 0;
-    local_a4 = 0;
-    local_a0 = 0;
-    local_9c = 0xffffffff;
+    local_a0 = 0xffffffff00000000;
     local_98 = 0;
-    local_94 = 0;
     local_8c = 0;
-    local_88 = 0;
     strncpy(local_78,param_2,0x3f);
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_lock_001f7960)(param_1 + 2);
     iVar2 = qmdpi_bundle_is_active(param_1);
     if (iVar2 != 0) {
-      FUN_00160640(*param_1);
+      FUN_0011c550(*param_1);
     }
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x88))(param_1[9],local_1a8);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     if (iVar2 != 0) {
-      FUN_001606c0(*param_1);
+      FUN_0011c5d0(*param_1);
     }
-    (*(code *)PTR_pthread_spin_unlock_001d35c8)(param_1 + 2);
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(param_1 + 2);
   }
   return uVar3;
 }
 

qmdpi_worker_attr_get_byname

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.21
i_ratio 0.53
m_ratio 0.97
b_ratio 0.85
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_attr_get_byname qmdpi_worker_attr_get_byname
fullname qmdpi_worker_attr_get_byname qmdpi_worker_attr_get_byname
refcount 3 3
length 307 289
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018bd10 001841c0
sig undefined qmdpi_worker_attr_get_byname(void) undefined qmdpi_worker_attr_get_byname(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_attr_get_byname Called Diff

--- qmdpi_worker_attr_get_byname called
+++ qmdpi_worker_attr_get_byname called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_attr_get_byname Diff

--- qmdpi_worker_attr_get_byname
+++ qmdpi_worker_attr_get_byname
@@ -1,60 +1,59 @@
 
 undefined8 qmdpi_worker_attr_get_byname(long param_1,undefined8 *param_2,long param_3,long param_4)
 
 {
   undefined8 uVar1;
-  int iVar2;
-  undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined4 uVar2;
+  int iVar3;
+  undefined8 *puVar4;
   long lVar5;
-  undefined8 local_90;
-  long local_88;
-  undefined4 local_80;
-  long local_68;
-  undefined4 local_60;
+  undefined8 local_a0;
+  long local_98;
+  undefined4 local_90;
+  long local_78;
+  undefined4 local_70;
   
-  local_90 = 0;
-  if ((param_3 != 0 && param_4 != 0) && (param_2 != (undefined8 *)0x0)) {
-    local_60 = 0;
-    local_80 = 0;
-    local_88 = param_4;
-    local_68 = param_3;
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  local_a0 = 0;
+  if (param_2 == (undefined8 *)0x0 || (param_3 == 0 || param_4 == 0)) {
+    lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
+    local_a0 = 0;
+  }
+  else {
+    local_70 = 0;
+    local_90 = 0;
+    local_98 = param_4;
+    local_78 = param_3;
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_2;
-    *(long *)(puVar4 + 4) = param_1;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar4[2] = param_1;
+    puVar4[1] = uVar1;
     uVar1 = param_2[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar4 = 0;
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar2 = *(undefined4 *)*param_2;
     }
-    else {
-      *puVar4 = *(undefined4 *)*param_2;
+    *(undefined4 *)puVar4 = uVar2;
+    uVar2 = 0;
+    if (param_1 != 0) {
+      uVar2 = *(undefined4 *)(param_1 + 8);
     }
-    if (param_1 == 0) {
-      uVar3 = 0;
+    *(undefined4 *)((long)puVar4 + 4) = uVar2;
+    iVar3 = (**(code **)(param_2[1] + 0xc0))(param_2[9],&local_78,&local_98,&local_a0);
+    *puVar4 = 0;
+    puVar4[5] = 0;
+    puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    if (iVar3 < 0) {
+      lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      *(int *)(lVar5 + 0x30) = iVar3;
+      local_a0 = 0;
     }
-    else {
-      uVar3 = *(undefined4 *)(param_1 + 8);
-    }
-    puVar4[1] = uVar3;
-    iVar2 = (**(code **)(param_2[1] + 0xc0))(param_2[9],&local_68,&local_88,&local_90);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *puVar4 = 0;
-    puVar4[1] = 0;
-    if (iVar2 < 0) {
-      lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-      *(int *)(lVar5 + 0x30) = iVar2;
-      local_90 = 0;
-    }
-    return local_90;
   }
-  lVar5 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar5 + 0x30) = 0xffffffff;
-  return 0;
+  return local_a0;
 }
 

qmdpi_pdb_version_get_string

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.57
i_ratio 0.67
m_ratio 0.99
b_ratio 0.92
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_pdb_version_get_string qmdpi_pdb_version_get_string
fullname qmdpi_pdb_version_get_string qmdpi_pdb_version_get_string
refcount 3 3
length 193 184
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 001881c0 00175ca0
sig undefined qmdpi_pdb_version_get_string(void) undefined qmdpi_pdb_version_get_string(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_pdb_version_get_string Called Diff

--- qmdpi_pdb_version_get_string called
+++ qmdpi_pdb_version_get_string called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_pdb_version_get_string Diff

--- qmdpi_pdb_version_get_string
+++ qmdpi_pdb_version_get_string
@@ -1,41 +1,39 @@
 
 undefined8 qmdpi_pdb_version_get_string(long *param_1)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   long lVar4;
   
   if (param_1 == (long *)0x0) {
-    lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar4 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     *(undefined4 *)(lVar4 + 0x30) = 0xffffffff;
     uVar3 = 0;
   }
   else {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *(undefined8 *)*param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = *(undefined8 *)(*param_1 + 0x48);
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if (*(undefined4 **)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if (*(undefined4 **)*param_1 != (undefined4 *)0x0) {
       uVar1 = **(undefined4 **)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(*(long *)(*param_1 + 8) + 0x2a8))((int)param_1[1]);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
   return uVar3;
 }
 

qmdpi_bundle_signature_foreach_permitted

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.59
m_ratio 0.99
b_ratio 0.75
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_signature_foreach_permitted qmdpi_bundle_signature_foreach_permitted
fullname qmdpi_bundle_signature_foreach_permitted qmdpi_bundle_signature_foreach_permitted
refcount 3 3
length 194 196
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b0d0 001835f0
sig undefined qmdpi_bundle_signature_foreach_permitted(void) undefined qmdpi_bundle_signature_foreach_permitted(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_signature_foreach_permitted Called Diff

--- qmdpi_bundle_signature_foreach_permitted called
+++ qmdpi_bundle_signature_foreach_permitted called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_bundle_signature_foreach_permitted Diff

--- qmdpi_bundle_signature_foreach_permitted
+++ qmdpi_bundle_signature_foreach_permitted
@@ -1,37 +1,37 @@
 
 undefined8
 qmdpi_bundle_signature_foreach_permitted(undefined8 *param_1,long param_2,undefined8 param_3)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   undefined8 uVar3;
   
-  if ((param_1 != (undefined8 *)0x0) && (param_2 != 0)) {
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_1 == (undefined8 *)0x0 || param_2 == 0) {
+    uVar3 = 0xffffffff;
+  }
+  else {
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar3 = *param_1;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 2) = uVar3;
+    puVar2[2] = 0;
+    puVar2[1] = uVar3;
     uVar3 = param_1[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar3;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
-    }
-    else {
+    puVar2[5] = 0;
+    puVar2[3] = uVar3;
+    uVar1 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar1 = *(undefined4 *)*param_1;
     }
-    *puVar2 = uVar1;
-    puVar2[1] = 0;
+    *(undefined4 *)puVar2 = uVar1;
+    *(undefined4 *)((long)puVar2 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x1e0))(param_1[9],param_1,param_2,param_3);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
-    return uVar3;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
   }
-  return 0xffffffff;
+  return uVar3;
 }
 

qmdpi_flow_destroy

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.12
i_ratio 0.49
m_ratio 0.97
b_ratio 0.89
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_destroy qmdpi_flow_destroy
fullname qmdpi_flow_destroy qmdpi_flow_destroy
refcount 3 3
length 556 583
called FUN_00166a80
FUN_0017faa0
FUN_001886a0
FUN_0018e640
qm_free_default
qmdpi_flow_info_get
thunk_FUN_00181e30
FUN_00180b40
FUN_001856e0
FUN_00192f30
FUN_001a6d50
qm_free_default
qmdpi_flow_info_get
thunk_FUN_00173540
calling
paramcount 0 0
address 0018eb70 00185b80
sig undefined qmdpi_flow_destroy(void) undefined qmdpi_flow_destroy(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_destroy Called Diff

--- qmdpi_flow_destroy called
+++ qmdpi_flow_destroy called
@@ -1,4 +1,4 @@
-FUN_00166a80
-FUN_0017faa0
-FUN_001886a0
-FUN_0018e640
+FUN_00180b40
+FUN_001856e0
+FUN_00192f30
+FUN_001a6d50
@@ -7 +7 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_destroy Diff

--- qmdpi_flow_destroy
+++ qmdpi_flow_destroy
@@ -1,81 +1,92 @@
 
 int qmdpi_flow_destroy(long *param_1,long param_2,long *param_3)
 
 {
-  undefined4 uVar1;
-  int iVar2;
-  undefined4 *puVar3;
-  long lVar4;
+  int *piVar1;
+  undefined4 uVar2;
+  int iVar3;
+  undefined8 *puVar4;
+  long lVar5;
   
-  if (((param_1 == (long *)0x0) || (*param_1 == 0)) || (param_2 == 0)) {
-    iVar2 = -1;
+  if ((param_1 == (long *)0x0) || (param_2 == 0 || *param_1 == 0)) {
+    iVar3 = -1;
   }
   else {
-    puVar3 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    lVar4 = *param_1;
-    *(long **)(puVar3 + 4) = param_1;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *(long *)(puVar3 + 2) = lVar4;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar1 = 0;
+    LOCK();
+    piVar1 = (int *)((long)param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+      lVar5 = *param_1;
+      puVar4[2] = param_1;
+      puVar4[1] = lVar5;
+      uVar2 = 0;
+      puVar4[3] = 0;
+      puVar4[5] = 0;
+      if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+        uVar2 = *(undefined4 *)*param_1;
+      }
+      *(undefined4 *)puVar4 = uVar2;
+      *(int *)((long)puVar4 + 4) = (int)param_1[1];
+      if (*(char *)(*param_1 + 0x310) == '\0') {
+        iVar3 = FUN_001a6d50(param_1,param_2,param_3);
+      }
+      else {
+        if (param_3 != (long *)0x0) {
+          *param_3 = (long)(param_1 + 3);
+          *(undefined1 (*) [16])(param_1 + 3) = (undefined1  [16])0x0;
+          param_1[7] = 0;
+          *(undefined1 (*) [16])(param_1 + 5) = (undefined1  [16])0x0;
+        }
+        if (param_1[0x25] != 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(param_1[0x25],0xff000003,0x2e);
+          param_1[0x25] = 0;
+        }
+        lVar5 = qmdpi_flow_info_get(param_2);
+        *(ushort *)(lVar5 + 2) = *(ushort *)(lVar5 + 2) & 0xf9bf;
+        if (*(long *)(param_2 + 0xd8) != 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(*(long *)(param_2 + 0xd8),0xff000001,0x5c);
+          *(undefined8 *)(param_2 + 0xd8) = 0;
+        }
+        if (*(long *)(param_2 + 0xd0) != 0) {
+          (*(code *)PTR_qm_free_default_001f7900)(*(long *)(param_2 + 0xd0),0xff000001,0x55);
+          *(undefined8 *)(param_2 + 0xd0) = 0;
+        }
+        iVar3 = FUN_001856e0(param_1,param_2,param_1 + 3);
+        if (iVar3 == 0) {
+          if ((*(long *)(param_2 + 0x80) != 0) && ((*(byte *)(param_2 + 1) & 0x40) != 0)) {
+            FUN_00192f30(*(long *)(param_2 + 0x80),param_1,param_2 + 0x88,
+                         *(undefined4 *)(*param_1 + 0x268));
+          }
+          if (param_1[0x27] != 0) {
+            lVar5 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+            if (lVar5 != 0) {
+              *(undefined8 *)(lVar5 + 0x18) = *(undefined8 *)(param_1[0x27] + 0x48);
+            }
+            FUN_00180b40(param_1[0x27]);
+            param_1[0x27] = 0;
+          }
+          param_1[0x25] = param_2;
+        }
+      }
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      puVar4[5] = 0;
+      *puVar4 = 0;
+      puVar4[1] = 0;
+      puVar4[2] = 0;
+      puVar4[3] = 0;
+      *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
     }
     else {
-      uVar1 = *(undefined4 *)*param_1;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      iVar3 = -6;
     }
-    *puVar3 = uVar1;
-    puVar3[1] = (int)param_1[1];
-    if (*(char *)(*param_1 + 0x310) == '\0') {
-      iVar2 = FUN_0017faa0(param_1,param_2,param_3);
-    }
-    else {
-      if (param_3 != (long *)0x0) {
-        *param_3 = (long)(param_1 + 3);
-        param_1[3] = 0;
-        param_1[4] = 0;
-        param_1[5] = 0;
-        param_1[6] = 0;
-        param_1[7] = 0;
-      }
-      if (param_1[0x25] != 0) {
-        (*(code *)PTR_qm_free_default_001d3560)(param_1[0x25],0xff000003,0x2e);
-        param_1[0x25] = 0;
-      }
-      lVar4 = qmdpi_flow_info_get(param_2);
-      *(byte *)(lVar4 + 2) = *(byte *)(lVar4 + 2) & 0xbf;
-      *(byte *)(lVar4 + 3) = *(byte *)(lVar4 + 3) & 0xf9;
-      if (*(long *)(param_2 + 0xd8) != 0) {
-        (*(code *)PTR_qm_free_default_001d3560)(*(long *)(param_2 + 0xd8),0xff000001,0x5c);
-        *(undefined8 *)(param_2 + 0xd8) = 0;
-      }
-      if (*(long *)(param_2 + 0xd0) != 0) {
-        (*(code *)PTR_qm_free_default_001d3560)(*(long *)(param_2 + 0xd0),0xff000001,0x55);
-        *(undefined8 *)(param_2 + 0xd0) = 0;
-      }
-      iVar2 = FUN_0018e640(param_1,param_2,param_1 + 3);
-      if (iVar2 == 0) {
-        if ((*(long *)(param_2 + 0x68) != 0) && ((*(byte *)(param_2 + 1) & 0x40) != 0)) {
-          FUN_00166a80(*(long *)(param_2 + 0x68),param_1,param_2 + 0x70,
-                       *(undefined8 *)(*param_1 + 0x268));
-        }
-        if (param_1[0x27] != 0) {
-          lVar4 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-          if (lVar4 != 0) {
-            *(undefined8 *)(lVar4 + 0x18) = *(undefined8 *)(param_1[0x27] + 0x48);
-          }
-          FUN_001886a0(param_1[0x27]);
-          param_1[0x27] = 0;
-        }
-        param_1[0x25] = param_2;
-      }
-    }
-    *(undefined8 *)(puVar3 + 2) = 0;
-    *(undefined8 *)(puVar3 + 4) = 0;
-    *(undefined8 *)(puVar3 + 6) = 0;
-    *(undefined8 *)(puVar3 + 10) = 0;
-    *puVar3 = 0;
-    puVar3[1] = 0;
   }
-  return iVar2;
+  return iVar3;
 }
 

qmdpi_flow_5tuple_get

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.07
i_ratio 0.09
m_ratio 0.88
b_ratio 0.05
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_5tuple_get qmdpi_flow_5tuple_get
fullname qmdpi_flow_5tuple_get qmdpi_flow_5tuple_get
refcount 6 6
length 1097 1355
called
calling
paramcount 0 0
address 0018ef10 00185f80
sig undefined qmdpi_flow_5tuple_get(void) undefined qmdpi_flow_5tuple_get(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_5tuple_get Diff

--- qmdpi_flow_5tuple_get
+++ qmdpi_flow_5tuple_get
@@ -1,236 +1,240 @@
+
+/* WARNING: Type propagation algorithm not settling */
 
 int qmdpi_flow_5tuple_get
-              (byte *param_1,int *param_2,int *param_3,long *param_4,long *param_5,long *param_6,
-              long *param_7)
+              (byte *param_1,int *param_2,int *param_3,undefined8 *param_4,long *param_5,
+              undefined8 *param_6,long *param_7)
 
 {
   byte bVar1;
   ushort uVar2;
-  long lVar3;
-  byte bVar4;
-  long *plVar5;
-  byte bVar6;
-  ulong uVar7;
+  int iVar3;
+  long lVar4;
+  char cVar5;
+  bool bVar6;
+  undefined8 *puVar7;
   long *plVar8;
-  byte bVar9;
-  int iVar10;
+  ulong uVar9;
+  byte bVar10;
   ulong uVar11;
   ulong uVar12;
+  byte local_32;
+  byte local_31;
   
-  if (param_1 == (byte *)0x0) {
-    return -1;
-  }
-  if (param_2 == (int *)0x0) {
-    return -1;
-  }
-  if (param_3 == (int *)0x0) {
-    return -1;
-  }
-  if (param_4 == (long *)0x0) {
-    return -1;
-  }
-  if (param_5 == (long *)0x0 || param_6 == (long *)0x0) {
-    return -1;
-  }
-  if (param_7 == (long *)0x0) {
+  if (param_1 == (byte *)0x0 || param_2 == (int *)0x0) {
+    return -1;
+  }
+  if (param_3 == (int *)0x0 || param_4 == (undefined8 *)0x0) {
+    return -1;
+  }
+  if ((param_5 == (long *)0x0 || param_6 == (undefined8 *)0x0) || param_7 == (long *)0x0) {
     return -1;
   }
   *param_2 = 0;
   *param_3 = 0;
   bVar1 = param_1[0xe0];
   uVar11 = (ulong)bVar1;
-  if (1 < bVar1) {
-    uVar12 = 0;
-    uVar7 = 0;
-    bVar9 = 1;
+  if (bVar1 < 2) {
+    return -1;
+  }
+  local_31 = 0;
+  bVar6 = false;
+  uVar12 = 0;
+  uVar9 = 1;
+  do {
+    cVar5 = (char)uVar9;
+    bVar10 = cVar5 + 2;
+    uVar2 = *(ushort *)(param_1 + uVar9 + 0xe0);
+    local_32 = bVar10;
+    if (0x98 < uVar2) {
+      if (uVar2 == 0x2df) {
+switchD_0018605c_caseD_34:
+        bVar6 = true;
+        local_32 = cVar5 + 5;
+      }
+      else if (uVar2 < 0x2e0) {
+        if (uVar2 == 0xcd) {
+          uVar12 = (ulong)bVar10;
+          *param_3 = 0xcd;
+          local_32 = cVar5 + 6;
+        }
+        else if (uVar2 < 0xce) {
+          if (uVar2 == 0xb4) {
+            uVar12 = (ulong)bVar10;
+            *param_3 = 0xb4;
+            local_32 = cVar5 + 6;
+          }
+          else {
+            if (uVar2 != 0xbd) goto switchD_0018605c_caseD_1;
+            local_32 = cVar5 + 7;
+          }
+        }
+        else if (uVar2 == 0xd8) {
+          uVar12 = (ulong)bVar10;
+          *param_3 = 0xd8;
+          local_32 = cVar5 + 6;
+        }
+        else if ((uVar2 < 0xd8) || ((uVar2 != 0x159 && (uVar2 != 0x22b))))
+        goto switchD_0018605c_caseD_1;
+      }
+      else if (uVar2 == 0xb6f) {
+        local_32 = cVar5 + 0xe;
+      }
+      else if (uVar2 < 0xb70) {
+        if (uVar2 == 0x92a) {
+          if ((*(long *)(**(long **)(param_1 + 0x80) + 0x1b0) == 0) &&
+             (*(long *)(**(long **)(param_1 + 0x80) + 0x1e0) == 0)) {
+            local_32 = cVar5 + 6;
+          }
+        }
+        else if (uVar2 < 0x92b) {
+          if (uVar2 < 0x50b) {
+            if (uVar2 < 0x509) goto switchD_0018605c_caseD_1;
+          }
+          else if (uVar2 != 0x50c) goto switchD_0018605c_caseD_1;
+        }
+        else {
+          if (uVar2 != 0x98b) goto switchD_0018605c_caseD_1;
+          if ((*(long *)(**(long **)(param_1 + 0x80) + 0x1d0) == 0) &&
+             (*(long *)(**(long **)(param_1 + 0x80) + 0x1e8) == 0)) {
+            local_32 = cVar5 + 5;
+          }
+        }
+      }
+      else if (uVar2 == 0x12ed) {
+        if ((*(long *)(**(long **)(param_1 + 0x80) + 0x488) == 0) &&
+           (*(long *)(**(long **)(param_1 + 0x80) + 0x490) == 0)) {
+          local_32 = cVar5 + 5;
+        }
+      }
+      else {
+        if (0x12ed < uVar2) goto switchD_0018605c_caseD_1;
+        if (uVar2 != 0xec1) {
+          if (uVar2 < 0xec2) {
+            if (((uVar2 != 0xca0) && (uVar2 != 0xe57)) && (uVar2 != 0xc34))
+            goto switchD_0018605c_caseD_1;
+          }
+          else if (uVar2 < 0xf57) {
+            if ((uVar2 < 0xf55) && (uVar2 != 0xf35)) goto switchD_0018605c_caseD_1;
+          }
+          else if (1 < (ushort)(uVar2 + 0xed6e)) goto switchD_0018605c_caseD_1;
+        }
+      }
+      goto switchD_0018605c_caseD_19;
+    }
+    if (uVar2 < 7) {
+switchD_0018605c_caseD_1:
+      iVar3 = *param_2;
+      if (iVar3 - 0x51U < 2) {
+        *param_3 = (int)(short)uVar2;
+        iVar3 = *param_2;
+      }
+      goto joined_r0x00186170;
+    }
+    switch((int)(short)uVar2 - 7U & 0xffff) {
+    case 0:
+      if ((*(long *)(**(long **)(param_1 + 0x80) + 0x1a8) == 0) &&
+         (*(long *)(**(long **)(param_1 + 0x80) + 0x1d8) == 0)) {
+        local_32 = cVar5 + 6;
+      }
+      break;
+    default:
+      goto switchD_0018605c_caseD_1;
+    case 4:
+      local_32 = cVar5 + 0x12;
+      break;
+    case 0x19:
+    case 0x24:
+    case 0x25:
+    case 0x33:
+    case 0x4e:
+    case 0x70:
+    case 0x7a:
+      break;
+    case 0x34:
+      goto switchD_0018605c_caseD_34;
+    case 0x3f:
+      *param_3 = 0x46;
+      local_32 = cVar5 + 4;
+      break;
+    case 0x40:
+      *param_3 = 0x47;
+      local_32 = cVar5 + 4;
+      break;
+    case 0x4a:
+      *param_3 = 0;
+      *param_2 = 0x51;
+      local_32 = cVar5 + 0xb;
+      local_31 = bVar10;
+      break;
+    case 0x4b:
+      *param_3 = 0;
+      *param_2 = 0x52;
+      local_32 = cVar5 + 0x23;
+      local_31 = bVar10;
+      break;
+    case 0x50:
+    case 0x61:
+    case 0x90:
+    case 0x91:
+      local_32 = cVar5 + 4;
+      if (local_32 < bVar1) goto LAB_0;
+LAB_1:
+      iVar3 = *param_2;
+joined_r0x00186170:
+      if (iVar3 == 0) {
+        return -1;
+      }
+      puVar7 = param_4;
+      plVar8 = param_5;
+      if ((*param_1 & 0x18) == 8) {
+        puVar7 = param_6;
+        param_6 = param_4;
+        plVar8 = param_7;
+        param_7 = param_5;
+      }
+      if (iVar3 == 0x51) {
+        if (uVar11 < (ulong)local_31 + 9) {
+          return -1;
+        }
+        lVar4 = (ulong)local_31 + 0xe4;
+      }
+      else {
+        if (iVar3 != 0x52) {
+          return -1;
+        }
+        if (uVar11 < (ulong)local_31 + 0x21) {
+          return -1;
+        }
+        lVar4 = (ulong)local_31 + 0xf0;
+      }
+      *param_6 = param_1 + (ulong)local_31 + 0xe0;
+      *puVar7 = param_1 + lVar4;
+      iVar3 = *param_3;
+      if (((iVar3 == 0xcd) || (iVar3 == 0xd8)) || (iVar3 == 0xb4)) {
+        if (uVar11 < uVar12 + 4) {
+          return -1;
+        }
+        *param_7 = (long)(param_1 + uVar12 + 0xe0);
+        *plVar8 = (long)(param_1 + uVar12 + 0xe2);
+      }
+      if (((bVar6) && ((short *)*param_7 != (short *)0x0)) &&
+         (((short *)*plVar8 != (short *)0x0 && *(short *)*param_7 == 0 && (*(short *)*plVar8 == 0)))
+         ) {
+        return -1;
+      }
+      lVar4 = *(long *)(param_1 + 0xc0);
+      if (lVar4 != 0) {
+        return (int)*(undefined8 *)(lVar4 + 0x28) + *(int *)(lVar4 + 0x20);
+      }
+      return 0;
+    case 0x5b:
+      local_32 = cVar5 + 3;
+    }
+switchD_0018605c_caseD_19:
+    if (bVar1 <= local_32) goto LAB_1;
 LAB_0:
-    bVar6 = bVar9 + 2;
-    uVar2 = *(ushort *)(param_1 + (ulong)bVar9 + 0xe0);
-    bVar4 = bVar6;
-    if (uVar2 != 0x81) {
-      if (uVar2 < 0x82) {
-        if (uVar2 == 0x46) {
-          *param_3 = 0x46;
-          bVar4 = bVar9 + 4;
-          goto LAB_1;
-        }
-        if (uVar2 < 0x47) {
-          if (uVar2 < 0x2d) {
-            if (uVar2 < 0x2b) {
-              if (uVar2 == 0xb) {
-                bVar4 = bVar9 + 0x12;
-              }
-              else if (uVar2 != 0x20) {
-                if (uVar2 != 7) goto LAB_2;
-                if ((*(long *)(**(long **)(param_1 + 0x68) + 0x1a8) == 0) &&
-                   (bVar4 = bVar9 + 6, *(long *)(**(long **)(param_1 + 0x68) + 0x1d8) != 0)) {
-                  bVar4 = bVar6;
-                }
-              }
-            }
-          }
-          else if (uVar2 != 0x3a) {
-            if (uVar2 != 0x3b) goto LAB_2;
-LAB_3:
-            bVar4 = bVar9 + 5;
-          }
-          goto LAB_1;
-        }
-        if (uVar2 == 0x57) {
-LAB_4:
-          bVar4 = bVar9 + 4;
-          goto LAB_1;
-        }
-        if (0x57 < uVar2) {
-          if (uVar2 == 0x68) goto LAB_4;
-          if (uVar2 != 0x77) {
-            if (uVar2 != 0x62) goto LAB_2;
-            bVar4 = bVar9 + 3;
-          }
-          goto LAB_1;
-        }
-        if (uVar2 == 0x51) {
-          *param_3 = 0;
-          *param_2 = 0x51;
-          uVar7 = (ulong)bVar6;
-          bVar4 = bVar9 + 0xb;
-          goto LAB_1;
-        }
-        if (uVar2 == 0x52) {
-          *param_3 = 0;
-          *param_2 = 0x52;
-          uVar7 = (ulong)bVar6;
-          bVar4 = bVar9 + 0x23;
-          goto LAB_1;
-        }
-        if (uVar2 != 0x47) goto LAB_2;
-        bVar9 = bVar9 + 4;
-        *param_3 = 0x47;
-        if (bVar1 <= bVar9) goto code_r0x0018effa;
-        goto LAB_0;
-      }
-      if (uVar2 == 0x22b) goto LAB_1;
-      if (uVar2 < 0x22c) {
-        if (uVar2 == 0xbd) {
-          bVar4 = bVar9 + 7;
-        }
-        else {
-          if (uVar2 < 0xbe) {
-            if (uVar2 != 0x98) {
-              if (uVar2 == 0xb4) {
-                *param_3 = 0xb4;
-                uVar12 = (ulong)bVar6;
-                bVar4 = bVar9 + 6;
-                goto LAB_1;
-              }
-              if (uVar2 != 0x97) goto LAB_2;
-            }
-            goto LAB_4;
-          }
-          if (uVar2 == 0xd8) {
-            *param_3 = 0xd8;
-            uVar12 = (ulong)bVar6;
-            bVar4 = bVar9 + 6;
-          }
-          else if (uVar2 != 0x159) {
-            if (uVar2 != 0xcd) goto LAB_2;
-            *param_3 = 0xcd;
-            uVar12 = (ulong)bVar6;
-            bVar4 = bVar9 + 6;
-          }
-        }
-      }
-      else if (uVar2 == 0x92a) {
-        if ((*(long *)(**(long **)(param_1 + 0x68) + 0x1b0) == 0) &&
-           (bVar4 = bVar9 + 6, *(long *)(**(long **)(param_1 + 0x68) + 0x1e0) != 0)) {
-          bVar4 = bVar6;
-        }
-      }
-      else if (uVar2 < 0x92b) {
-        if ((uVar2 != 0x509) && (uVar2 != 0x50c)) {
-          if (uVar2 == 0x2df) goto LAB_3;
-          goto LAB_2;
-        }
-      }
-      else if (uVar2 == 0xb6f) {
-        bVar4 = bVar9 + 0xe;
-      }
-      else if (uVar2 < 0xb70) {
-        if (uVar2 != 0x98b) {
-LAB_2:
-          iVar10 = *param_2;
-          if (iVar10 - 0x51U < 2) {
-            *param_3 = (int)(short)uVar2;
-            iVar10 = *param_2;
-          }
-          goto joined_r0x0018f0f9;
-        }
-        if ((*(long *)(**(long **)(param_1 + 0x68) + 0x1d0) == 0) &&
-           (bVar4 = bVar9 + 5, *(long *)(**(long **)(param_1 + 0x68) + 0x1e8) != 0)) {
-          bVar4 = bVar6;
-        }
-      }
-      else if ((uVar2 != 0xc34) && (uVar2 != 0xca0)) goto LAB_2;
-    }
-LAB_1:
-    bVar9 = bVar4;
-    if (bVar1 <= bVar9) {
-      iVar10 = *param_2;
-      goto joined_r0x0018f0f9;
-    }
-    goto LAB_0;
-  }
-  iVar10 = *param_2;
-  if (iVar10 == 0) {
-    return -1;
-  }
-  uVar12 = 0;
-  uVar7 = 0;
-LAB_5:
-  plVar5 = param_4;
-  plVar8 = param_5;
-  if ((*param_1 & 0x18) == 8) {
-    plVar5 = param_6;
-    plVar8 = param_7;
-    param_6 = param_4;
-    param_7 = param_5;
-  }
-  if (iVar10 == 0x51) {
-    if (uVar11 < uVar7 + 9) {
-      return -1;
-    }
-    *param_6 = (long)(param_1 + uVar7 + 0xe0);
-    *plVar5 = (long)(param_1 + uVar7 + 0xe4);
-  }
-  else {
-    if (iVar10 != 0x52) {
-      return -1;
-    }
-    if (uVar11 < uVar7 + 0x21) {
-      return -1;
-    }
-    *param_6 = (long)(param_1 + uVar7 + 0xe0);
-    *plVar5 = (long)(param_1 + uVar7 + 0xf0);
-  }
-  iVar10 = *param_3;
-  if (((iVar10 == 0xcd) || (iVar10 == 0xd8)) || (iVar10 == 0xb4)) {
-    if (uVar11 < uVar12 + 4) {
-      return -1;
-    }
-    *param_7 = (long)(param_1 + uVar12 + 0xe0);
-    *plVar8 = (long)(param_1 + uVar12 + 0xe2);
-  }
-  lVar3 = *(long *)(param_1 + 0xc0);
-  if (lVar3 != 0) {
-    return (int)*(undefined8 *)(lVar3 + 0x28) + *(int *)(lVar3 + 0x20);
-  }
-  return 0;
-code_r0x0018effa:
-  iVar10 = *param_2;
-joined_r0x0018f0f9:
-  if (iVar10 == 0) {
-    return -1;
-  }
-  goto LAB_5;
+    uVar9 = (ulong)local_32;
+  } while( true );
 }
 

qmdpi_data_attr_to_buffer

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.36
i_ratio 0.07
m_ratio 0.97
b_ratio 0.06
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_data_attr_to_buffer qmdpi_data_attr_to_buffer
fullname qmdpi_data_attr_to_buffer qmdpi_data_attr_to_buffer
refcount 3 3
length 2843 2963
called
Expand for full list:
::snprintf
::snprintf
::strlen
::strncpy
FUN_00198550
FUN_00198650
qmdpi_attr_datatype_get
qmdpi_bundle_attr_get_byid
qmdpi_bundle_signature_get_byid
qmdpi_data_path_to_buffer
qmdpi_signature_name_get
::inet_ntop
::snprintf
::strlen
::strncpy
FUN_0017a0c0
qmdpi_attr_datatype_get
qmdpi_bundle_attr_get_byid
qmdpi_bundle_signature_get_byid
qmdpi_data_path_to_buffer
qmdpi_signature_name_get
calling
paramcount 0 0
address 001996e0 0017b3a0
sig undefined qmdpi_data_attr_to_buffer(void) undefined qmdpi_data_attr_to_buffer(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_data_attr_to_buffer Called Diff

--- qmdpi_data_attr_to_buffer called
+++ qmdpi_data_attr_to_buffer called
@@ -1 +1 @@
-<EXTERNAL>::snprintf
+<EXTERNAL>::inet_ntop
@@ -5,2 +5 @@
-FUN_00198550
-FUN_00198650
+FUN_0017a0c0

qmdpi_data_attr_to_buffer Diff

--- qmdpi_data_attr_to_buffer
+++ qmdpi_data_attr_to_buffer
@@ -1,409 +1,429 @@
 
 ulong qmdpi_data_attr_to_buffer
-                (long param_1,char *param_2,int param_3,undefined4 param_4,undefined4 param_5,
-                float *param_6,int param_7)
+                (long param_1,char *param_2,uint param_3,undefined4 param_4,undefined4 param_5,
+                float *param_6,uint param_7)
 
 {
-  undefined1 uVar1;
+  byte bVar1;
   undefined1 uVar2;
   undefined1 uVar3;
   undefined1 uVar4;
   undefined1 uVar5;
   undefined1 uVar6;
   undefined1 uVar7;
-  code *pcVar8;
-  undefined1 uVar9;
-  char cVar10;
+  undefined1 uVar8;
+  code *pcVar9;
+  undefined1 uVar10;
   int iVar11;
   int iVar12;
   uint uVar13;
   long lVar14;
-  ulong uVar15;
-  size_t sVar16;
-  undefined8 uVar17;
+  undefined8 uVar15;
+  char *pcVar16;
+  size_t sVar17;
   float fVar18;
   char cVar19;
-  char *pcVar20;
-  float fVar21;
-  ulong uVar22;
-  float *local_50;
+  undefined *puVar20;
+  ulong uVar21;
+  float *pfVar22;
+  float fVar23;
+  char *__buf;
   
-  if ((((param_1 == 0) || (param_2 == (char *)0x0)) || (param_3 < 1)) ||
-     ((param_6 == (float *)0x0 ||
-      (lVar14 = qmdpi_bundle_attr_get_byid(param_1,param_4,param_5), lVar14 == 0)))) {
+  if (((param_1 == 0 || param_2 == (char *)0x0) || ((int)param_3 < 1 || param_6 == (float *)0x0)) ||
+     (lVar14 = qmdpi_bundle_attr_get_byid(param_1,param_4,param_5), lVar14 == 0)) {
     return 0xffffffff;
   }
-  uVar9 = qmdpi_attr_datatype_get(lVar14);
-  switch(uVar9) {
+  uVar10 = qmdpi_attr_datatype_get(lVar14);
+  switch(uVar10) {
   case 0:
   case 0x19:
     *param_2 = '\0';
-    uVar22 = 0;
-    break;
+    goto LAB_0;
   case 1:
-    uVar22 = (ulong)*(byte *)param_6;
-    goto LAB_0;
+    fVar18 = (float)(uint)*(byte *)param_6;
+    goto LAB_1;
   case 2:
-    uVar22 = (ulong)*(ushort *)param_6;
-    goto LAB_0;
+    fVar18 = (float)(uint)*(ushort *)param_6;
+    goto LAB_1;
   case 3:
-    uVar22 = (ulong)(uint)*param_6;
-LAB_0:
-    uVar13 = snprintf(param_2,(long)param_3,"%u",uVar22);
-    uVar22 = (ulong)uVar13;
+    fVar18 = *param_6;
+LAB_1:
+    pcVar16 = "%u";
+LAB_2:
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,pcVar16,fVar18);
     break;
   case 4:
-    uVar13 = snprintf(param_2,(long)param_3,"%llu",*(undefined8 *)param_6);
-    uVar22 = (ulong)uVar13;
-    break;
+    uVar15 = *(undefined8 *)param_6;
+    puVar20 = &DAT_3;
+    goto LAB_4;
   case 5:
-    uVar13 = snprintf(param_2,(long)param_3,"%p",*(undefined8 *)param_6);
-    uVar22 = (ulong)uVar13;
-    break;
+    uVar15 = *(undefined8 *)param_6;
+    puVar20 = &DAT_5;
+    goto LAB_4;
   case 6:
   case 0xd:
-    if ((0 < param_7) && (param_3 != 1)) {
-      uVar15 = 1;
-      do {
-        cVar19 = *(char *)((long)param_6 + (uVar15 - 1));
-        uVar22 = uVar15 & 0xffffffff;
-        if (0x5e < (byte)(cVar19 - 0x20U)) {
-          cVar19 = '.';
-        }
-        param_2[uVar15 - 1] = cVar19;
-      } while (((int)uVar15 < param_7) && (uVar15 = uVar15 + 1, uVar15 != (ulong)(param_3 - 2) + 2))
-      ;
-      goto LAB_1;
-    }
-LAB_2:
-    lVar14 = 0;
-    uVar22 = 0;
-    goto LAB_3;
+    if ((int)param_7 < 1) {
+      *param_2 = '\0';
+      return 0;
+    }
+    uVar21 = 1;
+    if (param_3 == 1) goto LAB_6;
+    do {
+      cVar19 = *(char *)((long)param_6 + (uVar21 - 1));
+      uVar13 = (uint)uVar21;
+      if (0x5e < (byte)(cVar19 - 0x20U)) {
+        cVar19 = '.';
+      }
+      param_2[uVar21 - 1] = cVar19;
+      if (param_7 == uVar21) {
+        param_2 = param_2 + (int)param_7;
+        goto LAB_7;
+      }
+      uVar21 = uVar21 + 1;
+    } while (param_3 != uVar21);
+LAB_8:
+    param_2 = param_2 + (int)uVar13;
+    goto LAB_7;
   case 7:
-    uVar9 = *(undefined1 *)((long)param_6 + 7);
-    uVar1 = *(undefined1 *)param_6;
-    pcVar20 = "%d.%d.%d.%d/%d.%d.%d.%d";
+    uVar10 = *(undefined1 *)((long)param_6 + 7);
     uVar2 = *(undefined1 *)((long)param_6 + 6);
-    uVar3 = *(undefined1 *)((long)param_6 + 5);
-    uVar4 = *(undefined1 *)(param_6 + 1);
+    uVar3 = *(undefined1 *)(param_6 + 1);
+    uVar4 = *(undefined1 *)((long)param_6 + 5);
     uVar5 = *(undefined1 *)((long)param_6 + 3);
-    uVar6 = *(undefined1 *)((long)param_6 + 2);
-    uVar7 = *(undefined1 *)((long)param_6 + 1);
-    goto LAB_4;
+    uVar6 = *(undefined1 *)param_6;
+    pcVar16 = "%d.%d.%d.%d/%d.%d.%d.%d";
+    uVar7 = *(undefined1 *)((long)param_6 + 2);
+    uVar8 = *(undefined1 *)((long)param_6 + 1);
+    goto LAB_9;
   case 8:
-    uVar13 = (*(code *)PTR_snprintf_001d3550)
-                       (param_2,(long)param_3,"%.2x-%.2x-%.2x-%.2x-%.2x-%.2x",*(undefined1 *)param_6
-                        ,*(undefined1 *)((long)param_6 + 1),*(undefined1 *)((long)param_6 + 2),
-                        *(undefined1 *)((long)param_6 + 3),*(undefined1 *)(param_6 + 1),
-                        *(undefined1 *)((long)param_6 + 5));
-    uVar22 = (ulong)uVar13;
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_2,(long)(int)param_3,"%.2x-%.2x-%.2x-%.2x-%.2x-%.2x",
+                        *(undefined1 *)param_6,*(undefined1 *)((long)param_6 + 1),
+                        *(undefined1 *)((long)param_6 + 2),*(undefined1 *)((long)param_6 + 3),
+                        *(undefined1 *)(param_6 + 1),*(undefined1 *)((long)param_6 + 5));
     break;
   case 9:
-    uVar13 = (*(code *)PTR_snprintf_001d3550)
-                       (param_2,(long)param_3,"%u.%u.%u.%u",*(undefined1 *)param_6,
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_2,(long)(int)param_3,"%u.%u.%u.%u",*(undefined1 *)param_6,
                         *(undefined1 *)((long)param_6 + 1),*(undefined1 *)((long)param_6 + 2),
                         *(undefined1 *)((long)param_6 + 3));
-    uVar22 = (ulong)uVar13;
     break;
   case 10:
-    uVar22 = qmdpi_data_path_to_buffer(param_1,param_2,param_3,param_6);
-    return uVar22;
+    uVar21 = qmdpi_data_path_to_buffer(param_1,param_2,param_3,param_6);
+    return uVar21;
   case 0xb:
-    uVar22 = *(ulong *)(param_6 + 2);
-    if (uVar22 == 0) {
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,&DAT_5,*(undefined8 *)param_6);
-      uVar22 = (ulong)uVar13;
+    uVar21 = *(ulong *)(param_6 + 2);
+    if (uVar21 == 0) {
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,(long)(int)param_3,&DAT_10,*(undefined8 *)param_6);
     }
     else {
       iVar11 = 6;
-      if (uVar22 == (uVar22 / 10) * 10) {
+      if (uVar21 == (uVar21 / 10) * 10) {
         do {
           iVar11 = iVar11 + -1;
-          uVar22 = uVar22 / 10;
-        } while (uVar22 == (uVar22 / 10) * 10);
-      }
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,"%lu.%.*lu",*(undefined8 *)param_6,iVar11);
-      uVar22 = (ulong)uVar13;
+          uVar21 = uVar21 / 10;
+        } while (uVar21 == (uVar21 / 10) * 10);
+      }
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,(long)(int)param_3,"%lu.%.*lu",*(undefined8 *)param_6,iVar11);
     }
     break;
   case 0xc:
-    if (((int)*param_6 < 1) || (param_3 == 1)) goto LAB_2;
-    uVar15 = 1;
-    do {
-      cVar19 = *(char *)((long)param_6 + uVar15 + 3);
-      uVar22 = uVar15 & 0xffffffff;
-      if (0x5e < (byte)(cVar19 - 0x20U)) {
-        cVar19 = '.';
-      }
-      param_2[uVar15 - 1] = cVar19;
-    } while (((int)uVar15 < (int)*param_6) &&
-            (uVar15 = uVar15 + 1, (ulong)(param_3 - 2) + 2 != uVar15));
-LAB_1:
-    lVar14 = (long)(int)uVar22;
-LAB_3:
-    param_2[lVar14] = '\0';
+    if (0 < (int)*param_6) {
+      uVar21 = 1;
+      if (param_3 != 1) {
+        do {
+          cVar19 = *(char *)((long)param_6 + uVar21 + 3);
+          uVar13 = (uint)uVar21;
+          if (0x5e < (byte)(cVar19 - 0x20U)) {
+            cVar19 = '.';
+          }
+          param_2[uVar21 - 1] = cVar19;
+          if ((int)*param_6 <= (int)uVar13) {
+            param_2 = param_2 + (int)uVar13;
+            goto LAB_7;
+          }
+          uVar21 = uVar21 + 1;
+        } while (param_3 != uVar21);
+        goto LAB_8;
+      }
+    }
+LAB_6:
+    uVar13 = 0;
+LAB_7:
+    *param_2 = '\0';
     break;
   case 0xe:
-    uVar13 = (uint)*(char *)param_6;
-    pcVar20 = "%x";
     if ((byte)(*(char *)param_6 - 0x21U) < 0x5e) {
-      pcVar20 = "%c";
-    }
-    goto LAB_6;
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,&DAT_11);
+    }
+    else {
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,&DAT_12);
+    }
+    break;
   case 0xf:
-    uVar13 = FUN_00198650(param_6,param_2,param_3);
-    uVar22 = (ulong)uVar13;
+    pcVar16 = inet_ntop(10,param_6,param_2,param_3);
+    if (pcVar16 == (char *)0x0) {
+      pcVar16 = "Unknown_IP6_addr";
+LAB_13:
+      strncpy(param_2,pcVar16,(long)(int)param_3);
+    }
+    sVar17 = strlen(param_2);
+    uVar13 = (uint)sVar17;
     break;
   case 0x10:
-    uVar13 = (uint)*(ushort *)param_6;
-    pcVar20 = "%d";
-LAB_6:
-    uVar13 = (*(code *)PTR_snprintf_001d3550)(param_2,(long)param_3,pcVar20,uVar13);
-    uVar22 = (ulong)uVar13;
-    break;
+    fVar18 = (float)(uint)*(ushort *)param_6;
+    pcVar16 = "%d";
+    goto LAB_2;
   case 0x11:
-    fVar21 = param_6[1];
     fVar18 = *param_6;
-    goto LAB_7;
+    fVar23 = param_6[1];
+    goto LAB_14;
   case 0x12:
     fVar18 = (float)(uint)*(ushort *)param_6;
-    fVar21 = (float)(uint)*(ushort *)((long)param_6 + 2);
-LAB_7:
-    uVar13 = (*(code *)PTR_snprintf_001d3550)(param_2,(long)param_3,"%u..%u",fVar18,fVar21);
-    uVar22 = (ulong)uVar13;
+    fVar23 = (float)(uint)*(ushort *)((long)param_6 + 2);
+LAB_14:
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,"%u..%u",fVar18,fVar23);
     break;
   case 0x13:
     *param_2 = '\0';
-    uVar22 = 0;
     if ((uint)param_6[6] < 7) {
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,&DAT_8,(&PTR_DAT_001d2a40)[(int)param_6[6]]);
-      uVar22 = (ulong)uVar13;
-      if ((int)uVar13 < 0) goto LAB_9;
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,(long)(int)param_3,&DAT_15,
+                          (&PTR_DAT_16)[(int)param_6[6]]);
+      if ((int)uVar13 < 0) goto LAB_0;
+    }
+    else {
+      uVar13 = 0;
     }
     if ((int)param_6[3] - 1U < 0x1f) {
-      iVar12 = (int)uVar22;
-      iVar11 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar12,(long)(param_3 - iVar12),"%02d ");
-      if (iVar11 < 0) break;
-      uVar22 = (ulong)(uint)(iVar12 + iVar11);
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"%02d ");
+      if (iVar11 < 0) break;
+      uVar13 = uVar13 + iVar11;
     }
     if ((uint)param_6[4] < 0xc) {
-      iVar12 = (int)uVar22;
-      iVar11 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2 + iVar12,(long)(param_3 - iVar12),&DAT_8,
-                          (&PTR_DAT_10)[(int)param_6[4]]);
-      if (iVar11 < 0) break;
-      uVar22 = (ulong)(uint)(iVar12 + iVar11);
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),&DAT_15,
+                          (&PTR_DAT_17)[(int)param_6[4]]);
+      if (iVar11 < 0) break;
+      uVar13 = uVar13 + iVar11;
     }
     if (-1 < (int)param_6[5]) {
-      iVar12 = (int)uVar22;
-      iVar11 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar12,(long)(param_3 - iVar12),"%04d ");
-      if (iVar11 < 0) break;
-      uVar22 = (ulong)(uint)(iVar12 + iVar11);
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"%04d ");
+      if (iVar11 < 0) break;
+      uVar13 = uVar13 + iVar11;
     }
     if ((uint)param_6[2] < 0x18) {
-      iVar12 = (int)uVar22;
-      iVar11 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar12,(long)(param_3 - iVar12),"%02dh");
-      if (iVar11 < 0) break;
-      uVar22 = (ulong)(uint)(iVar12 + iVar11);
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"%02dh");
+      if (iVar11 < 0) break;
+      uVar13 = uVar13 + iVar11;
     }
     if ((uint)param_6[1] < 0x3c) {
-      iVar12 = (int)uVar22;
-      iVar11 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar12,(long)(param_3 - iVar12),"%02dm");
-      if (iVar11 < 0) break;
-      uVar22 = (ulong)(uint)(iVar12 + iVar11);
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"%02dm");
+      if (iVar11 < 0) break;
+      uVar13 = uVar13 + iVar11;
     }
     if ((uint)*param_6 < 0x3c) {
-      iVar12 = (int)uVar22;
-      iVar11 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar12,(long)(param_3 - iVar12),"%02ds");
-      if (iVar11 < 0) break;
-      uVar22 = (ulong)(uint)(iVar12 + iVar11);
-    }
-    if ((*param_2 != '\0') && (param_2[(long)param_3 + -1] == ' ')) {
-      param_2[(long)param_3 + -1] = '\0';
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"%02ds");
+      if (iVar11 < 0) break;
+      uVar13 = uVar13 + iVar11;
+    }
+    if ((*param_2 != '\0') && (param_2[(long)(int)param_3 + -1] == ' ')) {
+      param_2[(long)(int)param_3 + -1] = '\0';
     }
     break;
   case 0x14:
-    uVar13 = FUN_00198550(*param_6,param_2,param_3);
-    uVar22 = (ulong)uVar13;
+    uVar13 = FUN_0017a0c0(*param_6,param_2,param_3);
     break;
   case 0x15:
     lVar14 = (**(code **)(*(long *)(param_1 + 8) + 0x68))
                        (*(long *)(param_1 + 8),param_4,param_5,*param_6);
     if (lVar14 == 0) {
       return 0xffffffff;
     }
-    uVar13 = (*(code *)PTR_snprintf_001d3550)(param_2,(long)param_3,lVar14);
-    uVar22 = (ulong)uVar13;
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,lVar14);
     break;
   case 0x16:
-    uVar13 = snprintf(param_2,(long)param_3,"%6.3f",(double)*param_6);
-    uVar22 = (ulong)uVar13;
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)((double)*param_6,param_2,(long)(int)param_3,"%6.3f");
     break;
   case 0x17:
-    uVar17 = qmdpi_bundle_signature_get_byid(param_1,*param_6);
-    pcVar20 = (char *)qmdpi_signature_name_get(uVar17);
-    if (pcVar20 != (char *)0x0) {
-      strncpy(param_2,pcVar20,(long)param_3);
-      sVar16 = strlen(param_2);
-      uVar22 = sVar16 & 0xffffffff;
-      break;
-    }
-LAB_9:
-    uVar22 = 0;
+    uVar15 = qmdpi_bundle_signature_get_byid(param_1,*param_6);
+    pcVar16 = (char *)qmdpi_signature_name_get(uVar15);
+    if (pcVar16 != (char *)0x0) goto LAB_13;
+LAB_0:
+    uVar13 = 0;
     break;
   default:
     if (*(uint *)(*(long *)(param_1 + 8) + 4) < 0xd) {
       return 0xffffffff;
     }
-    pcVar8 = *(code **)(*(long *)(param_1 + 8) + 0x150);
-    if (pcVar8 == (code *)0x0) {
+    pcVar9 = *(code **)(*(long *)(param_1 + 8) + 0x150);
+    if (pcVar9 == (code *)0x0) {
       return 0xffffffff;
     }
-    uVar13 = (*pcVar8)(param_2,param_3,uVar9,param_6,param_7);
-    uVar22 = (ulong)uVar13;
+    uVar13 = (*pcVar9)(param_2,param_3,uVar10,param_6,param_7);
     break;
   case 0x1a:
-    uVar9 = *(undefined1 *)((long)param_6 + 7);
-    uVar1 = *(undefined1 *)param_6;
-    pcVar20 = "%d.%d.%d.%d..%d.%d.%d.%d";
+    uVar10 = *(undefined1 *)((long)param_6 + 7);
     uVar2 = *(undefined1 *)((long)param_6 + 6);
-    uVar3 = *(undefined1 *)((long)param_6 + 5);
-    uVar4 = *(undefined1 *)(param_6 + 1);
+    uVar3 = *(undefined1 *)(param_6 + 1);
+    uVar4 = *(undefined1 *)((long)param_6 + 5);
     uVar5 = *(undefined1 *)((long)param_6 + 3);
-    uVar6 = *(undefined1 *)((long)param_6 + 2);
-    uVar7 = *(undefined1 *)((long)param_6 + 1);
-LAB_4:
-    uVar13 = (*(code *)PTR_snprintf_001d3550)
-                       (param_2,(long)param_3,pcVar20,uVar1,uVar7,uVar6,uVar5,uVar4,uVar3,uVar2,
-                        uVar9);
-    uVar22 = (ulong)uVar13;
+    uVar6 = *(undefined1 *)param_6;
+    pcVar16 = "%d.%d.%d.%d..%d.%d.%d.%d";
+    uVar7 = *(undefined1 *)((long)param_6 + 2);
+    uVar8 = *(undefined1 *)((long)param_6 + 1);
+LAB_9:
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_2,(long)(int)param_3,pcVar16,uVar6,uVar8,uVar7,uVar5,uVar3,uVar4,uVar2
+                        ,uVar10);
     break;
   case 0x1b:
+    bVar1 = *(byte *)((long)param_6 + 1);
     if (*(short *)((long)param_6 + 2) == 0) {
-      cVar19 = '?';
-      if (*(byte *)((long)param_6 + 1) < 4) {
-        cVar19 = (&DAT_11)[*(byte *)((long)param_6 + 1)];
-      }
-      cVar10 = '?';
+      iVar11 = 0x3f;
+      if (bVar1 < 4) {
+        iVar11 = (int)"NM?Y_strdup"[bVar1];
+      }
+      iVar12 = 0x3f;
       if (*(byte *)param_6 < 4) {
-        cVar10 = (&DAT_11)[*(byte *)param_6];
-      }
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,&DAT_12,(int)cVar10,(int)cVar19);
-      uVar22 = (ulong)uVar13;
-    }
-    else {
-      cVar19 = '?';
-      if (*(byte *)((long)param_6 + 1) < 4) {
-        cVar19 = (&DAT_11)[*(byte *)((long)param_6 + 1)];
-      }
-      cVar10 = '?';
+        iVar12 = (int)"NM?Y_strdup"[*(byte *)param_6];
+      }
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,(long)(int)param_3,&DAT_18,iVar12,iVar11);
+    }
+    else {
+      iVar11 = 0x3f;
+      if (bVar1 < 4) {
+        iVar11 = (int)"NM?Y_strdup"[bVar1];
+      }
+      iVar12 = 0x3f;
       if (*(byte *)param_6 < 4) {
-        cVar10 = (&DAT_11)[*(byte *)param_6];
-      }
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,"%c/%c/%u",(int)cVar10,(int)cVar19,
+        iVar12 = (int)"NM?Y_strdup"[*(byte *)param_6];
+      }
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,(long)(int)param_3,"%c/%c/%u",iVar12,iVar11,
                           *(short *)((long)param_6 + 2));
-      uVar22 = (ulong)uVar13;
     }
     break;
   case 0x1c:
     cVar19 = *(char *)(param_6 + 4);
+    lVar14 = (long)(int)param_3;
     if (cVar19 == '\x01') {
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,"ended_before_final_node/%s/%u",
-                          *(undefined8 *)param_6,param_6[2]);
-      uVar22 = (ulong)uVar13;
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,lVar14,"ended_before_final_node/%s/%u",*(undefined8 *)param_6,
+                          param_6[2]);
     }
     else if (cVar19 == '\x02') {
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,"transnode_buffer_full/%s/%u/%u",
-                          *(undefined8 *)param_6,param_6[3],param_6[2]);
-      uVar22 = (ulong)uVar13;
-    }
-    else {
-      uVar13 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2,(long)param_3,"%d/%s/%u",cVar19,*(undefined8 *)param_6,param_6[2])
-      ;
-      uVar22 = (ulong)uVar13;
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,lVar14,"transnode_buffer_full/%s/%u/%u",*(undefined8 *)param_6,
+                          param_6[3]);
+    }
+    else {
+      uVar13 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2,lVar14,"%d/%s/%u",cVar19,*(undefined8 *)param_6);
     }
     break;
   case 0x1d:
-    iVar11 = FUN_00198650(param_6,param_2,param_3);
+    pcVar16 = inet_ntop(10,param_6,param_2,param_3);
+    if (pcVar16 == (char *)0x0) {
+      strncpy(param_2,"Unknown_IP6_addr",(long)(int)param_3);
+    }
+    sVar17 = strlen(param_2);
+    iVar11 = (int)sVar17;
     iVar12 = iVar11 + 2;
     param_2[iVar11] = '.';
     param_2[iVar11 + 1] = '.';
-    iVar11 = FUN_00198650(param_6 + 4,param_2 + iVar12,param_3 - iVar12);
-    uVar22 = (ulong)(uint)(iVar12 + iVar11);
+    param_2 = param_2 + iVar12;
+    pcVar16 = inet_ntop(10,param_6 + 4,param_2,param_3 - iVar12);
+    if (pcVar16 == (char *)0x0) {
+      strncpy(param_2,"Unknown_IP6_addr",(long)(int)(param_3 - iVar12));
+    }
+    sVar17 = strlen(param_2);
+    uVar13 = iVar12 + (int)sVar17;
     break;
   case 0x1e:
-    uVar13 = snprintf(param_2,(long)param_3,"%lld",*(undefined8 *)param_6);
-    uVar22 = (ulong)uVar13;
+    uVar15 = *(undefined8 *)param_6;
+    puVar20 = &DAT_19;
+LAB_4:
+    uVar13 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,puVar20,uVar15);
     break;
   case 0x1f:
-    uVar13 = snprintf(param_2,(long)param_3,"%d",(ulong)(uint)*param_6);
-    uVar22 = (ulong)uVar13;
-    break;
+    fVar18 = *param_6;
+    pcVar16 = "%d";
+    goto LAB_2;
   case 0x20:
-    iVar11 = (*(code *)PTR_snprintf_001d3550)(param_2,(long)param_3,"[");
-    local_50 = param_6 + 5;
+    iVar11 = (*(code *)PTR_snprintf_001f78f0)(param_2,(long)(int)param_3,"[");
+    pfVar22 = param_6 + 5;
     do {
-      if (*local_50 == 0.0) break;
-      uVar17 = qmdpi_bundle_signature_get_byid(param_1);
-      lVar14 = qmdpi_signature_name_get(uVar17);
+      if (*pfVar22 == 0.0) break;
+      uVar15 = qmdpi_bundle_signature_get_byid(param_1);
+      lVar14 = qmdpi_signature_name_get(uVar15);
       if (lVar14 == 0) break;
       if (1 < iVar11) {
-        iVar12 = (*(code *)PTR_snprintf_001d3550)
-                           (param_2 + iVar11,(long)(param_3 - iVar11),&DAT_13);
+        iVar12 = (*(code *)PTR_snprintf_001f78f0)
+                           (param_2 + iVar11,(long)(int)(param_3 - iVar11),&DAT_20);
         iVar11 = iVar11 + iVar12;
       }
-      iVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2 + iVar11,(long)(param_3 - iVar11),"%s",lVar14);
-      local_50 = local_50 + 1;
+      pfVar22 = pfVar22 + 1;
+      iVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + iVar11,(long)(int)(param_3 - iVar11),"%s",lVar14);
       iVar11 = iVar11 + iVar12;
-    } while (param_6 + 0x15 != local_50);
-    iVar12 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar11,(long)(param_3 - iVar11),"]");
+    } while (param_6 + 0x15 != pfVar22);
+    iVar12 = (*(code *)PTR_snprintf_001f78f0)(param_2 + iVar11,(long)(int)(param_3 - iVar11),"]");
     iVar11 = iVar11 + iVar12;
-    uVar17 = qmdpi_bundle_signature_get_byid(param_1,param_6[0x15]);
-    lVar14 = qmdpi_signature_name_get(uVar17);
+    uVar15 = qmdpi_bundle_signature_get_byid(param_1,param_6[0x15]);
+    lVar14 = qmdpi_signature_name_get(uVar15);
     if (lVar14 != 0) {
-      iVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_2 + iVar11,(long)(param_3 - iVar11),"%s",lVar14);
+      iVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_2 + iVar11,(long)(int)(param_3 - iVar11),"%s",lVar14);
       iVar11 = iVar11 + iVar12;
     }
-    iVar12 = (*(code *)PTR_snprintf_001d3550)
-                       (param_2 + iVar11,(long)(param_3 - iVar11),&DAT_14);
+    iVar12 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_2 + iVar11,(long)(int)(param_3 - iVar11),&DAT_21);
     uVar13 = iVar11 + iVar12;
     if (*(char *)param_6 == '\x01') {
-      iVar11 = (*(code *)PTR_snprintf_001d3550)
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
                          (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"%d.%d.%d.%d",
                           *(undefined1 *)(param_6 + 1),*(undefined1 *)((long)param_6 + 5),
                           *(undefined1 *)((long)param_6 + 6),*(undefined1 *)((long)param_6 + 7));
       iVar11 = uVar13 + iVar11;
     }
     else {
       if (*(char *)param_6 != '\x02') {
         return (ulong)uVar13;
       }
-      iVar11 = (*(code *)PTR_snprintf_001d3550)
+      iVar11 = (*(code *)PTR_snprintf_001f78f0)
                          (param_2 + (int)uVar13,(long)(int)(param_3 - uVar13),"[");
       iVar11 = uVar13 + iVar11;
-      iVar12 = FUN_00198650(param_6 + 1,param_2 + iVar11,param_3 - iVar11);
+      __buf = param_2 + iVar11;
+      pcVar16 = inet_ntop(10,param_6 + 1,__buf,param_3 - iVar11);
+      if (pcVar16 == (char *)0x0) {
+        __buf = strncpy(__buf,"Unknown_IP6_addr",(long)(int)(param_3 - iVar11));
+      }
+      sVar17 = strlen(__buf);
+      iVar11 = iVar11 + (int)sVar17;
+      iVar12 = (*(code *)PTR_snprintf_001f78f0)(param_2 + iVar11,(long)(int)(param_3 - iVar11),"]");
       iVar11 = iVar11 + iVar12;
-      iVar12 = (*(code *)PTR_snprintf_001d3550)(param_2 + iVar11,(long)(param_3 - iVar11),"]");
-      iVar11 = iVar11 + iVar12;
-    }
-    iVar12 = (*(code *)PTR_snprintf_001d3550)
-                       (param_2 + iVar11,(long)(param_3 - iVar11),&DAT_15,
+    }
+    iVar12 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_2 + iVar11,(long)(int)(param_3 - iVar11),&DAT_22,
                         *(undefined2 *)(param_6 + 0x16));
-    uVar22 = (ulong)(uint)(iVar11 + iVar12);
+    uVar13 = iVar11 + iVar12;
   }
-  if ((param_3 < (int)uVar22) || (param_3 < param_7)) {
-    uVar22 = 0xffffffe5;
+  if ((int)param_7 <= (int)uVar13) {
+    param_7 = uVar13;
   }
-  return uVar22;
+  uVar21 = (ulong)uVar13;
+  if ((int)param_3 < (int)param_7) {
+    uVar21 = 0xffffffe5;
+  }
+  return uVar21;
 }
 

qmdpi_extralib_destroy

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.23
i_ratio 0.29
m_ratio 0.92
b_ratio 0.61
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_extralib_destroy qmdpi_extralib_destroy
fullname qmdpi_extralib_destroy qmdpi_extralib_destroy
refcount 3 3
length 426 505
called ::pthread_spin_lock
::pthread_spin_unlock
FUN_0010f3c0
FUN_00160640
FUN_001606c0
qm_free_default
::pthread_spin_lock
::pthread_spin_unlock
FUN_0011c550
FUN_0011c5d0
FUN_00172c30
qm_free_default
calling
paramcount 0 0
address 00183c60 00173770
sig undefined qmdpi_extralib_destroy(void) undefined qmdpi_extralib_destroy(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_extralib_destroy Called Diff

--- qmdpi_extralib_destroy called
+++ qmdpi_extralib_destroy called
@@ -3,3 +3,3 @@
-FUN_0010f3c0
-FUN_00160640
-FUN_001606c0
+FUN_0011c550
+FUN_0011c5d0
+FUN_00172c30

qmdpi_extralib_destroy Diff

--- qmdpi_extralib_destroy
+++ qmdpi_extralib_destroy
@@ -1,63 +1,82 @@
 
 undefined8 qmdpi_extralib_destroy(long *param_1)
 
 {
   long lVar1;
   long lVar2;
   long *plVar3;
   long lVar4;
-  undefined8 *puVar5;
-  undefined8 uVar6;
+  bool bVar5;
+  undefined8 *puVar6;
+  undefined8 uVar7;
   
-  if (param_1 != (long *)0x0) {
-    lVar1 = *param_1;
-    if (lVar1 == 0) {
-      uVar6 = 0xffffffff;
+  if (param_1 == (long *)0x0) {
+    return 0xffffffff;
+  }
+  lVar1 = *param_1;
+  if (lVar1 == 0) {
+    uVar7 = 0xffffffff;
+  }
+  else {
+    FUN_0011c550(lVar1);
+    (*(code *)PTR_pthread_spin_lock_001f7960)(lVar1 + 0x590);
+    puVar6 = *(undefined8 **)(lVar1 + 0x5a0);
+    if ((long *)*puVar6 == param_1) {
+      bVar5 = false;
+      goto LAB_0;
+    }
+    while (param_1 == (long *)puVar6[1]) {
+      bVar5 = true;
+      puVar6 = puVar6 + 1;
+LAB_0:
+      *puVar6 = 0;
+      for (puVar6 = *(undefined8 **)(lVar1 + 0x558); puVar6 != (undefined8 *)0x0;
+          puVar6 = (undefined8 *)*puVar6) {
+        (*(code *)PTR_pthread_spin_lock_001f7960)(puVar6 + 4);
+        if ((char)param_1[4] == '\x01') {
+          (**(code **)(puVar6[3] + 0x2c8))(&DAT_1,"if_qm_engine_ml_etc_predict",0);
+        }
+        else if ((char)param_1[4] == '\x02') {
+          (**(code **)(puVar6[3] + 0x2c8))(&DAT_1,"if_qm_engine_ml_cla_predict",0);
+        }
+        (*(code *)PTR_pthread_spin_unlock_001f7968)(puVar6 + 4);
+      }
+      if (bVar5) break;
+      puVar6 = *(undefined8 **)(lVar1 + 0x5a0);
+    }
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar1 + 0x590);
+    lVar2 = *param_1;
+    (*(code *)PTR_pthread_spin_lock_001f7960)(lVar2 + 0x590);
+    FUN_00172c30(param_1);
+    *(int *)(lVar2 + 0x5c8) = *(int *)(lVar2 + 0x5c8) + -1;
+    plVar3 = (long *)param_1[-1];
+    if (plVar3 == (long *)0x0) {
+      lVar4 = param_1[-2];
+      *(long *)(lVar2 + 0x5a8) = lVar4;
+      if (lVar4 == 0) {
+        *(undefined8 *)(lVar2 + 0x5b0) = 0;
+      }
+      else {
+        *(undefined8 *)(lVar4 + 8) = 0;
+      }
     }
     else {
-      FUN_00160640(lVar1);
-      if (param_1 == *(long **)(lVar1 + 0x4e0)) {
-        *(undefined8 *)(lVar1 + 0x4e0) = 0;
-        (*(code *)PTR_pthread_spin_lock_001d35c0)(lVar1 + 0x4d0);
-        for (puVar5 = *(undefined8 **)(lVar1 + 0x498); puVar5 != (undefined8 *)0x0;
-            puVar5 = (undefined8 *)*puVar5) {
-          (*(code *)PTR_pthread_spin_lock_001d35c0)(puVar5 + 4);
-          (**(code **)(puVar5[3] + 0x2c8))(&DAT_0,"if_qm_engine_ml_etc_predict",param_1[2]);
-          (*(code *)PTR_pthread_spin_unlock_001d35c8)(puVar5 + 4);
-        }
-        (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar1 + 0x4d0);
-      }
-      lVar2 = *param_1;
-      (*(code *)PTR_pthread_spin_lock_001d35c0)(lVar2 + 0x4d0);
-      FUN_0010f3c0(param_1);
-      *(int *)(lVar2 + 0x508) = *(int *)(lVar2 + 0x508) + -1;
-      plVar3 = (long *)param_1[-1];
-      if (plVar3 == (long *)0x0) {
-        lVar4 = param_1[-2];
-        *(long *)(lVar2 + 0x4e8) = lVar4;
-        if (lVar4 == 0) {
-          *(undefined8 *)(lVar2 + 0x4f0) = 0;
-        }
-        else {
-          *(undefined8 *)(lVar4 + 8) = 0;
-        }
-      }
-      else if (param_1[-2] == 0) {
+      lVar4 = param_1[-2];
+      if (lVar4 == 0) {
         *plVar3 = 0;
-        *(long *)(lVar2 + 0x4f0) = param_1[-1];
+        *(long *)(lVar2 + 0x5b0) = param_1[-1];
       }
       else {
-        *plVar3 = param_1[-2];
-        *(long *)(param_1[-2] + 8) = param_1[-1];
+        *plVar3 = lVar4;
+        *(long *)(lVar4 + 8) = param_1[-1];
       }
-      *(int *)(lVar2 + 0x4f8) = *(int *)(lVar2 + 0x4f8) + -1;
-      (*(code *)PTR_qm_free_default_001d3560)(param_1 + -2,0xff000000,0x1d);
-      (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar2 + 0x4d0);
-      FUN_001606c0(lVar1);
-      uVar6 = 0;
     }
-    return uVar6;
+    *(int *)(lVar2 + 0x5b8) = *(int *)(lVar2 + 0x5b8) + -1;
+    (*(code *)PTR_qm_free_default_001f7900)(param_1 + -2,0xff000000,0x1d);
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar2 + 0x590);
+    FUN_0011c5d0(lVar1);
+    uVar7 = 0;
   }
-  return 0xffffffff;
+  return uVar7;
 }
 

qmdpi_worker_data_attr_to_buffer

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.32
i_ratio 0.11
m_ratio 0.96
b_ratio 0.12
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_data_attr_to_buffer qmdpi_worker_data_attr_to_buffer
fullname qmdpi_worker_data_attr_to_buffer qmdpi_worker_data_attr_to_buffer
refcount 3 3
length 3187 3376
called
Expand for full list:
::memcpy
::snprintf
::strlen
::strncpy
FUN_00198550
FUN_00198650
qmdpi_attr_datatype_get
qmdpi_signature_name_get
qmdpi_worker_attr_get_byid
qmdpi_worker_data_path_to_buffer
qmdpi_worker_signature_get_byid
thunk_FUN_00181e30
Expand for full list:
::inet_ntop
::memcpy
::snprintf
::strlen
::strncpy
FUN_0017a0c0
qmdpi_attr_datatype_get
qmdpi_signature_name_get
qmdpi_worker_attr_get_byid
qmdpi_worker_data_path_to_buffer
qmdpi_worker_signature_get_byid
thunk_FUN_00173540
calling
paramcount 0 0
address 00198840 0017a3b0
sig undefined qmdpi_worker_data_attr_to_buffer(void) undefined qmdpi_worker_data_attr_to_buffer(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_data_attr_to_buffer Called Diff

--- qmdpi_worker_data_attr_to_buffer called
+++ qmdpi_worker_data_attr_to_buffer called
@@ -0,0 +1 @@
+<EXTERNAL>::inet_ntop
@@ -5,2 +6 @@
-FUN_00198550
-FUN_00198650
+FUN_0017a0c0
@@ -12 +12 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_data_attr_to_buffer Diff

--- qmdpi_worker_data_attr_to_buffer
+++ qmdpi_worker_data_attr_to_buffer
@@ -1,493 +1,495 @@
 
 ulong qmdpi_worker_data_attr_to_buffer
                 (long param_1,undefined8 *param_2,char *param_3,uint param_4,undefined4 param_5,
-                undefined4 param_6,uint param_7,float *param_8,int param_9)
+                undefined4 param_6,uint param_7,float *param_8,uint param_9)
 
 {
   undefined1 uVar1;
   undefined1 uVar2;
   undefined1 uVar3;
   undefined1 uVar4;
   undefined1 uVar5;
   undefined1 uVar6;
   undefined1 uVar7;
   undefined1 uVar8;
   byte bVar9;
-  char cVar10;
+  int iVar10;
   undefined4 uVar11;
   uint uVar12;
   long lVar13;
   ulong uVar14;
   undefined8 uVar15;
   char *pcVar16;
-  size_t sVar17;
-  undefined4 *puVar18;
-  float fVar19;
-  float fVar20;
-  char cVar21;
-  undefined *puVar22;
-  ulong uVar23;
+  undefined8 *puVar17;
+  float fVar18;
+  char cVar19;
+  undefined *puVar20;
+  float fVar21;
+  char *__buf;
+  float *pfVar22;
+  int iVar23;
   uint uVar24;
-  int iVar25;
-  int iVar26;
-  float *local_58;
+  size_t sVar25;
   
-  if ((((param_1 == 0) || (param_2 == (undefined8 *)0x0)) ||
-      (param_3 == (char *)0x0 || (int)param_4 < 1)) || (param_8 == (float *)0x0)) {
-    return 0xffffffff;
+  if ((param_1 == 0 || param_2 == (undefined8 *)0x0) ||
+     ((param_3 == (char *)0x0 || (int)param_4 < 1) || param_8 == (float *)0x0)) {
+LAB_0:
+    sVar25 = 0xffffffff;
+    goto LAB_1;
   }
   if (param_7 == 0) {
     lVar13 = qmdpi_worker_attr_get_byid(param_1,param_2,param_5,param_6);
-    if (lVar13 == 0) {
-      return 0xffffffff;
-    }
+    if (lVar13 == 0) goto LAB_0;
     bVar9 = qmdpi_attr_datatype_get(lVar13);
     param_7 = (uint)bVar9;
   }
   switch(param_7) {
   case 0:
+  case 0x19:
     *param_3 = '\0';
-    uVar23 = (ulong)param_7;
-    break;
+    goto LAB_2;
   case 1:
-    fVar20 = (float)(uint)*(byte *)param_8;
-    goto LAB_0;
+    fVar18 = (float)(uint)*(byte *)param_8;
+    goto LAB_3;
   case 2:
-    fVar20 = (float)(uint)*(ushort *)param_8;
-    goto LAB_0;
+    fVar18 = (float)(uint)*(ushort *)param_8;
+    goto LAB_3;
   case 3:
-    fVar20 = *param_8;
-LAB_0:
+    fVar18 = *param_8;
+LAB_3:
     pcVar16 = "%u";
-    goto LAB_1;
+LAB_4:
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)(param_3,(long)(int)param_4,pcVar16,fVar18);
+    break;
   case 4:
     uVar15 = *(undefined8 *)param_8;
-    puVar22 = &DAT_2;
-    goto LAB_3;
+    puVar20 = &DAT_5;
+    goto LAB_6;
   case 5:
     uVar15 = *(undefined8 *)param_8;
-    puVar22 = &DAT_4;
-    goto LAB_3;
+    puVar20 = &DAT_7;
+    goto LAB_6;
   case 6:
   case 0xd:
-    if ((0 < param_9) && (param_4 != 1)) {
-      uVar14 = 1;
-      do {
-        cVar21 = *(char *)((long)param_8 + (uVar14 - 1));
-        uVar23 = uVar14 & 0xffffffff;
-        if (0x5e < (byte)(cVar21 - 0x20U)) {
-          cVar21 = '.';
-        }
-        param_3[uVar14 - 1] = cVar21;
-      } while (((int)uVar14 < param_9) && (uVar14 = uVar14 + 1, uVar14 != (ulong)(param_4 - 2) + 2))
-      ;
-      goto LAB_5;
-    }
-LAB_6:
-    lVar13 = 0;
-    uVar23 = 0;
-    goto LAB_7;
+    if ((int)param_9 < 1) {
+      *param_3 = '\0';
+      sVar25 = 0;
+      goto LAB_1;
+    }
+    uVar14 = 1;
+    if (param_4 == 1) goto LAB_8;
+    do {
+      cVar19 = *(char *)((long)param_8 + (uVar14 - 1));
+      uVar12 = (uint)uVar14;
+      if (0x5e < (byte)(cVar19 - 0x20U)) {
+        cVar19 = '.';
+      }
+      param_3[uVar14 - 1] = cVar19;
+      if (param_9 == uVar14) {
+        param_3 = param_3 + (int)param_9;
+        goto LAB_9;
+      }
+      uVar14 = uVar14 + 1;
+    } while (param_4 != uVar14);
+LAB_10:
+    param_3 = param_3 + (int)uVar12;
+    goto LAB_9;
   case 7:
     uVar1 = *(undefined1 *)((long)param_8 + 7);
-    uVar2 = *(undefined1 *)param_8;
+    uVar2 = *(undefined1 *)((long)param_8 + 6);
+    uVar3 = *(undefined1 *)(param_8 + 1);
+    uVar4 = *(undefined1 *)((long)param_8 + 5);
+    uVar5 = *(undefined1 *)((long)param_8 + 3);
+    uVar6 = *(undefined1 *)param_8;
     pcVar16 = "%d.%d.%d.%d/%d.%d.%d.%d";
-    uVar3 = *(undefined1 *)((long)param_8 + 6);
-    uVar4 = *(undefined1 *)((long)param_8 + 5);
-    uVar5 = *(undefined1 *)(param_8 + 1);
-    uVar6 = *(undefined1 *)((long)param_8 + 3);
     uVar7 = *(undefined1 *)((long)param_8 + 2);
     uVar8 = *(undefined1 *)((long)param_8 + 1);
-    goto LAB_8;
+    goto LAB_11;
   case 8:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)
                        (param_3,(long)(int)param_4,"%.2x-%.2x-%.2x-%.2x-%.2x-%.2x",
                         *(undefined1 *)param_8,*(undefined1 *)((long)param_8 + 1),
                         *(undefined1 *)((long)param_8 + 2),*(undefined1 *)((long)param_8 + 3),
                         *(undefined1 *)(param_8 + 1),*(undefined1 *)((long)param_8 + 5));
-    uVar23 = (ulong)uVar12;
     break;
   case 9:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)
                        (param_3,(long)(int)param_4,"%u.%u.%u.%u",*(undefined1 *)param_8,
                         *(undefined1 *)((long)param_8 + 1),*(undefined1 *)((long)param_8 + 2),
                         *(undefined1 *)((long)param_8 + 3));
-    uVar23 = (ulong)uVar12;
     break;
   case 10:
-    uVar23 = qmdpi_worker_data_path_to_buffer(param_1,param_2,param_3,param_4,param_8);
-    return uVar23;
+    uVar14 = qmdpi_worker_data_path_to_buffer(param_1,param_2,param_3,param_4,param_8);
+    return uVar14;
   case 0xb:
-    uVar23 = *(ulong *)(param_8 + 2);
-    if (uVar23 != 0) {
-      iVar25 = 6;
-      if (uVar23 == (uVar23 / 10) * 10) {
+    uVar14 = *(ulong *)(param_8 + 2);
+    if (uVar14 == 0) {
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,(long)(int)param_4,&DAT_12,*(undefined8 *)param_8);
+    }
+    else {
+      iVar23 = 6;
+      if (uVar14 == (uVar14 / 10) * 10) {
         do {
-          iVar25 = iVar25 + -1;
-          uVar23 = uVar23 / 10;
-        } while (uVar23 == (uVar23 / 10) * 10);
-      }
-      uVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3,(long)(int)param_4,"%lu.%.*lu",*(undefined8 *)param_8,iVar25);
-      uVar23 = (ulong)uVar12;
-      break;
-    }
-    uVar15 = *(undefined8 *)param_8;
-    puVar22 = &DAT_9;
-    goto LAB_3;
+          iVar23 = iVar23 + -1;
+          uVar14 = uVar14 / 10;
+        } while (uVar14 == (uVar14 / 10) * 10);
+      }
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,(long)(int)param_4,"%lu.%.*lu",*(undefined8 *)param_8,iVar23);
+    }
+    break;
   case 0xc:
-    if (((int)*param_8 < 1) || (param_4 == 1)) goto LAB_6;
-    uVar14 = 1;
-    do {
-      cVar21 = *(char *)((long)param_8 + uVar14 + 3);
-      uVar23 = uVar14 & 0xffffffff;
-      if (0x5e < (byte)(cVar21 - 0x20U)) {
-        cVar21 = '.';
-      }
-      param_3[uVar14 - 1] = cVar21;
-    } while (((int)uVar14 < (int)*param_8) &&
-            (uVar14 = uVar14 + 1, (ulong)(param_4 - 2) + 2 != uVar14));
-LAB_5:
-    lVar13 = (long)(int)uVar23;
-LAB_7:
-    param_3[lVar13] = '\0';
+    if (0 < (int)*param_8) {
+      uVar14 = 1;
+      if (param_4 != 1) {
+        do {
+          cVar19 = *(char *)((long)param_8 + uVar14 + 3);
+          uVar12 = (uint)uVar14;
+          if (0x5e < (byte)(cVar19 - 0x20U)) {
+            cVar19 = '.';
+          }
+          param_3[uVar14 - 1] = cVar19;
+          if ((int)*param_8 <= (int)uVar12) {
+            param_3 = param_3 + (int)uVar12;
+            goto LAB_9;
+          }
+          uVar14 = uVar14 + 1;
+        } while (param_4 != uVar14);
+        goto LAB_10;
+      }
+    }
+LAB_8:
+    uVar12 = 0;
+LAB_9:
+    *param_3 = '\0';
     break;
   case 0xe:
-    cVar21 = *(char *)param_8;
-    fVar20 = (float)(int)cVar21;
-    pcVar16 = "%x";
-    if ((byte)(cVar21 - 0x21U) < 0x5e) {
-      *param_3 = cVar21;
-      uVar23 = 1;
-      break;
-    }
-    goto LAB_1;
+    cVar19 = *(char *)param_8;
+    fVar18 = (float)(int)cVar19;
+    if (0x5d < (byte)(cVar19 - 0x21U)) {
+      pcVar16 = "%x";
+      goto LAB_4;
+    }
+    *param_3 = cVar19;
+    uVar12 = 1;
+    break;
   case 0xf:
-    uVar12 = FUN_00198650(param_8,param_3,param_4);
-    uVar23 = (ulong)uVar12;
+    pcVar16 = inet_ntop(10,param_8,param_3,param_4);
+    if (pcVar16 == (char *)0x0) {
+      pcVar16 = "Unknown_IP6_addr";
+LAB_13:
+      strncpy(param_3,pcVar16,(long)(int)param_4);
+    }
+    sVar25 = strlen(param_3);
+    uVar12 = (uint)sVar25;
     break;
   case 0x10:
-    fVar20 = (float)(uint)*(ushort *)param_8;
+    fVar18 = (float)(uint)*(ushort *)param_8;
     pcVar16 = "%d";
-    goto LAB_1;
+    goto LAB_4;
   case 0x11:
-    fVar20 = param_8[1];
-    fVar19 = *param_8;
-    goto LAB_10;
+    fVar18 = *param_8;
+    fVar21 = param_8[1];
+    goto LAB_14;
   case 0x12:
-    fVar19 = (float)(uint)*(ushort *)param_8;
-    fVar20 = (float)(uint)*(ushort *)((long)param_8 + 2);
-LAB_10:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)(param_3,(long)(int)param_4,"%u..%u",fVar19,fVar20);
-    uVar23 = (ulong)uVar12;
+    fVar18 = (float)(uint)*(ushort *)param_8;
+    fVar21 = (float)(uint)*(ushort *)((long)param_8 + 2);
+LAB_14:
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)(param_3,(long)(int)param_4,"%u..%u",fVar18,fVar21);
     break;
   case 0x13:
     *param_3 = '\0';
-    uVar23 = 0;
+    uVar12 = 0;
     if ((uint)param_8[6] < 7) {
-      pcVar16 = (&PTR_DAT_11)[(int)param_8[6]];
-      sVar17 = strlen(pcVar16);
-      uVar12 = (uint)sVar17;
-      if ((int)param_4 < (int)(uint)sVar17) {
+      pcVar16 = (&PTR_DAT_15)[(int)param_8[6]];
+      sVar25 = strlen(pcVar16);
+      uVar12 = (uint)sVar25;
+      if ((int)param_4 <= (int)(uint)sVar25) {
         uVar12 = param_4;
       }
-      memcpy(param_3,pcVar16,(long)(int)uVar12);
-      if ((int)param_4 <= (int)uVar12) {
-        return (ulong)uVar12;
-      }
-      uVar23 = (ulong)(uVar12 + 1);
-      param_3[(int)uVar12] = ' ';
+      sVar25 = (size_t)(int)uVar12;
+      memcpy(param_3,pcVar16,sVar25);
+      if ((int)param_4 <= (int)uVar12) goto LAB_1;
+      param_3[sVar25] = ' ';
+      uVar12 = uVar12 + 1;
     }
     if ((int)param_8[3] - 1U < 0x1f) {
-      iVar26 = (int)uVar23;
-      iVar25 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3 + iVar26,(long)(int)(param_4 - iVar26),"%02d ");
-      if (iVar25 < 0) break;
-      uVar23 = (ulong)(uint)(iVar26 + iVar25);
+      iVar23 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3 + (int)uVar12,(long)(int)(param_4 - uVar12),"%02d ");
+      if (iVar23 < 0) break;
+      uVar12 = uVar12 + iVar23;
     }
     if ((uint)param_8[4] < 0xc) {
-      iVar26 = (int)uVar23;
-      pcVar16 = (&PTR_DAT_12)[(int)param_8[4]];
-      sVar17 = strlen(pcVar16);
-      iVar25 = param_4 - iVar26;
-      if ((int)sVar17 < (int)(param_4 - iVar26)) {
-        iVar25 = (int)sVar17;
-      }
-      memcpy(param_3 + iVar26,pcVar16,(long)iVar25);
-      uVar12 = iVar26 + iVar25;
-      if ((int)param_4 <= (int)uVar12) {
-        return (ulong)uVar12;
-      }
-      uVar23 = (ulong)(uVar12 + 1);
-      param_3[(int)uVar12] = ' ';
+      pcVar16 = (&PTR_DAT_16)[(int)param_8[4]];
+      sVar25 = strlen(pcVar16);
+      iVar23 = param_4 - uVar12;
+      if ((int)sVar25 < (int)(param_4 - uVar12)) {
+        iVar23 = (int)sVar25;
+      }
+      uVar24 = uVar12 + iVar23;
+      sVar25 = (size_t)uVar24;
+      memcpy(param_3 + (int)uVar12,pcVar16,(long)iVar23);
+      if ((int)param_4 <= (int)uVar24) goto LAB_1;
+      uVar12 = uVar24 + 1;
+      param_3[(int)uVar24] = ' ';
     }
     if (-1 < (int)param_8[5]) {
-      iVar26 = (int)uVar23;
-      iVar25 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3 + iVar26,(long)(int)(param_4 - iVar26),"%04d ");
-      if (iVar25 < 0) break;
-      uVar23 = (ulong)(uint)(iVar26 + iVar25);
+      iVar23 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3 + (int)uVar12,(long)(int)(param_4 - uVar12),"%04d ");
+      if (iVar23 < 0) break;
+      uVar12 = uVar12 + iVar23;
     }
     if ((uint)param_8[2] < 0x18) {
-      iVar26 = (int)uVar23;
-      iVar25 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3 + iVar26,(long)(int)(param_4 - iVar26),"%02dh");
-      if (iVar25 < 0) break;
-      uVar23 = (ulong)(uint)(iVar26 + iVar25);
+      iVar23 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3 + (int)uVar12,(long)(int)(param_4 - uVar12),"%02dh");
+      if (iVar23 < 0) break;
+      uVar12 = uVar12 + iVar23;
     }
     if ((uint)param_8[1] < 0x3c) {
-      iVar26 = (int)uVar23;
-      iVar25 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3 + iVar26,(long)(int)(param_4 - iVar26),"%02dm");
-      if (iVar25 < 0) break;
-      uVar23 = (ulong)(uint)(iVar26 + iVar25);
+      iVar23 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3 + (int)uVar12,(long)(int)(param_4 - uVar12),"%02dm");
+      if (iVar23 < 0) break;
+      uVar12 = uVar12 + iVar23;
     }
     if ((uint)*param_8 < 0x3c) {
-      iVar26 = (int)uVar23;
-      iVar25 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3 + iVar26,(long)(int)(param_4 - iVar26),"%02ds");
-      if (iVar25 < 0) break;
-      uVar23 = (ulong)(uint)(iVar26 + iVar25);
+      iVar23 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3 + (int)uVar12,(long)(int)(param_4 - uVar12),"%02ds");
+      if (iVar23 < 0) break;
+      uVar12 = uVar12 + iVar23;
     }
     if ((*param_3 != '\0') && (param_3[(long)(int)param_4 + -1] == ' ')) {
       param_3[(long)(int)param_4 + -1] = '\0';
     }
     break;
   case 0x14:
-    uVar12 = FUN_00198550(*param_8,param_3,param_4);
-    uVar23 = (ulong)uVar12;
+    uVar12 = FUN_0017a0c0(*param_8,param_3,param_4);
     break;
   case 0x15:
     pcVar16 = (char *)(**(code **)(param_2[1] + 0x68))(param_2[1],param_5,param_6,*param_8);
-    if (pcVar16 == (char *)0x0) {
-      return 0xffffffff;
-    }
-    sVar17 = strlen(pcVar16);
-    uVar12 = (uint)sVar17;
-    if ((int)param_4 < (int)(uint)sVar17) {
+    if (pcVar16 == (char *)0x0) goto LAB_0;
+    sVar25 = strlen(pcVar16);
+    uVar12 = (uint)sVar25;
+    if ((int)param_4 <= (int)(uint)sVar25) {
       uVar12 = param_4;
     }
     memcpy(param_3,pcVar16,(long)(int)uVar12);
-    uVar23 = (ulong)uVar12;
     break;
   case 0x16:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)((double)*param_8,param_3,(long)(int)param_4,"%6.3f");
-    uVar23 = (ulong)uVar12;
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)((double)*param_8,param_3,(long)(int)param_4,"%6.3f");
     break;
   case 0x17:
     uVar15 = qmdpi_worker_signature_get_byid(param_1,param_2,*param_8);
     pcVar16 = (char *)qmdpi_signature_name_get(uVar15);
-    uVar23 = 0;
-    if (pcVar16 != (char *)0x0) {
-      strncpy(param_3,pcVar16,(long)(int)param_4);
-      sVar17 = strlen(param_3);
-      uVar23 = sVar17 & 0xffffffff;
-    }
+    if (pcVar16 != (char *)0x0) goto LAB_13;
+LAB_2:
+    uVar12 = 0;
     break;
   default:
-    if (*(uint *)(param_2[1] + 4) < 0xd) {
-      return 0xffffffff;
-    }
-    if (*(long *)(param_2[1] + 0x150) == 0) {
-      return 0xffffffff;
-    }
-    puVar18 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    *(undefined8 *)(puVar18 + 2) = *param_2;
-    *(long *)(puVar18 + 4) = param_1;
+    if ((*(uint *)(param_2[1] + 4) < 0xd) || (*(long *)(param_2[1] + 0x150) == 0))
+    goto LAB_0;
+    puVar17 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    uVar15 = *param_2;
+    puVar17[2] = param_1;
+    puVar17[1] = uVar15;
     uVar15 = param_2[9];
-    *(undefined8 *)(puVar18 + 10) = 0;
-    *(undefined8 *)(puVar18 + 6) = uVar15;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      uVar11 = 0;
-    }
-    else {
+    puVar17[5] = 0;
+    puVar17[3] = uVar15;
+    uVar11 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
       uVar11 = *(undefined4 *)*param_2;
     }
-    *puVar18 = uVar11;
-    puVar18[1] = *(undefined4 *)(param_1 + 8);
+    *(undefined4 *)puVar17 = uVar11;
+    *(undefined4 *)((long)puVar17 + 4) = *(undefined4 *)(param_1 + 8);
     uVar12 = (**(code **)(param_2[1] + 0x150))(param_3,param_4,param_7,param_8,param_9);
-    uVar23 = (ulong)uVar12;
-    *(undefined8 *)(puVar18 + 2) = 0;
-    *(undefined8 *)(puVar18 + 4) = 0;
-    *(undefined8 *)(puVar18 + 6) = 0;
-    *(undefined8 *)(puVar18 + 10) = 0;
-    *puVar18 = 0;
-    puVar18[1] = 0;
-    break;
-  case 0x19:
-    *param_3 = '\0';
-    uVar23 = 0;
+    puVar17[5] = 0;
+    *puVar17 = 0;
+    puVar17[1] = 0;
+    puVar17[2] = 0;
+    puVar17[3] = 0;
+    *(undefined4 *)((long)puVar17 + 0x34) = 0xffffffff;
     break;
   case 0x1a:
     uVar1 = *(undefined1 *)((long)param_8 + 7);
-    uVar2 = *(undefined1 *)param_8;
+    uVar2 = *(undefined1 *)((long)param_8 + 6);
+    uVar3 = *(undefined1 *)(param_8 + 1);
+    uVar4 = *(undefined1 *)((long)param_8 + 5);
+    uVar5 = *(undefined1 *)((long)param_8 + 3);
+    uVar6 = *(undefined1 *)param_8;
     pcVar16 = "%d.%d.%d.%d..%d.%d.%d.%d";
-    uVar3 = *(undefined1 *)((long)param_8 + 6);
-    uVar4 = *(undefined1 *)((long)param_8 + 5);
-    uVar5 = *(undefined1 *)(param_8 + 1);
-    uVar6 = *(undefined1 *)((long)param_8 + 3);
     uVar7 = *(undefined1 *)((long)param_8 + 2);
     uVar8 = *(undefined1 *)((long)param_8 + 1);
-LAB_8:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)
-                       (param_3,(long)(int)param_4,pcVar16,uVar2,uVar8,uVar7,uVar6,uVar5,uVar4,uVar3
+LAB_11:
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_3,(long)(int)param_4,pcVar16,uVar6,uVar8,uVar7,uVar5,uVar3,uVar4,uVar2
                         ,uVar1);
-    uVar23 = (ulong)uVar12;
     break;
   case 0x1b:
+    bVar9 = *(byte *)((long)param_8 + 1);
     if (*(short *)((long)param_8 + 2) == 0) {
-      cVar21 = '?';
-      if (*(byte *)((long)param_8 + 1) < 4) {
-        cVar21 = (&DAT_13)[*(byte *)((long)param_8 + 1)];
-      }
-      cVar10 = '?';
+      iVar23 = 0x3f;
+      if (bVar9 < 4) {
+        iVar23 = (int)"NM?Y_strdup"[bVar9];
+      }
+      iVar10 = 0x3f;
       if (*(byte *)param_8 < 4) {
-        cVar10 = (&DAT_13)[*(byte *)param_8];
-      }
-      uVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3,(long)(int)param_4,&DAT_14,(int)cVar10,(int)cVar21);
-      uVar23 = (ulong)uVar12;
+        iVar10 = (int)"NM?Y_strdup"[*(byte *)param_8];
+      }
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,(long)(int)param_4,&DAT_17,iVar10,iVar23);
     }
     else {
-      cVar21 = '?';
-      if (*(byte *)((long)param_8 + 1) < 4) {
-        cVar21 = (&DAT_13)[*(byte *)((long)param_8 + 1)];
-      }
-      cVar10 = '?';
+      iVar23 = 0x3f;
+      if (bVar9 < 4) {
+        iVar23 = (int)"NM?Y_strdup"[bVar9];
+      }
+      iVar10 = 0x3f;
       if (*(byte *)param_8 < 4) {
-        cVar10 = (&DAT_13)[*(byte *)param_8];
-      }
-      uVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3,(long)(int)param_4,"%c/%c/%u",(int)cVar10,(int)cVar21,
+        iVar10 = (int)"NM?Y_strdup"[*(byte *)param_8];
+      }
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,(long)(int)param_4,"%c/%c/%u",iVar10,iVar23,
                           *(short *)((long)param_8 + 2));
-      uVar23 = (ulong)uVar12;
     }
     break;
   case 0x1c:
-    cVar21 = *(char *)(param_8 + 4);
-    if (cVar21 == '\x01') {
-      uVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3,(long)(int)param_4,"ended_before_final_node/%s/%u",
-                          *(undefined8 *)param_8,param_8[2]);
-      uVar23 = (ulong)uVar12;
-    }
-    else if (cVar21 == '\x02') {
-      uVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3,(long)(int)param_4,"transnode_buffer_full/%s/%u/%u",
-                          *(undefined8 *)param_8,param_8[3],param_8[2]);
-      uVar23 = (ulong)uVar12;
+    cVar19 = *(char *)(param_8 + 4);
+    lVar13 = (long)(int)param_4;
+    if (cVar19 == '\x01') {
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,lVar13,"ended_before_final_node/%s/%u",*(undefined8 *)param_8,
+                          param_8[2]);
+    }
+    else if (cVar19 == '\x02') {
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,lVar13,"transnode_buffer_full/%s/%u/%u",*(undefined8 *)param_8,
+                          param_8[3]);
     }
     else {
-      uVar12 = (*(code *)PTR_snprintf_001d3550)
-                         (param_3,(long)(int)param_4,"%d/%s/%u",cVar21,*(undefined8 *)param_8,
-                          param_8[2]);
-      uVar23 = (ulong)uVar12;
+      uVar12 = (*(code *)PTR_snprintf_001f78f0)
+                         (param_3,lVar13,"%d/%s/%u",cVar19,*(undefined8 *)param_8);
     }
     break;
   case 0x1d:
-    uVar12 = FUN_00198650(param_8,param_3,param_4);
-    if ((int)param_4 <= (int)uVar12) {
-      return (ulong)uVar12;
-    }
-    uVar24 = uVar12 + 1;
+    pcVar16 = inet_ntop(10,param_8,param_3,param_4);
+    if (pcVar16 == (char *)0x0) {
+      strncpy(param_3,"Unknown_IP6_addr",(long)(int)param_4);
+    }
+    sVar25 = strlen(param_3);
+    iVar23 = (int)sVar25;
+    sVar25 = sVar25 & 0xffffffff;
+    if ((int)param_4 <= iVar23) goto LAB_1;
+    uVar12 = iVar23 + 1;
+    param_3[iVar23] = '.';
+    sVar25 = (size_t)uVar12;
+    if ((int)param_4 <= (int)uVar12) goto LAB_1;
+    iVar23 = iVar23 + 2;
     param_3[(int)uVar12] = '.';
-    if ((int)param_4 <= (int)uVar24) {
-      return (ulong)uVar24;
-    }
-    iVar26 = uVar12 + 2;
-    param_3[(int)uVar24] = '.';
-    iVar25 = FUN_00198650(param_8 + 4,param_3 + iVar26,param_4 - iVar26);
-    uVar23 = (ulong)(uint)(iVar26 + iVar25);
+    param_3 = param_3 + iVar23;
+    pcVar16 = inet_ntop(10,param_8 + 4,param_3,param_4 - iVar23);
+    if (pcVar16 == (char *)0x0) {
+      strncpy(param_3,"Unknown_IP6_addr",(long)(int)(param_4 - iVar23));
+    }
+    sVar25 = strlen(param_3);
+    uVar12 = iVar23 + (int)sVar25;
     break;
   case 0x1e:
     uVar15 = *(undefined8 *)param_8;
-    puVar22 = &DAT_15;
-LAB_3:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)(param_3,(long)(int)param_4,puVar22,uVar15);
-    uVar23 = (ulong)uVar12;
+    puVar20 = &DAT_18;
+LAB_6:
+    uVar12 = (*(code *)PTR_snprintf_001f78f0)(param_3,(long)(int)param_4,puVar20,uVar15);
     break;
   case 0x1f:
-    fVar20 = *param_8;
+    fVar18 = *param_8;
     pcVar16 = "%d";
-LAB_1:
-    uVar12 = (*(code *)PTR_snprintf_001d3550)(param_3,(long)(int)param_4,pcVar16,fVar20);
-    uVar23 = (ulong)uVar12;
-    break;
+    goto LAB_4;
   case 0x20:
-    local_58 = param_8 + 5;
     *param_3 = '[';
-    uVar23 = 1;
-    do {
-      iVar25 = (int)uVar23;
-      if (((int)param_4 <= iVar25) || (*local_58 == 0.0)) break;
-      uVar15 = qmdpi_worker_signature_get_byid(param_1,param_2);
-      pcVar16 = (char *)qmdpi_signature_name_get(uVar15);
-      lVar13 = (long)iVar25;
-      if (pcVar16 == (char *)0x0) goto LAB_16;
-      if (1 < iVar25) {
-        iVar25 = iVar25 + 1;
-        param_3[lVar13] = ',';
-      }
-      sVar17 = strlen(pcVar16);
-      iVar26 = param_4 - iVar25;
-      if ((int)sVar17 < (int)(param_4 - iVar25)) {
-        iVar26 = (int)sVar17;
-      }
-      memcpy(param_3 + iVar25,pcVar16,(long)iVar26);
-      local_58 = local_58 + 1;
-      uVar23 = (ulong)(uint)(iVar26 + iVar25);
-    } while (param_8 + 0x15 != local_58);
-    iVar25 = (int)uVar23;
-    if ((int)param_4 <= iVar25) {
-      return uVar23;
-    }
-LAB_16:
-    uVar12 = iVar25 + 1;
-    param_3[iVar25] = ']';
+    if ((int)param_4 < 2 || param_8[5] == 0.0) {
+      sVar25 = 1;
+    }
+    else {
+      pfVar22 = param_8 + 6;
+      sVar25 = 1;
+      while( true ) {
+        iVar23 = (int)sVar25;
+        uVar15 = qmdpi_worker_signature_get_byid(param_1,param_2);
+        pcVar16 = (char *)qmdpi_signature_name_get(uVar15);
+        if (pcVar16 == (char *)0x0) break;
+        if (1 < iVar23) {
+          lVar13 = (long)iVar23;
+          iVar23 = iVar23 + 1;
+          param_3[lVar13] = ',';
+        }
+        sVar25 = strlen(pcVar16);
+        iVar10 = param_4 - iVar23;
+        if ((int)sVar25 < (int)(param_4 - iVar23)) {
+          iVar10 = (int)sVar25;
+        }
+        memcpy(param_3 + iVar23,pcVar16,(long)iVar10);
+        sVar25 = (size_t)(uint)(iVar23 + iVar10);
+        if ((param_8 + 0x15 == pfVar22) ||
+           (fVar18 = *pfVar22, pfVar22 = pfVar22 + 1,
+           (int)param_4 <= iVar23 + iVar10 || fVar18 == 0.0)) break;
+      }
+    }
+    iVar23 = (int)sVar25;
+    if ((int)param_4 <= iVar23) goto LAB_1;
+    uVar12 = iVar23 + 1;
+    param_3[iVar23] = ']';
     uVar15 = qmdpi_worker_signature_get_byid(param_1,param_2,param_8[0x15]);
     pcVar16 = (char *)qmdpi_signature_name_get(uVar15);
     if (pcVar16 != (char *)0x0) {
-      sVar17 = strlen(pcVar16);
-      iVar25 = param_4 - uVar12;
-      if ((int)sVar17 < (int)(param_4 - uVar12)) {
-        iVar25 = (int)sVar17;
-      }
-      memcpy(param_3 + (int)uVar12,pcVar16,(long)iVar25);
-      uVar12 = uVar12 + iVar25;
-    }
-    if ((int)param_4 <= (int)uVar12) {
-      return (ulong)uVar12;
-    }
+      sVar25 = strlen(pcVar16);
+      lVar13 = (long)(int)uVar12;
+      iVar23 = param_4 - uVar12;
+      if ((int)sVar25 < (int)(param_4 - uVar12)) {
+        iVar23 = (int)sVar25;
+      }
+      uVar12 = uVar12 + iVar23;
+      memcpy(param_3 + lVar13,pcVar16,(long)iVar23);
+    }
+    sVar25 = (size_t)uVar12;
+    if ((int)param_4 <= (int)uVar12) goto LAB_1;
     uVar24 = uVar12 + 1;
+    sVar25 = (size_t)uVar24;
     param_3[(int)uVar12] = '/';
     if (*(char *)param_8 == '\x01') {
-      iVar25 = (*(code *)PTR_snprintf_001d3550)
+      iVar23 = (*(code *)PTR_snprintf_001f78f0)
                          (param_3 + (int)uVar24,(long)(int)(param_4 - uVar24),"%d.%d.%d.%d",
                           *(undefined1 *)(param_8 + 1),*(undefined1 *)((long)param_8 + 5),
                           *(undefined1 *)((long)param_8 + 6),*(undefined1 *)((long)param_8 + 7));
-      iVar25 = uVar24 + iVar25;
+      iVar23 = uVar24 + iVar23;
     }
     else {
-      if ((*(char *)param_8 != '\x02') || ((int)param_4 <= (int)uVar24)) {
-        return (ulong)uVar24;
-      }
-      iVar26 = uVar12 + 2;
+      if ((*(char *)param_8 != '\x02') || ((int)param_4 <= (int)uVar24)) goto LAB_1;
+      iVar23 = uVar12 + 2;
       param_3[(int)uVar24] = '[';
-      iVar25 = FUN_00198650(param_8 + 1,param_3 + iVar26,param_4 - iVar26);
-      uVar12 = iVar26 + iVar25;
-      if ((int)param_4 <= (int)uVar12) {
-        return (ulong)uVar12;
-      }
-      iVar25 = uVar12 + 1;
+      __buf = param_3 + iVar23;
+      pcVar16 = inet_ntop(10,param_8 + 1,__buf,param_4 - iVar23);
+      if (pcVar16 == (char *)0x0) {
+        strncpy(__buf,"Unknown_IP6_addr",(long)(int)(param_4 - iVar23));
+      }
+      sVar25 = strlen(__buf);
+      uVar12 = iVar23 + (int)sVar25;
+      sVar25 = (size_t)uVar12;
+      if ((int)param_4 <= (int)uVar12) goto LAB_1;
+      iVar23 = uVar12 + 1;
       param_3[(int)uVar12] = ']';
     }
-    iVar26 = (*(code *)PTR_snprintf_001d3550)
-                       (param_3 + iVar25,(long)(int)(param_4 - iVar25),&DAT_17,
+    iVar10 = (*(code *)PTR_snprintf_001f78f0)
+                       (param_3 + iVar23,(long)(int)(param_4 - iVar23),&DAT_19,
                         *(undefined2 *)(param_8 + 0x16));
-    uVar23 = (ulong)(uint)(iVar25 + iVar26);
+    uVar12 = iVar23 + iVar10;
   }
-  if (((int)param_4 < (int)uVar23) || ((int)param_4 < param_9)) {
-    uVar23 = 0xffffffe5;
+  if ((int)param_9 <= (int)uVar12) {
+    param_9 = uVar12;
   }
-  return uVar23;
+  sVar25 = (size_t)uVar12;
+  if ((int)param_4 < (int)param_9) {
+    sVar25 = 0xffffffe5;
+  }
+LAB_1:
+  return sVar25 & 0xffffffff;
 }
 

qmdpi_worker_signature_family_get_byid

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.42
i_ratio 0.52
m_ratio 0.96
b_ratio 0.88
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_signature_family_get_byid qmdpi_worker_signature_family_get_byid
fullname qmdpi_worker_signature_family_get_byid qmdpi_worker_signature_family_get_byid
refcount 3 3
length 252 229
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 0018b850 00183d60
sig undefined qmdpi_worker_signature_family_get_byid(void) undefined qmdpi_worker_signature_family_get_byid(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_signature_family_get_byid Called Diff

--- qmdpi_worker_signature_family_get_byid called
+++ qmdpi_worker_signature_family_get_byid called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_worker_signature_family_get_byid Diff

--- qmdpi_worker_signature_family_get_byid
+++ qmdpi_worker_signature_family_get_byid
@@ -1,57 +1,56 @@
 
 undefined8
 qmdpi_worker_signature_family_get_byid(long param_1,undefined8 *param_2,undefined4 param_3)
 
 {
   undefined4 uVar1;
-  undefined4 *puVar2;
+  undefined8 *puVar2;
   long lVar3;
   undefined8 uVar4;
-  undefined8 local_68;
-  undefined4 local_60;
+  undefined8 local_78;
+  undefined4 local_70;
   
-  if (param_2 != (undefined8 *)0x0) {
-    local_68 = 0;
-    local_60 = param_3;
-    puVar2 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (param_2 == (undefined8 *)0x0) {
+    lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
+    uVar4 = 0;
+  }
+  else {
+    local_78 = 0;
+    local_70 = param_3;
+    puVar2 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar4 = *param_2;
-    *(long *)(puVar2 + 4) = param_1;
-    *(undefined8 *)(puVar2 + 2) = uVar4;
+    puVar2[2] = param_1;
+    puVar2[1] = uVar4;
     uVar4 = param_2[9];
-    *(undefined8 *)(puVar2 + 10) = 0;
-    *(undefined8 *)(puVar2 + 6) = uVar4;
-    if ((undefined4 *)*param_2 == (undefined4 *)0x0) {
-      *puVar2 = 0;
+    puVar2[5] = 0;
+    puVar2[3] = uVar4;
+    uVar1 = 0;
+    if ((undefined4 *)*param_2 != (undefined4 *)0x0) {
+      uVar1 = *(undefined4 *)*param_2;
     }
-    else {
-      *puVar2 = *(undefined4 *)*param_2;
-    }
-    if (param_1 == 0) {
-      uVar1 = 0;
-    }
-    else {
+    *(undefined4 *)puVar2 = uVar1;
+    uVar1 = 0;
+    if (param_1 != 0) {
       uVar1 = *(undefined4 *)(param_1 + 8);
     }
-    puVar2[1] = uVar1;
-    lVar3 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_68);
-    *(undefined8 *)(puVar2 + 2) = 0;
-    *(undefined8 *)(puVar2 + 4) = 0;
-    *(undefined8 *)(puVar2 + 6) = 0;
-    *(undefined8 *)(puVar2 + 10) = 0;
+    *(undefined4 *)((long)puVar2 + 4) = uVar1;
+    lVar3 = (**(code **)(param_2[1] + 0xb8))(param_2[9],&local_78);
+    puVar2[5] = 0;
     *puVar2 = 0;
     puVar2[1] = 0;
+    puVar2[2] = 0;
+    puVar2[3] = 0;
+    *(undefined4 *)((long)puVar2 + 0x34) = 0xffffffff;
     if (lVar3 == 0) {
-      lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+      lVar3 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
       *(undefined4 *)(lVar3 + 0x30) = 0xfffffff8;
       uVar4 = 0;
     }
     else {
       uVar4 = *(undefined8 *)(lVar3 + 0x18);
     }
-    return uVar4;
   }
-  lVar3 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-  *(undefined4 *)(lVar3 + 0x30) = 0xffffffff;
-  return 0;
+  return uVar4;
 }
 

qmdpi_error_get_string

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.82
i_ratio 0.32
m_ratio 0.99
b_ratio 0.59
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_error_get_string qmdpi_error_get_string
fullname qmdpi_error_get_string qmdpi_error_get_string
refcount 3 3
length 393 384
called thunk_FUN_00181e30 thunk_FUN_00173540
calling
paramcount 0 0
address 001870e0 0017ee10
sig undefined qmdpi_error_get_string(void) undefined qmdpi_error_get_string(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_error_get_string Called Diff

--- qmdpi_error_get_string called
+++ qmdpi_error_get_string called
@@ -1 +1 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_error_get_string Diff

--- qmdpi_error_get_string
+++ qmdpi_error_get_string
@@ -1,87 +1,85 @@
 
 char * qmdpi_error_get_string(undefined8 *param_1,undefined4 param_2)
 
 {
   undefined8 uVar1;
   undefined4 uVar2;
   char *pcVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   
   switch(param_2) {
   case 0:
     return "success";
   case 0xffffffe0:
     return "rule does not exist";
   case 0xffffffe1:
     return "data not available";
   case 0xffffffe2:
     return "flow could not be created";
   case 0xffffffe3:
     return "invalid bundle version";
   case 0xffffffe4:
     return "module not initialized";
   case 0xffffffe5:
     return "value too large";
   case 0xffffffe6:
     return "arena not defined";
   case 0xffffffe7:
     return "bad bundle provided";
   case 0xffffffe8:
     return "bundle can\'t be swapped";
   case 0xffffffe9:
     return "generic bundle initialization error";
   case 0xffffffea:
     return "bundle already used";
   case 0xffffffeb:
     return "ubundle_get call error";
   case 0xffffffec:
     return "ubundle_get symbol not found";
   case 0xffffffed:
     return "generic bundle loading error";
   case 0xffffffee:
     return "default bundle already loaded";
   case 0xffffffef:
     return "default bundle not available";
   case 0xfffffff1:
     return "permission denied";
   case 0xfffffff8:
     return "entry does not exists";
   case 0xfffffff9:
     return "entry already exists";
   case 0xfffffffa:
     return "device or resource busy";
   case 0xfffffffb:
     return "out of memory";
   case 0xfffffffe:
     return "function not implemented";
   case 0xffffffff:
     return "invalid param";
   }
   pcVar3 = "unknown";
   if (param_1 != (undefined8 *)0x0) {
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     uVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 2) = uVar1;
+    puVar4[2] = 0;
+    puVar4[1] = uVar1;
     uVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(undefined8 *)(puVar4 + 6) = uVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar2 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = uVar1;
+    uVar2 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar2 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar2;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar2;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     pcVar3 = (char *)(**(code **)(param_1[1] + 0x60))(param_2);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
   }
   return pcVar3;
 }
 

qmdpi_flow_expire_next

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.17
i_ratio 0.11
m_ratio 0.94
b_ratio 0.1
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_flow_expire_next qmdpi_flow_expire_next
fullname qmdpi_flow_expire_next qmdpi_flow_expire_next
refcount 3 3
length 1669 1841
called
Expand for full list:
::pthread_spin_lock
::pthread_spin_unlock
FUN_001669d0
FUN_001670c0
FUN_00169b50
FUN_00169c00
FUN_00174bf0
FUN_001886a0
FUN_0019a4e0
qm_free_default
thunk_FUN_00181e30
Expand for full list:
::pthread_spin_lock
::pthread_spin_unlock
FUN_001795c0
FUN_00180b40
FUN_00192e80
FUN_001938d0
FUN_00197420
FUN_0019bef0
FUN_0019bfa0
qm_free_default
thunk_FUN_00173540
calling
paramcount 0 0
address 0017f3f0 001a65f0
sig undefined qmdpi_flow_expire_next(void) undefined qmdpi_flow_expire_next(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_flow_expire_next Called Diff

--- qmdpi_flow_expire_next called
+++ qmdpi_flow_expire_next called
@@ -3,7 +3,7 @@
-FUN_001669d0
-FUN_001670c0
-FUN_00169b50
-FUN_00169c00
-FUN_00174bf0
-FUN_001886a0
-FUN_0019a4e0
+FUN_001795c0
+FUN_00180b40
+FUN_00192e80
+FUN_001938d0
+FUN_00197420
+FUN_0019bef0
+FUN_0019bfa0
@@ -11 +11 @@
-thunk_FUN_00181e30
+thunk_FUN_00173540

qmdpi_flow_expire_next Diff

--- qmdpi_flow_expire_next
+++ qmdpi_flow_expire_next
@@ -1,276 +1,304 @@
 
-undefined8 qmdpi_flow_expire_next(long *param_1,ulong *param_2,undefined8 *param_3)
+int qmdpi_flow_expire_next(long *param_1,ulong *param_2,long *param_3)
 
 {
   uint *puVar1;
-  uint uVar2;
-  long lVar3;
-  uint *puVar4;
-  ulong uVar5;
-  long *plVar6;
-  bool bVar7;
-  undefined4 uVar8;
-  int iVar9;
-  undefined4 *puVar10;
+  uint *puVar2;
+  uint *puVar3;
+  ulong uVar4;
+  long *plVar5;
+  bool bVar6;
+  undefined4 uVar7;
+  int iVar8;
+  uint uVar9;
+  undefined8 *puVar10;
   long lVar11;
-  uint *puVar12;
-  undefined8 uVar13;
-  long lVar14;
-  uint uVar15;
-  long *plVar16;
-  uint uVar17;
+  long lVar12;
+  uint uVar13;
+  uint uVar14;
+  long lVar15;
+  uint uVar16;
+  byte bVar17;
   uint uVar18;
   ulong uVar19;
-  uint local_80;
+  long *plVar20;
+  bool bVar21;
+  long local_70;
   long local_58;
   long local_50;
   long local_48;
   long local_40;
   
-  if (param_1 == (long *)0x0) {
-    return 0xffffffff;
-  }
-  if (*param_1 == 0) {
-    return 0xffffffff;
-  }
-  if (*(char *)(*param_1 + 0x310) != '\0') {
-    return 0xffffffff;
-  }
-  puVar10 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+  if (((param_1 == (long *)0x0) || (*param_1 == 0)) || (*(char *)(*param_1 + 0x310) != '\0')) {
+    return -1;
+  }
+  puVar10 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
   lVar11 = *param_1;
-  *(long **)(puVar10 + 4) = param_1;
-  *(undefined8 *)(puVar10 + 6) = 0;
-  *(undefined8 *)(puVar10 + 10) = 0;
-  *(long *)(puVar10 + 2) = lVar11;
-  if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-    uVar8 = 0;
-  }
-  else {
-    uVar8 = *(undefined4 *)*param_1;
-  }
-  *puVar10 = uVar8;
-  puVar10[1] = (int)param_1[1];
+  puVar10[2] = param_1;
+  puVar10[1] = lVar11;
+  uVar7 = 0;
+  puVar10[3] = 0;
+  puVar10[5] = 0;
+  if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
+    uVar7 = *(undefined4 *)*param_1;
+  }
+  *(undefined4 *)puVar10 = uVar7;
+  *(int *)((long)puVar10 + 4) = (int)param_1[1];
   if (param_1[0x26] != 0) {
-    FUN_00169c00(param_1);
+    FUN_0019bfa0(param_1);
     param_1[0x26] = 0;
   }
   if (param_1[0x25] != 0) {
-    FUN_00169b50(param_1,param_1[0x25],1);
+    FUN_0019bef0(param_1,param_1[0x25],1);
     param_1[0x25] = 0;
   }
   if (param_1[0x23] != 0) {
-    (*(code *)PTR_qm_free_default_001d3560)(param_1[0x23],0xff000003,0x34);
+    (*(code *)PTR_qm_free_default_001f7900)(param_1[0x23],0xff000003,0x34);
     param_1[0x23] = 0;
   }
   if (param_1[0x24] != 0) {
-    (*(code *)PTR_qm_free_default_001d3560)(param_1[0x24],0xff000003,0x3f);
+    (*(code *)PTR_qm_free_default_001f7900)(param_1[0x24],0xff000003,0x3f);
     param_1[0x24] = 0;
   }
   if (param_1[0x27] != 0) {
-    lVar11 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    lVar11 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     if (lVar11 != 0) {
       *(undefined8 *)(lVar11 + 0x18) = *(undefined8 *)(param_1[0x27] + 0x48);
     }
-    FUN_001886a0(param_1[0x27]);
+    FUN_00180b40(param_1[0x27]);
     param_1[0x27] = 0;
   }
-  lVar11 = param_1[2];
-  lVar14 = *param_1;
-  param_1[3] = 0;
-  param_1[4] = 0;
-  param_1[5] = 0;
-  param_1[6] = 0;
+  lVar11 = *param_1;
+  lVar12 = param_1[2];
+  lVar15 = 0;
   param_1[7] = 0;
-  FUN_0019a4e0(*(undefined8 *)(lVar11 + 0x30));
-  lVar3 = *(long *)(lVar11 + 0x20);
-  *(byte *)(lVar3 + 0x2f) = *(byte *)(lVar3 + 0x2f) & 0xe4;
-  *(byte *)(lVar3 + 0x48) = *(byte *)(lVar3 + 0x48) & 0xfe;
-  *(undefined8 *)(lVar3 + 0x20) = 0;
-  *(undefined1 *)(lVar3 + 0x29) = 0;
-  *(undefined1 *)(lVar3 + 0x2c) = 0;
-  *(undefined1 *)(lVar3 + 0x2d) = 0;
-  *(undefined1 *)(lVar3 + 0x2e) = 0;
-  *(undefined1 *)(lVar3 + 0x28) = 0xe0;
-  *(undefined2 *)(lVar3 + 0x2a) = 0;
-  *(undefined8 *)(lVar3 + 0x40) = 0;
-  *(undefined1 *)(lVar3 + 0x3e) = 0;
-  *(undefined8 *)(lVar3 + 0x50) = 0;
-  if ((*(long *)(lVar14 + 0x268) == 0) || (*(int *)(lVar14 + 0x4c0) == 0)) {
+  local_70 = param_1[0x33];
+  *(undefined1 (*) [16])(param_1 + 3) = (undefined1  [16])0x0;
+  *(undefined1 (*) [16])(param_1 + 5) = (undefined1  [16])0x0;
+  if (local_70 != 0) {
+    local_70 = *(long *)(local_70 + 8);
+    *(undefined4 *)(local_70 + 0x30) = 0;
+    lVar15 = param_1[0x33];
+  }
+  FUN_001795c0(*(undefined8 *)(lVar12 + 0x30),lVar15);
+  lVar15 = *(long *)(lVar12 + 0x20);
+  *(byte *)(lVar15 + 0x48) = *(byte *)(lVar15 + 0x48) & 0xfe;
+  *(undefined8 *)(lVar15 + 0x20) = 0;
+  *(ulong *)(lVar15 + 0x28) =
+       CONCAT71((uint7)((ulong)*(undefined8 *)(lVar15 + 0x28) >> 8) & 0xe4000000000000,0xe0);
+  *(undefined8 *)(lVar15 + 0x40) = 0;
+  *(undefined1 *)(lVar15 + 0x3e) = 0;
+  *(undefined8 *)(lVar15 + 0x50) = 0;
+  if ((*(long *)(lVar11 + 0x268) == 0) || (*(int *)(lVar11 + 0x580) == 0)) {
     if (param_2 == (ulong *)0x0) {
-      uVar13 = FUN_001670c0(param_1,lVar11);
-      goto LAB_0;
-    }
-    if (*(long *)(lVar14 + 0x270) != 0) {
-      FUN_00174bf0(&local_58);
-    }
-    puVar4 = *(uint **)(lVar11 + 0x18);
-    uVar5 = *param_2;
-    local_80 = *puVar4;
-    uVar17 = (uint)uVar5;
-    if (puVar4[1] < uVar17) {
-      uVar18 = puVar4[2];
-      uVar15 = uVar17 - puVar4[1];
-      if (local_80 < uVar15) {
-        uVar15 = local_80;
-      }
-      for (; uVar15 != 0; uVar15 = uVar15 - 1) {
-        uVar18 = uVar18 & local_80 - 1;
-        puVar1 = puVar4 + (ulong)uVar18 * 2 + 0x22;
-        bVar7 = false;
-        plVar6 = *(long **)puVar1;
-        while ((plVar16 = plVar6, plVar16 != (long *)0x0 && (!bVar7))) {
-          plVar6 = (long *)*plVar16;
-          if (uVar17 < (*(ushort *)((long)plVar16 + 0x14) & 0x1fff) + (int)plVar16[2]) {
-            bVar7 = false;
-            if ((*(byte *)((long)plVar16 + 0x16) & 1) != 0) {
-              *(byte *)((long)plVar16 + 0x16) = *(byte *)((long)plVar16 + 0x16) & 0xfe;
-              if (plVar6 == (long *)0x0) {
-                lVar11 = 0;
+      iVar8 = FUN_001938d0(param_1,lVar12);
+    }
+    else {
+      if (*(long *)(lVar11 + 0x270) != 0) {
+        FUN_00197420(&local_58);
+      }
+      puVar3 = *(uint **)(lVar12 + 0x18);
+      uVar13 = *puVar3;
+      uVar4 = *param_2;
+      uVar9 = (uint)uVar4;
+      uVar16 = uVar13 - 1;
+      if (puVar3[1] < uVar9) {
+        uVar18 = puVar3[2];
+        uVar14 = uVar9 - puVar3[1];
+        if (uVar14 < uVar13) {
+          uVar13 = uVar14;
+        }
+        if (uVar13 == 0) {
+          puVar3[1] = uVar9;
+          puVar3[2] = (uVar9 & uVar16) + 1;
+          lVar12 = *(long *)(lVar11 + 0x270);
+        }
+        else {
+          do {
+            puVar1 = puVar3 + (ulong)(uVar18 & uVar16) * 2 + 0x22;
+            plVar20 = *(long **)puVar1;
+            if (plVar20 != (long *)0x0) {
+              do {
+                plVar5 = (long *)*plVar20;
+                bVar17 = *(byte *)((long)plVar20 + 0x16);
+                if ((bVar17 & 0x1f) < 0x10) {
+                  if (uVar9 < (*(ushort *)((long)plVar20 + 0x14) & 0x1fff) + (int)plVar20[2]) {
+                    if ((bVar17 & 1) != 0) {
+                      lVar12 = 0;
+                      *(byte *)((long)plVar20 + 0x16) = bVar17 & 0xfe;
+                      if (plVar5 != (long *)0x0) {
+                        plVar5[1] = plVar20[1];
+                        lVar12 = *plVar20;
+                      }
+                      *(long *)plVar20[1] = lVar12;
+                      uVar14 = *puVar3;
+                      *(byte *)((long)plVar20 + 0x16) = *(byte *)((long)plVar20 + 0x16) | 8;
+                      puVar2 = puVar3 + (ulong)((*(ushort *)((long)plVar20 + 0x14) & 0x1fff) +
+                                                (int)plVar20[2] & uVar14 - 1) * 2 + 0x22;
+                      lVar12 = *(long *)puVar2;
+                      *plVar20 = lVar12;
+                      if (lVar12 != 0) {
+                        *(long **)(lVar12 + 8) = plVar20;
+                      }
+                      *(long **)puVar2 = plVar20;
+                      plVar20[1] = (long)puVar2;
+                    }
+                    goto LAB_0;
+                  }
+                  lVar12 = 0;
+                  if (plVar5 != (long *)0x0) {
+                    plVar5[1] = plVar20[1];
+                    lVar12 = *plVar20;
+                  }
+                  *(long *)plVar20[1] = lVar12;
+                  bVar17 = *(byte *)((long)plVar20 + 0x15) >> 5;
+                  if (*(char *)((long)plVar20 + 0x16) < '\0') {
+                    (**(code **)(puVar3 + (ulong)bVar17 * 6 + 6))
+                              (param_1,plVar20,*(undefined8 *)(puVar3 + (ulong)bVar17 * 6 + 8));
+                    goto LAB_0;
+                  }
+                  uVar19 = (ulong)bVar17;
+                  if (*(code **)(puVar3 + uVar19 * 6 + 4) != (code *)0x0) {
+                    iVar8 = (**(code **)(puVar3 + uVar19 * 6 + 4))
+                                      (param_1,plVar20,uVar4 & 0xffffffff,
+                                       *(undefined8 *)(puVar3 + uVar19 * 6 + 8));
+                    if (iVar8 == 1) {
+LAB_1:
+                      if (plVar5 == (long *)0x0) {
+                        lVar12 = *(long *)puVar1;
+                        *plVar20 = lVar12;
+                        if (lVar12 != 0) {
+                          *(long **)(lVar12 + 8) = plVar20;
+                        }
+                        *(long **)puVar1 = plVar20;
+                        plVar20[1] = (long)puVar1;
+                      }
+                      else {
+                        lVar12 = plVar5[1];
+                        *plVar20 = (long)plVar5;
+                        plVar20[1] = lVar12;
+                        *(long **)plVar5[1] = plVar20;
+                        plVar5[1] = (long)plVar20;
+                      }
+                    }
+                    else {
+                      if (iVar8 < 1) goto LAB_2;
+                      uVar13 = *puVar3;
+                      *(byte *)((long)plVar20 + 0x16) = *(byte *)((long)plVar20 + 0x16) | 8;
+                      puVar3 = puVar3 + (ulong)((*(ushort *)((long)plVar20 + 0x14) & 0x1fff) +
+                                                (int)plVar20[2] & uVar13 - 1) * 2 + 0x22;
+                      lVar12 = *(long *)puVar3;
+                      *plVar20 = lVar12;
+                      if (lVar12 != 0) {
+                        *(long **)(lVar12 + 8) = plVar20;
+                      }
+                      *(long **)puVar3 = plVar20;
+                      plVar20[1] = (long)puVar3;
+                    }
+                    goto LAB_3;
+                  }
+LAB_2:
+                  iVar8 = (**(code **)(puVar3 + uVar19 * 6 + 6))
+                                    (param_1,plVar20,*(undefined8 *)(puVar3 + uVar19 * 6 + 8));
+                  if (iVar8 == 1) goto LAB_1;
+                  bVar21 = iVar8 == -1;
+                  bVar6 = !bVar21;
+                }
+                else {
+LAB_0:
+                  bVar21 = true;
+                  bVar6 = false;
+                }
+                plVar20 = plVar5;
+              } while ((bool)(plVar5 != (long *)0x0 & bVar21));
+              if (bVar6) {
+LAB_3:
+                if ((*(long *)(lVar11 + 0x270) == 0) || (*(long *)(lVar11 + 0x5f0) == 0)) {
+                  iVar8 = 0;
+                  goto LAB_4;
+                }
+                iVar8 = 0;
+                goto LAB_5;
               }
-              else {
-                plVar6[1] = plVar16[1];
-                lVar11 = *plVar16;
-              }
-              *(long *)plVar16[1] = lVar11;
-              uVar2 = *puVar4;
-              *(byte *)((long)plVar16 + 0x16) = *(byte *)((long)plVar16 + 0x16) | 8;
-              puVar12 = puVar4 + (ulong)((*(ushort *)((long)plVar16 + 0x14) & 0x1fff) +
-                                         (int)plVar16[2] & uVar2 - 1) * 2 + 0x22;
-              lVar11 = *(long *)puVar12;
-              *plVar16 = lVar11;
-              if (lVar11 != 0) {
-                *(long **)(*(long *)puVar12 + 8) = plVar16;
-              }
-              *(long **)puVar12 = plVar16;
-              plVar16[1] = (long)puVar12;
-              bVar7 = false;
             }
-          }
-          else {
-            if (plVar6 == (long *)0x0) {
-              lVar11 = 0;
-            }
-            else {
-              plVar6[1] = plVar16[1];
-              lVar11 = *plVar16;
-            }
-            *(long *)plVar16[1] = lVar11;
-            uVar19 = (ulong)(*(byte *)((long)plVar16 + 0x15) >> 5);
-            if (*(code **)(puVar4 + uVar19 * 6 + 4) == (code *)0x0) {
-LAB_1:
-              iVar9 = (**(code **)(puVar4 + uVar19 * 6 + 6))
-                                (param_1,plVar16,*(undefined8 *)(puVar4 + uVar19 * 6 + 8));
-              if (iVar9 == 1) {
-LAB_2:
-                if (plVar6 == (long *)0x0) {
-                  lVar11 = *(long *)puVar1;
-                  *plVar16 = lVar11;
-                  puVar12 = puVar1;
-                  if (lVar11 != 0) {
-                    *(long **)(*(long *)puVar1 + 8) = plVar16;
-                  }
-                  goto LAB_3;
-                }
-                lVar11 = plVar6[1];
-                *plVar16 = (long)plVar6;
-                plVar16[1] = lVar11;
-                *(long **)plVar6[1] = plVar16;
-                plVar6[1] = (long)plVar16;
-              }
-              bVar7 = true;
-            }
-            else {
-              iVar9 = (**(code **)(puVar4 + uVar19 * 6 + 4))
-                                (param_1,plVar16,uVar5 & 0xffffffff,
-                                 *(undefined8 *)(puVar4 + uVar19 * 6 + 8));
-              if (iVar9 == 1) goto LAB_2;
-              if (iVar9 < 1) goto LAB_1;
-              uVar2 = *puVar4;
-              *(byte *)((long)plVar16 + 0x16) = *(byte *)((long)plVar16 + 0x16) | 8;
-              puVar12 = puVar4 + (ulong)((*(ushort *)((long)plVar16 + 0x14) & 0x1fff) +
-                                         (int)plVar16[2] & uVar2 - 1) * 2 + 0x22;
-              lVar11 = *(long *)puVar12;
-              *plVar16 = lVar11;
-              if (lVar11 != 0) {
-                *(long **)(*(long *)puVar12 + 8) = plVar16;
-              }
-LAB_3:
-              *(long **)puVar12 = plVar16;
-              plVar16[1] = (long)puVar12;
-              bVar7 = true;
-            }
-          }
+            uVar18 = (uVar18 & uVar16) + 1;
+            uVar13 = uVar13 - 1;
+          } while (uVar13 != 0);
+          puVar3[1] = uVar9;
+          puVar3[2] = (uVar16 & uVar9) + 1;
+          lVar12 = *(long *)(lVar11 + 0x270);
         }
-        if (bVar7) {
-          if ((*(long *)(lVar14 + 0x270) == 0) || (*(long *)(lVar14 + 0x530) == 0))
-          goto LAB_4;
-          uVar13 = 0;
-          goto LAB_5;
-        }
-        uVar18 = uVar18 + 1;
-      }
-    }
-    local_80 = local_80 - 1;
-    puVar4[1] = uVar17;
-    puVar4[2] = (local_80 & uVar17) + 1;
-    uVar13 = 0xfffffff8;
-    if ((*(long *)(lVar14 + 0x270) == 0) || (*(long *)(lVar14 + 0x530) == 0)) goto LAB_6;
+      }
+      else {
+        puVar3[1] = uVar9;
+        puVar3[2] = (uVar9 & uVar16) + 1;
+        lVar12 = *(long *)(lVar11 + 0x270);
+      }
+      if ((lVar12 == 0) || (*(long *)(lVar11 + 0x5f0) == 0)) goto LAB_6;
+      iVar8 = -8;
 LAB_5:
-    iVar9 = (int)uVar13;
-    FUN_00174bf0(&local_48);
-    local_48 = local_48 - local_58;
-    local_40 = local_40 - local_50;
-    if (local_40 < 0) {
-      local_48 = local_48 + -1;
-      local_40 = local_40 + 1000000000;
-    }
-    lVar11 = (ulong)*(uint *)(param_1 + 1) * 0x80 + *(long *)(*(long *)(lVar14 + 0x530) + 0x30);
-    local_40 = local_40 + *(long *)(lVar11 + 0x60);
-    local_48 = local_48 + *(long *)(lVar11 + 0x58);
-    *(long *)(lVar11 + 0x58) = local_48;
-    *(long *)(lVar11 + 0x60) = local_40;
-    if (local_40 < 1000000000) goto LAB_0;
-    *(long *)(lVar11 + 0x58) = local_48 + 1;
-    *(long *)(lVar11 + 0x60) = local_40 + -1000000000;
+      FUN_00197420(&local_48);
+      local_48 = local_48 - local_58;
+      local_40 = local_40 - local_50;
+      if (local_40 < 0) {
+        local_48 = local_48 + -1;
+        local_40 = local_40 + 1000000000;
+      }
+      lVar11 = (ulong)*(uint *)(param_1 + 1) * 0x80 + *(long *)(*(long *)(lVar11 + 0x5f0) + 0x30);
+      local_48 = local_48 + *(long *)(lVar11 + 0x58);
+      local_40 = local_40 + *(long *)(lVar11 + 0x60);
+      *(long *)(lVar11 + 0x58) = local_48;
+      *(long *)(lVar11 + 0x60) = local_40;
+      if (999999999 < local_40) {
+        *(long *)(lVar11 + 0x58) = local_48 + 1;
+        *(long *)(lVar11 + 0x60) = local_40 + -1000000000;
+      }
+    }
   }
   else {
-    (*(code *)PTR_pthread_spin_lock_001d35c0)(lVar14 + 0x4d0);
-    lVar11 = *(long *)(lVar14 + 0x4b0) + 0x10;
-    if (*(long *)(lVar14 + 0x4b0) == 0) {
-      lVar11 = 0;
-    }
-    (*(code *)PTR_pthread_spin_unlock_001d35c8)(lVar14 + 0x4d0);
-    lVar14 = (*(code *)PTR_thunk_FUN_00181e30_001d3710)();
-    if (lVar14 != 0) {
-      *(undefined8 *)(lVar14 + 0x18) = *(undefined8 *)(lVar11 + 0x48);
-    }
-    uVar13 = FUN_001669d0(lVar11,param_1,FUN_001676b0);
-LAB_0:
-    iVar9 = (int)uVar13;
-  }
-  if (iVar9 == 0) {
+    lVar12 = lVar11 + 0x590;
+    (*(code *)PTR_pthread_spin_lock_001f7960)(lVar12);
+    lVar11 = *(long *)(lVar11 + 0x570);
+    if (lVar11 == 0) {
+      (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar12);
+LAB_6:
+      iVar8 = -8;
+      goto LAB_7;
+    }
+    (*(code *)PTR_pthread_spin_unlock_001f7968)(lVar12);
+    lVar12 = (*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
+    if (lVar12 != 0) {
+      *(undefined8 *)(lVar12 + 0x18) = *(undefined8 *)(lVar11 + 0x58);
+    }
+    iVar8 = FUN_00192e80(lVar11 + 0x10,param_1,FUN_00193060);
+  }
+  if (-1 < iVar8) {
 LAB_4:
     lVar11 = param_1[8];
     if (*(long *)(lVar11 + 0x30) != 0) {
-      param_1[3] = *(long *)(lVar11 + 0x30) + 0x20;
+      param_1[3] = *(long *)(lVar11 + 0x30) + 0x38;
     }
     *(undefined4 *)(param_1 + 6) = *(undefined4 *)(lVar11 + 0x14);
     param_1[4] = *(long *)(lVar11 + 0x30);
-    lVar14 = *(long *)(lVar11 + 0x28);
+    lVar12 = *(long *)(lVar11 + 0x28);
     param_1[7] = lVar11;
-    uVar13 = 0;
-    param_1[5] = lVar14;
-  }
-LAB_6:
-  *(undefined8 *)(puVar10 + 2) = 0;
-  *(undefined8 *)(puVar10 + 4) = 0;
-  *(undefined8 *)(puVar10 + 6) = 0;
-  *(undefined8 *)(puVar10 + 10) = 0;
+    param_1[5] = lVar12;
+    if ((local_70 != 0) && (*(int *)(local_70 + 0x30) = iVar8, param_2 == (ulong *)0x0)) {
+      *(byte *)((long)param_1 + 0x31) = *(byte *)((long)param_1 + 0x31) | 4;
+      param_1[0x17] = 0;
+      *(undefined4 *)(param_1 + 0x18) = 0;
+    }
+  }
+LAB_7:
+  puVar10[5] = 0;
   *puVar10 = 0;
   puVar10[1] = 0;
-  if (param_3 != (undefined8 *)0x0) {
-    *param_3 = param_1 + 3;
-  }
-  return uVar13;
+  puVar10[2] = 0;
+  puVar10[3] = 0;
+  *(undefined4 *)((long)puVar10 + 0x34) = 0xffffffff;
+  if (param_3 != (long *)0x0) {
+    *param_3 = (long)(param_1 + 3);
+  }
+  return iVar8;
 }
 

qmdpi_bundle_pdb_compile

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address,called
ratio 0.53
i_ratio 0.32
m_ratio 0.98
b_ratio 0.9
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_bundle_pdb_compile qmdpi_bundle_pdb_compile
fullname qmdpi_bundle_pdb_compile qmdpi_bundle_pdb_compile
refcount 3 3
length 325 323
called FUN_00160640
FUN_001606c0
FUN_0019ebd0
thunk_FUN_00181e30
FUN_0011c550
FUN_0011c5d0
FUN_001b9c60
thunk_FUN_00173540
calling
paramcount 0 0
address 00187d70 00175880
sig undefined qmdpi_bundle_pdb_compile(void) undefined qmdpi_bundle_pdb_compile(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_bundle_pdb_compile Called Diff

--- qmdpi_bundle_pdb_compile called
+++ qmdpi_bundle_pdb_compile called
@@ -1,4 +1,4 @@
-FUN_00160640
-FUN_001606c0
-FUN_0019ebd0
-thunk_FUN_00181e30
+FUN_0011c550
+FUN_0011c5d0
+FUN_001b9c60
+thunk_FUN_00173540

qmdpi_bundle_pdb_compile Diff

--- qmdpi_bundle_pdb_compile
+++ qmdpi_bundle_pdb_compile
@@ -1,50 +1,48 @@
 
 undefined4
 qmdpi_bundle_pdb_compile
           (long *param_1,long param_2,int param_3,undefined8 param_4,undefined4 param_5,long param_6
           ,long param_7)
 
 {
   long lVar1;
   int iVar2;
   undefined4 uVar3;
-  undefined4 *puVar4;
+  undefined8 *puVar4;
   
-  iVar2 = FUN_0019ebd0(&DAT_0);
+  iVar2 = FUN_001b9c60(&DAT_0);
   if (iVar2 == 0) {
     uVar3 = 0xfffffff1;
   }
-  else if ((((param_1 == (long *)0x0) || (param_2 == 0)) || (param_3 == 0 || param_6 == 0)) ||
-          ((param_7 == 0 || (*param_1 == 0)))) {
+  else if (((param_1 == (long *)0x0 || param_2 == 0) ||
+           ((param_3 == 0 || param_6 == 0) || param_7 == 0)) || (*param_1 == 0)) {
     uVar3 = 0xffffffff;
   }
   else {
-    FUN_00160640();
-    puVar4 = (undefined4 *)(*(code *)PTR_thunk_FUN_00181e30_001d3710)();
+    FUN_0011c550();
+    puVar4 = (undefined8 *)(*(code *)PTR_thunk_FUN_00173540_001f7ab0)();
     lVar1 = *param_1;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(long *)(puVar4 + 2) = lVar1;
+    puVar4[2] = 0;
+    puVar4[1] = lVar1;
     lVar1 = param_1[9];
-    *(undefined8 *)(puVar4 + 10) = 0;
-    *(long *)(puVar4 + 6) = lVar1;
-    if ((undefined4 *)*param_1 == (undefined4 *)0x0) {
-      uVar3 = 0;
-    }
-    else {
+    puVar4[5] = 0;
+    puVar4[3] = lVar1;
+    uVar3 = 0;
+    if ((undefined4 *)*param_1 != (undefined4 *)0x0) {
       uVar3 = *(undefined4 *)*param_1;
     }
-    *puVar4 = uVar3;
-    puVar4[1] = 0;
+    *(undefined4 *)puVar4 = uVar3;
+    *(undefined4 *)((long)puVar4 + 4) = 0;
     uVar3 = (**(code **)(param_1[1] + 0x138))
                       (param_1[9],param_2,param_3,param_4,param_5,param_6,param_7);
-    *(undefined8 *)(puVar4 + 2) = 0;
-    *(undefined8 *)(puVar4 + 4) = 0;
-    *(undefined8 *)(puVar4 + 6) = 0;
-    *(undefined8 *)(puVar4 + 10) = 0;
+    puVar4[5] = 0;
     *puVar4 = 0;
     puVar4[1] = 0;
-    FUN_001606c0(*param_1);
+    puVar4[2] = 0;
+    puVar4[3] = 0;
+    *(undefined4 *)((long)puVar4 + 0x34) = 0xffffffff;
+    FUN_0011c5d0(*param_1);
   }
   return uVar3;
 }
 

qmdpi_worker_pdu_header_set

Match Info

Key libqmengine_geedge.so - libqmengine_stellar.so
diff_type code,length,address
ratio 0.36
i_ratio 0.59
m_ratio 0.76
b_ratio 0.76
match_types SymbolsHash

Function Meta Diff

Key libqmengine_geedge.so libqmengine_stellar.so
name qmdpi_worker_pdu_header_set qmdpi_worker_pdu_header_set
fullname qmdpi_worker_pdu_header_set qmdpi_worker_pdu_header_set
refcount 3 3
length 45 81
called
calling
paramcount 0 0
address 00183a30 001769e0
sig undefined qmdpi_worker_pdu_header_set(void) undefined qmdpi_worker_pdu_header_set(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

qmdpi_worker_pdu_header_set Diff

--- qmdpi_worker_pdu_header_set
+++ qmdpi_worker_pdu_header_set
@@ -1,12 +1,27 @@
 
 undefined8 qmdpi_worker_pdu_header_set(long *param_1,long param_2,long param_3)
 
 {
+  int *piVar1;
+  
   if (((param_1 != (long *)0x0) && (*param_1 != 0)) && (*(char *)(*param_1 + 0x310) != '\0')) {
-    param_1[0x15] = param_2;
-    param_1[0x16] = param_3;
-    return 0;
+    LOCK();
+    piVar1 = (int *)((long)param_1 + 0x224);
+    *piVar1 = *piVar1 + 1;
+    UNLOCK();
+    if (*piVar1 == 0) {
+      param_1[0x15] = param_2;
+      param_1[0x16] = param_3;
+      LOCK();
+      *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+      UNLOCK();
+      return 0;
+    }
+    LOCK();
+    *(int *)((long)param_1 + 0x224) = *(int *)((long)param_1 + 0x224) + -1;
+    UNLOCK();
+    return 0xfffffffa;
   }
   return 0xffffffff;
 }
 

qmdpi_flow_metric_reset

Match Info

|Key|libqmengine_geedge.so - libqme

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment