Skip to content

Instantly share code, notes, and snippets.

@rcky844
Last active July 21, 2025 04:59
Show Gist options
  • Select an option

  • Save rcky844/ae5962aeb5fb722703f88e564b16814d to your computer and use it in GitHub Desktop.

Select an option

Save rcky844/ae5962aeb5fb722703f88e564b16814d to your computer and use it in GitHub Desktop.

libmmcamera_isp_color_correct40.so.stock-libmmcamera_isp_color_correct40.so.hex Diff

TOC

Visual Chart Diff

flowchart LR

color_correct40_set_bestshot-0-old<--Match 97%-->color_correct40_set_bestshot-0-new

subgraph libmmcamera_isp_color_correct40.so.hex
    color_correct40_set_bestshot-0-new
    
end

subgraph libmmcamera_isp_color_correct40.so.stock
    color_correct40_set_bestshot-0-old
    
end

Loading
pie showData
    title Function Matches - 100.0000%
"unmatched_funcs_len" : 0
"matched_funcs_len" : 384
Loading
pie showData
    title Matched Function Similarity - 99.7396%
"matched_funcs_with_code_changes_len" : 1
"matched_funcs_with_non_code_changes_len" : 0
"matched_funcs_no_changes_len" : 383
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 libmmcamera_isp_color_correct40.so.stock libmmcamera_isp_color_correct40.so.hex

Verbose Args

--old ['libmmcamera_isp_color_correct40.so.stock'] --new [['libmmcamera_isp_color_correct40.so.hex']] --engine VersionTrackingDiff --output-path /tmp/camera --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

--- libmmcamera_isp_color_correct40.so.stock Meta
+++ libmmcamera_isp_color_correct40.so.hex Meta
@@ -1,42 +1,42 @@
-Program Name: libmmcamera_isp_color_correct40.so.stock
+Program Name: libmmcamera_isp_color_correct40.so.hex
 Language ID: ARM:LE:32:v8 (1.107)
 Compiler ID: default
 Processor: ARM
 Endian: Little
 Address Size: 32
 Minimum Address: 00010000
 Maximum Address: _elfSectionHeaders::00000437
 # of Bytes: 31905
 # of Memory Blocks: 29
-# of Instructions: 5978
+# of Instructions: 5972
 # of Defined Data: 1109
 # of Functions: 192
 # of Symbols: 592
 # of Data Types: 66
 # of Data Type Categories: 7
 Analyzed: true
 Created With Ghidra Version: 11.3.2
-Date Created: Mon Jul 21 12:58:00 HKT 2025
+Date Created: Mon Jul 21 12:58:02 HKT 2025
 ELF File Type: shared object
 ELF Note[GNU BuildId]: 2d057c81048cb8b6063a198e90f57a7d
 ELF Original Image Base: 0x0
 ELF Prelinked: false
 Elf Comment[0]: 
 Elf Comment[1]: GCC: (GNU) 4.9.x-google 20140827 (prerelease)
 Elf Comment[2]: clang version 3.6 
 Executable Format: Executable and Linking Format (ELF)
-Executable Location: /tmp/libmmcamera_isp_color_correct40.so.stock
-Executable MD5: 4449c66b79f9ea28e38aaa365ba10970
-Executable SHA256: f087221966483be80469aa6bbc1385d78576cf8d74dbcaff63a0369cdf1715b9
-FSRL: file:///tmp/libmmcamera_isp_color_correct40.so.stock?MD5=4449c66b79f9ea28e38aaa365ba10970
+Executable Location: /tmp/libmmcamera_isp_color_correct40.so.hex
+Executable MD5: 0f193130c0eb172829263f5c918c15b5
+Executable SHA256: efadbf4aadc90c2aa96f2dbcc2cea0ed976a903dbce89a899b4d101771311fff
+FSRL: file:///tmp/libmmcamera_isp_color_correct40.so.hex?MD5=0f193130c0eb172829263f5c918c15b5
 Preferred Root Namespace Category: 
 Relocatable: true
 Required Library [    0]: libcutils.so
 Required Library [    1]: libmmcamera2_mct.so
 Required Library [    2]: libmmcamera_isp_sub_module.so
 Required Library [    3]: libmmcamera_dbg.so
 Required Library [    4]: libc++.so
 Required Library [    5]: libdl.so
 Required Library [    6]: libc.so
 Required Library [    7]: libm.so
 Should Ask To Analyze: false

Program Options

Ghidra libmmcamera_isp_color_correct40.so.stock Decompiler Options
Decompiler Option Value
Prototype Evaluation __stdcall
Ghidra libmmcamera_isp_color_correct40.so.stock Specification extensions Options
Specification extensions Option Value
FormatVersion 0
VersionCounter 0
Ghidra libmmcamera_isp_color_correct40.so.stock Analyzers Options
Analyzers Option Value
ARM Aggressive Instruction Finder false
ARM Constant Reference Analyzer true
ARM Constant Reference Analyzer.Create Data from pointer false
ARM Constant Reference Analyzer.Function parameter/return Pointer analysis true
ARM Constant Reference Analyzer.Max Threads 2
ARM Constant Reference Analyzer.Min absolute reference 4
ARM Constant Reference Analyzer.Require pointer param data type false
ARM Constant Reference Analyzer.Speculative reference max 256
ARM Constant Reference Analyzer.Speculative reference min 1024
ARM Constant Reference Analyzer.Stored Value Pointer analysis true
ARM Constant Reference Analyzer.Switch Table Recovery false
ARM Constant Reference Analyzer.Trust values read from writable memory true
ARM Symbol true
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 false
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 false
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 Start Pre Search true
Function Start Pre Search.Bookmark Functions false
Function Start Pre Search.Search Data Blocks false
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
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 false
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 false
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
Ghidra libmmcamera_isp_color_correct40.so.hex Decompiler Options
Decompiler Option Value
Prototype Evaluation __stdcall
Ghidra libmmcamera_isp_color_correct40.so.hex Specification extensions Options
Specification extensions Option Value
FormatVersion 0
VersionCounter 0
Ghidra libmmcamera_isp_color_correct40.so.hex Analyzers Options
Analyzers Option Value
ARM Aggressive Instruction Finder false
ARM Constant Reference Analyzer true
ARM Constant Reference Analyzer.Create Data from pointer false
ARM Constant Reference Analyzer.Function parameter/return Pointer analysis true
ARM Constant Reference Analyzer.Max Threads 2
ARM Constant Reference Analyzer.Min absolute reference 4
ARM Constant Reference Analyzer.Require pointer param data type false
ARM Constant Reference Analyzer.Speculative reference max 256
ARM Constant Reference Analyzer.Speculative reference min 1024
ARM Constant Reference Analyzer.Stored Value Pointer analysis true
ARM Constant Reference Analyzer.Switch Table Recovery false
ARM Constant Reference Analyzer.Trust values read from writable memory true
ARM Symbol true
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 false
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 false
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 Start Pre Search true
Function Start Pre Search.Bookmark Functions false
Function Start Pre Search.Search Data Blocks false
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
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 false
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 false
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

Diff Stats

Stat Value
added_funcs_len 0
deleted_funcs_len 0
modified_funcs_len 1
added_symbols_len 0
deleted_symbols_len 0
diff_time 20.021426677703857
deleted_strings_len 0
added_strings_len 0
match_types Counter({'SymbolsHash': 56, 'ExactBytesFunctionHasher': 39, 'ExternalsName': 37, 'BSIM': 1})
items_to_process 1
diff_types Counter({'code': 1, 'length': 1})
unmatched_funcs_len 0
total_funcs_len 384
matched_funcs_len 384
matched_funcs_with_code_changes_len 1
matched_funcs_with_non_code_changes_len 0
matched_funcs_no_changes_len 383
match_func_similarity_percent 99.7396%
func_match_overall_percent 100.0000%
first_matches Counter({'SymbolsHash': 56, 'ExactBytesFunctionHasher': 39, 'BSIM': 1})
pie showData
    title All Matches
"SymbolsHash" : 56
"ExternalsName" : 37
"ExactBytesFunctionHasher" : 39
"BSIM" : 1
Loading
pie showData
    title First Matches
"SymbolsHash" : 56
"ExactBytesFunctionHasher" : 39
"BSIM" : 1
Loading
pie showData
    title Diff Stats
"added_funcs_len" : 0
"deleted_funcs_len" : 0
"modified_funcs_len" : 1
Loading
pie showData
    title Symbols
"added_symbols_len" : 0
"deleted_symbols_len" : 0
Loading

Strings

No string differences found

Deleted

Added

Modified

Modified functions contain code changes

color_correct40_set_bestshot

Match Info

Key libmmcamera_isp_color_correct40.so.stock - libmmcamera_isp_color_correct40.so.hex
diff_type code,length
ratio 0.8
i_ratio 0.97
m_ratio 0.98
b_ratio 0.97
match_types SymbolsHash

Function Meta Diff

Key libmmcamera_isp_color_correct40.so.stock libmmcamera_isp_color_correct40.so.hex
name color_correct40_set_bestshot color_correct40_set_bestshot
fullname color_correct40_set_bestshot color_correct40_set_bestshot
refcount 4 4
length 368 352
called ::cam_debug_log
::pthread_mutex_lock
::pthread_mutex_unlock
FUN_00011aa8
FUN_00011e28
::cam_debug_log
::pthread_mutex_lock
::pthread_mutex_unlock
FUN_00011aa8
FUN_00011e28
calling
paramcount 0 0
address 000126b4 000126b4
sig undefined color_correct40_set_bestshot(void) undefined color_correct40_set_bestshot(void)
sym_type Function Function
sym_source IMPORTED IMPORTED
external False False

color_correct40_set_bestshot Diff

--- color_correct40_set_bestshot
+++ color_correct40_set_bestshot
@@ -1,110 +1,88 @@
 
 /* WARNING: Globals starting with '_' overlap smaller symbols at the same address */
 
-int color_correct40_set_bestshot(char *param_1,int param_2,int param_3,undefined4 param_4)
+int color_correct40_set_bestshot(int param_1,int param_2,int param_3,undefined4 param_4)
 
 {
   undefined4 uVar1;
   undefined4 uVar2;
   undefined4 uVar3;
   int iVar4;
   int iVar5;
   int iVar6;
-  undefined4 *puVar7;
-  int iVar8;
+  int iVar7;
   
   iVar5 = ___gnu_Unwind_Find_exidx;
-  if ((param_1 == (char *)0x0) || (param_2 == 0)) {
+  if ((param_1 == 0) || (param_2 == 0)) {
     if (___gnu_Unwind_Find_exidx != 0) {
       cam_debug_log(4,1,"color_correct40_set_bestshot",0x24f,"failed: %p %p",param_1,param_2,param_4
                    );
       iVar5 = 0;
     }
   }
   else {
     iVar6 = *(int *)(param_2 + 0x3158);
     if (iVar6 == 0) {
       if (___gnu_Unwind_Find_exidx != 0) {
         cam_debug_log(4,1,"color_correct40_set_bestshot",0x255,"failed: mod %p",0,param_3,param_4);
         iVar5 = 0;
       }
     }
     else {
       iVar4 = *(int *)(param_2 + 0x1c);
       if (iVar4 == 0) {
         if (___gnu_Unwind_Find_exidx != 0) {
           cam_debug_log(4,1,"color_correct40_set_bestshot",0x25c,"failed: chromatix_ptr %p",0,
                         param_3,param_4);
           iVar5 = 0;
         }
       }
       else {
         iVar5 = **(int **)(*(int *)(param_3 + 0x14) + 4);
         *(int *)(iVar6 + 0xcfc) = iVar5;
         *(undefined4 *)(param_2 + 0x80) = 0;
-        iVar8 = param_2;
+        iVar7 = param_2;
         if ((_memcpy != 0) && (_dladdr != 0)) {
-          param_1 = "bestshot mode %d";
-          iVar8 = iVar5;
+          iVar7 = iVar5;
           cam_debug_log(4,3,"color_correct40_set_bestshot",0x26b,"bestshot mode %d",iVar5,param_3,
                         param_4);
         }
-        puVar7 = (undefined4 *)(iVar6 + 0xd30);
         if (iVar5 == 6) {
           uVar1 = *(undefined4 *)(iVar4 + 0x364c);
           uVar2 = *(undefined4 *)(iVar4 + 0x3650);
           uVar3 = *(undefined4 *)(iVar4 + 0x3654);
-          *puVar7 = *(undefined4 *)(iVar4 + 0x3648);
+          *(undefined4 *)(iVar6 + 0xd30) = *(undefined4 *)(iVar4 + 0x3648);
           *(undefined4 *)(iVar6 + 0xd34) = uVar1;
           *(undefined4 *)(iVar6 + 0xd38) = uVar2;
           *(undefined4 *)(iVar6 + 0xd3c) = uVar3;
           uVar1 = *(undefined4 *)(iVar4 + 0x365c);
           uVar2 = *(undefined4 *)(iVar4 + 0x3660);
           uVar3 = *(undefined4 *)(iVar4 + 0x3664);
           *(undefined4 *)(iVar6 + 0xd40) = *(undefined4 *)(iVar4 + 0x3658);
           *(undefined4 *)(iVar6 + 0xd44) = uVar1;
           *(undefined4 *)(iVar6 + 0xd48) = uVar2;
           *(undefined4 *)(iVar6 + 0xd4c) = uVar3;
           uVar1 = *(undefined4 *)(iVar4 + 0x366c);
           uVar2 = *(undefined4 *)(iVar4 + 0x3670);
           *(undefined4 *)(iVar6 + 0xd50) = *(undefined4 *)(iVar4 + 0x3668);
           *(undefined4 *)(iVar6 + 0xd54) = uVar1;
           *(undefined4 *)(iVar6 + 0xd58) = uVar2;
         }
         else {
-          uVar1 = *(undefined4 *)(iVar4 + 0x3620);
-          uVar2 = *(undefined4 *)(iVar4 + 0x3624);
-          uVar3 = *(undefined4 *)(iVar4 + 0x3628);
-          *puVar7 = *(undefined4 *)(iVar4 + 0x361c);
-          *(undefined4 *)(iVar6 + 0xd34) = uVar1;
-          *(undefined4 *)(iVar6 + 0xd38) = uVar2;
-          *(undefined4 *)(iVar6 + 0xd3c) = uVar3;
-          uVar1 = *(undefined4 *)(iVar4 + 0x3630);
-          uVar2 = *(undefined4 *)(iVar4 + 0x3634);
-          uVar3 = *(undefined4 *)(iVar4 + 0x3638);
-          *(undefined4 *)(iVar6 + 0xd40) = *(undefined4 *)(iVar4 + 0x362c);
-          *(undefined4 *)(iVar6 + 0xd44) = uVar1;
-          *(undefined4 *)(iVar6 + 0xd48) = uVar2;
-          *(undefined4 *)(iVar6 + 0xd4c) = uVar3;
-          uVar1 = *(undefined4 *)(iVar4 + 0x3640);
-          uVar2 = *(undefined4 *)(iVar4 + 0x3644);
-          *(undefined4 *)(iVar6 + 0xd50) = *(undefined4 *)(iVar4 + 0x363c);
-          *(undefined4 *)(iVar6 + 0xd54) = uVar1;
-          *(undefined4 *)(iVar6 + 0xd58) = uVar2;
           *(undefined4 *)(param_2 + 0x80) = 1;
         }
-        FUN_00011aa8(*(undefined4 *)(iVar6 + 0xd2c),iVar6 + 0xd5c,iVar6 + 0xd08,puVar7,uVar3,param_1
-                     ,iVar8);
+        FUN_00011aa8(*(undefined4 *)(iVar6 + 0xd2c),iVar6 + 0xd5c,iVar6 + 0xd08,
+                     (undefined4 *)(iVar6 + 0xd30));
         pthread_mutex_lock((pthread_mutex_t *)(param_2 + 0x10));
         iVar5 = FUN_00011e28(param_2,iVar6);
         if ((iVar5 == 0) && (___gnu_Unwind_Find_exidx != 0)) {
           cam_debug_log(4,1,"color_correct40_set_bestshot",0x27d,
-                        "failed: color_correct40_do_hw_update",iVar8,param_3,param_4);
+                        "failed: color_correct40_do_hw_update",iVar7,param_3,param_4);
         }
         pthread_mutex_unlock((pthread_mutex_t *)(param_2 + 0x10));
       }
     }
   }
   return iVar5;
 }
 

Modified (No Code Changes)

Slightly modified functions have no code changes, rather differnces in:

  • refcount
  • length
  • called
  • calling
  • name
  • fullname

Generated with ghidriff version: 0.9.0 on 2025-07-21T12:58:44

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment