Skip to content

Instantly share code, notes, and snippets.

@catmandx
Created February 25, 2025 10:16
Show Gist options
  • Save catmandx/6f87153e50de4e94dc2dc9fcd504921d to your computer and use it in GitHub Desktop.
Save catmandx/6f87153e50de4e94dc2dc9fcd504921d to your computer and use it in GitHub Desktop.

dt_aicam_md5-dt_aicam_md5 Diff

TOC

Visual Chart Diff

flowchart LR

FUN_005902e8-7-old<--Match 6%-->FUN_005825cc-7-new
FUN_005a12ec-9-old<--Match 3%-->FUN_005a3060-9-new
FUN_00212238-3-old<--Match 17%-->FUN_00534dac-3-new
FUN_0015d588-2-old<--Match 28%-->FUN_00587e4c-2-new
FUN_005826d0-3-old<--Match 3%-->FUN_00587514-3-new
FUN_000c2174-1-old<--Match 18%-->FUN_000c4ce8-1-new
FUN_00582bd4-3-old<--Match 42%-->FUN_00585bf0-3-new
FUN_005a1d74-5-old<--Match 21%-->FUN_005a3140-5-new
FUN_0004f310-1-old<--Match 67%-->FUN_0004f17c-1-new
FUN_005a400c-2-old<--Match 99%-->FUN_005a4bc4-2-new
FUN_00151274-2-old<--Match 99%-->FUN_00151a14-2-new
FUN_0004d0d4-3-old<--Match 37%-->FUN_0004be64-3-new
FUN_00593180-3-old<--Match 80%-->FUN_00593920-3-new
FUN_0061ca90-2-old<--Match 80%-->FUN_0061c420-2-new
FUN_0009f730-5-old<--Match 96%-->FUN_0009fec0-5-new
FUN_000b1a1c-1-old<--Match 96%-->FUN_000b21ac-1-new
FUN_00057090-0-old<--Match 72%-->FUN_0005787c-0-new
FUN_000ab114-0-old<--Match 40%-->FUN_0075fcd0-0-new
FUN_0016fd44-1-old<--Match 18%-->FUN_000f23e0-1-new
FUN_000f1c40-1-old<--Match 80%-->FUN_000f0740-1-new
FUN_004cf578-1-old<--Match 68%-->FUN_004cf9c4-1-new
FUN_006e8a5c-1-old<--Match 11%-->FUN_006ea4bc-1-new
FUN_000aa948-3-old<--Match 3%-->FUN_00057284-3-new
FUN_005a3060-1-old<--Match 1%-->FUN_005a4bc4-1-new
FUN_004cf224-4-old<--Match 57%-->FUN_004cf9c4-4-new

subgraph dt_aicam_md5
    FUN_005825cc-7-new
FUN_005a3060-9-new
FUN_00534dac-3-new
FUN_00587e4c-2-new
FUN_00587514-3-new
FUN_000c4ce8-1-new
FUN_00585bf0-3-new
FUN_005a3140-5-new
FUN_0004f17c-1-new
FUN_005a4bc4-2-new
FUN_00151a14-2-new
FUN_0004be64-3-new
FUN_00593920-3-new
FUN_0061c420-2-new
FUN_0009fec0-5-new
FUN_000b21ac-1-new
FUN_0005787c-0-new
FUN_0075fcd0-0-new
FUN_000f23e0-1-new
FUN_000f0740-1-new
FUN_004cf9c4-1-new
FUN_006ea4bc-1-new
FUN_00057284-3-new
FUN_005a4bc4-1-new
FUN_004cf9c4-4-new
    
end

subgraph dt_aicam_md5
    FUN_005902e8-7-old
FUN_005a12ec-9-old
FUN_00212238-3-old
FUN_0015d588-2-old
FUN_005826d0-3-old
FUN_000c2174-1-old
FUN_00582bd4-3-old
FUN_005a1d74-5-old
FUN_0004f310-1-old
FUN_005a400c-2-old
FUN_00151274-2-old
FUN_0004d0d4-3-old
FUN_00593180-3-old
FUN_0061ca90-2-old
FUN_0009f730-5-old
FUN_000b1a1c-1-old
FUN_00057090-0-old
FUN_000ab114-0-old
FUN_0016fd44-1-old
FUN_000f1c40-1-old
FUN_004cf578-1-old
FUN_006e8a5c-1-old
FUN_000aa948-3-old
FUN_005a3060-1-old
FUN_004cf224-4-old
    subgraph Deleted
direction LR
FUN_000a9f60
    FUN_000a9f80
    FUN_000aa00c
    FUN_000aa11c
    FUN_000aa5a4
    FUN_000aacac
    FUN_000ab168
    FUN_000bc8b8
    FUN_000d9f8c
    FUN_000da598
    FUN_000ff044
    FUN_000ff358
    FUN_000ff794
    FUN_000ffbdc
    FUN_000ffc60
    FUN_000ffd04
    FUN_000ffdb0
    FUN_000fffe8
    FUN_00100150
    FUN_00161260
    FUN_0016f08c
    FUN_0016f0e4
    FUN_0016f324
    FUN_0016f52c
    FUN_0016f74c
    FUN_00170cd4
    FUN_00170d6c
    53_more_deleted_funcs_omitted
end
end

Loading
pie showData
    title Function Matches - 99.7207%
"unmatched_funcs_len" : 78
"matched_funcs_len" : 27853
Loading
pie showData
    title Matched Function Similarity - 99.3897%
"matched_funcs_with_code_changes_len" : 25
"matched_funcs_with_non_code_changes_len" : 145
"matched_funcs_no_changes_len" : 27683
Loading

Metadata

Ghidra Diff Engine

Command Line

Captured Command Line

ghidriff --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --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 dt_aicam_md5 dt_aicam_md5

Verbose Args

--old ['.\\3.0.2.24.20240408_AICAM\\dt_aicam_md5'] --new [['.\\3.0.2.26.20240517_AICAM\\dt_aicam_md5']] --engine VersionTrackingDiff --output-path ghidriffs --summary False --project-location ghidra_projects --project-name ghidriff --symbols-path symbols --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

--- dt_aicam_md5 Meta
+++ dt_aicam_md5 Meta
@@ -1,59 +1,59 @@
 Program Name: dt_aicam_md5
 Language ID: ARM:LE:32:v8 (1.107)
 Compiler ID: default
 Processor: ARM
 Endian: Little
 Address Size: 32
 Minimum Address: 00010000
 Maximum Address: _elfSectionHeaders::00000487
-# of Bytes: 10422470
+# of Bytes: 10424534
 # of Memory Blocks: 31
-# of Instructions: 1667404
-# of Defined Data: 121822
-# of Functions: 13992
-# of Symbols: 122863
+# of Instructions: 1663476
+# of Defined Data: 121765
+# of Functions: 13939
+# of Symbols: 122028
 # of Data Types: 1255
 # of Data Type Categories: 97
 Analyzed: true
 Created With Ghidra Version: 11.3.1
-Date Created: Tue Feb 25 16:28:50 ICT 2025
+Date Created: Tue Feb 25 16:28:53 ICT 2025
 ELF File Type: executable
 ELF Note[required kernel ABI]: Linux 3.2.0
 ELF Original Image Base: 0x10000
 ELF Prelinked: false
 Elf Comment[0]: GCC: (GNU) 6.3.0
 Elf Comment[1]: GCC: (HC&C V100R002C00B035_20190218) 6.3.0
 Elf Comment[2]: GCC: (HC&C V1R3C00SPC200B005_20190606) 6.3.0
 Elf Comment[3]: GCC: (HC&C V100R002C00B027_20181107) 6.3.0
 Elf Comment[4]: GCC: (HC&C V100R002C00B021_20180917) 6.3.0
 Elf Comment[5]: GCC: (HC&C V100R002C00B020_20180814) 6.3.0
 Elf Comment[6]: GCC: (HC&C V100R002C00B017_20180728) 6.3.0
 Executable Format: Executable and Linking Format (ELF)
-Executable Location: /D:/projects/hanet/patch_diff/3.0.2.24.20240408_AICAM/dt_aicam_md5
-Executable MD5: 050ba4dfafeba1edff39ee7387fd2440
-Executable SHA256: bdb6929e95dd4a7be47670e82578ad67976d197a0a499947c5c6bd864a6adb5c
-FSRL: file:///D:/projects/hanet/patch_diff/3.0.2.24.20240408_AICAM/dt_aicam_md5?MD5=050ba4dfafeba1edff39ee7387fd2440
+Executable Location: /D:/projects/hanet/patch_diff/3.0.2.26.20240517_AICAM/dt_aicam_md5
+Executable MD5: c0ea0db0af4a2776f02ed1a1ded3a30f
+Executable SHA256: e2d155b0fdb8758c41354e66ba15d9df2d4324902d13570b6393de2ba83fc40d
+FSRL: file:///D:/projects/hanet/patch_diff/3.0.2.26.20240517_AICAM/dt_aicam_md5?MD5=c0ea0db0af4a2776f02ed1a1ded3a30f
 Preferred Root Namespace Category: 
 Relocatable: false
 Required Library [    0]: libpthread.so.0
 Required Library [    1]: libdl.so.2
 Required Library [    2]: libstdc++.so.6
 Required Library [    3]: libm.so.6
 Required Library [    4]: librt.so.1
 Required Library [    5]: libaaccomm.so
 Required Library [    6]: libsqlite3.so.0
 Required Library [    7]: libgomp.so.1
 Required Library [    8]: libAVAPIs.so
 Required Library [    9]: libsCHL.so
 Required Library [   10]: libIOTCAPIs.so
 Required Library [   11]: libmeglayer1.so
 Required Library [   12]: libmegsearch.so
 Required Library [   13]: libssl.so.1.0.0
 Required Library [   14]: libcrypto.so.1.0.0
 Required Library [   15]: libavssdk.so
 Required Library [   16]: libsecurec.so
 Required Library [   17]: lib_isp_dt.so
 Required Library [   18]: libgcc_s.so.1
 Required Library [   19]: libc.so.6
 Required Library [   20]: ld-linux.so.3
 Should Ask To Analyze: false

Program Options

Ghidra dt_aicam_md5 Decompiler Options
Decompiler Option Value
Prototype Evaluation __stdcall
Ghidra dt_aicam_md5 Specification extensions Options
Specification extensions Option Value
FormatVersion 0
VersionCounter 0
Ghidra dt_aicam_md5 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 4
Create Address Tables.Pointer Alignment 1
Create Address Tables.Relocation Table Guide true
Create Address Tables.Table Alignment 4
Data Reference true
Data Reference.Address Table Alignment 1
Data Reference.Address Table Minimum Size 4
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 true
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
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 4
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 78
modified_funcs_len 170
added_symbols_len 0
deleted_symbols_len 0
diff_time 97.75959634780884
deleted_strings_len 136
added_strings_len 80
match_types Counter({'StructuralGraphHash': 25903, 'ExactBytesFunctionHasher': 5083, 'ExactInstructionsFunctionHasher': 4783, 'SymbolsHash': 1200, 'ExternalsName': 725, 'StringsRefsHasher': 260, 'BSIM': 159, 'SigCallingCalledHasher': 23, 'BulkInstructionHash': 16, 'StrUniqueFuncRefsHasher': 13, 'Implied Match': 7, 'StructuralGraphExactHash': 5, 'Decomp Match': 4, 'BulkBasicBlockMnemonicHash': 2})
items_to_process 248
diff_types Counter({'name': 169, 'fullname': 169, 'sig': 169, 'address': 169, 'calling': 160, 'refcount': 159, 'called': 124, 'length': 26, 'code': 25})
unmatched_funcs_len 78
total_funcs_len 27931
matched_funcs_len 27853
matched_funcs_with_code_changes_len 25
matched_funcs_with_non_code_changes_len 145
matched_funcs_no_changes_len 27683
match_func_similarity_percent 99.3897%
func_match_overall_percent 99.7207%
first_matches Counter({'StructuralGraphHash': 25903, 'ExactBytesFunctionHasher': 5083, 'ExactInstructionsFunctionHasher': 4783, 'SymbolsHash': 1200, 'StringsRefsHasher': 260, 'BSIM': 130, 'SigCallingCalledHasher': 23, 'BulkInstructionHash': 16, 'StrUniqueFuncRefsHasher': 13, 'Implied Match': 7, 'StructuralGraphExactHash': 5, 'Decomp Match': 4, 'BulkBasicBlockMnemonicHash': 2})
pie showData
    title All Matches
"SymbolsHash" : 1200
"ExternalsName" : 725
"BSIM" : 159
"ExactBytesFunctionHasher" : 5083
"ExactInstructionsFunctionHasher" : 4783
"StructuralGraphExactHash" : 5
"BulkInstructionHash" : 16
"SigCallingCalledHasher" : 23
"StringsRefsHasher" : 260
"StrUniqueFuncRefsHasher" : 13
"StructuralGraphHash" : 25903
"BulkBasicBlockMnemonicHash" : 2
"Implied-Match" : 7
"Decomp-Match" : 4
Loading
pie showData
    title First Matches
"SymbolsHash" : 1200
"ExactBytesFunctionHasher" : 5083
"ExactInstructionsFunctionHasher" : 4783
"StructuralGraphExactHash" : 5
"BSIM" : 130
"BulkInstructionHash" : 16
"SigCallingCalledHasher" : 23
"StringsRefsHasher" : 260
"StrUniqueFuncRefsHasher" : 13
"StructuralGraphHash" : 25903
"BulkBasicBlockMnemonicHash" : 2
"Implied-Match" : 7
"Decomp-Match" : 4
Loading
pie showData
    title Diff Stats
"added_funcs_len" : 0
"deleted_funcs_len" : 78
"modified_funcs_len" : 170
Loading
pie showData
    title Symbols
"added_symbols_len" : 0
"deleted_symbols_len" : 0
Loading

Strings

pie showData
    title Strings
"deleted_strings_len" : 136
"added_strings_len" : 80
Loading

Strings Diff

--- deleted strings
+++ added strings
@@ -1,136 +1,80 @@
-s_$Number$
-s_%11d%11d%11d%11d%11d%11d%10d%10.
-s_%d_%d_%d_%d_%d_%d
-s_%i.%i.%i
-s_(D.rows_==_((flags_&_CV_GEMM_A_T
-s_/root/Wifi/AP_mode
-s_/tmp/ini/inibak/
-s_3.0.2.24.20240408
-s_616C7469-6361-7374-2D50-726F7465
-s_9a04f079-9840-4286-ab92-e65be088
-s_9d58-a985-b3c9-781a-b030af78d30e
-s_==========================socket
-s_Application_must_supply_a_known
-s_Audio_timeout_-_buggy_audio_driv
-s_Cannot_Connect_the_server!
-s_Connected!
-s_DT_NetApSetSta
-s_Debug
-s_Error_before:_[%s]
-s_GetExtName_error!
-s_Get_body_softwareVersion
-s_Get_body_time
-s_Get_session_len_is_%d
-s_Get_system_date_and_time
-s_Get_system_date_and_time_body_is
-s_HI_CONFACCESS_Flush_---s
-s_HI_MPI_SYS_UnBind(AVS-VO)
-s_HI_MPI_SYS_UnBind(VI-VENC)
-s_Input_and_output_arrays_must_hav
-s_LSC_GenerateGridInfo
-s_LoadCanvasEx_error!
-s_LoadImageEx_error!
-s_MGVL1_FACE_ATTRIBUTE_RESPIRATOR_%
-s_OSD_LoadBMP:_filename=NULL
-s_OSD_LoadBMP_error!
-s_Open_file_faild:%s!
-s_PARAM_Flush_---e
-s_PARAM_Flush_---s
-s_Please_wait_for_the_client_infor
-s_SAMPLE_COMM_AVS_UnBind_VO
-s_SAMPLE_COMM_SVP_CheckSysInit
-s_SAMPLE_COMM_SVP_SysInit
-s_SAMPLE_COMM_VI_UnBind_VENC
-s_SAMPLE_GET_IVE_RGB_Image
-s_SDL:_%s
-s_TFERIFERtgrtTPRG
-s_The_output_array_size_is_incorre
-s_UpdateConfig
-s_Version_is_%d
-s_[Func]:%s_[Line]:%d_[Info]:%s:_L
-s_[Func]:%s_[Line]:%d_[Info]:Obj_F
-s_[Func]:%s_[Line]:%d_[Info]:Track
-s_[Func]:%s_[Line]:%d_[Info]:Train
-s_[Func]:%s_[Line]:%d_[Info]:bbox
-s_[Func]:%s_[Line]:%d_[Info]:bbox
-s_[Func]:%s_[Line]:%d_[Info]:bbox-
-s_[Func]:%s_[Line]:%d_[Info]:bbox[
-s_[Func]:%s_[Line]:%d_[Info]:pstLS
-s_[Func]:%s_[Line]:%d_[Info]:stFre
-s_[Func]:%s_[Line]:%d_[Info]:track
-s_[Level]:%s,[Func]:%s_[Line]:%d_[
-s_accpet_socket_error:_errno
-s_action
-s_action_%s
-s_author
-s_bitmap_format_not_supported!
-s_bmpInfo.bmiHeader.biHeight_<
-s_body_%s_%d_%c
-s_body_size_%lld
-s_check_net
-s_connect_succeed.(%d)_(%s)
-s_connect_time_out
-s_content_type_is_%d
-s_cp_ini_config_product_commcfg.in
-s_create_request
-s_cvGEMM
-s_cvPerspectiveTransform
-s_cvReduce
-s_cvSetReal1D
-s_cvTransform
-s_date_-s_"%d-%d-%d_%d:%d:%d"
-s_dst.depth()_==_src.depth()_&&_ds
-s_dst.type()_==_src.type()_&&_dst.
-s_filename_can't_be_null!
-s_fread_error!line:%d
-s_getLSData
-s_ght="%d"
-s_header_size_%d
-s_hi_mpi_hdmi_com_set_cec_command
-s_hi_mpi_isp_get_ctrl_param
-s_hi_mpi_isp_set_ctrl_param
-s_image_row_stride_too_large
-s_iveDmaCopy
-s_ive_check_kcf_get_obj_param_user
-s_ive_check_kcf_judge_obj_bbox_par
-s_ive_check_kcf_obj_update_param_u
-s_ive_check_kcf_param_user
-s_ive_obj_list_get_free
-s_ive_obj_list_get_train
-s_level_idc="%d"
-s_ltuoX\t
-s_mat.type()_==_type()_&&_mat.size
-s_memory_image_too_large
-s_message_id_%4d_%02d_%02d_%02d:%0
-s_message_id_%lld
-s_message_size_is_%d
-s_mpi_ive_kcf_get_train_obj
-s_msdstbusttbsttemCtxtatemltbsxh~
-s_network_error_in_connect
-s_no_color-map_for_color-mapped_im
-s_not_bitmap_file
-s_not_enough_memory_to_malloc!
-s_not_support_compressed_bitmap_fi
-s_not_supported_image_file!
-s_other_error_when_select
-s_password_%s
-s_png_image_write_:_out_of_memory
-s_png_image_write_to_stdio:_incorr
-s_png_image_write_to_stdio:_invali
-s_png_write_image:_internal_call
-s_png_write_image:_unsupported_tra
-s_print_response
-s_recv_msg_from_client:%s
-s_res_%d_.
-s_rncscapsrtrpt9*
-s_session_size_is_%d
-s_supplied_row_stride_too_small
-s_tbusatemppts(h~
-s_time_out_%d
-s_tm_hour_is_%d
-s_tm_mday_is_%d
-s_tm_min_is_%d
-s_tm_mon_is_%d
-s_tm_sec_is_%d
-s_tnihdhmndhmh_ptritnh$Ax
-s_year_is_%d
+s_%p_Not_allowed_to_upload_%s
+s_%p_Receiving_file_%s_->_%s
+s_0-4286-ab92-e65be0885f95
+s_2f%10d%10d%10d
+s_2to1_line_WDR_mode
+s_3.0.2.26.20240517
+s_7469-6361-7374-2D50-726F74656374
+s_Copy_dimension_(which_has_zero_s
+s_Failed_to_open_%s:_%d
+s_HTTP/1.1_403_Not_Allowed_Content
+s_HTTP/1.1_500_Internal_Server_Err
+s_Manaul_ExpRatio_is_too_large!
+s_NULL_pointer_to_array_or_destina
+s_None_of_array_parameters_is_chan
+s_PARAM_FixIni
+s_PARAM_Read
+s_PARAM_Read_---------------------
+s_Requested_and_source_matrices_ha
+s_SAMPLE_COMM_REGION_AttachToChn
+s_SAMPLE_COMM_REGION_DetachFrmChn
+s_TADIETLPDGKbMRHcDNEIRDHIfIXeAMAg
+s_[Func]:%s_[Line]:%d_[Info]:NOT_s
+s_[Func]:%s_[Line]:%d_[Info]:senso
+s_[Func]:%s_[Line]:%d_[Info]:svm_m
+s_aidmdhdmmscotnihms7matemdhmn_t~
+s_cmos_ae_fswdr_attr_set
+s_cmos_again_calc_table
+s_cmos_dgain_calc_table
+s_cmos_fps_set
+s_cmos_gains_update
+s_cmos_get_ae_default
+s_cmos_get_awb_default
+s_cmos_get_inttime_max
+s_cmos_get_isp_black_level
+s_cmos_get_isp_default
+s_cmos_get_sns_regs_info
+s_cmos_inttime_update
+s_cmos_set_image_mode
+s_cmos_set_pixel_detect
+s_cmos_set_wdr_mode
+s_cmos_slow_framerate_set
+s_cp_/tmp/ini/inireset/config_prod
+s_cvCrossProduct
+s_cvGetCols
+s_cvGetDiag
+s_cvTranspose
+s_darkgray
+s_e2719d58-a985-b3c9-781a-b030af78
+s_height="%d"
+s_hi_mpi_ao_disable_vqe
+s_hi_mpi_ao_get_vqe_attr
+s_hi_mpi_hdmi_cec_status
+s_hi_mpi_hdmi_com_get_sink_capabil
+s_hi_mpi_hdmi_reg_callback_func
+s_hi_mpi_hdmi_reg_cec_callback_fun
+s_hi_mpi_hdmi_set_cec_command
+s_hi_mpi_hdmi_unreg_callback_func
+s_hi_mpi_hdmi_unreg_cec_callback
+s_hi_mpi_ive_svm_unload_model
+s_ini_fix_ok
+s_ini_fix_ok
+s_ini_not_need_fix
+s_isp_route_ex_check
+s_lawngreen
+s_lcmnknilrtnmtsbaH;*
+s_linear_mode
+s_ltuo_^t
+s_mean0.data_==_mean.data
+s_null_pointer_when_get_isp_black_l
+s_nurtmsdofartdhft$o~
+s_sensor_ctx_init
+s_sensor_global_init
+s_sensor_register_callback
+s_sensor_unregister_callback
+s_src.rows_==_dst.cols_&&_src.cols
+s_srcA.size()_==_dst.size()_&&_src
+s_tbusatemppts@p~
+s_tcipltbsmsdoxs~
+s_tnihdhmndhmh_ptritnh<Ix
+s_trace

String References

Old

String Ref Count Ref Func
s_png_image_write_to_stdio:_invali_008293ec 1 FUN_005a7000
s_%i.%i.%i_007833b8 1 FUN_000bc8b8
s_getLSData_007b69d8 8
s_year_is_%d_00780dfc 1 FUN_000aa11c
s_tbusatemppts(h~_00297498 1 FUN_002972ac
s_[Func]:%s_[Line]:%d_[Info]:bbox_c_007a15fc 3 FUN_0016f52c,FUN_0016f324,FUN_0016f74c
s_SAMPLE_COMM_SVP_SysInit_0078d7a8 3
s_Input_and_output_arrays_must_hav_008303b0 1
s_accpet_socket_error:_errno_00780d3c 1 FUN_000aacac
s_action_00780d8c 1 FUN_000aacac
s_header_size_%d_00780fe0 1 FUN_000aa948
s_[Func]:%s_[Line]:%d_[Info]:pstLS_007b668c 1
s_HI_CONFACCESS_Flush_---s_0077162c 1 FUN_00057090
s_Get_system_date_and_time_00780f54 1
s_HI_MPI_SYS_UnBind(AVS-VO)_0078c130 1
s_SAMPLE_COMM_SVP_CheckSysInit_0078d7d8 2 FUN_00100150
s_SDL:_%s_00838f08 1 FUN_006e59c4
s_png_write_image:_internal_call_e_008295ac 1
s_(D.rows_==((flags&_CV_GEMM_A_T_0082e650 1 FUN_0060d330
s_tm_mday_is_%d_00780e1c 1 FUN_000aa11c
s_hi_mpi_isp_get_ctrl_param_007b1638 2 FUN_001c8b7c
s_OSD_LoadBMP:_filename=NULL_0078d2dc 4 FUN_000ff044,FUN_000ff794,FUN_000fef2c,FUN_000ff358
s_time_out_%d_00786a34 1 FUN_000d9f8c
s_tm_mon_is_%d_00780e0c 1 FUN_000aa11c
s_tnihdhmndhmh_ptritnh$Ax_004210b0 1 FUN_00420edc
s_3.0.2.24.20240408_007741e0 1 FUN_00062c98
s_Audio_timeout_-_buggy_audio_driv_00838ed8 1 FUN_006e59c4
s_not_bitmap_file_0078d310 1 FUN_000fef2c
s_tm_min_is_%d_00780e3c 1 FUN_000aa11c
s_password_%s_00780dbc 1 FUN_000aacac
s_Please_wait_for_the_client_infor_00780d14 1 FUN_000aacac
s_iveDmaCopy_007812e4 1 FUN_000ab168
s_[Func]:%s_[Line]:%d_[Info]:bbox__007a1a74 1 FUN_0016f74c
s_LoadCanvasEx_error!_0078d44c 1 FUN_000ffdb0
s_no_color-map_for_color-mapped_im_008292d4 1
s_png_image_write_:_out_of_memory_00829260 1 FUN_005a3508
s_cvPerspectiveTransform_0082e488 1 FUN_0060df3c
s_Application_must_supply_a_known_b_00827f60 1 FUN_00595148
s_cp_ini_config_product_commcfg.in_00770518 1 FUN_0004d0d4
s_Version_is_%d_00780de8 1 FUN_000aa5a4
s_hi_mpi_hdmi_com_set_cec_command_0079c598 1
s_tm_sec_is_%d_00780e4c 1 FUN_000aa11c
s_content_type_is_%d_00781034 1 FUN_000aa948
s_[Func]:%s_[Line]:%d_[Info]:Obj_F_0079e5f8 1
s_print_response_00780f70 7 FUN_000aa948
s_[Level]:%s,[Func]:%s_[Line]:%d_[_0078d5fc 1 FUN_00100150
s_/tmp/ini/inibak/_007704c4 2 FUN_0004d0d4
s_not_support_compressed_bitmap_fi_0078d358 3 FUN_000ff044,FUN_000ff794,FUN_000ff358
s_dst.depth()_==src.depth()&&_ds_0082e7b8 1 FUN_0060d980
s_ive_obj_list_get_train_007a3100 1 FUN_00170dfc
s_[Func]:%s_[Line]:%d_[Info]:bbox[_007a1b54 1 FUN_0016f74c
s_[Func]:%s_[Line]:%d_[Info]:bbox-_007a18c8 1 FUN_0016f52c
s_Open_file_faild:%s!_0078d2f8 4 FUN_000ff044,FUN_000ff794,FUN_000fef2c,FUN_000ff358
s_msdstbusttbsttemCtxtatemltbsxh~_002978c0 1 FUN_00297634
s_[Func]:%s_[Line]:%d_[Info]:track_007a1894 1 FUN_0016f52c
s_SAMPLE_GET_IVE_RGB_Image_007825cc 1
s_ive_check_kcf_param_user_007a0b90 8 FUN_0016f0e4
s_HI_MPI_SYS_UnBind(VI-VENC)_0078c214 1
s_==========================socket_00781078 1 FUN_000aa948
s_res_%d_._007869f0 1 FUN_000d9f8c
s_ive_check_kcf_get_obj_param_user_007a0bac 6 FUN_0016f324
s_%11d%11d%11d%11d%11d%11d%10d%10._007a7eac 1 FUN_00181d34
s_SAMPLE_COMM_AVS_UnBind_VO_0078c5d4 2
s_ght="%d"_00813434 1 FUN_0008b55c
s_The_output_array_size_is_incorre_0083038c 1
s_dst.type()_==src.type()&&_dst._0082e6e4 1 FUN_0060df3c
s_message_id_%lld_00780ff4 1 FUN_000aa948
s_Error_before:_[%s]_00780d78 1 FUN_000aacac
s_supplied_row_stride_too_small_00829298 1
s_fread_error!line:%d_0078d3bc 1 FUN_000ff044
s_ive_check_kcf_obj_update_param_u_007a0bf8 9 FUN_0016f74c
s_UpdateConfig_00780da0 1 FUN_000aacac
s_/root/Wifi/AP_mode_007867d8 1 FUN_000da598
s_bmpInfo.bmiHeader.biHeight_<_0_0078d37c 3 FUN_000ff044,FUN_000ff794,FUN_000ff358
s_Get_session_len_is_%d_00780edc 1
s_[Func]:%s_[Line]:%d_[Info]:%s:_L_007b66c4 4
s_Debug_0078d5f4 1 FUN_00100150
s_mpi_ive_kcf_get_train_obj_0079fb9c 1
s_not_enough_memory_to_malloc!_0078d39c 3 FUN_000ff044,FUN_000ff794,FUN_000ff358
s_DT_NetApSetSta_00780f80 8 FUN_000aacac
s_level_idc="%d"_008097ec 1 FUN_0040f874
s_ive_obj_list_get_free_007a30e8 1 FUN_00170cd4
s_message_size_is_%d_00780fc8 1 FUN_000aa948
s_date_-s_"%d-%d-%d_%d:%d:%d"_00780e5c 1 FUN_000aa11c
s_Get_body_softwareVersion_00780f18 1 FUN_000aa5a4
s_cvGEMM_0082e4a0 1 FUN_0060d330
s_png_image_write_to_stdio:_incorr_00829418 1 FUN_005a7000
s_mat.type()_==type()&&_mat.size_0082e400 1 FUN_0060cf18
s_session_size_is_%d_00780fb0 1 FUN_000aa00c
s_message_id_%4d_%02d_%02d_%02d:%0_00781008 1 FUN_000aa948
s_filename_can't_be_null!_0078d320 1 FUN_000ffbdc
s_PARAM_Flush_---s_007715fc 1 FUN_00057090
s_cvTransform_0082e444 1 FUN_0060d980
s_%d_%d_%d_%d_%d_%d_0078d3dc 1 FUN_000ff794
s_image_row_stride_too_large_008292b8 1
s_cvReduce_0082fe10 2
s_Connected!_00786a64 1 FUN_000d9f8c
s_action_%s_00780d94 2 FUN_000aacac
s_OSD_LoadBMP_error!_0078d474 3 FUN_000ffd04,FUN_000ffdb0,FUN_000ffc60
s_[Func]:%s_[Line]:%d_[Info]:Track_007a1bfc 1 FUN_0016f74c
s_body_size_%lld_0078104c 1 FUN_000aa948
s_recv_msg_from_client:%s_00780d5c 1 FUN_000aacac
s_Cannot_Connect_the_server!_00786a44 1 FUN_000d9f8c
s_9d58-a985-b3c9-781a-b030af78d30e_00811428 1 FUN_00081d9c
s_check_net_00786960 9 FUN_000d9f8c
s_Get_system_date_and_time_body_is_00780eb4 1
s_ltuoX\t_00841518 3
s_connect_time_out_007869dc 1 FUN_000d9f8c
s_memory_image_too_large_00829280 1
s_connect_succeed.(%d)_(%s)_007869fc 1 FUN_000d9f8c
s_TFERIFERtgrtTPRG_0026e2c4 3 FUN_0026d7f4
s_Get_body_time_00780f08 6 FUN_000aa11c
s_bitmap_format_not_supported!_0078d338 3 FUN_000ff044,FUN_000ff794,FUN_000ff358
s_other_error_when_select_00786a18 2 FUN_000d9f8c
s_SAMPLE_COMM_VI_UnBind_VENC_0078c44c 2
s_[Func]:%s_[Line]:%d_[Info]:Train_0079e6c4 1 FUN_0016f324
s_cvSetReal1D_00829e94 2
s_$Number$_0080fbfc 2 FUN_0043a1c4,FUN_004562f0
s_create_request_00780ef8 1 FUN_000aa00c
s_png_write_image:_unsupported_tra_008292f8 1
s_tm_hour_is_%d_00780e2c 1 FUN_000aa11c
s_rncscapsrtrpt9*_00582d80 1 FUN_005829bc
s_616C7469-6361-7374-2D50-726F7465_008113ac 2 FUN_0043d8dc
s_[Func]:%s_[Line]:%d_[Info]:stFre_007a3248 1 FUN_00170cd4
s_MGVL1_FACE_ATTRIBUTE_RESPIRATOR_%_0077e7c0 1 FUN_0009f730
s_LoadImageEx_error!_0078d4a4 1 FUN_000ffd04
s_author_007e4b5c 1
s_ive_check_kcf_judge_obj_bbox_par_007a0bd0 7 FUN_0016f52c
s_9a04f079-9840-4286-ab92-e65be088_008111cc 2 FUN_0043d8dc
s_PARAM_Flush_---e_00771648 1 FUN_00057090
s_GetExtName_error!_0078d460 1 FUN_000ffc60
s_hi_mpi_isp_set_ctrl_param_007b161c 2 FUN_001c8a9c
s_network_error_in_connect_007869c0 1 FUN_000d9f8c
s_body_%s_%d_%c_00781060 1 FUN_000aa948
s_LSC_GenerateGridInfo_007b69f0 2
s_not_supported_image_file!_0078d488 3 FUN_000ffd04,FUN_000ffdb0,FUN_000ffc60

New

String Ref Count Ref Func
s_cmos_fps_set_007c1100 7
s_cmos_get_ae_default_007c10ec 2 FUN_0021afc0
s_%p_Not_allowed_to_upload_%s_00783fe0 1
s_ini_fix_ok_00771d78 1 FUN_00057284
s_cmos_again_calc_table_007c113c 2
s_ltuo_^t_00841c34 2
s_cmos_dgain_calc_table_007c1154 2
s_tnihdhmndhmh_ptritnh<Ix_00421850 1 FUN_0042167c
s_cmos_get_inttime_max_007c1180 5 FUN_0021b58c
s_cvCrossProduct_00830600 1
s_cvGetDiag_0082a968 3
s_[Func]:%s_[Line]:%d_[Info]:NOT_s_007c17b0 1
s_cmos_set_image_mode_007c1240 5 FUN_00219ac0
s_3.0.2.26.20240517_007749b8 1 FUN_0006342c
s_ini_fix_ok_2_00771dc8 1 FUN_00057284
s_TADIETLPDGKbMRHcDNEIRDHIfIXeAMAg_005938bc 2 FUN_00593414
s_cmos_ae_fswdr_attr_set_007c1198 1
s_cmos_get_awb_default_007c11b0 2 FUN_0021b390
s_hi_mpi_ive_svm_unload_model_007a0058 1
s_HTTP/1.1_500_Internal_Server_Err_0078407c 1
s_hi_mpi_ao_get_vqe_attr_007981d0 2 FUN_001496ec
s_null_pointer_when_get_isp_black_l_007c170c 1
s_sensor_unregister_callback_007c1294 5 FUN_0021be34
s_sensor_ctx_init_007c1268 1 FUN_0021a550
s_aidmdhdmmscotnihms7matemdhmn_t~_0029fbb4 1 FUN_0029f7e0
s_Failed_to_open_%s:_%d_007840d0 2
s_isp_route_ex_check_007aaf4c 1
s_srcA.size()_==dst.size()&&_src_008309fc 1
s_[Func]:%s_[Line]:%d_[Info]:svm_m_0079fb0c 1
s_cmos_slow_framerate_set_007c1110 2 FUN_00219f80
s_7469-6361-7374-2D50-726F74656374_00811bc8 1 FUN_00081764
s_%p_Receiving_file_%s_->_%s_00784060 1
s_trace_00830710 1
s_2f%10d%10d%10d_007a86e4 1 FUN_000d6aa8
s_cvTranspose_008305f4 1
s_PARAM_Read_---------------------_00771f44 1 FUN_00056efc
s_lcmnknilrtnmtsbaH;*_005834dc 1 FUN_0058315c
s_PARAM_Read_00772008 11 FUN_00056efc
s_tbusatemppts@p~_00297c38 1 FUN_00297a4c
s_hi_mpi_hdmi_com_get_sink_capabil_0079ccd4 3 FUN_0015f64c
s_cmos_get_isp_black_level_007c11e0 1
s_PARAM_FixIni_00772024 9 FUN_00057284
s_HTTP/1.1_403_Not_Allowed_Content_00783ffc 1
s_height="%d"_00813c48 1 FUN_0044d5f8
s_linear_mode_007c1790 1
s_Copy_dimension_(which_has_zero_s_008304e8 1
s_Manaul_ExpRatio_is_too_large!_007c16ec 1 FUN_0021b58c
s_cmos_set_wdr_mode_007c1214 2
s_cmos_set_pixel_detect_007c11fc 1
s_cmos_inttime_update_007c1128 1
s_nurtmsdofartdhft$o~_0029552c 1 FUN_00294ed4
s_sensor_register_callback_007c1278 5 FUN_0021a550
s_cmos_get_isp_default_007c11c8 2 FUN_0021ab8c
s_SAMPLE_COMM_REGION_DetachFrmChn_0078c844 2
s_SAMPLE_COMM_REGION_AttachToChn_0078c824 2
s_None_of_array_parameters_is_chan_0082b21c 1 FUN_005b61bc
s_darkgray_007f732c 1
s_Requested_and_source_matrices_ha_00830530 1
s_ini_not_need_fix_00771d24 1 FUN_00057284
s_cmos_get_sns_regs_info_007c1228 2 FUN_0021a8c4
s_hi_mpi_hdmi_cec_status_0079c414 3 FUN_0015d8d0
s_0-4286-ab92-e65be0885f95_008119f0 1 FUN_00081914
s_cp_/tmp/ini/inireset/config_prod_00771d84 1 FUN_00057284
s_sensor_global_init_007c1254 1
s_NULL_pointer_to_array_or_destina_0082b1f0 1 FUN_005b61bc
s_hi_mpi_ao_disable_vqe_00798200 1
s_lawngreen_007f7698 1
s_hi_mpi_hdmi_set_cec_command_0079c3f8 3 FUN_0015d7b8
s_cmos_gains_update_007c116c 1
s_hi_mpi_hdmi_reg_cec_callback_fun_0079c3b0 3 FUN_0015d588
s_tcipltbsmsdoxs~_0029fbfc 1 FUN_0029f7e0
s_e2719d58-a985-b3c9-781a-b030af78_00811c3c 2 FUN_0043e07c
s_hi_mpi_hdmi_unreg_cec_callback_f_0079c3d4 3 FUN_0015d6a0
s_hi_mpi_hdmi_reg_callback_func_0079c370 2 FUN_0015d3e8
s_hi_mpi_hdmi_unreg_callback_func_0079c390 2 FUN_0015d4b8
s_[Func]:%s_[Line]:%d_[Info]:senso_007d8eac 1 FUN_0021be34
s_2to1_line_WDR_mode_007c179c 1
s_mean0.data_==_mean.data_0082ee48 1 FUN_0005e7a4
s_cvGetCols_0082a95c 2
s_src.rows_==dst.cols&&_src.cols_00830c9c 1

Deleted

FUN_000a9f60

Function Meta

Key dt_aicam_md5
name FUN_000a9f60
fullname FUN_000a9f60
refcount 2
length 32
called
calling FUN_000aa00c
paramcount 2
address 000a9f60
sig undefined __stdcall FUN_000a9f60(undefined4 param_1, undefined1 * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000a9f60
+++ FUN_000a9f60
@@ -1,123 +0,0 @@
-

-int FUN_000a9f60(int param_1,undefined1 *param_2)

-

-{

-  short sVar1;

-  int in_r2;

-  int in_r3;

-  int iVar2;

-  int iVar3;

-  uint unaff_r5;

-  uint unaff_r6;

-  uint uVar4;

-  uint uVar5;

-  uint uVar6;

-  uint uVar7;

-  int unaff_r9;

-  uint uVar8;

-  uint uVar9;

-  int iVar10;

-  int in_r12;

-  int in_lr;

-  int iVar11;

-  char in_NG;

-  bool in_ZR;

-  char in_OV;

-  int iStack00000018;

-  uint uStack0000001c;

-  int in_stack_0000004c;

-  

-  if (in_ZR || in_NG != in_OV) {

-    in_r12 = (int)(short)in_r12;

-  }

-  if (in_r3 < (int)param_2) {

-    uVar4 = unaff_r5 - in_r3;

-  }

-  else {

-    uVar4 = in_r3 - unaff_r5;

-  }

-  uVar5 = uVar4 & 0xffff;

-  if (in_r12 < in_r2) {

-    uVar6 = unaff_r6 - in_r12;

-  }

-  else {

-    uVar6 = in_r12 - unaff_r6;

-  }

-  uVar7 = uVar6 & 0xffff;

-  if ((int)param_2 < in_r3) {

-    uVar9 = 1;

-  }

-  else {

-    uVar9 = 0xffffffff;

-  }

-  if (in_r2 < in_r12) {

-    uVar8 = 1;

-  }

-  else {

-    uVar8 = 0xffffffff;

-  }

-  iVar2 = unaff_r9;

-  iVar11 = unaff_r9;

-  switch(*(undefined4 *)(param_1 + 0x14)) {

-  case 0:

-    iVar3 = in_lr * *(short *)(param_1 + 0xc);

-    iVar11 = iVar3;

-    if (iVar3 < 0) {

-      iVar11 = iVar3 + 3;

-    }

-    iVar2 = unaff_r9 + iVar3;

-    iVar11 = unaff_r9 + iVar3 + (iVar11 >> 2);

-    break;

-  case 1:

-    goto LAB_000aa050;

-  case 2:

-LAB_000aa050:

-    iVar2 = in_lr * *(short *)(param_1 + 0xc) + unaff_r9;

-    iVar11 = iVar2;

-    break;

-  case 3:

-    break;

-  case 4:

-    break;

-  default:

-    unaff_r9 = 0;

-    iVar2 = 0;

-    iVar11 = 0;

-  }

-  iStack00000018 = param_1;

-  if (uVar5 <= uVar7) {

-    iVar3 = 0;

-    uStack0000001c = uVar8 & 0xffff;

-    iVar10 = 0;

-    do {

-      sVar1 = (short)uVar4 + (short)iVar3;

-      iVar10 = (int)(short)((short)iVar10 + 1);

-      FUN_000a9b70(iStack00000018,unaff_r9,iVar2,iVar11,(ushort)unaff_r5,(ushort)unaff_r6,

-                   in_stack_0000004c);

-      iVar3 = (int)sVar1;

-      if (uVar7 == iVar3 * 2 || (int)(uVar7 + iVar3 * -2) < 0 != SBORROW4(uVar7,iVar3 * 2)) {

-        unaff_r5 = unaff_r5 + uVar9 & 0xffff;

-        iVar3 = (int)(short)(sVar1 - (short)uVar6);

-      }

-      unaff_r6 = uStack0000001c + unaff_r6 & 0xffff;

-    } while (iVar10 <= (int)uVar7);

-    return unaff_r9;

-  }

-  iVar3 = 0;

-  uStack0000001c = uVar9 & 0xffff;

-  iVar10 = 0;

-  do {

-    sVar1 = (short)uVar6 + (short)iVar3;

-    iVar10 = (int)(short)((short)iVar10 + 1);

-    FUN_000a9b70(iStack00000018,unaff_r9,iVar2,iVar11,(ushort)unaff_r5,(ushort)unaff_r6,

-                 in_stack_0000004c);

-    iVar3 = (int)sVar1;

-    if (uVar5 == iVar3 * 2 || (int)(uVar5 + iVar3 * -2) < 0 != SBORROW4(uVar5,iVar3 * 2)) {

-      unaff_r6 = unaff_r6 + uVar8 & 0xffff;

-      iVar3 = (int)(short)(sVar1 - (short)uVar4);

-    }

-    unaff_r5 = unaff_r5 + uStack0000001c & 0xffff;

-  } while (iVar10 <= (int)uVar5);

-  return unaff_r9;

-}

-

FUN_000a9f80

Function Meta

Key dt_aicam_md5
name FUN_000a9f80
fullname FUN_000a9f80
refcount 2
length 56
called
calling FUN_000aa00c
paramcount 3
address 000a9f80
sig undefined __stdcall FUN_000a9f80(uint param_1, int param_2, int param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000a9f80
+++ FUN_000a9f80
@@ -1,102 +0,0 @@
-

-int FUN_000a9f80(uint param_1,int param_2,int param_3)

-

-{

-  short sVar1;

-  int in_r3;

-  int iVar2;

-  int iVar3;

-  uint unaff_r5;

-  uint unaff_r6;

-  int unaff_r7;

-  ushort unaff_r8;

-  uint uVar4;

-  int unaff_r9;

-  uint uVar5;

-  uint uVar6;

-  int iVar7;

-  int in_r12;

-  int in_lr;

-  int iVar8;

-  uint uStack00000018;

-  uint uStack0000001c;

-  int in_stack_0000004c;

-  

-  uVar4 = (uint)unaff_r8;

-  if (param_2 < in_r3) {

-    uVar6 = 1;

-  }

-  else {

-    uVar6 = 0xffffffff;

-  }

-  if (param_3 < in_r12) {

-    uVar5 = 1;

-  }

-  else {

-    uVar5 = 0xffffffff;

-  }

-  iVar2 = unaff_r9;

-  iVar8 = unaff_r9;

-  switch(*(undefined4 *)(param_1 + 0x14)) {

-  case 0:

-    iVar3 = in_lr * *(short *)(param_1 + 0xc);

-    iVar8 = iVar3;

-    if (iVar3 < 0) {

-      iVar8 = iVar3 + 3;

-    }

-    iVar2 = unaff_r9 + iVar3;

-    iVar8 = unaff_r9 + iVar3 + (iVar8 >> 2);

-    break;

-  case 1:

-    goto LAB_000aa050;

-  case 2:

-LAB_000aa050:

-    iVar2 = in_lr * *(short *)(param_1 + 0xc) + unaff_r9;

-    iVar8 = iVar2;

-    break;

-  case 3:

-    break;

-  case 4:

-    break;

-  default:

-    unaff_r9 = 0;

-    iVar2 = 0;

-    iVar8 = 0;

-  }

-  uStack00000018 = param_1;

-  if (unaff_r7 <= (int)uVar4) {

-    iVar3 = 0;

-    uStack0000001c = uVar5 & 0xffff;

-    iVar7 = 0;

-    do {

-      sVar1 = (short)unaff_r7 + (short)iVar3;

-      iVar7 = (int)(short)((short)iVar7 + 1);

-      FUN_000a9b70(uStack00000018,unaff_r9,iVar2,iVar8,(ushort)unaff_r5,(ushort)unaff_r6,

-                   in_stack_0000004c);

-      iVar3 = (int)sVar1;

-      if (uVar4 == iVar3 * 2 || (int)(uVar4 + iVar3 * -2) < 0 != SBORROW4(uVar4,iVar3 * 2)) {

-        unaff_r5 = unaff_r5 + uVar6 & 0xffff;

-        iVar3 = (int)(short)(sVar1 - unaff_r8);

-      }

-      unaff_r6 = uStack0000001c + unaff_r6 & 0xffff;

-    } while (iVar7 <= (int)uVar4);

-    return unaff_r9;

-  }

-  iVar3 = 0;

-  uStack0000001c = uVar6 & 0xffff;

-  iVar7 = 0;

-  do {

-    sVar1 = unaff_r8 + (short)iVar3;

-    iVar7 = (int)(short)((short)iVar7 + 1);

-    FUN_000a9b70(uStack00000018,unaff_r9,iVar2,iVar8,(ushort)unaff_r5,(ushort)unaff_r6,

-                 in_stack_0000004c);

-    iVar3 = (int)sVar1;

-    if (unaff_r7 == iVar3 * 2 || unaff_r7 + iVar3 * -2 < 0 != SBORROW4(unaff_r7,iVar3 * 2)) {

-      unaff_r6 = unaff_r6 + uVar5 & 0xffff;

-      iVar3 = (int)(short)(sVar1 - (short)unaff_r7);

-    }

-    unaff_r5 = unaff_r5 + uStack0000001c & 0xffff;

-  } while (iVar7 <= unaff_r7);

-  return unaff_r9;

-}

-

FUN_000aa00c

Function Meta

Key dt_aicam_md5
name FUN_000aa00c
fullname FUN_000aa00c
refcount 1
length 248
called ::__stack_chk_fail
::strcat
::strlen
::time
FUN_000a9f60
FUN_000a9f80
FUN_000d460c
calling
paramcount 3
address 000aa00c
sig int __stdcall FUN_000aa00c(undefined1 * param_1, char * param_2, char * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000aa00c
+++ FUN_000aa00c
@@ -1,44 +0,0 @@
-

-int FUN_000aa00c(undefined1 *param_1,char *param_2,char *param_3)

-

-{

-  int in_r3;

-  uint unaff_r4;

-  int iVar1;

-  ushort unaff_r5;

-  ushort unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  char *unaff_r9;

-  short unaff_r10;

-  int unaff_r11;

-  ushort in_stack_00000004;

-  int in_stack_00000008;

-  char *in_stack_00000010;

-  int in_stack_00000014;

-  int in_stack_00000018;

-  short in_stack_0000001c;

-  int in_stack_0000004c;

-  

-  while( true ) {

-    FUN_000a9b70(in_stack_00000018,(int)param_2,(int)param_3,in_r3,unaff_r5,in_stack_00000004,

-                 in_stack_00000008);

-    iVar1 = (int)(short)unaff_r4;

-    in_stack_00000004 = unaff_r6;

-    if (unaff_r7 == iVar1 * 2 || unaff_r7 + iVar1 * -2 < 0 != SBORROW4(unaff_r7,iVar1 * 2)) {

-      iVar1 = (int)(short)((short)unaff_r4 - (short)unaff_r7);

-      in_stack_00000004 = unaff_r6 + unaff_r10;

-    }

-    unaff_r5 = unaff_r5 + in_stack_0000001c;

-    if (unaff_r7 < unaff_r11) break;

-    in_stack_00000008 = in_stack_0000004c;

-    unaff_r4 = unaff_r8 + iVar1 & 0xffff;

-    unaff_r11 = (int)(short)((short)unaff_r11 + 1);

-    param_2 = unaff_r9;

-    param_3 = in_stack_00000010;

-    in_r3 = in_stack_00000014;

-    unaff_r6 = in_stack_00000004;

-  }

-  return (int)unaff_r9;

-}

-

FUN_000aa11c

Function Meta

Key dt_aicam_md5
name FUN_000aa11c
fullname FUN_000aa11c
refcount 1
length 1076
called ::__stack_chk_fail
::snprintf
::system
FUN_000d460c
calling FUN_000aa948
paramcount 1
address 000aa11c
sig undefined __stdcall FUN_000aa11c(int param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000aa11c
+++ FUN_000aa11c
@@ -1,57 +0,0 @@
-

-void FUN_000aa11c(int param_1)

-

-{

-  short sVar1;

-  int in_r3;

-  int iVar2;

-  uint unaff_r5;

-  uint unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  uint unaff_r10;

-  int iVar3;

-  uint unaff_r11;

-  int iStack00000010;

-  int in_stack_00000014;

-  int iStack00000018;

-  uint uStack0000001c;

-  int in_stack_0000004c;

-  

-  iVar2 = 0;

-  iStack00000010 = in_r3;

-  iStack00000018 = param_1;

-  if (unaff_r7 <= unaff_r8) {

-    uStack0000001c = unaff_r10 & 0xffff;

-    iVar3 = 0;

-    do {

-      sVar1 = (short)unaff_r7 + (short)iVar2;

-      iVar3 = (int)(short)((short)iVar3 + 1);

-      FUN_000a9b70(iStack00000018,in_r3,iStack00000010,in_stack_00000014,(ushort)unaff_r5,

-                   (ushort)unaff_r6,in_stack_0000004c);

-      iVar2 = (int)sVar1;

-      if (unaff_r8 == iVar2 * 2 || unaff_r8 + iVar2 * -2 < 0 != SBORROW4(unaff_r8,iVar2 * 2)) {

-        unaff_r5 = unaff_r5 + unaff_r11 & 0xffff;

-        iVar2 = (int)(short)(sVar1 - (short)unaff_r8);

-      }

-      unaff_r6 = uStack0000001c + unaff_r6 & 0xffff;

-    } while (iVar3 <= unaff_r8);

-    return;

-  }

-  uStack0000001c = unaff_r11 & 0xffff;

-  iVar3 = 0;

-  do {

-    sVar1 = (short)unaff_r8 + (short)iVar2;

-    iVar3 = (int)(short)((short)iVar3 + 1);

-    FUN_000a9b70(iStack00000018,in_r3,iStack00000010,in_stack_00000014,(ushort)unaff_r5,

-                 (ushort)unaff_r6,in_stack_0000004c);

-    iVar2 = (int)sVar1;

-    if (unaff_r7 == iVar2 * 2 || unaff_r7 + iVar2 * -2 < 0 != SBORROW4(unaff_r7,iVar2 * 2)) {

-      unaff_r6 = unaff_r6 + unaff_r10 & 0xffff;

-      iVar2 = (int)(short)(sVar1 - (short)unaff_r7);

-    }

-    unaff_r5 = unaff_r5 + uStack0000001c & 0xffff;

-  } while (iVar3 <= unaff_r7);

-  return;

-}

-

FUN_000aa5a4

Function Meta

Key dt_aicam_md5
name FUN_000aa5a4
fullname FUN_000aa5a4
refcount 0
length 120
called FUN_000d460c
calling
paramcount 0
address 000aa5a4
sig undefined __stdcall FUN_000aa5a4(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000aa5a4
+++ FUN_000aa5a4
@@ -1,16 +0,0 @@
-

-void FUN_000aa5a4(void)

-

-{

-  ios_base *in_r0;

-  int *in_stack_00000000;

-  int in_stack_0000012c;

-  

-  std::ios_base::~ios_base(in_r0);

-  if (in_stack_0000012c == *in_stack_00000000) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail(1);

-}

-

FUN_000aacac

Function Meta

Key dt_aicam_md5
name FUN_000aacac
fullname FUN_000aacac
refcount 1
length 1016
called
Expand for full list:
::__stack_chk_fail
::accept
::bind
::close
::listen
::recv
::socket
::strcmp
::strcpy
::usleep
FUN_00056c34
FUN_000bc8a0
FUN_000bca08
FUN_000bd35c
FUN_000bd5ac
FUN_000d460c
FUN_000d9f8c
FUN_000da5a8
calling FUN_000ab114
paramcount 0
address 000aacac
sig undefined __stdcall FUN_000aacac(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000aacac
+++ FUN_000aacac
@@ -1,52 +0,0 @@
-

-void FUN_000aacac(void)

-

-{

-  int *piVar1;

-  int unaff_r4;

-  char *unaff_r5;

-  int unaff_r7;

-  int *piVar2;

-  int iStack00000008;

-  int iStack0000000c;

-  int iStack00000010;

-  int *in_stack_0000001c;

-  undefined4 *in_stack_00000020;

-  int *piStack00000024;

-  int *piStack00000028;

-  undefined4 *puStack0000002c;

-  int in_stack_00000074;

-  

-  puStack0000002c = *(undefined4 **)(unaff_r7 + 0xe44);

-  *puStack0000002c = 3;

-  iStack00000008 = 3;

-  FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xd2,"tm_mon is %d \n");

-  piStack00000024 = *(int **)(unaff_r7 + 0x15b0);

-  iStack00000008 = (*(byte *)(unaff_r4 + 0x38) - 0x30) * 10 + (*(byte *)(unaff_r4 + 0x39) - 0x30);

-  *piStack00000024 = iStack00000008;

-  FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xd5,"tm_mday is %d \n");

-  piStack00000028 = *(int **)(unaff_r7 + 0x1320);

-  iStack00000008 =

-       (*(byte *)(unaff_r4 + 0x41) - 0x30) * 10 + (uint)*(byte *)(unaff_r4 + 0x42) + -0x28;

-  *piStack00000028 = iStack00000008;

-  FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xd8,"tm_hour is %d \n");

-  piVar2 = *(int **)(unaff_r7 + 0x13a8);

-  iStack00000008 = (*(byte *)(unaff_r4 + 0x44) - 0x30) * 10 + (*(byte *)(unaff_r4 + 0x45) - 0x30);

-  *piVar2 = iStack00000008;

-  FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xdb,"tm_min is %d \n");

-  piVar1 = *(int **)(unaff_r7 + 0x1020);

-  iStack00000008 = (*(byte *)(unaff_r4 + 0x47) - 0x30) * 10 + (*(byte *)(unaff_r4 + 0x48) - 0x30);

-  *piVar1 = iStack00000008;

-  FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xde,"tm_sec is %d \n");

-  iStack0000000c = *piVar2;

-  iStack00000008 = *piStack00000028;

-  iStack00000010 = *piVar1;

-  snprintf(unaff_r5,0x40,"date -s \"%d-%d-%d %d:%d:%d\"",*in_stack_00000020);

-  system(unaff_r5);

-  if (in_stack_00000074 == *in_stack_0000001c) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail();

-}

-

FUN_000ab168

Function Meta

Key dt_aicam_md5
name FUN_000ab168
fullname FUN_000ab168
refcount 0
length 404
called ::__stack_chk_fail
::nanosleep
FUN_000d460c
HI_MPI_IVE_DMA
HI_MPI_IVE_Query
calling
paramcount 5
address 000ab168
sig undefined __stdcall FUN_000ab168(uint * param_1, void * param_2, void * param_3, uint * param_4, int param_5)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ab168
+++ FUN_000ab168
@@ -1,93 +0,0 @@
-

-void FUN_000ab168(uint *param_1,void *param_2,void *param_3,uint *param_4,int param_5)

-

-{

-  byte bVar1;

-  tm *ptVar2;

-  size_t sVar3;

-  char *pcVar4;

-  char *unaff_r4;

-  char *unaff_r5;

-  int unaff_r6;

-  int iVar5;

-  int iVar6;

-  char *unaff_r8;

-  char *unaff_r9;

-  int unaff_r10;

-  int unaff_r11;

-  undefined8 uVar7;

-  char *in_stack_00000004;

-  int iStack00000008;

-  int iStack0000000c;

-  int iStack00000010;

-  int iStack00000014;

-  int iStack00000018;

-  int iStack0000001c;

-  

-  FUN_000d4dac((uint)param_1,unaff_r8,(char *)param_3,(char *)param_4,param_5,in_stack_00000004);

-  uVar7 = func_0x000aa76c(unaff_r10 + 4);

-  *(undefined8 *)(unaff_r6 + -0x90) = uVar7;

-  printf(" message_id %lld \n");

-  ptVar2 = localtime((time_t *)(unaff_r6 + -0x90));

-  iStack0000001c = ptVar2->tm_sec;

-  in_stack_00000004 = "message_id %4d %02d %02d %02d:%02d:%02d\n";

-  iStack00000018 = ptVar2->tm_min;

-  iStack00000014 = ptVar2->tm_hour;

-  iStack00000010 = ptVar2->tm_mday;

-  iStack0000000c = ptVar2->tm_mon + 1;

-  param_5 = 0x11b;

-  iStack00000008 = ptVar2->tm_year + 0x76c;

-  FUN_000d4dac(4,unaff_r8,unaff_r4,unaff_r9,0x11b,"message_id %4d %02d %02d %02d:%02d:%02d\n");

-  iStack00000008 = func_0x000aa748(unaff_r10 + 0xc);

-  in_stack_00000004 = "content_type is %d \n";

-  param_5 = 0x11e;

-  FUN_000d4dac(4,unaff_r8,unaff_r4,unaff_r9,0x11e,"content_type is %d \n");

-  _iStack00000008 = func_0x000aa76c(unaff_r10 + 0x10);

-  iVar5 = (int)_iStack00000008;

-  in_stack_00000004 = " body_size %lld \n";

-  param_5 = 0x121;

-  *(undefined8 *)(unaff_r11 + -0xc4) = _iStack00000008;

-  iVar6 = *(int *)(unaff_r11 + -0xb8);

-  FUN_000d4dac(4,unaff_r8,unaff_r4,unaff_r9,0x121," body_size %lld \n");

-  iVar5 = iVar6 - iVar5;

-  iVar6 = -((iVar6 - *(int *)(unaff_r11 + -0xc4)) + 7U & 0xfffffff8);

-  strncpy(&stack0x00000020 + iVar6,(char *)(unaff_r10 + 0x18),iVar5 - 0x18);

-  *(undefined4 *)(unaff_r11 + -0xa8) = 0;

-  memset((void *)(unaff_r11 + -0xa4),0,0x7c);

-  strncpy(unaff_r5,(char *)(unaff_r10 + iVar5),*(size_t *)(unaff_r11 + -0xc4));

-  sVar3 = strlen(unaff_r5);

-  bVar1 = *(byte *)(unaff_r11 + -0x8a);

-  *(size_t *)((int)&stack0x0000000c + iVar6) = sVar3;

-  *(uint *)((int)&stack0x00000010 + iVar6) = (uint)bVar1;

-  *(char **)((int)&stack0x00000004 + iVar6) = " body    %s    %d %c \n";

-  *(undefined4 *)((int)&param_5 + iVar6) = 0x129;

-  *(char **)((int)&stack0x00000008 + iVar6) = unaff_r5;

-  FUN_000d4dac(4,unaff_r8,unaff_r4,unaff_r9,*(undefined4 *)((int)&param_5 + iVar6),

-               *(char **)((int)&stack0x00000004 + iVar6));

-  pcVar4 = strstr(unaff_r5,"session");

-  if (pcVar4 == (char *)0x0) {

-    pcVar4 = strstr(unaff_r5,"timezone");

-    if (pcVar4 == (char *)0x0) {

-      pcVar4 = strstr(unaff_r5,"error");

-      if (pcVar4 != (char *)0x0) {

-        *(undefined4 *)((int)&param_5 + iVar6) = 0x136;

-        *(char **)((int)&stack0x00000004 + iVar6) =

-             "==========================socket error====================================\n";

-        FUN_000d4dac(4,unaff_r8,unaff_r4,unaff_r9,*(undefined4 *)((int)&param_5 + iVar6),

-                     *(char **)((int)&stack0x00000004 + iVar6));

-      }

-    }

-    else {

-      func_0x000aa8ac();

-    }

-  }

-  else {

-    func_0x000aadbc();

-  }

-  if (*(int *)(unaff_r11 + -0x28) == **(int **)(unaff_r11 + -0xbc)) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail();

-}

-

FUN_000bc8b8

Function Meta

Key dt_aicam_md5
name FUN_000bc8b8
fullname FUN_000bc8b8
refcount 0
length 60
called ::sprintf
calling
paramcount 0
address 000bc8b8
sig undefined * __stdcall FUN_000bc8b8(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000bc8b8
+++ FUN_000bc8b8
@@ -1,64 +0,0 @@
-

-undefined * FUN_000bc8b8(void)

-

-{

-  int iVar1;

-  undefined1 *puVar2;

-  int *unaff_r4;

-  undefined1 unaff_r5;

-  undefined *puVar3;

-  int *unaff_r6;

-  int *unaff_r7;

-  int iVar4;

-  int unaff_r8;

-  undefined1 unaff_r9;

-  undefined1 unaff_r10;

-  int in_stack_00000024;

-  

-  while( true ) {

-    unaff_r4[2] = unaff_r8;

-    unaff_r6 = (int *)*unaff_r6;

-    if (unaff_r6 == (int *)0x0) break;

-    iVar1 = FUN_000bc6f0((int)unaff_r6,unaff_r4);

-    if (iVar1 == 0) goto LAB_000bc79c;

-    FUN_000bbd88(unaff_r4);

-    if (*unaff_r6 == 0) break;

-    if (unaff_r4[5] == 0) {

-      iVar1 = 2;

-      iVar4 = 1;

-    }

-    else {

-      iVar1 = 3;

-      iVar4 = 2;

-    }

-    puVar2 = (undefined1 *)FUN_000bbdb8(unaff_r4,iVar1);

-    if (puVar2 == (undefined1 *)0x0) goto LAB_000bc79c;

-    *puVar2 = unaff_r10;

-    if (unaff_r4[5] == 0) {

-      puVar2 = puVar2 + 1;

-    }

-    else {

-      puVar2[1] = unaff_r5;

-      puVar2 = puVar2 + 2;

-    }

-    *puVar2 = unaff_r9;

-    unaff_r8 = unaff_r4[2] + iVar4;

-  }

-  puVar2 = (undefined1 *)FUN_000bbdb8(unaff_r4,2);

-  if (puVar2 == (undefined1 *)0x0) {

-LAB_000bc79c:

-    puVar3 = (undefined *)0x0;

-  }

-  else {

-    *puVar2 = 0x5d;

-    puVar2[1] = 0;

-    puVar3 = (undefined *)0x1;

-    unaff_r4[3] = unaff_r4[3] + -1;

-  }

-  if (in_stack_00000024 != *unaff_r7) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail();

-  }

-  return puVar3;

-}

-

FUN_000d9f8c

Function Meta

Key dt_aicam_md5
name FUN_000d9f8c
fullname FUN_000d9f8c
refcount 2
length 1136
called
Expand for full list:
::__stack_chk_fail
::close
::connect
::fcntl
::inet_addr
::ioctl
::pthread_mutex_lock
::pthread_mutex_unlock
::select
::socket
::strlen
FUN_00056c34
FUN_000d460c
FUN_000d9e18
calling FUN_000aacac
FUN_000ab114
paramcount 2
address 000d9f8c
sig undefined __stdcall FUN_000d9f8c(__time_t param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000d9f8c
+++ FUN_000d9f8c
@@ -1,103 +0,0 @@
-

-void FUN_000d9f8c(__time_t param_1,int param_2)

-

-{

-  bool bVar1;

-  char *pcVar2;

-  int extraout_r1;

-  int iVar3;

-  int extraout_r1_00;

-  uint *puVar4;

-  int iVar5;

-  int *piVar6;

-  int unaff_r4;

-  int *unaff_r5;

-  uint *unaff_r6;

-  int unaff_r7;

-  bool in_ZR;

-  uint uStack0000001c;

-  undefined4 uStack00000020;

-  void *pvStack00000024;

-  undefined4 uStack0000002c;

-  undefined4 uStack00000030;

-  undefined4 uStack00000034;

-  undefined4 uStack0000003c;

-  undefined4 uStack00000040;

-  int in_stack_00000048;

-  undefined4 uStack00000054;

-  undefined4 uStack00000058;

-  undefined4 uStack0000005c;

-  undefined4 uStack00000060;

-  int in_stack_00000068;

-  int in_stack_0000006c;

-  int in_stack_00000070;

-  int in_stack_000000b4;

-  

-  if (!in_ZR) {

-    FUN_005ad374(param_1);

-  }

-  FUN_006ac538((int *)unaff_r6);

-  pvStack00000024 = (void *)0x1010000;

-  uStack00000034 = 0x2010000;

-  uStack0000002c = 0;

-  uStack00000030 = 0;

-  uStack0000003c = 0;

-  uStack00000040 = 0;

-  uStack0000001c = 600;

-  uStack00000020 = 600;

-  puVar4 = &stack0x0000001c;

-  FUN_005468c8((uint *)&stack0x00000024,unaff_r6,&stack0x0000001c,0,0.0,0.0,1);

-  uStack0000001c = 0;

-  uStack00000020 = 0;

-  pcVar2 = (char *)FUN_006ac4fc(&stack0x0000001c,10,puVar4);

-  builtin_strncpy(pcVar2,"resize.bmp",10);

-  uStack00000034 = 0x1010000;

-  uStack0000003c = 0;

-  uStack00000040 = 0;

-  pvStack00000024 = (void *)0x0;

-  uStack0000002c = 0;

-  FUN_004e10f8(&stack0x0000001c,unaff_r6,&stack0x00000024);

-  if (pvStack00000024 != (void *)0x0) {

-    operator_delete(pvStack00000024);

-  }

-  FUN_006ac538((int *)&stack0x0000001c);

-  iVar3 = extraout_r1;

-  if (in_stack_00000068 != 0) {

-    piVar6 = (int *)(in_stack_00000068 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      iVar5 = *piVar6;

-      iVar3 = iVar5 + -1;

-      bVar1 = (bool)hasExclusiveAccess(piVar6);

-    } while (!bVar1);

-    *piVar6 = iVar3;

-    DataMemoryBarrier(0xb);

-    if (iVar5 == 1) {

-      FUN_00632094(unaff_r7);

-      iVar3 = extraout_r1_00;

-    }

-  }

-  iVar5 = 0;

-  uStack00000054 = 0;

-  if (0 < in_stack_00000048) {

-    iVar3 = 0;

-  }

-  uStack00000060 = 0;

-  uStack0000005c = 0;

-  uStack00000058 = 0;

-  if (0 < in_stack_00000048) {

-    do {

-      *(int *)(in_stack_0000006c + iVar5 * 4) = iVar3;

-      iVar5 = iVar5 + 1;

-    } while (iVar5 < in_stack_00000048);

-  }

-  if (in_stack_00000070 != unaff_r4) {

-    FUN_005ad374(in_stack_00000070);

-  }

-  if (in_stack_000000b4 != *unaff_r5) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail(0);

-  }

-  return;

-}

-

FUN_000da598

Function Meta

Key dt_aicam_md5
name FUN_000da598
fullname FUN_000da598
refcount 1
length 12
called ::system
calling FUN_000ab114
paramcount 0
address 000da598
sig undefined __stdcall FUN_000da598(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000da598
+++ FUN_000da598
@@ -1,10 +0,0 @@
-

-/* WARNING: Control flow encountered bad instruction data */

-

-void FUN_000da598(void)

-

-{

-                    /* WARNING: Bad instruction - Truncating control flow here */

-  halt_baddata();

-}

-

FUN_000ff044

Function Meta

Key dt_aicam_md5
name FUN_000ff044
fullname FUN_000ff044
refcount 1
length 744
called
Expand for full list:
::__stack_chk_fail
::fclose
::fopen
::fread
::free
::fseek
::malloc
::memcpy
::perror
::printf
::puts
FUN_000fef2c
calling FUN_000ffc60
paramcount 2
address 000ff044
sig undefined __stdcall FUN_000ff044(char * param_1, uint * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ff044
+++ FUN_000ff044
@@ -1,19 +0,0 @@
-

-void FUN_000ff044(char *param_1,uint *param_2)

-

-{

-  int *unaff_r8;

-  undefined4 in_lr;

-  uint *puStack00000008;

-  int in_stack_00000054;

-  

-  puStack00000008 = param_2 + 0x3fc15;

-  FUN_000d4dac(1,"dt.e","sample_comm_audio.c",(char *)puStack00000008,in_lr,

-               "%s: HI_MPI_AENC_CreateChn(%d) failed with %#x!\n");

-  if (in_stack_00000054 == *unaff_r8) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail();

-}

-

FUN_000ff358

Function Meta

Key dt_aicam_md5
name FUN_000ff358
fullname FUN_000ff358
refcount 1
length 1028
called
Expand for full list:
::__stack_chk_fail
::fclose
::fopen
::fread
::free
::fseek
::malloc
::memcpy
::perror
::printf
::puts
FUN_000fee94
FUN_000fef2c
calling FUN_000ffd04
paramcount 3
address 000ff358
sig undefined __stdcall FUN_000ff358(char * param_1, uint * param_2, uint param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ff358
+++ FUN_000ff358
@@ -1,13 +0,0 @@
-

-undefined4 FUN_000ff358(char *param_1,uint *param_2,uint param_3)

-

-{

-  char *in_r3;

-  char *in_r12;

-  undefined4 in_lr;

-  

-  FUN_000d4dac((uint)param_1,(char *)(param_2 + 0x3fcdd),(char *)(param_3 + 0xff36c),in_r3,in_lr,

-               in_r12);

-  return 0xffffffff;

-}

-

FUN_000ff794

Function Meta

Key dt_aicam_md5
name FUN_000ff794
fullname FUN_000ff794
refcount 1
length 1036
called
Expand for full list:
::__stack_chk_fail
::fclose
::fopen
::fread
::free
::fseek
::malloc
::memcpy
::perror
::printf
::puts
FUN_000fee94
FUN_000fef2c
calling FUN_000ffdb0
paramcount 3
address 000ff794
sig undefined __stdcall FUN_000ff794(char * param_1, undefined4 * param_2, int param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ff794
+++ FUN_000ff794
@@ -1,14 +0,0 @@
-

-void FUN_000ff794(char *param_1,undefined4 *param_2,int param_3)

-

-{

-  int *unaff_r5;

-  int in_stack_00000004;

-  

-  if (in_stack_00000004 == *unaff_r5) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail(0xffffffff);

-}

-

FUN_000ffbdc

Function Meta

Key dt_aicam_md5
name FUN_000ffbdc
fullname FUN_000ffbdc
refcount 3
length 128
called ::printf
::strlen
calling FUN_000ffc60
FUN_000ffd04
FUN_000ffdb0
paramcount 1
address 000ffbdc
sig char * __stdcall FUN_000ffbdc(char * param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ffbdc
+++ FUN_000ffbdc
@@ -1,122 +0,0 @@
-

-char * FUN_000ffbdc(char *param_1)

-

-{

-  undefined1 uVar1;

-  size_t sVar2;

-  char *pcVar3;

-  uint uVar4;

-  undefined2 *puVar5;

-  int in_r2;

-  int iVar6;

-  int iVar7;

-  int in_r3;

-  size_t __size;

-  uint uVar8;

-  size_t unaff_r5;

-  uint unaff_r6;

-  int *unaff_r8;

-  int iVar9;

-  int iVar10;

-  int iVar11;

-  uint in_stack_00000014;

-  void *pvStack00000018;

-  uint in_stack_0000001c;

-  uint uStack00000020;

-  int in_stack_00000030;

-  int in_stack_00000034;

-  FILE *in_stack_00000038;

-  int *in_stack_0000003c;

-  long in_stack_0000004c;

-  int in_stack_0000007c;

-  

-  __size = in_r3 * in_r2;

-  pvStack00000018 = malloc(__size);

-  if (pvStack00000018 == (void *)0x0) {

-    puts("not enough memory to malloc!");

-    fclose(in_stack_00000038);

-    pcVar3 = (char *)0xffffffff;

-  }

-  else {

-    iVar10 = unaff_r8[3];

-    fseek(in_stack_00000038,in_stack_0000004c,0);

-    sVar2 = fread(pvStack00000018,1,__size,in_stack_00000038);

-    if (__size - sVar2 != 0) {

-      printf("fread (%d*%d)error!line:%d\n",in_stack_0000001c,in_stack_00000030,0x110);

-      perror("fread:");

-    }

-    if (in_stack_00000014 < 6) {

-      unaff_r8[2] = *unaff_r8 << 1;

-    }

-    else {

-      unaff_r8[2] = *unaff_r8 << 2;

-    }

-    if (in_stack_0000001c != 0) {

-      uStack00000020 = 0;

-      do {

-        if (unaff_r6 != 0) {

-          uVar8 = 0;

-          iVar9 = in_stack_00000030 * ((in_stack_0000001c - 1) - uStack00000020);

-          do {

-            if (unaff_r5 != 3) {

-              if ((unaff_r5 - 2 & 0xfffd) == 0) {

-                memcpy((void *)(iVar10 + unaff_r8[2] * uStack00000020 + unaff_r5 * uVar8),

-                       (void *)((int)pvStack00000018 + unaff_r5 * uVar8 + iVar9),unaff_r5);

-              }

-              goto joined_r0x000ffd5c;

-            }

-            switch(in_stack_00000014) {

-            case 0:

-              break;

-            case 1:

-              break;

-            case 2:

-              break;

-            case 3:

-              break;

-            case 4:

-              break;

-            case 5:

-            default:

-              printf("file(%s), line(%d), no such format!\n","sample_comm/loadbmp.c",0x13a);

-              goto joined_r0x000ffd5c;

-            case 6:

-              goto LAB_000ffd0c;

-            case 7:

-LAB_000ffd0c:

-              puVar5 = (undefined2 *)((int)pvStack00000018 + uVar8 * 3 + iVar9);

-              iVar6 = unaff_r8[2] * uStack00000020 + uVar8 * 4;

-              uVar1 = *(undefined1 *)(puVar5 + 1);

-              *(undefined2 *)(iVar10 + iVar6) = *puVar5;

-              *(undefined1 *)(iVar10 + iVar6 + 2) = uVar1;

-              *(undefined1 *)(unaff_r8[2] * uStack00000020 + iVar10 + uVar8 * 4 + 3) = 0xff;

-              goto joined_r0x000ffd5c;

-            }

-            iVar7 = uVar8 * 3 + iVar9;

-            iVar6 = *(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10;

-            iVar11 = unaff_r8[2];

-            uVar4 = FUN_000ff634((uint)*(byte *)((int)pvStack00000018 + iVar7),

-                                 (uint)*(byte *)((int)pvStack00000018 + iVar7 + 1),

-                                 (uint)*(byte *)((int)pvStack00000018 + iVar7 + 2),

-                                 *(int *)(*(int *)(in_stack_00000034 + 0xf48) +

-                                         in_stack_00000014 * 0x10),*(int *)(iVar6 + 4),

-                                 *(int *)(iVar6 + 8),*(uint *)(iVar6 + 0xc));

-            *(short *)(iVar10 + iVar11 * uStack00000020 + uVar8 * 2) = (short)uVar4;

-joined_r0x000ffd5c:

-            uVar8 = uVar8 + 1 & 0xffff;

-          } while (uVar8 < unaff_r6);

-        }

-        uStack00000020 = uStack00000020 + 1 & 0xffff;

-      } while (uStack00000020 < in_stack_0000001c);

-    }

-    free(pvStack00000018);

-    fclose(in_stack_00000038);

-    pcVar3 = (char *)0x0;

-  }

-  if (in_stack_0000007c != *in_stack_0000003c) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail();

-  }

-  return pcVar3;

-}

-

FUN_000ffc60

Function Meta

Key dt_aicam_md5
name FUN_000ffc60
fullname FUN_000ffc60
refcount 0
length 152
called ::puts
FUN_000ff044
FUN_000ffbdc
calling
paramcount 2
address 000ffc60
sig undefined4 __stdcall FUN_000ffc60(char * param_1, uint * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ffc60
+++ FUN_000ffc60
@@ -1,104 +0,0 @@
-

-undefined4 FUN_000ffc60(char *param_1,uint *param_2)

-

-{

-  undefined1 uVar1;

-  uint uVar2;

-  undefined2 *puVar3;

-  int iVar4;

-  int iVar5;

-  undefined4 in_r3;

-  uint uVar6;

-  size_t unaff_r5;

-  uint unaff_r6;

-  int unaff_r8;

-  int iVar7;

-  int unaff_r10;

-  int iVar8;

-  bool in_ZR;

-  bool in_CY;

-  int in_stack_00000014;

-  void *in_stack_00000018;

-  uint in_stack_0000001c;

-  uint uStack00000020;

-  int in_stack_00000030;

-  int in_stack_00000034;

-  FILE *in_stack_00000038;

-  int *in_stack_0000003c;

-  int in_stack_0000007c;

-  

-  if (!in_CY || in_ZR) {

-    *(undefined4 *)(unaff_r8 + 8) = in_r3;

-  }

-  else {

-    *(undefined4 *)(unaff_r8 + 8) = in_r3;

-  }

-  if (in_stack_0000001c != 0) {

-    uStack00000020 = 0;

-    do {

-      if (unaff_r6 != 0) {

-        uVar6 = 0;

-        iVar7 = in_stack_00000030 * ((in_stack_0000001c - 1) - uStack00000020);

-        do {

-          if (unaff_r5 != 3) {

-            if ((unaff_r5 - 2 & 0xfffd) == 0) {

-              memcpy((void *)(unaff_r10 + *(int *)(unaff_r8 + 8) * uStack00000020 + unaff_r5 * uVar6

-                             ),(void *)((int)in_stack_00000018 + unaff_r5 * uVar6 + iVar7),unaff_r5)

-              ;

-            }

-            goto joined_r0x000ffd5c;

-          }

-          switch(in_stack_00000014) {

-          case 0:

-            break;

-          case 1:

-            break;

-          case 2:

-            break;

-          case 3:

-            break;

-          case 4:

-            break;

-          case 5:

-          default:

-            printf("file(%s), line(%d), no such format!\n","sample_comm/loadbmp.c",0x13a);

-            goto joined_r0x000ffd5c;

-          case 6:

-            goto LAB_000ffd0c;

-          case 7:

-LAB_000ffd0c:

-            puVar3 = (undefined2 *)((int)in_stack_00000018 + uVar6 * 3 + iVar7);

-            iVar4 = *(int *)(unaff_r8 + 8) * uStack00000020 + uVar6 * 4;

-            uVar1 = *(undefined1 *)(puVar3 + 1);

-            *(undefined2 *)(unaff_r10 + iVar4) = *puVar3;

-            *(undefined1 *)(unaff_r10 + iVar4 + 2) = uVar1;

-            *(undefined1 *)(*(int *)(unaff_r8 + 8) * uStack00000020 + unaff_r10 + uVar6 * 4 + 3) =

-                 0xff;

-            goto joined_r0x000ffd5c;

-          }

-          iVar5 = uVar6 * 3 + iVar7;

-          iVar4 = *(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10;

-          iVar8 = *(int *)(unaff_r8 + 8);

-          uVar2 = FUN_000ff634((uint)*(byte *)((int)in_stack_00000018 + iVar5),

-                               (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 1),

-                               (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 2),

-                               *(int *)(*(int *)(in_stack_00000034 + 0xf48) +

-                                       in_stack_00000014 * 0x10),*(int *)(iVar4 + 4),

-                               *(int *)(iVar4 + 8),*(uint *)(iVar4 + 0xc));

-          *(short *)(unaff_r10 + iVar8 * uStack00000020 + uVar6 * 2) = (short)uVar2;

-joined_r0x000ffd5c:

-          uVar6 = uVar6 + 1 & 0xffff;

-        } while (uVar6 < unaff_r6);

-      }

-      uStack00000020 = uStack00000020 + 1 & 0xffff;

-    } while (uStack00000020 < in_stack_0000001c);

-  }

-  free(in_stack_00000018);

-  fclose(in_stack_00000038);

-  if (in_stack_0000007c != *in_stack_0000003c) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail();

-  }

-  return 0;

-}

-

FUN_000ffd04

Function Meta

Key dt_aicam_md5
name FUN_000ffd04
fullname FUN_000ffd04
refcount 0
length 160
called ::puts
FUN_000ff358
FUN_000ffbdc
calling
paramcount 3
address 000ffd04
sig undefined4 __stdcall FUN_000ffd04(char * param_1, uint * param_2, uint param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ffd04
+++ FUN_000ffd04
@@ -1,99 +0,0 @@
-

-undefined4 FUN_000ffd04(char *param_1,uint *param_2,uint param_3)

-

-{

-  undefined1 uVar1;

-  uint uVar2;

-  undefined2 *puVar3;

-  int iVar4;

-  int iVar5;

-  uint unaff_r4;

-  size_t unaff_r5;

-  uint unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  uint unaff_r9;

-  int unaff_r10;

-  int unaff_r11;

-  int iVar6;

-  int in_stack_00000014;

-  void *in_stack_00000018;

-  uint in_stack_0000001c;

-  uint in_stack_00000020;

-  int in_stack_00000030;

-  int in_stack_00000034;

-  FILE *in_stack_00000038;

-  int *in_stack_0000003c;

-  int in_stack_0000007c;

-  

-code_r0x000ffd04:

-LAB_000ffd0c:

-  puVar3 = (undefined2 *)((int)in_stack_00000018 + unaff_r4 * 3 + unaff_r7);

-  iVar4 = *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r4 * 4;

-  uVar1 = *(undefined1 *)(puVar3 + 1);

-  *(undefined2 *)(unaff_r10 + iVar4) = *puVar3;

-  *(undefined1 *)(unaff_r10 + iVar4 + 2) = uVar1;

-  *(undefined1 *)(*(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r10 + unaff_r4 * 4 + 3) = 0xff;

-joined_r0x000ffd5c:

-  while( true ) {

-    unaff_r4 = unaff_r4 + 1 & 0xffff;

-    if (unaff_r6 <= unaff_r4) {

-      do {

-        unaff_r9 = in_stack_00000020 + 1 & 0xffff;

-        if (in_stack_0000001c <= unaff_r9) {

-          free(in_stack_00000018);

-          fclose(in_stack_00000038);

-          if (in_stack_0000007c == *in_stack_0000003c) {

-            return 0;

-          }

-                    /* WARNING: Subroutine does not return */

-          __stack_chk_fail();

-        }

-        in_stack_00000020 = unaff_r9;

-      } while (unaff_r6 == 0);

-      unaff_r4 = 0;

-      unaff_r7 = in_stack_00000030 * ((in_stack_0000001c - 1) - unaff_r9);

-    }

-    if (unaff_r5 == 3) break;

-    if (unaff_r11 == 0) {

-      memcpy((void *)(unaff_r10 + *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r5 * unaff_r4),

-             (void *)((int)in_stack_00000018 + unaff_r5 * unaff_r4 + unaff_r7),unaff_r5);

-    }

-  }

-  switch(in_stack_00000014) {

-  case 0:

-    break;

-  case 1:

-    break;

-  case 2:

-    break;

-  case 3:

-    break;

-  case 4:

-    break;

-  case 5:

-    goto switchD_000ffce4_caseD_8;

-  case 6:

-    goto code_r0x000ffd04;

-  case 7:

-    goto switchD_000ffce4_caseD_7;

-  default:

-    goto switchD_000ffce4_caseD_8;

-  }

-  iVar5 = unaff_r4 * 3 + unaff_r7;

-  iVar4 = *(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10;

-  iVar6 = *(int *)(unaff_r8 + 8);

-  uVar2 = FUN_000ff634((uint)*(byte *)((int)in_stack_00000018 + iVar5),

-                       (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 1),

-                       (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 2),

-                       *(int *)(*(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10),

-                       *(int *)(iVar4 + 4),*(int *)(iVar4 + 8),*(uint *)(iVar4 + 0xc));

-  *(short *)(unaff_r10 + iVar6 * unaff_r9 + unaff_r4 * 2) = (short)uVar2;

-  goto joined_r0x000ffd5c;

-switchD_000ffce4_caseD_7:

-  goto LAB_000ffd0c;

-switchD_000ffce4_caseD_8:

-  printf("file(%s), line(%d), no such format!\n","sample_comm/loadbmp.c",0x13a);

-  goto joined_r0x000ffd5c;

-}

-

FUN_000ffdb0

Function Meta

Key dt_aicam_md5
name FUN_000ffdb0
fullname FUN_000ffdb0
refcount 0
length 160
called ::puts
FUN_000ff794
FUN_000ffbdc
calling
paramcount 3
address 000ffdb0
sig undefined4 __stdcall FUN_000ffdb0(char * param_1, undefined4 * param_2, int param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000ffdb0
+++ FUN_000ffdb0
@@ -1,97 +0,0 @@
-

-undefined4 FUN_000ffdb0(char *param_1,undefined4 *param_2,int param_3)

-

-{

-  undefined1 uVar1;

-  uint uVar2;

-  undefined2 *puVar3;

-  int iVar4;

-  int iVar5;

-  uint unaff_r4;

-  size_t unaff_r5;

-  uint unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  uint unaff_r9;

-  int unaff_r10;

-  int unaff_r11;

-  int in_stack_00000014;

-  void *in_stack_00000018;

-  uint in_stack_0000001c;

-  uint in_stack_00000020;

-  int iStack00000024;

-  uint uStack00000028;

-  uint uStack0000002c;

-  int in_stack_00000030;

-  int in_stack_00000034;

-  FILE *in_stack_00000038;

-  int *in_stack_0000003c;

-  int in_stack_0000007c;

-  

-code_r0x000ffdb0:

-  iVar5 = unaff_r4 * 3 + unaff_r7;

-  uStack00000028 = (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 1);

-  uStack0000002c = (uint)*(byte *)((int)in_stack_00000018 + iVar5);

-  iVar4 = *(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10;

-  iStack00000024 = *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r4 * 2;

-  uVar2 = FUN_000ff634(uStack0000002c,uStack00000028,

-                       (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 2),

-                       *(int *)(*(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10),

-                       *(int *)(iVar4 + 4),*(int *)(iVar4 + 8),*(uint *)(iVar4 + 0xc));

-  *(short *)(unaff_r10 + iStack00000024) = (short)uVar2;

-joined_r0x000ffcd0:

-  while( true ) {

-    unaff_r4 = unaff_r4 + 1 & 0xffff;

-    if (unaff_r6 <= unaff_r4) {

-      do {

-        unaff_r9 = in_stack_00000020 + 1 & 0xffff;

-        if (in_stack_0000001c <= unaff_r9) {

-          free(in_stack_00000018);

-          fclose(in_stack_00000038);

-          if (in_stack_0000007c == *in_stack_0000003c) {

-            return 0;

-          }

-                    /* WARNING: Subroutine does not return */

-          __stack_chk_fail();

-        }

-        in_stack_00000020 = unaff_r9;

-      } while (unaff_r6 == 0);

-      unaff_r4 = 0;

-      unaff_r7 = in_stack_00000030 * ((in_stack_0000001c - 1) - unaff_r9);

-    }

-    if (unaff_r5 == 3) break;

-    if (unaff_r11 == 0) {

-      memcpy((void *)(unaff_r10 + *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r5 * unaff_r4),

-             (void *)((int)in_stack_00000018 + unaff_r5 * unaff_r4 + unaff_r7),unaff_r5);

-    }

-  }

-  switch(in_stack_00000014) {

-  case 0:

-    goto switchD_000ffce4_caseD_0;

-  case 1:

-    goto code_r0x000ffdb0;

-  case 2:

-    goto code_r0x000ffdb0;

-  case 3:

-    goto code_r0x000ffdb0;

-  case 4:

-    goto code_r0x000ffdb0;

-  case 5:

-  default:

-    printf("file(%s), line(%d), no such format!\n","sample_comm/loadbmp.c",0x13a);

-    goto joined_r0x000ffcd0;

-  case 6:

-    break;

-  case 7:

-  }

-  puVar3 = (undefined2 *)((int)in_stack_00000018 + unaff_r4 * 3 + unaff_r7);

-  iVar4 = *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r4 * 4;

-  uVar1 = *(undefined1 *)(puVar3 + 1);

-  *(undefined2 *)(unaff_r10 + iVar4) = *puVar3;

-  *(undefined1 *)(unaff_r10 + iVar4 + 2) = uVar1;

-  *(undefined1 *)(*(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r10 + unaff_r4 * 4 + 3) = 0xff;

-  goto joined_r0x000ffcd0;

-switchD_000ffce4_caseD_0:

-  goto code_r0x000ffdb0;

-}

-

FUN_000fffe8

Function Meta

Key dt_aicam_md5
name FUN_000fffe8
fullname FUN_000fffe8
refcount 1
length 36
called
calling FUN_00100150
paramcount 0
address 000fffe8
sig undefined __stdcall FUN_000fffe8(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_000fffe8
+++ FUN_000fffe8
@@ -1,120 +0,0 @@
-

-void FUN_000fffe8(void)

-

-{

-  undefined1 uVar1;

-  size_t sVar2;

-  undefined4 uVar3;

-  uint uVar4;

-  undefined2 *puVar5;

-  int iVar6;

-  int iVar7;

-  uint in_r3;

-  size_t __size;

-  uint uVar8;

-  size_t unaff_r5;

-  uint unaff_r6;

-  int unaff_r8;

-  int iVar9;

-  int iVar10;

-  int iVar11;

-  int in_stack_00000014;

-  void *pvStack00000018;

-  uint in_stack_0000001c;

-  uint uStack00000020;

-  int in_stack_00000030;

-  int in_stack_00000034;

-  FILE *in_stack_00000038;

-  int *in_stack_0000003c;

-  long in_stack_0000004c;

-  int in_stack_0000007c;

-  

-  if ((in_r3 & 3) != 0) {

-    in_stack_00000030 = (in_r3 & 0xfffc) + 4;

-  }

-  __size = in_stack_0000001c * in_stack_00000030;

-  pvStack00000018 = malloc(__size);

-  if (pvStack00000018 == (void *)0x0) {

-    puts("not enough memory to malloc!");

-    fclose(in_stack_00000038);

-    uVar3 = 0xffffffff;

-  }

-  else {

-    iVar10 = *(int *)(unaff_r8 + 0xc);

-    printf("%d %d %d %d %d %d \n",in_stack_00000030,in_stack_0000001c);

-    fseek(in_stack_00000038,in_stack_0000004c,0);

-    sVar2 = fread(pvStack00000018,1,__size,in_stack_00000038);

-    if (__size - sVar2 != 0) {

-      printf("fread (%d*%d)error!line:%d\n",in_stack_0000001c,in_stack_00000030,0x1b8);

-      perror("fread:");

-    }

-    if (in_stack_0000001c != 0) {

-      uStack00000020 = 0;

-      do {

-        if (unaff_r6 != 0) {

-          uVar8 = 0;

-          iVar9 = in_stack_00000030 * ((in_stack_0000001c - 1) - uStack00000020);

-          do {

-            if (unaff_r5 != 3) {

-              if ((unaff_r5 - 2 & 0xfffd) == 0) {

-                memcpy((void *)(iVar10 + *(int *)(unaff_r8 + 8) * uStack00000020 + unaff_r5 * uVar8)

-                       ,(void *)((int)pvStack00000018 + unaff_r5 * uVar8 + iVar9),unaff_r5);

-              }

-              goto joined_r0x001001a0;

-            }

-            switch(in_stack_00000014) {

-            case 0:

-              break;

-            case 1:

-              break;

-            case 2:

-              break;

-            case 3:

-              break;

-            case 4:

-              break;

-            case 5:

-            default:

-              printf("file(%s), line(%d), no such format!\n","sample_comm/loadbmp.c",0x1dc);

-              goto joined_r0x001001a0;

-            case 6:

-              goto LAB_00100150;

-            case 7:

-LAB_00100150:

-              puVar5 = (undefined2 *)((int)pvStack00000018 + uVar8 * 3 + iVar9);

-              iVar6 = *(int *)(unaff_r8 + 8) * uStack00000020 + uVar8 * 4;

-              uVar1 = *(undefined1 *)(puVar5 + 1);

-              *(undefined2 *)(iVar10 + iVar6) = *puVar5;

-              *(undefined1 *)(iVar10 + iVar6 + 2) = uVar1;

-              *(undefined1 *)(*(int *)(unaff_r8 + 8) * uStack00000020 + iVar10 + uVar8 * 4 + 3) =

-                   0xff;

-              goto joined_r0x001001a0;

-            }

-            iVar7 = uVar8 * 3 + iVar9;

-            iVar6 = *(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10;

-            iVar11 = *(int *)(unaff_r8 + 8);

-            uVar4 = FUN_000ff634((uint)*(byte *)((int)pvStack00000018 + iVar7),

-                                 (uint)*(byte *)((int)pvStack00000018 + iVar7 + 1),

-                                 (uint)*(byte *)((int)pvStack00000018 + iVar7 + 2),

-                                 *(int *)(*(int *)(in_stack_00000034 + 0xf48) +

-                                         in_stack_00000014 * 0x10),*(int *)(iVar6 + 4),

-                                 *(int *)(iVar6 + 8),*(uint *)(iVar6 + 0xc));

-            *(short *)(iVar10 + iVar11 * uStack00000020 + uVar8 * 2) = (short)uVar4;

-joined_r0x001001a0:

-            uVar8 = uVar8 + 1 & 0xffff;

-          } while (uVar8 < unaff_r6);

-        }

-        uStack00000020 = uStack00000020 + 1 & 0xffff;

-      } while (uStack00000020 < in_stack_0000001c);

-    }

-    free(pvStack00000018);

-    fclose(in_stack_00000038);

-    uVar3 = 0;

-  }

-  if (in_stack_0000007c != *in_stack_0000003c) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail(uVar3);

-  }

-  return;

-}

-

FUN_00100150

Function Meta

Key dt_aicam_md5
name FUN_00100150
fullname FUN_00100150
refcount 0
length 168
called ::exit
::fprintf
FUN_000fffe8
calling
paramcount 0
address 00100150
sig undefined __stdcall FUN_00100150(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00100150
+++ FUN_00100150
@@ -1,98 +0,0 @@
-

-void FUN_00100150(void)

-

-{

-  undefined1 uVar1;

-  uint uVar2;

-  undefined2 *puVar3;

-  int iVar4;

-  int iVar5;

-  uint unaff_r4;

-  size_t unaff_r5;

-  uint unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  uint unaff_r9;

-  int unaff_r10;

-  int unaff_r11;

-  int iVar6;

-  int in_stack_00000014;

-  void *in_stack_00000018;

-  uint in_stack_0000001c;

-  uint in_stack_00000020;

-  int in_stack_00000030;

-  int in_stack_00000034;

-  FILE *in_stack_00000038;

-  int *in_stack_0000003c;

-  int in_stack_0000007c;

-  

-code_r0x00100150:

-  puVar3 = (undefined2 *)((int)in_stack_00000018 + unaff_r4 * 3 + unaff_r7);

-  iVar4 = *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r4 * 4;

-  uVar1 = *(undefined1 *)(puVar3 + 1);

-  *(undefined2 *)(unaff_r10 + iVar4) = *puVar3;

-  *(undefined1 *)(unaff_r10 + iVar4 + 2) = uVar1;

-  *(undefined1 *)(*(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r10 + unaff_r4 * 4 + 3) = 0xff;

-joined_r0x001001a0:

-  while( true ) {

-    unaff_r4 = unaff_r4 + 1 & 0xffff;

-    if (unaff_r6 <= unaff_r4) {

-      do {

-        unaff_r9 = in_stack_00000020 + 1 & 0xffff;

-        if (in_stack_0000001c <= unaff_r9) {

-          free(in_stack_00000018);

-          fclose(in_stack_00000038);

-          if (in_stack_0000007c == *in_stack_0000003c) {

-            return;

-          }

-                    /* WARNING: Subroutine does not return */

-          __stack_chk_fail(0);

-        }

-        in_stack_00000020 = unaff_r9;

-      } while (unaff_r6 == 0);

-      unaff_r4 = 0;

-      unaff_r7 = in_stack_00000030 * ((in_stack_0000001c - 1) - unaff_r9);

-    }

-    if (unaff_r5 == 3) break;

-    if (unaff_r11 == 0) {

-      memcpy((void *)(unaff_r10 + *(int *)(unaff_r8 + 8) * unaff_r9 + unaff_r5 * unaff_r4),

-             (void *)((int)in_stack_00000018 + unaff_r5 * unaff_r4 + unaff_r7),unaff_r5);

-    }

-  }

-  switch(in_stack_00000014) {

-  case 0:

-    break;

-  case 1:

-    break;

-  case 2:

-    break;

-  case 3:

-    break;

-  case 4:

-    break;

-  case 5:

-    goto switchD_00100128_caseD_8;

-  case 6:

-    goto switchD_00100128_caseD_6;

-  case 7:

-    goto code_r0x00100150;

-  default:

-    goto switchD_00100128_caseD_8;

-  }

-  iVar5 = unaff_r4 * 3 + unaff_r7;

-  iVar4 = *(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10;

-  iVar6 = *(int *)(unaff_r8 + 8);

-  uVar2 = FUN_000ff634((uint)*(byte *)((int)in_stack_00000018 + iVar5),

-                       (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 1),

-                       (uint)*(byte *)((int)in_stack_00000018 + iVar5 + 2),

-                       *(int *)(*(int *)(in_stack_00000034 + 0xf48) + in_stack_00000014 * 0x10),

-                       *(int *)(iVar4 + 4),*(int *)(iVar4 + 8),*(uint *)(iVar4 + 0xc));

-  *(short *)(unaff_r10 + iVar6 * unaff_r9 + unaff_r4 * 2) = (short)uVar2;

-  goto joined_r0x001001a0;

-switchD_00100128_caseD_6:

-  goto code_r0x00100150;

-switchD_00100128_caseD_8:

-  printf("file(%s), line(%d), no such format!\n","sample_comm/loadbmp.c",0x1dc);

-  goto joined_r0x001001a0;

-}

-

FUN_00161260

Function Meta

Key dt_aicam_md5
name FUN_00161260
fullname FUN_00161260
refcount 2
length 180
called ::cos
calling
paramcount 2
address 00161260
sig undefined __stdcall FUN_00161260(uint param_1, short * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00161260
+++ FUN_00161260
@@ -1,18 +0,0 @@
-

-void FUN_00161260(uint param_1,short *param_2)

-

-{

-  undefined4 *puVar1;

-  int unaff_r6;

-  int in_stack_0000000c;

-  

-  puVar1 = *(undefined4 **)(unaff_r6 + (int)param_2);

-  fprintf((FILE *)*puVar1,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_com_mod_param_set");

-  fwrite("poiner is NULL!!\n",1,0x11,(FILE *)*puVar1);

-  if (in_stack_0000000c == __stack_chk_guard) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail(0xa0288003);

-}

-

FUN_0016f08c

Function Meta

Key dt_aicam_md5
name FUN_0016f08c
fullname FUN_0016f08c
refcount 1
length 88
called
calling
paramcount 4
address 0016f08c
sig undefined __stdcall FUN_0016f08c(int param_1, int param_2, int * param_3, int * param_4)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0016f08c
+++ FUN_0016f08c
@@ -1,50 +0,0 @@
-

-undefined4 FUN_0016f08c(int param_1,int param_2,int *param_3,int *param_4)

-

-{

-  undefined4 uVar1;

-  uint uVar2;

-  uint uVar3;

-  

-  if (param_1 == 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:mem can\'t be NULL!\n",

-            "ive_check_kcf_obj_list_param_user",0x369);

-    uVar1 = 0xa01d8006;

-  }

-  else if (param_3 == (int *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:obj_list can\'t be NULL!\n",

-            "ive_check_kcf_obj_list_param_user",0x36a);

-    uVar1 = 0xa01d8006;

-  }

-  else if (param_2 - 1U < 0x40) {

-    uVar2 = *(uint *)(param_1 + 0x10);

-    uVar3 = param_2 * 0xda10;

-    if (uVar3 < uVar2 || uVar3 - uVar2 == 0) {

-      if (*(int *)param_1 == 0 && *(int *)(param_1 + 4) == 0) {

-        fprintf(stderr,"[Func]:%s [Line]:%d [Info]:mem->phy_addr can\'t be 0!\n",

-                "ive_check_kcf_obj_list_param_user",0x372);

-        uVar1 = 0xa01d8003;

-      }

-      else if (*(int *)(param_1 + 8) == 0 && *(int *)(param_1 + 0xc) == 0) {

-        fprintf(stderr,"[Func]:%s [Line]:%d [Info]:mem->vir_addr can\'t be 0!\n",

-                "ive_check_kcf_obj_list_param_user",0x373);

-        uVar1 = 0xa01d8003;

-      }

-      else {

-        uVar1 = 0;

-      }

-    }

-    else {

-      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:mem->size(%u) must > (%u)!\n",

-              "ive_check_kcf_obj_list_param_user",0x371,uVar2,uVar3);

-      uVar1 = 0xa01d8003;

-    }

-  }

-  else {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:obj_list->max_obj_num(%u) must be in [%d, %d]!\n",

-            "ive_check_kcf_obj_list_param_user",0x36d,param_2,1,0x40);

-    uVar1 = 0xa01d8003;

-  }

-  return uVar1;

-}

-

FUN_0016f0e4

Function Meta

Key dt_aicam_md5
name FUN_0016f0e4
fullname FUN_0016f0e4
refcount 0
length 504
called ::fprintf
calling
paramcount 4
address 0016f0e4
sig undefined4 __stdcall FUN_0016f0e4(int param_1, int param_2, int param_3, int param_4)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0016f0e4
+++ FUN_0016f0e4
@@ -1,16 +0,0 @@
-

-int FUN_0016f0e4(int param_1,int param_2,int param_3,int param_4)

-

-{

-  int in_lr;

-  bool in_ZR;

-  

-  if (in_ZR) {

-    fprintf((FILE *)**(undefined4 **)(in_lr + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:mem->vir_addr can\'t be 0!\n",

-            "ive_check_kcf_obj_list_param_user",0x373);

-    param_1 = -0x5fe27ffd;

-  }

-  return param_1;

-}

-

FUN_0016f324

Function Meta

Key dt_aicam_md5
name FUN_0016f324
fullname FUN_0016f324
refcount 0
length 464
called ::fprintf
FUN_00170e94
FUN_00170fe4
calling
paramcount 4
address 0016f324
sig undefined4 __stdcall FUN_0016f324(int param_1, int param_2, int param_3, int param_4)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0016f324
+++ FUN_0016f324
@@ -1,59 +0,0 @@
-

-undefined4 FUN_0016f324(int param_1,int param_2,int param_3,int param_4)

-

-{

-  int iVar1;

-  int unaff_r4;

-  int unaff_r5;

-  int unaff_r6;

-  int iVar2;

-  int *in_r12;

-  uint uStack00000000;

-  int iStack00000004;

-  

-  uStack00000000 = *(uint *)(param_1 + 0x10);

-  if (uStack00000000 < 0x340) {

-    iStack00000004 = 0x340;

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:cos_win_x->size(%u) should larger or equal to (%d)!\n",

-            "ive_check_kcf_get_train_obj_param_user",0x3b8);

-  }

-  else if (*(int *)param_2 == 0 && *(int *)(param_2 + 4) == 0) {

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:cos_win_y->phy_addr can\'t be 0!\n",

-            "ive_check_kcf_get_train_obj_param_user",0x3b9);

-  }

-  else if (*(int *)(param_2 + 8) == 0 && *(int *)(param_2 + 0xc) == 0) {

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:cos_win_y->vir_addr can\'t be 0!\n",

-            "ive_check_kcf_get_train_obj_param_user",0x3ba);

-  }

-  else {

-    uStack00000000 = *(uint *)(param_2 + 0x10);

-    if (0x33f < uStack00000000) {

-      if (unaff_r4 != 0) {

-        iVar2 = 0;

-        do {

-          iVar1 = FUN_0016a8c4(in_r12,unaff_r5);

-          if (iVar1 != 0) {

-            uStack00000000 = iVar1;

-            iStack00000004 = iVar2;

-            fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                    "[Func]:%s [Line]:%d [Info]:Error(%#x): check aRoiInfo[%u] parameters failed!\n"

-                    ,"ive_check_kcf_get_train_obj_param_user",0x3c1);

-            return iVar1;

-          }

-          iVar2 = iVar2 + 1;

-          in_r12 = in_r12 + 5;

-        } while (unaff_r4 != iVar2);

-      }

-      return 0;

-    }

-    iStack00000004 = 0x340;

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:cos_win_y->size(%u) should larger or equal to (%d)!\n",

-            "ive_check_kcf_get_train_obj_param_user",0x3bc);

-  }

-  return 0xa01d8003;

-}

-

FUN_0016f52c

Function Meta

Key dt_aicam_md5
name FUN_0016f52c
fullname FUN_0016f52c
refcount 0
length 480
called ::fprintf
FUN_0016a124
calling
paramcount 3
address 0016f52c
sig int __stdcall FUN_0016f52c(int * param_1, int * param_2, int param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0016f52c
+++ FUN_0016f52c
@@ -1,15 +0,0 @@
-

-int FUN_0016f52c(int *param_1,int *param_2,int param_3)

-

-{

-  int in_r3;

-  int unaff_r6;

-  undefined4 uStack00000004;

-  

-  uStack00000004 = 0x30;

-  fprintf((FILE *)**(undefined4 **)(unaff_r6 + in_r3),

-          "[Func]:%s [Line]:%d [Info]:padding(%u) must be in [%d, %d]!\n",

-          "ive_check_kcf_get_train_obj_param_user",0x3af);

-  return -0x5fe27ffd;

-}

-

FUN_0016f74c

Function Meta

Key dt_aicam_md5
name FUN_0016f74c
fullname FUN_0016f74c
refcount 0
length 792
called ::fprintf
FUN_0016a124
FUN_00170fe4
calling
paramcount 3
address 0016f74c
sig int __stdcall FUN_0016f74c(int param_1, int * param_2, uint param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0016f74c
+++ FUN_0016f74c
@@ -1,10 +0,0 @@
-

-int FUN_0016f74c(int param_1,int *param_2,uint param_3)

-

-{

-  uint unaff_r9;

-  

-  fprintf(*(FILE **)param_1,(char *)param_2);

-  return unaff_r9 & 0xffff | 0xa01d0000;

-}

-

FUN_00170cd4

Function Meta

Key dt_aicam_md5
name FUN_00170cd4
fullname FUN_00170cd4
refcount 1
length 136
called ::fprintf
calling
paramcount 1
address 00170cd4
sig int * __stdcall FUN_00170cd4(int param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00170cd4
+++ FUN_00170cd4
@@ -1,146 +0,0 @@
-

-int * FUN_00170cd4(int param_1)

-

-{

-  int *piVar1;

-  int *piVar2;

-  uint uVar3;

-  uint in_r3;

-  int unaff_r4;

-  int unaff_r6;

-  int unaff_r7;

-  uint unaff_r8;

-  uint unaff_r9;

-  uint in_r12;

-  bool in_ZR;

-  uint uStack00000000;

-  uint in_stack_00000038;

-  

-  if (in_ZR) {

-    piVar2 = (int *)0xa01d8003;

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[0] can\'t be 0!\n","md_check_image_user",

-            0xef);

-  }

-  else if ((param_1 & 0xfU) == 0) {

-    uStack00000000 = *(uint *)(unaff_r4 + 0x3c);

-    if (uStack00000000 < in_r12 || in_r3 < uStack00000000) {

-      piVar2 = (int *)0xa01d8003;

-      fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-              "[Func]:%s [Line]:%d [Info]:image->u32Width(%d) must be in [%d, %d]!\n",

-              "md_check_image_user",0xf4);

-    }

-    else {

-      uVar3 = *(uint *)(unaff_r4 + 0x40);

-      if (uVar3 < unaff_r8 || unaff_r9 < uVar3) {

-        piVar2 = (int *)0xa01d8003;

-        uStack00000000 = uVar3;

-        fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                "[Func]:%s [Line]:%d [Info]:image->u32Height(%d) must be in [%d ,%d]!\n",

-                "md_check_image_user",0xf6);

-      }

-      else {

-        piVar2 = (int *)FUN_00170758(uStack00000000,uVar3);

-        if (piVar2 == (int *)0x0) {

-          piVar2 = (int *)FUN_001705e4(*(uint *)(unaff_r4 + 0x30),*(uint *)(unaff_r4 + 0x3c),

-                                       in_stack_00000038);

-          if (piVar2 != (int *)0x0) {

-            fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                    "[Func]:%s [Line]:%d [Info]:check image->au32Stride[0] failed!\n",

-                    "md_check_image_user",0xfb);

-            return piVar2;

-          }

-          piVar1 = (int *)0x0;

-          if (unaff_r7 == 2) {

-            if (*(int *)(unaff_r4 + 8) == 0 && *(int *)(unaff_r4 + 0xc) == 0) {

-              piVar2 = (int *)0xa01d8003;

-              fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                      "[Func]:%s [Line]:%d [Info]:image->pu8PhyAddr[1] can\'t be 0!\n",

-                      "md_check_image_user",0xff);

-            }

-            else {

-              piVar2 = (int *)FUN_001705e4(*(uint *)(unaff_r4 + 0x34),*(uint *)(unaff_r4 + 0x3c),

-                                           in_stack_00000038);

-              if (piVar2 == (int *)0x0) {

-                uStack00000000 = *(uint *)(unaff_r4 + 8);

-                piVar2 = piVar1;

-                if ((uStack00000000 & 0xf) != 0) {

-                  piVar2 = (int *)0xa01d8003;

-                  fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                          "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[1](0x%llx) must be %d byte align!\n"

-                          ,"md_check_image_user",0x104);

-                }

-              }

-              else {

-                fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                        "[Func]:%s [Line]:%d [Info]:check image->au32Stride[1] failed!\n",

-                        "md_check_image_user",0x101);

-              }

-            }

-          }

-          else {

-            piVar2 = piVar1;

-            if (unaff_r7 == 3) {

-              if (*(int *)(unaff_r4 + 8) == 0 && *(int *)(unaff_r4 + 0xc) == 0) {

-                fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                        "[Func]:%s [Line]:%d [Info]:image->pu8PhyAddr[1] can\'t be 0!\n",

-                        "md_check_image_user",0x107);

-                piVar2 = (int *)0xa01d8003;

-              }

-              else {

-                piVar2 = (int *)FUN_001705e4(*(uint *)(unaff_r4 + 0x34),*(uint *)(unaff_r4 + 0x3c),

-                                             in_stack_00000038);

-                if (piVar2 == (int *)0x0) {

-                  if (*(int *)(unaff_r4 + 0x10) == 0 && *(int *)(unaff_r4 + 0x14) == 0) {

-                    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                            "[Func]:%s [Line]:%d [Info]:image->pu8PhyAddr[2] can\'t be 0!\n",

-                            "md_check_image_user",0x10c);

-                    piVar2 = (int *)0xa01d8003;

-                  }

-                  else {

-                    piVar2 = (int *)FUN_001705e4(*(uint *)(unaff_r4 + 0x38),

-                                                 *(uint *)(unaff_r4 + 0x3c),in_stack_00000038);

-                    if (piVar2 == (int *)0x0) {

-                      uStack00000000 = *(uint *)(unaff_r4 + 0x10);

-                      piVar2 = piVar1;

-                      if ((uStack00000000 & 0xf) != 0) {

-                        fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                                "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[2](0x%llx) must be %d byte align!\n"

-                                ,"md_check_image_user",0x112);

-                        piVar2 = (int *)0xa01d8003;

-                      }

-                    }

-                    else {

-                      fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                              "[Func]:%s [Line]:%d [Info]:check image->au32Stride[2] failed!\n",

-                              "md_check_image_user",0x10e);

-                    }

-                  }

-                }

-                else {

-                  fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                          "[Func]:%s [Line]:%d [Info]:check image->au32Stride[1] failed!\n",

-                          "md_check_image_user",0x109);

-                }

-              }

-            }

-          }

-        }

-        else {

-          fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                  "[Func]:%s [Line]:%d [Info]:check image width and height failed!\n",

-                  "md_check_image_user",0xf8);

-        }

-      }

-    }

-  }

-  else {

-    piVar2 = (int *)0xa01d8003;

-    uStack00000000 = param_1;

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[0](0x%llx) must be %d byte align!\n",

-            "md_check_image_user",0xf1);

-  }

-  return piVar2;

-}

-

FUN_00170d6c

Function Meta

Key dt_aicam_md5
name FUN_00170d6c
fullname FUN_00170d6c
refcount 1
length 40
called
calling
paramcount 2
address 00170d6c
sig undefined __stdcall FUN_00170d6c(int param_1, int * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00170d6c
+++ FUN_00170d6c
@@ -1,50 +0,0 @@
-

-int FUN_00170d6c(int param_1,int *param_2)

-

-{

-  int iVar1;

-  int unaff_r4;

-  int unaff_r5;

-  int unaff_r6;

-  uint uStack00000000;

-  undefined4 uStack00000004;

-  undefined4 uStack00000008;

-  uint in_stack_00000038;

-  

-  iVar1 = FUN_001705e4(*(uint *)(unaff_r4 + 0x34),*(uint *)(unaff_r4 + 0x3c),in_stack_00000038);

-  if (iVar1 == 0) {

-    if (*(int *)(unaff_r4 + 0x10) == 0 && *(int *)(unaff_r4 + 0x14) == 0) {

-      iVar1 = -0x5fe27ffd;

-      fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-              "[Func]:%s [Line]:%d [Info]:image->pu8PhyAddr[2] can\'t be 0!\n","md_check_image_user"

-              ,0x10c);

-    }

-    else {

-      iVar1 = FUN_001705e4(*(uint *)(unaff_r4 + 0x38),*(uint *)(unaff_r4 + 0x3c),in_stack_00000038);

-      if (iVar1 == 0) {

-        uStack00000000 = *(uint *)(unaff_r4 + 0x10);

-        uStack00000004 = *(undefined4 *)(unaff_r4 + 0x14);

-        iVar1 = unaff_r5;

-        if ((uStack00000000 & 0xf) != 0) {

-          uStack00000008 = 0x10;

-          iVar1 = -0x5fe27ffd;

-          fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                  "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[2](0x%llx) must be %d byte align!\n"

-                  ,"md_check_image_user",0x112);

-        }

-      }

-      else {

-        fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-                "[Func]:%s [Line]:%d [Info]:check image->au32Stride[2] failed!\n",

-                "md_check_image_user",0x10e);

-      }

-    }

-  }

-  else {

-    fprintf((FILE *)**(undefined4 **)(unaff_r6 + 0x17b8),

-            "[Func]:%s [Line]:%d [Info]:check image->au32Stride[1] failed!\n","md_check_image_user",

-            0x109);

-  }

-  return iVar1;

-}

-

FUN_00170dd4

Function Meta

Key dt_aicam_md5
name FUN_00170dd4
fullname FUN_00170dd4
refcount 1
length 40
called
calling
paramcount 2
address 00170dd4
sig undefined __stdcall FUN_00170dd4(int param_1, int * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00170dd4
+++ FUN_00170dd4
@@ -1,18 +0,0 @@
-

-uint FUN_00170dd4(int param_1,int *param_2)

-

-{

-  int in_r2;

-  uint unaff_r5;

-  undefined4 *in_lr;

-  int iStack00000000;

-  int *piStack00000004;

-  

-  iStack00000000 = param_1;

-  piStack00000004 = param_2;

-  fprintf((FILE *)*in_lr,

-          "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[2](0x%llx) must be %d byte align!\n",

-          in_r2 + 0x170de8);

-  return unaff_r5 & 0xffff | 0xa01d0000;

-}

-

FUN_00170dfc

Function Meta

Key dt_aicam_md5
name FUN_00170dfc
fullname FUN_00170dfc
refcount 1
length 136
called ::fprintf
calling
paramcount 1
address 00170dfc
sig int * __stdcall FUN_00170dfc(int param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00170dfc
+++ FUN_00170dfc
@@ -1,14 +0,0 @@
-

-int * FUN_00170dfc(int param_1)

-

-{

-  int in_r1;

-  int *unaff_r5;

-  int unaff_r6;

-  

-  fprintf((FILE *)**(undefined4 **)(unaff_r6 + in_r1),

-          "[Func]:%s [Line]:%d [Info]:check image width and height failed!\n","md_check_image_user",

-          0xf8);

-  return unaff_r5;

-}

-

FUN_00170e94

Function Meta

Key dt_aicam_md5
name FUN_00170e94
fullname FUN_00170e94
refcount 1
length 168
called ::fprintf
calling FUN_0016f324
paramcount 2
address 00170e94
sig uint * __stdcall FUN_00170e94(int param_1, uint * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00170e94
+++ FUN_00170e94
@@ -1,10 +0,0 @@
-

-uint * FUN_00170e94(int param_1,uint *param_2)

-

-{

-  uint *unaff_r5;

-  

-  fprintf((FILE *)param_1,(char *)param_2);

-  return unaff_r5;

-}

-

FUN_00170fe4

Function Meta

Key dt_aicam_md5
name FUN_00170fe4
fullname FUN_00170fe4
refcount 2
length 168
called ::fprintf
calling FUN_0016f324
FUN_0016f74c
paramcount 2
address 00170fe4
sig uint * __stdcall FUN_00170fe4(int param_1, uint * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00170fe4
+++ FUN_00170fe4
@@ -1,14 +0,0 @@
-

-uint * FUN_00170fe4(int param_1,uint *param_2)

-

-{

-  int in_r2;

-  uint unaff_r5;

-  undefined4 *in_r12;

-  

-  fprintf((FILE *)*in_r12,

-          "[Func]:%s [Line]:%d [Info]:image->au64PhyAddr[0](0x%llx) must be %d byte align!\n",

-          in_r2 + 0x170ff4);

-  return (uint *)(unaff_r5 & 0xffff | 0xa01d0000);

-}

-

FUN_001c8a9c

Function Meta

Key dt_aicam_md5
name FUN_001c8a9c
fullname FUN_001c8a9c
refcount 0
length 196
called ::fprintf
::ioctl
FUN_001c96f8
calling
paramcount 2
address 001c8a9c
sig int __stdcall FUN_001c8a9c(uint param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_001c8a9c
+++ FUN_001c8a9c
@@ -1,10 +0,0 @@
-

-int FUN_001c8a9c(uint param_1,int param_2)

-

-{

-  int unaff_r6;

-  

-  fprintf((FILE *)param_1,(char *)param_2);

-  return unaff_r6;

-}

-

FUN_001c8b7c

Function Meta

Key dt_aicam_md5
name FUN_001c8b7c
fullname FUN_001c8b7c
refcount 0
length 196
called ::fprintf
::ioctl
FUN_001c96f8
calling
paramcount 2
address 001c8b7c
sig int __stdcall FUN_001c8b7c(uint param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_001c8b7c
+++ FUN_001c8b7c
@@ -1,7 +0,0 @@
-

-int FUN_001c8b7c(uint param_1,int param_2)

-

-{

-  return param_1;

-}

-

FUN_001ed218

Function Meta

Key dt_aicam_md5
name FUN_001ed218
fullname FUN_001ed218
refcount 4
length 876
called ::__stack_chk_fail
::fprintf
::memset
FUN_001ed1d0
calling
paramcount 6
address 001ed218
sig undefined __stdcall FUN_001ed218(int param_1, uint * param_2, uint * param_3, int param_4, ushort param_5, byte param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_001ed218
+++ FUN_001ed218
@@ -1,15 +0,0 @@
-

-void FUN_001ed218(int param_1,uint *param_2,uint *param_3,int param_4,ushort param_5,byte param_6)

-

-{

-  undefined2 in_stack_00000002;

-  int in_stack_0000001c;

-  

-  fprintf(*(FILE **)param_1,(char *)param_2);

-  if (in_stack_0000001c == *_param_5) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail(0xa01c8006);

-}

-

FUN_00496fd4

Function Meta

Key dt_aicam_md5
name FUN_00496fd4
fullname FUN_00496fd4
refcount 2
length 220
called ::__aeabi_fcmpge
::__aeabi_fcmplt
FUN_003a7df0
calling
paramcount 1
address 00496fd4
sig undefined __stdcall FUN_00496fd4(int * param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00496fd4
+++ FUN_00496fd4
@@ -1,64 +0,0 @@
-

-void FUN_00496fd4(int *param_1)

-

-{

-  int iVar1;

-  undefined4 uVar2;

-  int in_r3;

-  int *unaff_r4;

-  int unaff_r5;

-  undefined4 uVar3;

-  undefined4 unaff_r6;

-  int unaff_r7;

-  undefined4 *unaff_r8;

-  undefined4 unaff_r9;

-  int unaff_r10;

-  undefined4 uVar4;

-  int iStack00000000;

-  

-  do {

-    iStack00000000 = in_r3;

-    iVar1 = __aeabi_fcmplt();

-    if (iVar1 == 0) {

-      uVar4 = *unaff_r8;

-      iVar1 = __aeabi_fcmpge();

-      if (iVar1 == 0) {

-        uVar4 = __aeabi_fsub(uVar4,unaff_r9);

-        iVar1 = __aeabi_fcmpgt(uVar4,0);

-        if (iVar1 == 0) {

-          iVar1 = __aeabi_fcmpgt(uVar4,0xb4000000);

-          if (iVar1 != 0) goto LAB_0049703c;

-          iVar1 = __aeabi_fcmpeq(uVar4,0);

-          if (iVar1 == 0) goto LAB_004970e0;

-          uVar4 = 0x7f7fffff;

-        }

-        else {

-          iVar1 = __aeabi_fcmplt(uVar4,0x34000000);

-          if (iVar1 == 0) {

-LAB_004970e0:

-            uVar2 = __aeabi_fsub(unaff_r6,unaff_r9);

-            uVar4 = __aeabi_fdiv(uVar2,uVar4);

-          }

-          else {

-LAB_0049703c:

-            uVar4 = 0;

-          }

-        }

-        uVar3 = *(undefined4 *)(unaff_r4[6] + iStack00000000);

-        uVar2 = __aeabi_fsub(*(undefined4 *)(unaff_r4[6] + unaff_r10 * 4),uVar3);

-        uVar4 = __aeabi_fmul(uVar2,uVar4);

-        iVar1 = __aeabi_fadd(uVar4,uVar3);

-        unaff_r4[7] = iVar1;

-LAB_00497080:

-        FUN_003a8590(unaff_r4,3);

-        return;

-      }

-    }

-    unaff_r10 = unaff_r10 + 1;

-    if (unaff_r5 == unaff_r10) goto LAB_00497080;

-    in_r3 = (int)unaff_r8 - unaff_r7;

-    unaff_r9 = *unaff_r8;

-    unaff_r8 = unaff_r8 + 1;

-  } while( true );

-}

-

FUN_004da564

Function Meta

Key dt_aicam_md5
name FUN_004da564
fullname FUN_004da564
refcount 1
length 136
called ::memcpy
::realloc
calling FUN_004cf578
paramcount 3
address 004da564
sig undefined4 __stdcall FUN_004da564(int param_1, int param_2, void * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_004da564
+++ FUN_004da564
@@ -1,1500 +0,0 @@
-

-/* WARNING: Heritage AFTER dead removal. Example location: s0x00000154 : 0x004d8638 */

-/* WARNING: Type propagation algorithm not settling */

-/* WARNING: Restarted to delay deadcode elimination for space: stack */

-

-char * FUN_004da564(int param_1,int param_2,void *param_3)

-

-{

-  longlong lVar1;

-  char cVar2;

-  void *pvVar3;

-  uint uVar4;

-  uint uVar5;

-  uint uVar6;

-  uint uVar7;

-  uint uVar8;

-  uint uVar9;

-  int iVar10;

-  int iVar11;

-  undefined1 *puVar12;

-  uint uVar13;

-  undefined4 uVar14;

-  void *pvVar15;

-  uint uVar16;

-  undefined4 uVar17;

-  int *piVar18;

-  int iVar19;

-  uint uVar20;

-  undefined4 *puVar21;

-  undefined4 uVar22;

-  int iVar23;

-  uint *unaff_r4;

-  uint uVar24;

-  int *piVar25;

-  undefined4 *puVar26;

-  int unaff_r5;

-  int iVar27;

-  int unaff_r6;

-  size_t sVar28;

-  int *piVar29;

-  int unaff_r7;

-  int iVar30;

-  int iVar31;

-  int *piVar32;

-  int iVar33;

-  int iVar34;

-  uint unaff_r8;

-  int unaff_r9;

-  int *unaff_r10;

-  int unaff_r11;

-  char *pcVar35;

-  byte *pbVar36;

-  bool bVar37;

-  uint in_stack_0000003c;

-  uint in_stack_00000040;

-  int in_stack_00000048;

-  int iStack0000004c;

-  int in_stack_00000050;

-  uint in_stack_00000054;

-  char *in_stack_00000058;

-  int in_stack_0000005c;

-  int *in_stack_00000060;

-  int *in_stack_00000064;

-  int in_stack_00000068;

-  int in_stack_0000006c;

-  uint in_stack_00000070;

-  uint in_stack_00000074;

-  int in_stack_00000078;

-  int in_stack_0000007c;

-  uint in_stack_00000080;

-  int iStack00000084;

-  int in_stack_00000088;

-  uint in_stack_0000008c;

-  int *in_stack_00000090;

-  int *in_stack_00000094;

-  int *in_stack_00000098;

-  char *in_stack_0000009c;

-  int *piStack000000a0;

-  int *in_stack_000000a4;

-  int *in_stack_000000a8;

-  int *in_stack_000000ac;

-  uint in_stack_000000b0;

-  uint in_stack_000000b4;

-  uint in_stack_000000b8;

-  uint in_stack_000000bc;

-  uint in_stack_000000c0;

-  int *in_stack_000000c4;

-  int *in_stack_000000c8;

-  byte *in_stack_000000cc;

-  int *in_stack_000000d0;

-  uint in_stack_000000d4;

-  char *in_stack_000000d8;

-  int in_stack_000000dc;

-  int in_stack_000000e0;

-  byte *in_stack_000000e4;

-  int in_stack_000000e8;

-  int *in_stack_000000ec;

-  int in_stack_000000f0;

-  int *in_stack_000000f4;

-  int in_stack_000000f8;

-  int in_stack_000000fc;

-  int in_stack_00000100;

-  int in_stack_00000104;

-  int in_stack_00000108;

-  int in_stack_0000010c;

-  char *in_stack_00000110;

-  int in_stack_00000114;

-  int in_stack_00000118;

-  int in_stack_0000011c;

-  int *in_stack_00000120;

-  uint *in_stack_00000124;

-  int in_stack_00000128;

-  int *in_stack_0000012c;

-  int in_stack_00000130;

-  char *in_stack_00000134;

-  uint in_stack_00000138;

-  int in_stack_0000013c;

-  int in_stack_00000140;

-  uint in_stack_00000144;

-  uint in_stack_00000148;

-  uint in_stack_0000014c;

-  uint in_stack_00000150;

-  int *in_stack_00000154;

-  int *in_stack_00000158;

-  int *in_stack_0000015c;

-  uint in_stack_00000160;

-  int in_stack_00000164;

-  int in_stack_00000170;

-  int *in_stack_00000174;

-  uint in_stack_00000180;

-  undefined4 in_stack_00000184;

-  int in_stack_00000188;

-  uint in_stack_0000018c;

-  int in_stack_00000190;

-  int in_stack_00000194;

-  uint in_stack_00000198;

-  int in_stack_0000019c;

-  uint in_stack_000001a0;

-  int in_stack_000001a4;

-  uint in_stack_000001a8;

-  int in_stack_000001ac;

-  int in_stack_000001b0;

-  int in_stack_000001b4;

-  int in_stack_000001b8;

-  int in_stack_000001bc;

-  int in_stack_000001c0;

-  uint in_stack_000001c4;

-  int in_stack_000001d8;

-  int in_stack_000001dc;

-  int in_stack_000001e0;

-  int in_stack_000001e4;

-  uint in_stack_000001e8;

-  int *in_stack_000001ec;

-  int in_stack_000001f0;

-  int in_stack_000001f4;

-  int in_stack_000001f8;

-  int in_stack_000001fc;

-  int in_stack_00000200;

-  int in_stack_00000204;

-  int in_stack_00000208;

-  int in_stack_0000020c;

-  int in_stack_00000210;

-  int in_stack_00000214;

-  int in_stack_00000218;

-  int in_stack_0000021c;

-  int in_stack_00000220;

-  int in_stack_00000224;

-  int in_stack_0000026c;

-  int in_stack_00000270;

-  int in_stack_00000274;

-  int in_stack_00000278;

-  int in_stack_000002ac;

-  int in_stack_000002b0;

-  int *in_stack_000002b4;

-  int in_stack_000002b8;

-  int in_stack_000002bc;

-  int in_stack_000002c0;

-  uint in_stack_000002c4;

-  void *in_stack_000002cc;

-  int *in_stack_000002ec;

-  uint in_stack_000002f8;

-  int in_stack_000002fc;

-  int *in_stack_00000300;

-  int in_stack_00000304;

-  int in_stack_00000308;

-  uint in_stack_0000030c;

-  int in_stack_00000310;

-  void *in_stack_00000320;

-  int in_stack_00000340;

-  int in_stack_00000344;

-  uint in_stack_00000348;

-  int *in_stack_0000034c;

-  

-  lVar1 = CONCAT44(param_2,param_3);

-code_r0x004da564:

-  uVar24 = unaff_r4[1] ^ (uint)((ulonglong)lVar1 >> 0x20);

-  if ((int)in_stack_00000080 < 0) {

-    in_stack_00000080 = -in_stack_00000080;

-  }

-  uVar20 = *unaff_r4 ^ (uint)lVar1;

-  iStack00000084 = (int)in_stack_00000080 >> 0x1f;

-  uVar16 = (int)uVar24 >> 0x1f;

-  piStack000000a0 = (int *)((int)in_stack_00000080 >> 1);

-  uVar16 = uVar16 ^ (int)piStack000000a0 + uVar16;

-  iStack0000004c =

-       __aeabi_ldivmod(uVar20 + uVar16,uVar24 + ((int)uVar16 >> 0x1f) + (uint)CARRY4(uVar20,uVar16),

-                       in_stack_00000080,iStack00000084);

-  lVar1 = (longlong)(int)(in_stack_00000040 * in_stack_0000006c) *

-          (longlong)(int)(-(int)in_stack_00000094 * in_stack_0000008c) +

-          (longlong)((int)in_stack_00000094 * (int)in_stack_00000090) *

-          (longlong)(unaff_r6 + unaff_r9) +

-          (longlong)(int)(in_stack_00000040 * 6) * (longlong)(unaff_r6 + unaff_r11) +

-          CONCAT44(in_stack_00000074,in_stack_00000070);

-  uVar16 = in_stack_00000070 ^ (uint)lVar1;

-  uVar20 = in_stack_00000074 ^ (uint)((ulonglong)lVar1 >> 0x20);

-  uVar24 = (int)uVar20 >> 0x1f;

-  uVar24 = (int)piStack000000a0 + uVar24 ^ uVar24;

-  iVar11 = __aeabi_ldivmod(uVar16 + uVar24,

-                           uVar20 + ((int)uVar24 >> 0x1f) + (uint)CARRY4(uVar16,uVar24),

-                           in_stack_00000080,iStack00000084);

-LAB_004d96bc:

-  in_stack_000000a4 = (int *)(unaff_r7 - in_stack_00000040);

-  piVar18 = (int *)(unaff_r5 - in_stack_00000048);

-  in_stack_000000ac = piVar18;

-  if ((int)piVar18 < 0) {

-    in_stack_000000ac = (int *)-(int)piVar18;

-  }

-  piStack000000a0 = (int *)(unaff_r8 - in_stack_00000048);

-  piVar29 = (int *)((int)in_stack_00000064 - in_stack_00000040);

-  in_stack_00000090 = in_stack_000000a4;

-  if ((int)in_stack_000000a4 < 0) {

-    in_stack_00000090 = (int *)-(int)in_stack_000000a4;

-  }

-  uVar16 = (iVar11 - unaff_r7) * (iStack0000004c - unaff_r8) -

-           (iStack0000004c - unaff_r5) * (iVar11 - (int)in_stack_00000064);

-  in_stack_0000008c =

-       (iStack0000004c - unaff_r8) * (int)in_stack_000000a4 -

-       (iVar11 - (int)in_stack_00000064) * (int)piVar18;

-  uVar20 = in_stack_0000008c + uVar16;

-  uVar24 = (iVar11 - unaff_r7) * (int)piStack000000a0 - (iStack0000004c - unaff_r5) * (int)piVar29;

-  piVar25 = in_stack_000000ac;

-  if ((int)in_stack_000000ac < (int)in_stack_00000090) {

-    piVar25 = in_stack_00000090;

-  }

-  piVar32 = piStack000000a0;

-  if ((int)piStack000000a0 < 0) {

-    piVar32 = (int *)-(int)piStack000000a0;

-  }

-  in_stack_000000a8 = piVar29;

-  in_stack_000000b0 = uVar20;

-  uVar4 = FUN_004de098((uint)piVar25);

-  if ((int)piVar29 < 0) {

-    piVar29 = (int *)-(int)piVar29;

-  }

-  uVar5 = uVar20;

-  if ((int)uVar20 < 0) {

-    uVar5 = -uVar20;

-  }

-  in_stack_00000094 = piVar29;

-  uVar5 = FUN_004de098(uVar5);

-  uVar13 = uVar24 + uVar16;

-  piVar29 = piVar32;

-  if ((int)piVar32 < (int)in_stack_00000094) {

-    piVar29 = in_stack_00000094;

-  }

-  uVar6 = FUN_004de098((uint)piVar29);

-  uVar9 = uVar13;

-  if ((int)uVar13 < 0) {

-    uVar9 = -uVar13;

-  }

-  uVar7 = FUN_004de098(uVar9);

-  uVar9 = in_stack_0000008c;

-  if ((int)in_stack_0000008c < 0) {

-    uVar9 = -in_stack_0000008c;

-  }

-  uVar8 = uVar24;

-  if ((int)uVar24 < 0) {

-    uVar8 = -uVar24;

-  }

-  if ((int)uVar8 <= (int)uVar9) {

-    uVar8 = uVar9;

-  }

-  in_stack_000000b4 = (uVar16 ^ (int)uVar16 >> 0x1f) - ((int)uVar16 >> 0x1f);

-  if ((int)uVar8 < (int)in_stack_000000b4) {

-    uVar8 = in_stack_000000b4;

-  }

-  uVar9 = FUN_004de098(uVar8);

-  uVar8 = uVar4 + uVar5;

-  if ((int)(uVar4 + uVar5) < (int)(uVar6 + uVar7)) {

-    uVar8 = uVar6 + uVar7;

-  }

-  if ((int)uVar9 < (int)uVar8) {

-    uVar9 = uVar8;

-  }

-  in_stack_00000070 = 0x1e - (uVar9 + 0xe);

-  if ((int)(uVar9 + 0xe) < 0x1f) {

-    in_stack_00000070 = 0;

-  }

-  uVar4 = -in_stack_00000070;

-  iVar30 = 1 << (uVar4 & 0xff);

-  in_stack_00000080 = iVar30 >> 1;

-  iStack00000084 = iVar30 >> 0x1f;

-  lVar1 = (longlong)(int)piVar18 * (longlong)(int)uVar20 + (longlong)(int)in_stack_00000080;

-  iVar19 = (int)((ulonglong)lVar1 >> 0x20);

-  uVar20 = in_stack_00000070 + 0x20;

-  uVar5 = (uint)lVar1 >> (uVar4 & 0xff) | iVar19 << (uVar20 & 0xff);

-  piVar18 = (int *)(iVar11 - in_stack_00000040);

-  if (-1 < (int)(uVar4 - 0x20)) {

-    uVar5 = uVar5 | iVar19 >> (uVar4 - 0x20 & 0xff);

-  }

-  lVar1 = (longlong)(int)piStack000000a0 * (longlong)(int)uVar13 +

-          CONCAT44(iStack00000084,in_stack_00000080);

-  iVar11 = (int)((ulonglong)lVar1 >> 0x20);

-  uVar9 = (uint)lVar1 >> (uVar4 & 0xff) | iVar11 << (uVar20 & 0xff);

-  if (-1 < (int)(uVar4 - 0x20)) {

-    uVar9 = uVar9 | iVar11 >> (uVar4 - 0x20 & 0xff);

-  }

-  lVar1 = (longlong)(int)in_stack_000000b0 * (longlong)(int)in_stack_000000a4 +

-          CONCAT44(iStack00000084,in_stack_00000080);

-  iVar11 = (int)((ulonglong)lVar1 >> 0x20);

-  uVar6 = (uint)lVar1 >> (uVar4 & 0xff) | iVar11 << (uVar20 & 0xff);

-  if (-1 < (int)(uVar4 - 0x20)) {

-    uVar6 = uVar6 | iVar11 >> (uVar4 - 0x20 & 0xff);

-  }

-  lVar1 = (longlong)(int)uVar13 * (longlong)(int)in_stack_000000a8 +

-          CONCAT44(iStack00000084,in_stack_00000080);

-  iVar11 = (int)((ulonglong)lVar1 >> 0x20);

-  uVar20 = (uint)lVar1 >> (uVar4 & 0xff) | iVar11 << (uVar20 & 0xff);

-  if (-1 < (int)(uVar4 - 0x20)) {

-    uVar20 = uVar20 | iVar11 >> (uVar4 - 0x20 & 0xff);

-  }

-  iVar11 = (int)(uVar24 + in_stack_00000080) >> (uVar4 & 0xff);

-  iVar19 = (int)(in_stack_0000008c + in_stack_00000080) >> (uVar4 & 0xff);

-  if ((int)(in_stack_00000070 + 0xe) < 0 == SCARRY4(in_stack_00000070,0xe)) {

-    iVar30 = uVar16 << (in_stack_00000070 + 0xe & 0xff);

-  }

-  else {

-    iVar30 = (int)(uVar16 + (iVar30 >> 0xf)) >> (-in_stack_00000070 - 0xe & 0xff);

-  }

-  if ((int)piVar32 <= (int)in_stack_000000ac) {

-    piVar32 = in_stack_000000ac;

-  }

-  uVar24 = iStack0000004c - in_stack_00000048 >> 0x1f;

-  piVar29 = (int *)((iStack0000004c - in_stack_00000048 ^ uVar24) - uVar24);

-  if ((int)piVar29 <= (int)piVar32) {

-    piVar29 = piVar32;

-  }

-  FUN_004de098((uint)piVar29);

-  uVar24 = uVar5;

-  if ((int)uVar5 < 0) {

-    uVar24 = -uVar5;

-  }

-  uVar16 = uVar6;

-  if ((int)uVar6 < 0) {

-    uVar16 = -uVar6;

-  }

-  if ((int)uVar24 < (int)uVar16) {

-    uVar24 = uVar16;

-  }

-  FUN_004de098(uVar24);

-  piVar29 = in_stack_00000090;

-  if ((int)in_stack_00000090 < (int)in_stack_00000094) {

-    piVar29 = in_stack_00000094;

-  }

-  if ((int)piVar18 < 0) {

-    piVar18 = (int *)-(int)piVar18;

-  }

-  if ((int)piVar29 < (int)piVar18) {

-    piVar29 = piVar18;

-  }

-  FUN_004de098((uint)piVar29);

-  uVar24 = uVar9;

-  if ((int)uVar9 < 0) {

-    uVar24 = -uVar9;

-  }

-  uVar16 = uVar20;

-  if ((int)uVar20 < 0) {

-    uVar16 = -uVar20;

-  }

-  if ((int)uVar24 < (int)uVar16) {

-    uVar24 = uVar16;

-  }

-  FUN_004de098(uVar24);

-  FUN_004de098(in_stack_000000b4);

-  piVar18 = in_stack_00000098;

-  FUN_004d55e0((undefined4 *)&stack0x000002ac,(int)in_stack_00000098,*in_stack_000002b4,

-               in_stack_000002b4[1]);

-  FUN_004d55e0((undefined4 *)&stack0x000002f8,(int)piVar18,*in_stack_00000300,in_stack_00000300[1]);

-  FUN_004d55e0((undefined4 *)&stack0x00000344,(int)piVar18,*in_stack_0000034c,in_stack_0000034c[1]);

-  FUN_004d68e8((int)&stack0x000002b8,(int)piVar18);

-  iVar10 = FUN_004d5714((int *)&stack0x000002b8,in_stack_000002f8 - in_stack_000002ac,

-                        in_stack_000002f8 - in_stack_000002ac);

-  if (iVar10 < 0) goto LAB_004d86b0;

-  FUN_004d68e8((int)&stack0x00000304,(int)piVar18);

-  iVar10 = FUN_004d5714((int *)&stack0x00000304,in_stack_00000348 - in_stack_000002b0,

-                        in_stack_00000348 - in_stack_000002b0);

-  if (iVar10 < 0) goto LAB_004d86b0;

-  bVar37 = in_stack_000002c4 == 6;

-  if ((int)in_stack_000002c4 < 7) {

-    bVar37 = in_stack_000002c4 == in_stack_0000030c;

-  }

-  in_stack_00000040 = in_stack_000002c4;

-  if (bVar37) goto LAB_004d9c94;

-  iVar10 = in_stack_000002c4 - in_stack_0000030c;

-  if (iVar10 < 0) {

-    iVar10 = -iVar10;

-  }

-  if (3 < iVar10) goto LAB_004d86b0;

-  if ((int)in_stack_000002c4 < 4) {

-LAB_004da340:

-    if ((int)in_stack_0000030c < 4) goto LAB_004d86b0;

-    uVar24 = FUN_004d7588((int)&stack0x00000304,in_stack_00000098,in_stack_00000088,

-                          in_stack_00000078,in_stack_0000007c,1);

-    iVar10 = uVar24 - in_stack_0000030c;

-    if (iVar10 < 0) {

-      iVar10 = -iVar10;

-    }

-    if (3 < iVar10) goto LAB_004d86b0;

-  }

-  else {

-    in_stack_00000040 =

-         FUN_004d7588((int)&stack0x000002b8,in_stack_00000098,in_stack_00000088,in_stack_00000078,

-                      in_stack_0000007c,0);

-    iVar10 = in_stack_00000040 - in_stack_000002c4;

-    if (iVar10 < 0) {

-      iVar10 = -iVar10;

-    }

-    if (3 < iVar10) goto LAB_004da340;

-    uVar24 = in_stack_00000040;

-    if (3 < (int)in_stack_0000030c) {

-      uVar16 = FUN_004d7588((int)&stack0x00000304,in_stack_00000098,in_stack_00000088,

-                            in_stack_00000078,in_stack_0000007c,1);

-      iVar10 = uVar16 - in_stack_0000030c;

-      if (iVar10 < 0) {

-        iVar10 = -iVar10;

-      }

-      if ((iVar10 < 4) && (uVar24 = uVar16, -1 < (int)in_stack_00000040)) {

-        uVar24 = ~uVar16 >> 0x1f;

-        if (in_stack_00000040 == uVar16) {

-          uVar24 = 0;

-        }

-        if (uVar24 != 0) goto LAB_004d86b0;

-        goto LAB_004d9c94;

-      }

-    }

-  }

-  in_stack_00000040 = uVar24;

-  if ((int)in_stack_00000040 < 0) goto LAB_004d86b0;

-LAB_004d9c94:

-  FUN_004d68e8((int)&stack0x0000026c,(int)in_stack_00000098);

-  iVar10 = FUN_004d5714((int *)&stack0x0000026c,in_stack_000002f8 - in_stack_00000344,

-                        in_stack_00000348 - in_stack_000002b0);

-  uVar24 = in_stack_000000b8;

-  if (iVar10 < 0) goto LAB_004d86b0;

-  iVar10 = in_stack_00000278 - in_stack_000002c4;

-  if (iVar10 < 0) {

-    iVar10 = -iVar10;

-  }

-  if (1 < iVar10) goto LAB_004d86b0;

-  iVar10 = in_stack_00000274 - in_stack_0000030c;

-  if (iVar10 < 0) {

-    iVar10 = -iVar10;

-  }

-  if (1 < iVar10) goto LAB_004d86b0;

-  uVar16 = 0;

-  iVar10 = in_stack_00000270 * -3 + in_stack_000002b0;

-  iVar33 = in_stack_0000026c * 5 + in_stack_000002ac;

-  iVar27 = uVar5 * iVar33 + uVar9 * iVar10;

-  iVar34 = uVar6 * iVar33 + uVar20 * iVar10;

-  iVar23 = 0;

-  in_stack_00000144 = 0;

-  iVar10 = iVar19 * iVar33 + iVar11 * iVar10 + iVar30;

-  do {

-    if (iVar23 != 6) {

-      if (iVar10 == 0) {

-        if (iVar27 < 0) {

-          in_stack_0000013c = -0x80000000;

-        }

-        else {

-          in_stack_0000013c = 0x7fffffff;

-        }

-        if (iVar34 < 0) {

-          in_stack_00000140 = -0x80000000;

-        }

-        else {

-          in_stack_00000140 = 0x7fffffff;

-        }

-      }

-      else {

-        FUN_004d7508(&stack0x0000013c,(int *)&stack0x00000260,(int *)&stack0x00000264,iVar27,iVar34,

-                     iVar10);

-      }

-      cVar2 = FUN_004d5974(in_stack_00000088,in_stack_00000078,in_stack_0000007c,in_stack_0000013c,

-                           in_stack_00000140);

-      in_stack_00000144 = in_stack_00000144 | (int)cVar2 << (uVar16 & 0xff);

-      uVar16 = uVar16 + 1;

-      if (7 < iVar23) break;

-    }

-    iVar10 = iVar10 + in_stack_00000270 * iVar11;

-    iVar27 = iVar27 + uVar9 * in_stack_00000270;

-    iVar23 = iVar23 + 1;

-    iVar34 = iVar34 + uVar20 * in_stack_00000270;

-  } while( true );

-  in_stack_0000014c = 0;

-  uVar4 = iVar23 - 1;

-  do {

-    iVar34 = iVar34 + in_stack_0000026c * -uVar6;

-    iVar27 = iVar27 + in_stack_0000026c * -uVar5;

-    iVar10 = iVar10 + in_stack_0000026c * -iVar19;

-    if (uVar4 == 6) {

-      iVar34 = iVar34 + in_stack_0000026c * -uVar6;

-      uVar7 = 5;

-      iVar27 = iVar27 + in_stack_0000026c * -uVar5;

-      iVar10 = iVar10 + in_stack_0000026c * -iVar19;

-      uVar13 = uVar24;

-    }

-    else {

-      uVar13 = uVar4 - 1;

-      uVar7 = uVar4;

-    }

-    uVar4 = uVar13;

-    if (iVar10 == 0) {

-      if (iVar27 < 0) {

-        in_stack_0000013c = -0x80000000;

-      }

-      else {

-        in_stack_0000013c = 0x7fffffff;

-      }

-      if (iVar34 < 0) {

-        in_stack_00000140 = -0x80000000;

-      }

-      else {

-        in_stack_00000140 = 0x7fffffff;

-      }

-    }

-    else {

-      FUN_004d7508(&stack0x0000013c,(int *)&stack0x00000260,(int *)&stack0x00000264,iVar27,iVar34,

-                   iVar10);

-    }

-    cVar2 = FUN_004d5974(in_stack_00000088,in_stack_00000078,in_stack_0000007c,in_stack_0000013c,

-                         in_stack_00000140);

-    in_stack_0000014c = in_stack_0000014c | (int)cVar2 << (uVar16 & 0xff);

-    uVar16 = uVar16 + 1;

-  } while (0 < (int)uVar7);

-  uVar16 = 0;

-  iVar10 = in_stack_000002b8 * 3 + in_stack_000002f8;

-  iVar33 = in_stack_000002bc * 5 + in_stack_000002fc;

-  iVar23 = iVar11 * iVar33 + iVar19 * iVar10 + iVar30;

-  iVar27 = uVar9 * iVar33 + uVar5 * iVar10;

-  in_stack_00000148 = 0;

-  iVar10 = uVar20 * iVar33 + uVar6 * iVar10;

-  do {

-    if (iVar23 == 0) {

-      if (iVar27 < 0) {

-        in_stack_0000013c = -0x80000000;

-      }

-      else {

-        in_stack_0000013c = 0x7fffffff;

-      }

-      if (iVar10 < 0) {

-        in_stack_00000140 = -0x80000000;

-      }

-      else {

-        in_stack_00000140 = 0x7fffffff;

-      }

-    }

-    else {

-      FUN_004d7508(&stack0x0000013c,(int *)&stack0x00000260,(int *)&stack0x00000264,iVar27,iVar10,

-                   iVar23);

-    }

-    cVar2 = FUN_004d5974(in_stack_00000088,in_stack_00000078,in_stack_0000007c,in_stack_0000013c,

-                         in_stack_00000140);

-    in_stack_00000148 = in_stack_00000148 | (int)cVar2 << (uVar16 & 0xff);

-    uVar16 = uVar16 + 1;

-    iVar27 = iVar27 + in_stack_000002b8 * -uVar5;

-    iVar10 = iVar10 + -uVar6 * in_stack_000002b8;

-    iVar23 = iVar23 + in_stack_000002b8 * -iVar19;

-  } while (uVar16 != 8);

-  iVar10 = in_stack_00000308 * -3 + in_stack_00000348;

-  iVar27 = in_stack_00000304 * 5 + in_stack_00000344;

-  iVar23 = uVar5 * iVar27 + uVar9 * iVar10;

-  iVar33 = uVar6 * iVar27 + uVar20 * iVar10;

-  in_stack_00000150 = 0;

-  iVar30 = iVar19 * iVar27 + iVar11 * iVar10 + iVar30;

-  uVar16 = 8;

-  do {

-    if (iVar30 == 0) {

-      if (iVar23 < 0) {

-        in_stack_0000013c = -0x80000000;

-      }

-      else {

-        in_stack_0000013c = 0x7fffffff;

-      }

-      if (iVar33 < 0) {

-        in_stack_00000140 = -0x80000000;

-      }

-      else {

-        in_stack_00000140 = 0x7fffffff;

-      }

-    }

-    else {

-      FUN_004d7508(&stack0x0000013c,(int *)&stack0x00000260,(int *)&stack0x00000264,iVar23,iVar33,

-                   iVar30);

-    }

-    cVar2 = FUN_004d5974(in_stack_00000088,in_stack_00000078,in_stack_0000007c,in_stack_0000013c,

-                         in_stack_00000140);

-    in_stack_00000150 = in_stack_00000150 | (int)cVar2 << (uVar16 & 0xff);

-    uVar16 = uVar16 + 1;

-    iVar23 = iVar23 + uVar9 * in_stack_00000308;

-    iVar33 = iVar33 + uVar20 * in_stack_00000308;

-    iVar30 = iVar30 + in_stack_00000308 * iVar11;

-  } while (uVar16 != 0xf);

-  if (in_stack_00000144 == in_stack_00000148) {

-    uVar16 = 2;

-  }

-  else {

-    uVar16 = 1;

-  }

-  uVar20 = uVar24;

-  if (in_stack_00000150 == in_stack_0000014c) {

-    uVar20 = 2;

-  }

-  iVar11 = 0;

-  uVar4 = in_stack_00000144;

-  uVar5 = in_stack_0000014c;

-  uVar13 = uVar16;

-  do {

-    in_stack_00000138 = (uVar4 | uVar5) ^ 0x5412;

-    uVar4 = FUN_004dd9fc(&stack0x00000138);

-    if ((int)uVar4 < 0) {

-      uVar4 = uVar24;

-    }

-    in_stack_00000138 = in_stack_00000138 >> 10;

-    if (iVar11 == 0) {

-      iVar30 = 0;

-LAB_004daae4:

-      (&stack0x00000160)[iVar30] = in_stack_00000138;

-      (&stack0x00000170)[iVar30] = 1;

-      *(uint *)(&stack0x000001f8 + iVar30 * 4) = uVar4;

-      iVar11 = iVar11 + 1;

-    }

-    else {

-      iVar30 = 0;

-      uVar5 = in_stack_00000160;

-      while (uVar5 != in_stack_00000138) {

-        iVar30 = iVar30 + 1;

-        if (iVar30 == iVar11) goto LAB_004daae4;

-        uVar5 = (&stack0x00000160)[iVar30];

-      }

-      iVar19 = (&stack0x00000170)[iVar30];

-      if ((int)uVar4 < *(int *)(&stack0x000001f8 + iVar30 * 4)) {

-        *(uint *)(&stack0x000001f8 + iVar30 * 4) = uVar4;

-      }

-      (&stack0x00000170)[iVar30] = iVar19 + 1;

-    }

-    if ((int)uVar20 <= (int)uVar13) break;

-    uVar4 = (&stack0x00000144)[uVar13 & 1];

-    uVar5 = (&stack0x0000014c)[(int)uVar13 >> 1];

-    uVar13 = uVar13 + uVar16;

-  } while( true );

-  iVar30 = in_stack_000001f8;

-  if (iVar11 == 1) {

-    iVar19 = 0;

-  }

-  else {

-    puVar12 = &stack0x000001f8;

-    iVar10 = 1;

-    iVar19 = 0;

-    do {

-      if ((iVar30 < 4) || (iVar23 = *(int *)(puVar12 + 4), 3 < iVar23)) {

-        if ((&stack0x00000170)[iVar19] < (&stack0x00000170)[iVar10]) {

-          iVar23 = *(int *)(puVar12 + 4);

-          goto LAB_004dab8c;

-        }

-        if (((&stack0x00000170)[iVar10] == (&stack0x00000170)[iVar19]) &&

-           (iVar23 = *(int *)(puVar12 + 4), iVar23 < iVar30)) goto LAB_004dab8c;

-      }

-      else {

-LAB_004dab8c:

-        iVar19 = iVar10;

-        iVar30 = iVar23;

-      }

-      iVar10 = iVar10 + 1;

-      puVar12 = puVar12 + 4;

-    } while (iVar10 != iVar11);

-  }

-  if (3 < iVar30) goto LAB_004d86b0;

-  if ((int)(&stack0x00000160)[iVar19] < 0) goto LAB_004d86b0;

-  iVar11 = FUN_0003459c((int *)&stack0x000001c8,in_stack_000000e4,in_stack_000002b4,

-                        in_stack_00000300,in_stack_0000034c,in_stack_00000040,

-                        (&stack0x00000160)[iVar19],in_stack_00000088,in_stack_00000078,

-                        in_stack_0000007c);

-  piVar18 = in_stack_000000c8;

-  if (iVar11 < 0) goto LAB_004d86b0;

-  if (-1 < (int)in_stack_00000040) {

-    iVar11 = in_stack_000000c8[1];

-    if (iVar11 < in_stack_000000c8[2]) {

-      pvVar15 = (void *)*in_stack_000000c8;

-    }

-    else {

-      uVar24 = in_stack_000000c8[2] << 1 | 1;

-      in_stack_000000c8[2] = uVar24;

-      pvVar15 = realloc((void *)*in_stack_000000c8,uVar24 * 0x30);

-      iVar11 = piVar18[1];

-      *piVar18 = (int)pvVar15;

-    }

-    piVar18 = in_stack_000000c8;

-    in_stack_000000c8[1] = iVar11 + 1;

-    memcpy((void *)((int)pvVar15 + iVar11 * 0x30),&stack0x000001c8,0x30);

-    iVar30 = *piVar18 + piVar18[1] * 0x30 + -0x30;

-    iVar11 = iVar30 + 0x20;

-    do {

-      *(int *)(iVar30 + 0x10) = *(int *)(iVar30 + 0x10) >> 2;

-      *(int *)(iVar30 + 0x14) = *(int *)(iVar30 + 0x14) >> 2;

-      iVar30 = iVar30 + 8;

-    } while (iVar30 != iVar11);

-    iVar11 = 0;

-    in_stack_00000058[1] = '\x01';

-    *in_stack_0000009c = '\x01';

-    puVar26 = (undefined4 *)0x1;

-    in_stack_00000070 = in_stack_000001f0 - in_stack_000001e0;

-    *in_stack_00000110 = '\x01';

-    in_stack_00000094 = (int *)(in_stack_000001e8 - in_stack_000001f0);

-    piStack000000a0 = (int *)(in_stack_000001d8 - in_stack_000001e8);

-    in_stack_00000080 = in_stack_000001f4 - in_stack_000001e4;

-    in_stack_00000098 = (int *)((int)in_stack_000001ec - in_stack_000001f4);

-    in_stack_000000a4 = (int *)(in_stack_000001dc - (int)in_stack_000001ec);

-    in_stack_00000090 = in_stack_000001ec;

-    in_stack_0000006c = 0;

-    in_stack_0000008c = in_stack_000001e8;

-    piVar18 = (int *)(in_stack_0000010c + 4);

-    pcVar35 = in_stack_000000d8;

-    do {

-      iVar11 = iVar11 + 1;

-      if (*pcVar35 == '\0') {

-        iVar19 = *piVar18;

-        iVar30 = piVar18[-1];

-        puVar26 = (undefined4 *)

-                  ((in_stack_000001e4 - in_stack_000001dc) * (iVar30 - in_stack_000001d8));

-        if (-1 < (iVar19 - in_stack_000001dc) * (in_stack_000001e0 - in_stack_000001d8) -

-                 (int)puVar26) {

-          if (((-1 < (iVar19 - in_stack_000001e4) * (in_stack_000001f0 - in_stack_000001e0) -

-                     (iVar30 - in_stack_000001e0) * (in_stack_000001f4 - in_stack_000001e4)) &&

-              (-1 < (iVar19 - in_stack_000001f4) * (int)(in_stack_000001e8 - in_stack_000001f0) -

-                    (iVar30 - in_stack_000001f0) * ((int)in_stack_000001ec - in_stack_000001f4))) &&

-             (-1 < (int)((iVar19 - (int)in_stack_000001ec) *

-                         (int)(in_stack_000001d8 - in_stack_000001e8) -

-                        (iVar30 - in_stack_000001e8) * (in_stack_000001dc - (int)in_stack_000001ec))

-             )) {

-            *pcVar35 = '\x02';

-            in_stack_0000006c = in_stack_0000006c + 1;

-          }

-        }

-      }

-      pcVar35 = pcVar35 + 1;

-      piVar18 = piVar18 + 4;

-    } while (iVar11 < in_stack_00000068);

-    if (2 < in_stack_0000006c) {

-      pvVar15 = malloc(in_stack_0000006c << 4);

-      iVar11 = 0;

-      sVar28 = 0;

-      pbVar36 = (byte *)(in_stack_000000d8 + -1);

-      do {

-        pbVar36 = pbVar36 + 1;

-        puVar21 = (undefined4 *)(uint)*pbVar36;

-        bVar37 = puVar21 == (undefined4 *)0x2;

-        if (bVar37) {

-          puVar21 = (undefined4 *)(in_stack_0000010c + iVar11 * 0x10);

-          puVar26 = (undefined4 *)((int)pvVar15 + sVar28 * 0x10);

-        }

-        iVar11 = iVar11 + 1;

-        if (bVar37) {

-          uVar14 = puVar21[1];

-          uVar17 = puVar21[2];

-          uVar22 = puVar21[3];

-          sVar28 = sVar28 + 1;

-          *puVar26 = *puVar21;

-          puVar26[1] = uVar14;

-          puVar26[2] = uVar17;

-          puVar26[3] = uVar22;

-        }

-      } while (iVar11 < in_stack_00000068);

-      FUN_004d83b8(in_stack_000000e4,in_stack_000000c8,(int)pvVar15,sVar28,in_stack_00000088,

-                   in_stack_00000078,in_stack_0000007c);

-      free(pvVar15);

-    }

-    iVar11 = 0;

-    pcVar35 = in_stack_000000d8;

-    do {

-      iVar11 = iVar11 + 1;

-      if (*pcVar35 == '\x02') {

-        *pcVar35 = '\x01';

-      }

-      pcVar35 = pcVar35 + 1;

-    } while (iVar11 < in_stack_00000068);

-  }

-LAB_004d92c0:

-  cVar2 = *in_stack_0000009c;

-  do {

-    while( true ) {

-      in_stack_0000005c = in_stack_0000005c + 1;

-      in_stack_00000058 = in_stack_00000058 + 1;

-      if (in_stack_00000068 <= in_stack_0000005c || cVar2 != '\0') {

-        cVar2 = *in_stack_00000110;

-        while( true ) {

-          in_stack_0000009c = in_stack_0000009c + 1;

-          in_stack_000000c4 = in_stack_000000c4 + 4;

-          while (piVar18 = in_stack_000000ec,

-                in_stack_00000068 <= in_stack_000000f0 || cVar2 != '\0') {

-            in_stack_000000ec = in_stack_000000ec + 4;

-            if (in_stack_00000068 == in_stack_00000130) {

-              free(in_stack_000000d8);

-              return in_stack_000000d8;

-            }

-            in_stack_00000110 = in_stack_00000134;

-            in_stack_0000009c = in_stack_00000134 + 1;

-            cVar2 = *in_stack_00000134;

-            in_stack_000000f0 = in_stack_00000130 + 1;

-            in_stack_00000134 = in_stack_0000009c;

-            in_stack_00000130 = in_stack_000000f0;

-            in_stack_000000f4 = piVar18;

-            in_stack_000000c4 = in_stack_000000ec;

-          }

-          in_stack_0000005c = in_stack_000000f0 + 1;

-          cVar2 = *in_stack_0000009c;

-          in_stack_000000f0 = in_stack_0000005c;

-          if (in_stack_0000005c < in_stack_00000068 && cVar2 == '\0') break;

-          cVar2 = '\0';

-        }

-        in_stack_00000058 = in_stack_0000009c;

-        in_stack_00000060 = in_stack_000000c4;

-      }

-      uVar24 = (uint)(byte)in_stack_00000058[1];

-      if (uVar24 == 0) break;

-      in_stack_00000060 = in_stack_00000060 + 4;

-    }

-    piVar18 = in_stack_00000060 + 5;

-    piVar29 = in_stack_00000060 + 4;

-    iVar30 = in_stack_000000ec[-3];

-    iVar11 = in_stack_000000ec[-4];

-    iVar19 = (*piVar18 - iVar30) * (*in_stack_000000c4 - iVar11) -

-             (*piVar29 - iVar11) * (in_stack_000000c4[1] - iVar30);

-    in_stack_00000060 = in_stack_00000060 + 4;

-    in_stack_00000154 = in_stack_000000f4;

-    in_stack_00000158 = in_stack_000000c4;

-    in_stack_0000015c = in_stack_00000060;

-  } while (iVar19 == 0);

-  in_stack_00000180 = uVar24;

-  in_stack_0000018c = uVar24;

-  in_stack_00000198 = uVar24;

-  if (iVar19 < 0) {

-    in_stack_00000184 = 2;

-    in_stack_00000190 = 2;

-    in_stack_00000188 = 1;

-  }

-  else {

-    in_stack_00000184 = 1;

-    in_stack_00000190 = 1;

-    in_stack_00000188 = 2;

-  }

-  iVar19 = in_stack_000000c4[1] - *piVar18;

-  iVar11 = *(&stack0x00000154)[in_stack_00000188] - iVar11;

-  iVar10 = *in_stack_000000c4 - *piVar29;

-  iVar30 = (&stack0x00000154)[in_stack_00000188][1] - iVar30;

-  uVar24 = iVar10 * iVar10 + iVar19 * iVar19;

-  uVar16 = iVar30 * iVar30 + iVar11 * iVar11;

-  bVar37 = uVar24 < uVar16;

-  in_stack_00000194 = in_stack_00000188;

-  if (bVar37) {

-    uVar24 = uVar16;

-  }

-  in_stack_0000003c = (uint)bVar37;

-  iVar30 = in_stack_000000f4[1] - (&stack0x00000154)[in_stack_00000190][1];

-  iVar19 = *in_stack_000000f4 - *(&stack0x00000154)[in_stack_00000190];

-  iVar11 = in_stack_000000f8;

-  if (in_stack_0000007c <= in_stack_00000078) {

-    iVar11 = 0;

-  }

-  if (uVar24 < (uint)(iVar19 * iVar19 + iVar30 * iVar30)) {

-    in_stack_0000003c = 2;

-  }

-  in_stack_00000050 = in_stack_0000003c + 2;

-  in_stack_00000054 = (in_stack_00000078 - iVar11) - 1;

-  in_stack_000000cc = in_stack_000000e4 + 0x300;

-  piVar18 = (int *)(&stack0x00000180 + in_stack_0000003c);

-LAB_004d86c0:

-  unaff_r10 = piVar18 + 1;

-  in_stack_000002b4 = (&stack0x00000154)[*piVar18];

-  in_stack_00000300 = (&stack0x00000154)[*unaff_r10];

-  in_stack_0000034c = (&stack0x00000154)[piVar18[2]];

-  uVar16 = FUN_004de098(in_stack_00000054);

-  iVar27 = *in_stack_00000300;

-  iVar34 = in_stack_00000300[1];

-  uVar20 = *in_stack_0000034c - *in_stack_000002b4;

-  iVar19 = iVar27 - *in_stack_000002b4;

-  in_stack_000001a8 = in_stack_0000034c[1] - in_stack_000002b4[1];

-  iVar33 = iVar34 - in_stack_000002b4[1];

-  uVar16 = 0x1c - uVar16;

-  iVar30 = in_stack_000001a8 << (uVar16 & 0xff);

-  iVar31 = in_stack_000001a8 * iVar19 - uVar20 * iVar33;

-  iVar11 = iVar31 >> 1;

-  uVar24 = iVar30 >> 0x1f;

-  in_stack_0000019c = iVar19;

-  in_stack_000001a0 = uVar20;

-  in_stack_000001a4 = iVar33;

-  iVar10 = __aeabi_idiv((iVar11 + uVar24 ^ uVar24) + iVar30,iVar31);

-  iVar30 = -uVar20 << (uVar16 & 0xff);

-  uVar24 = iVar30 >> 0x1f;

-  in_stack_000001ac = iVar10;

-  iVar23 = __aeabi_idiv((iVar11 + uVar24 ^ uVar24) + iVar30,iVar31);

-  iVar30 = -iVar33 << (uVar16 & 0xff);

-  uVar24 = iVar30 >> 0x1f;

-  in_stack_000001b0 = iVar23;

-  iVar30 = __aeabi_idiv((iVar11 + uVar24 ^ uVar24) + iVar30,iVar31);

-  iVar19 = iVar19 << (uVar16 & 0xff);

-  uVar24 = iVar19 >> 0x1f;

-  in_stack_000001b4 = iVar30;

-  in_stack_000001b8 = __aeabi_idiv((iVar11 + uVar24 ^ uVar24) + iVar19,iVar31);

-  in_stack_000001bc = *in_stack_000002b4;

-  in_stack_000001c0 = in_stack_000002b4[1];

-  iVar27 = iVar27 - in_stack_000001bc;

-  iVar34 = iVar34 - in_stack_000001c0;

-  in_stack_000002f8 = iVar27 * iVar10 + iVar34 * iVar23;

-  in_stack_000002fc = iVar30 * iVar27 + in_stack_000001b8 * iVar34;

-  iVar11 = 1 << (uVar16 & 0xff);

-  in_stack_000001c4 = uVar16;

-  FUN_004d6798((int)&stack0x000002b8,(int)&stack0x0000019c);

-  iVar30 = FUN_004d5714((int *)&stack0x000002b8,iVar11,iVar11);

-  in_stack_0000003c = in_stack_0000003c + 1;

-  if (-1 < iVar30) {

-    in_stack_00000344 =

-         (*in_stack_0000034c - in_stack_000001bc) * in_stack_000001ac +

-         in_stack_000001b0 * (in_stack_0000034c[1] - in_stack_000001c0);

-    in_stack_00000348 =

-         in_stack_000001b4 * (*in_stack_0000034c - in_stack_000001bc) +

-         (in_stack_0000034c[1] - in_stack_000001c0) * in_stack_000001b8;

-    FUN_004d6798((int)&stack0x00000304,(int)&stack0x0000019c);

-    iVar30 = FUN_004d5714((int *)&stack0x00000304,iVar11,iVar11);

-    if (-1 < iVar30) {

-      iVar30 = in_stack_000002c4 - in_stack_0000030c;

-      if (iVar30 < 0) {

-        iVar30 = -iVar30;

-      }

-      if (iVar30 < 4) {

-        in_stack_000002ac =

-             (*in_stack_000002b4 - in_stack_000001bc) * in_stack_000001ac +

-             in_stack_000001b0 * (in_stack_000002b4[1] - in_stack_000001c0);

-        in_stack_000002b0 =

-             in_stack_000001b4 * (*in_stack_000002b4 - in_stack_000001bc) +

-             (in_stack_000002b4[1] - in_stack_000001c0) * in_stack_000001b8;

-        FUN_004d6798((int)&stack0x0000026c,(int)&stack0x0000019c);

-        iVar11 = FUN_004d5714((int *)&stack0x0000026c,iVar11,iVar11);

-        pbVar36 = in_stack_000000cc;

-        if (-1 < iVar11) {

-          iVar11 = in_stack_00000278 - in_stack_000002c4;

-          if (iVar11 < 0) {

-            iVar11 = -iVar11;

-          }

-          if (iVar11 < 4) {

-            iVar11 = in_stack_00000274 - in_stack_0000030c;

-            if (iVar11 < 0) {

-              iVar11 = -iVar11;

-            }

-            if (iVar11 < 4) {

-              FUN_004d6a3c((int)&stack0x0000026c,(int)&stack0x0000019c,(int *)in_stack_000000cc,0);

-              FUN_004d6a3c((int)&stack0x00000304,(int)&stack0x0000019c,(int *)pbVar36,0);

-              FUN_004d70a0((int *)&stack0x000001f8,&stack0x0000019c,(int)&stack0x0000026c,

-                           (int)&stack0x00000304,0);

-              if ((-1 < in_stack_000001f8 * *in_stack_0000034c +

-                        in_stack_000001fc * in_stack_0000034c[1] + in_stack_00000200) &&

-                 (-1 < *in_stack_00000300 * in_stack_000001f8 +

-                       in_stack_00000300[1] * in_stack_000001fc + in_stack_00000200)) {

-                FUN_004d6a3c((int)&stack0x0000026c,(int)&stack0x0000019c,(int *)pbVar36,2);

-                FUN_004d6a3c((int)&stack0x000002b8,(int)&stack0x0000019c,(int *)pbVar36,2);

-                FUN_004d70a0((int *)&stack0x00000210,&stack0x0000019c,(int)&stack0x0000026c,

-                             (int)&stack0x000002b8,2);

-                if ((-1 < in_stack_00000210 * *in_stack_0000034c +

-                          in_stack_00000214 * in_stack_0000034c[1] + in_stack_00000218) &&

-                   (-1 < *in_stack_00000300 * in_stack_00000210 +

-                         in_stack_00000300[1] * in_stack_00000214 + in_stack_00000218)) {

-                  in_stack_000000c0 = in_stack_000002bc >> 1;

-                  FUN_004d6a3c((int)&stack0x000002b8,(int)&stack0x0000019c,(int *)pbVar36,1);

-                  iVar11 = FUN_004d7274((int *)&stack0x00000204,(int)&stack0x000002b8,1,

-                                        in_stack_000001c4);

-                  if (iVar11 < 0) {

-                    iVar11 = 0;

-                    in_stack_00000144 = 0;

-                  }

-                  else {

-                    if (((in_stack_00000204 * *in_stack_000002b4 +

-                          in_stack_00000208 * in_stack_000002b4[1] + in_stack_0000020c < 0) ||

-                        (*in_stack_0000034c * in_stack_00000204 +

-                         in_stack_0000034c[1] * in_stack_00000208 + in_stack_0000020c < 0)) ||

-                       (iVar11 = FUN_004d5d28((int)&stack0x0000019c,(int *)&stack0x00000204,1,

-                                              in_stack_000002bc >> 1,&stack0x00000144), iVar11 < 0))

-                    goto LAB_004d86b0;

-                    iVar11 = in_stack_00000144 << 1;

-                  }

-                  in_stack_000000bc = (in_stack_000002b8 * 3 + in_stack_000002f8) - iVar11;

-                  in_stack_00000040 = in_stack_000002fc + in_stack_000000c0 * -2;

-                  in_stack_00000080 = in_stack_00000304 >> 1;

-                  FUN_004d6a3c((int)&stack0x00000304,(int)&stack0x0000019c,(int *)in_stack_000000cc,

-                               3);

-                  iVar11 = FUN_004d7274((int *)&stack0x0000021c,(int)&stack0x00000304,3,

-                                        in_stack_000001c4);

-                  if (iVar11 < 0) {

-                    iVar11 = 0;

-                    in_stack_0000014c = 0;

-LAB_004d8c1c:

-                    iVar11 = (in_stack_00000308 * 3 + in_stack_00000348) - iVar11;

-                    iVar30 = in_stack_00000344 + in_stack_00000080 * -2;

-                    in_stack_0000008c = in_stack_00000348;

-                    iVar19 = __aeabi_idiv((in_stack_00000348 - in_stack_00000040) +

-                                          in_stack_000000c0 + -1);

-                    in_stack_000000d4 = iVar19 + (int)in_stack_000002ec;

-                    in_stack_000000a4 = in_stack_000002ec;

-                    piVar29 = (int *)malloc(in_stack_000000d4 * 8);

-                    piVar18 = in_stack_000000a4;

-                    in_stack_000000d0 = piVar29;

-                    if (0 < (int)in_stack_000002ec) {

-                      piVar25 = (int *)0x0;

-                      pvVar15 = in_stack_000002cc;

-                      do {

-                        pvVar3 = memcpy(piVar29,pvVar15,8);

-                        piVar25 = (int *)((int)piVar25 + 1);

-                        pvVar15 = (void *)((int)pvVar15 + 0x10);

-                        piVar29 = (int *)((int)pvVar3 + 8);

-                      } while (piVar18 != piVar25);

-                    }

-                    in_stack_000000b0 = in_stack_000002f8;

-                    iVar19 = __aeabi_idiv((in_stack_000002f8 - iVar30) + in_stack_00000080 + -1,

-                                          in_stack_00000080);

-                    in_stack_00000090 = (int *)(iVar19 + in_stack_00000340);

-                    piVar18 = (int *)malloc((int)in_stack_00000090 * 8);

-                    piStack000000a0 = piVar18;

-                    if (0 < in_stack_00000340) {

-                      iVar19 = 0;

-                      pvVar15 = in_stack_00000320;

-                      do {

-                        pvVar3 = memcpy(piVar18,pvVar15,8);

-                        iVar19 = iVar19 + 1;

-                        pvVar15 = (void *)((int)pvVar15 + 0x10);

-                        piVar18 = (int *)((int)pvVar3 + 8);

-                      } while (in_stack_00000340 != iVar19);

-                    }

-                    in_stack_00000064 = (int *)0x0;

-                    in_stack_00000124 = &stack0x0000014c;

-                    in_stack_000000e0 = 1 << (in_stack_000001c4 - 1 & 0xff);

-                    in_stack_000000dc =

-                         in_stack_000000e0 + (in_stack_000001bc << (in_stack_000001c4 & 0xff));

-                    in_stack_000000e0 =

-                         in_stack_000000e0 + (in_stack_000001c0 << (in_stack_000001c4 & 0xff));

-                    in_stack_00000094 =

-                         (int *)(in_stack_000000bc * in_stack_0000019c +

-                                 in_stack_000001a0 * in_stack_00000040 + in_stack_000000dc);

-                    in_stack_00000098 =

-                         (int *)(in_stack_000001a4 * in_stack_000000bc +

-                                 in_stack_000001a8 * in_stack_00000040 + in_stack_000000e0);

-                    in_stack_00000048 =

-                         iVar30 * in_stack_0000019c + in_stack_000001a0 * iVar11 + in_stack_000000dc

-                    ;

-                    iStack0000004c =

-                         in_stack_000001a4 * iVar30 + in_stack_000001a8 * iVar11 + in_stack_000000e0

-                    ;

-                    in_stack_000000a8 =

-                         (int *)(in_stack_00000080 * in_stack_0000019c +

-                                in_stack_0000014c * in_stack_000001a0);

-                    in_stack_000000b4 = in_stack_000001a0 * in_stack_00000308;

-                    in_stack_000000b8 = in_stack_000001a8 * in_stack_00000308;

-                    in_stack_000000ac =

-                         (int *)(in_stack_000001a4 * in_stack_00000080 +

-                                in_stack_0000014c * in_stack_000001a8);

-                    in_stack_000000fc =

-                         in_stack_00000144 * in_stack_0000019c +

-                         in_stack_000001a0 * in_stack_000000c0;

-                    in_stack_00000100 =

-                         in_stack_000001a4 * in_stack_00000144 +

-                         in_stack_000001a8 * in_stack_000000c0;

-                    in_stack_00000104 = in_stack_000002b8 * in_stack_0000019c;

-                    in_stack_00000070 = 0;

-                    in_stack_00000108 = in_stack_000001a4 * in_stack_000002b8;

-                    in_stack_00000120 = in_stack_000000a4;

-                    iVar19 = iVar11 + in_stack_0000008c;

-                    iVar10 = in_stack_000000bc + in_stack_000000b0;

-                    uVar24 = in_stack_000000bc;

-                    in_stack_0000006c = in_stack_00000340;

-                    in_stack_000000e8 = in_stack_00000340;

-                    in_stack_0000012c = unaff_r10;

-LAB_004d8ec8:

-                    do {

-                      unaff_r10 = in_stack_0000012c;

-                      iVar23 = iVar19 >> 1;

-                      if (iVar11 < iVar23) {

-                        iVar23 = iVar11;

-                      }

-                      uVar16 = iVar10 >> 1;

-                      if ((int)uVar24 < iVar10 >> 1) {

-                        uVar16 = uVar24;

-                      }

-                      if (iVar30 < (int)uVar16 && (int)in_stack_00000064 < 0xf) {

-                        if ((iVar23 <= (int)in_stack_00000040 || 0xe < (int)in_stack_00000070) ||

-                           (iVar30 <= (int)in_stack_00000040)) {

-                          uVar16 = in_stack_000001c4 + 2;

-                          iVar19 = (int)(in_stack_000000b4 + in_stack_00000048) >> (uVar16 & 0xff);

-                          iVar23 = (int)(in_stack_000000b8 + iStack0000004c) >> (uVar16 & 0xff);

-                          iVar27 = (int)(in_stack_00000048 - in_stack_000000b4) >> (uVar16 & 0xff);

-                          iVar33 = (int)(iStack0000004c - in_stack_000000b8) >> (uVar16 & 0xff);

-                          if ((int)in_stack_00000090 <= in_stack_0000006c) {

-                            in_stack_00000090 = (int *)((int)in_stack_00000090 << 1 | 1);

-                            piStack000000a0 =

-                                 (int *)realloc(piStack000000a0,(int)in_stack_00000090 << 3);

-                          }

-                          in_stack_000000bc =

-                               FUN_004d81cc(in_stack_00000088,in_stack_00000078,in_stack_0000007c,

-                                            iVar19,iVar23,iVar27,iVar33);

-                          iVar34 = iVar30;

-                          if (in_stack_000000bc == 0) {

-                            piVar18 = piStack000000a0 + in_stack_0000006c * 2;

-                            iVar19 = FUN_004d732c(in_stack_00000088,in_stack_00000078,iVar19,iVar23,

-                                                  iVar27,iVar33,1,piVar18);

-                            if (iVar19 < 0) {

-                              iVar10 = uVar24 + in_stack_000002f8;

-                              in_stack_0000008c = in_stack_00000348;

-                              in_stack_000000b0 = in_stack_000002f8;

-                              goto LAB_004d8fa0;

-                            }

-                            if (iVar19 == 0) {

-                              iVar19 = in_stack_000001ac * (*piVar18 - in_stack_000001bc) +

-                                       (piVar18[1] - in_stack_000001c0) * in_stack_000001b0;

-                              iVar10 = in_stack_00000080 + iVar19;

-                              if (iVar30 < iVar10) {

-                                iVar34 = iVar30 + iVar19;

-                              }

-                              iVar19 = in_stack_000000e8 + (in_stack_000000e8 >> 2);

-                              if (iVar30 < iVar10) {

-                                iVar34 = iVar34 >> 1;

-                              }

-                              if (iVar19 < 1) {

-                                iVar19 = 1;

-                              }

-                              iVar11 = iVar11 + in_stack_000001b4 * (*piVar18 - in_stack_000001bc) +

-                                                in_stack_000001b8 * (piVar18[1] - in_stack_000001c0)

-                                       >> 1;

-                              in_stack_0000006c = in_stack_0000006c + 1;

-                              in_stack_00000048 =

-                                   iVar34 * in_stack_0000019c + in_stack_000001a0 * iVar11 +

-                                   in_stack_000000dc;

-                              iStack0000004c =

-                                   iVar34 * in_stack_000001a4 + in_stack_000001a8 * iVar11 +

-                                   in_stack_000000e0;

-                              in_stack_00000064 = (int *)0x0;

-                              if (iVar19 < in_stack_0000006c) {

-                                FUN_004d6d78((int *)&stack0x0000021c,piStack000000a0,

-                                             in_stack_0000006c,in_stack_000001c4);

-                                iVar30 = FUN_004d5d28((int)&stack0x0000019c,(int *)&stack0x0000021c,

-                                                      0,in_stack_00000080,in_stack_00000124);

-                                if (-1 < iVar30) {

-                                  in_stack_000000a8 =

-                                       (int *)(in_stack_0000019c * in_stack_00000080 +

-                                              in_stack_0000014c * in_stack_000001a0);

-                                  in_stack_000000ac =

-                                       (int *)(in_stack_000001a4 * in_stack_00000080 +

-                                              in_stack_0000014c * in_stack_000001a8);

-                                }

-                                iVar10 = uVar24 + in_stack_000002f8;

-                                in_stack_0000008c = in_stack_00000348;

-                                in_stack_000000b0 = in_stack_000002f8;

-                                in_stack_000000e8 = in_stack_0000006c;

-                                goto LAB_004d8fb4;

-                              }

-                            }

-                            else {

-                              in_stack_00000064 = (int *)in_stack_000000bc;

-                            }

-                            iVar10 = uVar24 + in_stack_000002f8;

-                            in_stack_0000008c = in_stack_00000348;

-                            in_stack_000000b0 = in_stack_000002f8;

-                          }

-                          else if ((int)in_stack_000000bc < 0) {

-LAB_004d8fa0:

-                            in_stack_00000064 = (int *)((int)in_stack_00000064 + 1);

-                          }

-                          else {

-                            in_stack_00000064 = (int *)0x0;

-                          }

-LAB_004d8fb4:

-                          iVar11 = iVar11 + in_stack_0000014c;

-                          iVar30 = in_stack_00000080 + iVar34;

-                          if ((int)(in_stack_00000080 + iVar34) <= iVar34) {

-                            in_stack_00000064 = (int *)0x7fffffff;

-                            iVar30 = iVar34;

-                          }

-                          in_stack_00000048 = in_stack_00000048 + (int)in_stack_000000a8;

-                          iStack0000004c = iStack0000004c + (int)in_stack_000000ac;

-                          iVar19 = iVar11 + in_stack_0000008c;

-                          goto LAB_004d8ec8;

-                        }

-                      }

-                      else if (iVar23 <= (int)in_stack_00000040 || 0xe < (int)in_stack_00000070)

-                      goto code_r0x004d94fc;

-                      uVar16 = in_stack_000001c4 + 2;

-                      iVar10 = in_stack_00000104 + (int)in_stack_00000094 >> (uVar16 & 0xff);

-                      iVar23 = in_stack_00000108 + (int)in_stack_00000098 >> (uVar16 & 0xff);

-                      iVar27 = (int)in_stack_00000094 - in_stack_00000104 >> (uVar16 & 0xff);

-                      iVar33 = (int)in_stack_00000098 - in_stack_00000108 >> (uVar16 & 0xff);

-                      if ((int)in_stack_000000d4 <= (int)in_stack_000000a4) {

-                        in_stack_000000d4 = in_stack_000000d4 << 1 | 1;

-                        in_stack_000000d0 = (int *)realloc(in_stack_000000d0,in_stack_000000d4 << 3)

-                        ;

-                      }

-                      in_stack_000000bc =

-                           FUN_004d81cc(in_stack_00000088,in_stack_00000078,in_stack_0000007c,iVar10

-                                        ,iVar23,iVar27,iVar33);

-                      if (in_stack_000000bc == 0) {

-                        piVar18 = in_stack_000000d0 + (int)in_stack_000000a4 * 2;

-                        iVar19 = FUN_004d732c(in_stack_00000088,in_stack_00000078,iVar10,iVar23,

-                                              iVar27,iVar33,1,piVar18);

-                        if (iVar19 < 0) {

-                          iVar19 = iVar11 + in_stack_00000348;

-                          in_stack_0000008c = in_stack_00000348;

-                          in_stack_000000b0 = in_stack_000002f8;

-                          goto LAB_004d9348;

-                        }

-                        if (iVar19 == 0) {

-                          iVar19 = in_stack_000001b4 * (*piVar18 - in_stack_000001bc) +

-                                   (piVar18[1] - in_stack_000001c0) * in_stack_000001b8;

-                          iVar10 = in_stack_000000c0 + iVar19;

-                          if ((int)in_stack_00000040 < iVar10) {

-                            iVar19 = in_stack_00000040 + iVar19;

-                          }

-                          uVar24 = (int)(in_stack_000001ac * (*piVar18 - in_stack_000001bc) +

-                                         in_stack_000001b0 * (piVar18[1] - in_stack_000001c0) +

-                                        uVar24) >> 1;

-                          if ((int)in_stack_00000040 < iVar10) {

-                            in_stack_00000040 = iVar19 >> 1;

-                          }

-                          iVar19 = (int)in_stack_00000120 + ((int)in_stack_00000120 >> 2);

-                          if (iVar19 < 1) {

-                            iVar19 = 1;

-                          }

-                          in_stack_000000a4 = (int *)((int)in_stack_000000a4 + 1);

-                          in_stack_00000094 =

-                               (int *)(uVar24 * in_stack_0000019c +

-                                       in_stack_000001a0 * in_stack_00000040 + in_stack_000000dc);

-                          in_stack_00000098 =

-                               (int *)(uVar24 * in_stack_000001a4 +

-                                       in_stack_000001a8 * in_stack_00000040 + in_stack_000000e0);

-                          if (iVar19 < (int)in_stack_000000a4) {

-                            FUN_004d6d78((int *)&stack0x00000204,in_stack_000000d0,

-                                         (int)in_stack_000000a4,in_stack_000001c4);

-                            iVar19 = FUN_004d5d28((int)&stack0x0000019c,(int *)&stack0x00000204,1,

-                                                  in_stack_000000c0,&stack0x00000144);

-                            if (-1 < iVar19) {

-                              in_stack_000000fc =

-                                   in_stack_0000019c * in_stack_00000144 +

-                                   in_stack_000001a0 * in_stack_000000c0;

-                              in_stack_00000100 =

-                                   in_stack_000001a4 * in_stack_00000144 +

-                                   in_stack_000001a8 * in_stack_000000c0;

-                            }

-                            iVar19 = iVar11 + in_stack_00000348;

-                            in_stack_00000120 = in_stack_000000a4;

-                            in_stack_0000008c = in_stack_00000348;

-                            in_stack_000000b0 = in_stack_000002f8;

-                          }

-                          else {

-                            iVar19 = iVar11 + in_stack_00000348;

-                            in_stack_0000008c = in_stack_00000348;

-                            in_stack_000000b0 = in_stack_000002f8;

-                          }

-                        }

-                        else {

-                          iVar19 = iVar11 + in_stack_00000348;

-                          in_stack_00000070 = in_stack_000000bc;

-                          in_stack_0000008c = in_stack_00000348;

-                          in_stack_000000b0 = in_stack_000002f8;

-                        }

-                      }

-                      else if ((int)in_stack_000000bc < 0) {

-LAB_004d9348:

-                        in_stack_00000070 = in_stack_00000070 + 1;

-                      }

-                      else {

-                        in_stack_00000070 = 0;

-                      }

-                      uVar24 = uVar24 + in_stack_00000144;

-                      iVar10 = in_stack_000000c0 + in_stack_00000040;

-                      if ((int)(in_stack_000000c0 + in_stack_00000040) <= (int)in_stack_00000040) {

-                        in_stack_00000070 = 0x7fffffff;

-                        iVar10 = in_stack_00000040;

-                      }

-                      in_stack_00000040 = iVar10;

-                      in_stack_00000094 = (int *)((int)in_stack_00000094 + in_stack_000000fc);

-                      in_stack_00000098 = (int *)((int)in_stack_00000098 + in_stack_00000100);

-                      iVar10 = uVar24 + in_stack_000000b0;

-                    } while( true );

-                  }

-                  if (((-1 < in_stack_0000021c * *in_stack_000002b4 +

-                             in_stack_00000220 * in_stack_000002b4[1] + in_stack_00000224) &&

-                      (-1 < *in_stack_00000300 * in_stack_0000021c +

-                            in_stack_00000300[1] * in_stack_00000220 + in_stack_00000224)) &&

-                     (iVar11 = FUN_004d5d28((int)&stack0x0000019c,(int *)&stack0x0000021c,0,

-                                            in_stack_00000304 >> 1,&stack0x0000014c), -1 < iVar11))

-                  {

-                    iVar11 = in_stack_0000014c << 1;

-                    goto LAB_004d8c1c;

-                  }

-                }

-              }

-            }

-          }

-        }

-      }

-    }

-  }

-  goto LAB_004d86b0;

-code_r0x004d94fc:

-  if ((int)in_stack_000000a4 < 2) {

-    FUN_004d5588((int *)&stack0x00000160,&stack0x0000019c,in_stack_000002b8 * 3 + in_stack_000000b0,

-                 in_stack_000002fc);

-    uVar16 = in_stack_000001c4;

-    uVar24 = in_stack_000001a0;

-    if ((int)in_stack_000001a0 < 0) {

-      uVar24 = -in_stack_000001a0;

-    }

-    uVar20 = in_stack_000001a8;

-    if ((int)in_stack_000001a8 < 0) {

-      uVar20 = -in_stack_000001a8;

-    }

-    if ((int)uVar24 < (int)uVar20) {

-      uVar24 = uVar20;

-    }

-    uVar20 = FUN_004de098(uVar24);

-    uVar24 = in_stack_000001a0;

-    if ((int)in_stack_000001a0 < 0) {

-      uVar24 = -in_stack_000001a0;

-    }

-    uVar4 = in_stack_000001a8;

-    if ((int)in_stack_000001a8 < 0) {

-      uVar4 = -in_stack_000001a8;

-    }

-    iVar11 = ((int)(uVar16 + 1) >> 1) - uVar20;

-    if ((int)uVar24 < (int)uVar4) {

-      uVar24 = uVar4;

-    }

-    uVar24 = FUN_004de098(uVar24);

-    if ((int)(uVar24 - ((int)(in_stack_000001c4 + 1) >> 1)) < 1) {

-      iVar11 = 0;

-    }

-    uVar24 = -iVar11;

-    iVar11 = (1 << (uVar24 & 0xff)) >> 1;

-    in_stack_00000208 = (int)(iVar11 - in_stack_000001a0) >> (uVar24 & 0xff);

-    in_stack_00000204 = (int)(iVar11 + in_stack_000001a8) >> (uVar24 & 0xff);

-    in_stack_0000020c =

-         -(in_stack_00000160 * in_stack_00000204 + in_stack_00000208 * in_stack_00000164);

-  }

-  else {

-    FUN_004d6d78((int *)&stack0x00000204,in_stack_000000d0,(int)in_stack_000000a4,in_stack_000001c4)

-    ;

-  }

-  free(in_stack_000000d0);

-  if (in_stack_0000006c < 2) {

-    FUN_004d5588((int *)&stack0x00000160,&stack0x0000019c,in_stack_00000344,

-                 in_stack_00000308 * 3 + in_stack_00000348);

-    uVar16 = in_stack_000001c4;

-    uVar24 = in_stack_000001a0;

-    if ((int)in_stack_000001a0 < 0) {

-      uVar24 = -in_stack_000001a0;

-    }

-    uVar20 = in_stack_000001a8;

-    if ((int)in_stack_000001a8 < 0) {

-      uVar20 = -in_stack_000001a8;

-    }

-    if ((int)uVar24 < (int)uVar20) {

-      uVar24 = uVar20;

-    }

-    uVar20 = FUN_004de098(uVar24);

-    uVar24 = in_stack_000001a0;

-    if ((int)in_stack_000001a0 < 0) {

-      uVar24 = -in_stack_000001a0;

-    }

-    uVar4 = in_stack_000001a8;

-    if ((int)in_stack_000001a8 < 0) {

-      uVar4 = -in_stack_000001a8;

-    }

-    iVar11 = ((int)(uVar16 + 1) >> 1) - uVar20;

-    if ((int)uVar24 < (int)uVar4) {

-      uVar24 = uVar4;

-    }

-    uVar24 = FUN_004de098(uVar24);

-    if ((int)(uVar24 - ((int)(in_stack_000001c4 + 1) >> 1)) < 1) {

-      iVar11 = 0;

-    }

-    uVar24 = -iVar11;

-    iVar11 = (1 << (uVar24 & 0xff)) >> 1;

-    in_stack_0000021c = iVar11 + in_stack_000001a4 >> (uVar24 & 0xff);

-    in_stack_00000224 =

-         -(in_stack_00000160 * in_stack_00000204 + in_stack_00000208 * in_stack_00000164);

-    in_stack_00000220 = iVar11 - in_stack_0000019c >> (uVar24 & 0xff);

-  }

-  else {

-    FUN_004d6d78((int *)&stack0x0000021c,piStack000000a0,in_stack_0000006c,in_stack_000001c4);

-  }

-  free(piStack000000a0);

-  iVar11 = in_stack_00000128;

-  uVar24 = 0;

-  puVar12 = &stack0x000001c8;

-  while( true ) {

-    uVar16 = uVar24 & 1;

-    iVar23 = ((int)uVar24 >> 1) + 2;

-    iVar30 = iVar23 * 0xc;

-    iVar19 = uVar16 * 0xc;

-    iVar10 = *(int *)(&stack0x000001fc + iVar30) * *(int *)(&stack0x000001f8 + uVar16 * 0xc) -

-             *(int *)(&stack0x000001f8 + iVar23 * 0xc) * *(int *)(&stack0x000001fc + iVar19);

-    bVar37 = iVar10 < 0;

-    uVar24 = uVar24 + 1;

-    if (iVar10 == 0) break;

-    iVar27 = *(int *)(&stack0x00000200 + iVar30) * *(int *)(&stack0x000001fc + iVar19) -

-             *(int *)(&stack0x00000200 + iVar19) * *(int *)(&stack0x000001fc + iVar30);

-    if (bVar37) {

-      iVar10 = -iVar10;

-      iVar27 = -iVar27;

-    }

-    iVar30 = *(int *)(&stack0x00000200 + iVar19) * *(int *)(&stack0x000001f8 + iVar23 * 0xc) -

-             *(int *)(&stack0x00000200 + iVar30) * *(int *)(&stack0x000001f8 + uVar16 * 0xc);

-    if (bVar37) {

-      iVar30 = -iVar30;

-    }

-    iVar19 = __aeabi_idiv(((iVar10 >> 1) + (iVar27 >> 0x1f) ^ iVar27 >> 0x1f) + iVar27,iVar10);

-    *(int *)(puVar12 + 0x10) = iVar19;

-    iVar30 = __aeabi_idiv((iVar30 >> 0x1f ^ (iVar10 >> 1) + (iVar30 >> 0x1f)) + iVar30,iVar10);

-    *(int *)(puVar12 + 0x14) = iVar30;

-    if (((iVar19 < iVar11) || (in_stack_00000114 <= iVar19)) ||

-       ((iVar30 < in_stack_00000118 || (in_stack_0000011c <= iVar30)))) break;

-    puVar12 = puVar12 + 8;

-    if (uVar24 == 4) {

-      iVar30 = in_stack_00000274 + in_stack_00000278 + in_stack_000002c0 + in_stack_00000310;

-      iStack0000004c = in_stack_000001f0;

-      iVar11 = in_stack_000001f4;

-      in_stack_000000b8 = uVar24;

-      if (iVar30 < 5) {

-        in_stack_00000048 = in_stack_000001d8;

-        in_stack_00000040 = in_stack_000001dc;

-        in_stack_00000064 = in_stack_000001ec;

-        in_stack_00000098 = (int *)&stack0x00000228;

-        unaff_r5 = in_stack_000001e0;

-        unaff_r7 = in_stack_000001e4;

-        unaff_r8 = in_stack_000001e8;

-        goto LAB_004d96bc;

-      }

-      iVar19 = iVar30 + 0x10;

-      in_stack_0000006c = iVar30 + 10;

-      in_stack_00000098 = (int *)&stack0x00000228;

-      FUN_004d5e34((int *)&stack0x00000228,0,0,iVar19,0,0,iVar19,iVar19,iVar19,in_stack_000001d8,

-                   in_stack_000001dc,in_stack_000001e0,in_stack_000001e4,in_stack_000001e8,

-                   (int)in_stack_000001ec,in_stack_000001f0,in_stack_000001f4);

-      iVar19 = FUN_004d7858(&stack0x00000170,(int *)&stack0x00000228,in_stack_0000006c,

-                            in_stack_0000006c,in_stack_000000b8,in_stack_00000088,in_stack_00000078,

-                            in_stack_0000007c);

-      unaff_r5 = in_stack_000001e0;

-      unaff_r7 = in_stack_000001e4;

-      unaff_r8 = in_stack_000001e8;

-      if (-1 < iVar19) {

-        in_stack_00000064 = in_stack_000001ec;

-        in_stack_0000008c = in_stack_000001e8 - in_stack_000001e0;

-        unaff_r6 = in_stack_000001e4 * in_stack_000001e8 -

-                   in_stack_000001e0 * (int)in_stack_000001ec;

-        in_stack_00000040 = in_stack_000001dc;

-        unaff_r11 = in_stack_00000170 * ((int)in_stack_000001ec - in_stack_000001e4);

-        unaff_r9 = ((int)in_stack_000001ec - in_stack_000001e4) * in_stack_000001d8;

-        in_stack_00000048 = in_stack_000001d8;

-        in_stack_00000094 = in_stack_00000174;

-        in_stack_00000090 = (int *)(iVar30 + 4);

-        in_stack_00000080 =

-             (unaff_r9 - in_stack_0000008c * in_stack_000001dc) * (int)in_stack_00000090 +

-             unaff_r6 * in_stack_0000006c +

-             (unaff_r11 - (int)in_stack_00000174 * in_stack_0000008c) * 6;

-        in_stack_00000070 = (int)in_stack_00000080 >> 0x1f;

-        in_stack_00000074 = in_stack_00000070;

-        lVar1 = (longlong)(in_stack_000001d8 * in_stack_0000006c) * (longlong)unaff_r11 +

-                (longlong)(in_stack_00000170 * (int)in_stack_00000090) *

-                (longlong)(int)(unaff_r6 - in_stack_0000008c * in_stack_000001dc) +

-                (longlong)(in_stack_000001d8 * 6) *

-                (longlong)(int)(unaff_r6 - (int)in_stack_00000174 * in_stack_0000008c) +

-                CONCAT44(in_stack_00000070,in_stack_00000070);

-        unaff_r4 = &stack0x00000070;

-        goto code_r0x004da564;

-      }

-      in_stack_00000064 = in_stack_000001ec;

-      in_stack_00000048 = in_stack_000001d8;

-      in_stack_00000040 = in_stack_000001dc;

-      goto LAB_004d96bc;

-    }

-  }

-LAB_004d86b0:

-  piVar18 = unaff_r10;

-  if (in_stack_00000050 < (int)in_stack_0000003c) goto LAB_004d92c0;

-  goto LAB_004d86c0;

-}

-

FUN_00534dac

Function Meta

Key dt_aicam_md5
name FUN_00534dac
fullname FUN_00534dac
refcount 0
length 628
called FUN_00631774
FUN_00675970
FUN_00675a0c
cv::Mat::~Mat
calling
paramcount 6
address 00534dac
sig undefined __stdcall FUN_00534dac(undefined4 * param_1, undefined4 * param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00534dac
+++ FUN_00534dac
@@ -1,9 +0,0 @@
-

-void FUN_00534dac(undefined4 *param_1,undefined4 *param_2,int param_3,int param_4,undefined4 param_5

-                 ,undefined4 param_6)

-

-{

-  *(undefined4 *)(param_4 + 4) = *(undefined4 *)(param_3 + 4);

-  return;

-}

-

FUN_0053504c

Function Meta

Key dt_aicam_md5
name FUN_0053504c
fullname FUN_0053504c
refcount 0
length 628
called FUN_00631774
FUN_00675970
FUN_00675a0c
cv::Mat::~Mat
calling
paramcount 6
address 0053504c
sig undefined __stdcall FUN_0053504c(undefined4 * param_1, undefined4 * param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0053504c
+++ FUN_0053504c
@@ -1,153 +0,0 @@
-

-void FUN_0053504c(undefined4 *param_1,undefined4 *param_2,undefined4 param_3,int param_4,

-                 undefined4 param_5,undefined4 param_6)

-

-{

-  bool bVar1;

-  undefined4 uVar2;

-  int iVar3;

-  int extraout_r1;

-  int extraout_r1_00;

-  undefined4 uVar4;

-  char *pcVar5;

-  undefined4 *puVar6;

-  undefined4 uVar7;

-  int *piVar8;

-  undefined4 *puVar9;

-  int iVar10;

-  int *piVar11;

-  undefined4 *unaff_r4;

-  int unaff_r5;

-  undefined4 unaff_r6;

-  undefined4 unaff_r7;

-  int unaff_r11;

-  int in_r12;

-  undefined4 uVar12;

-  undefined8 in_d7;

-  undefined4 uVar14;

-  undefined8 uVar13;

-  undefined4 extraout_s15;

-  undefined4 extraout_s15_00;

-  

-  uVar14 = (undefined4)((ulonglong)in_d7 >> 0x20);

-  uVar4 = *param_1;

-  *(int *)(unaff_r11 + -0x68) = in_r12;

-  *(int *)(unaff_r11 + -0x6c) = in_r12;

-  *(int *)(unaff_r11 + -0xa0) = unaff_r5 + 8;

-  uVar12 = param_1[2];

-  *(undefined4 *)(unaff_r11 + -0x9c) = uVar4;

-  uVar4 = param_1[3];

-  *(undefined4 *)(unaff_r11 + -0x94) = uVar12;

-  uVar12 = param_1[4];

-  *(undefined4 *)(unaff_r11 + -0x90) = uVar4;

-  uVar4 = param_1[5];

-  *(undefined4 *)(unaff_r11 + -0x8c) = uVar12;

-  uVar12 = param_1[6];

-  iVar3 = param_1[1];

-  *(undefined4 *)(unaff_r11 + -0x88) = uVar4;

-  *(undefined4 *)(unaff_r11 + -0x84) = uVar12;

-  uVar4 = param_1[7];

-  uVar12 = param_1[8];

-  *(int *)(unaff_r11 + -0x78) = param_4;

-  *(undefined4 *)(unaff_r11 + -0x80) = uVar4;

-  *(int *)(unaff_r11 + -0x98) = iVar3;

-  *(int *)(unaff_r11 + -0x74) = unaff_r11 + -0x94;

-  pcVar5 = (char *)(unaff_r11 + -0x6c);

-  *(undefined4 *)(unaff_r11 + -0x7c) = uVar12;

-  *(char **)(unaff_r11 + -0x70) = pcVar5;

-  uVar12 = *(undefined4 *)(unaff_r11 + 4);

-  uVar4 = *(undefined4 *)(unaff_r11 + 8);

-  if (param_4 != in_r12) {

-    piVar8 = (int *)(param_4 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      pcVar5 = (char *)(*piVar8 + 1);

-      bVar1 = (bool)hasExclusiveAccess(piVar8);

-    } while (!bVar1);

-    *piVar8 = (int)pcVar5;

-    DataMemoryBarrier(0xb);

-    iVar3 = param_1[1];

-  }

-  if (iVar3 < 3) {

-    puVar6 = (undefined4 *)param_1[0xb];

-    puVar9 = *(undefined4 **)(unaff_r11 + -0x70);

-    *puVar9 = *puVar6;

-    puVar9[1] = puVar6[1];

-  }

-  else {

-    *(undefined4 *)(unaff_r11 + -0x98) = 0;

-    FUN_00631f14(unaff_r11 + -0x9c,(int)param_1,pcVar5);

-    uVar14 = extraout_s15;

-  }

-  uVar2 = unaff_r4[2];

-  iVar10 = unaff_r4[9];

-  *(undefined4 *)(unaff_r11 + -100) = *unaff_r4;

-  *(undefined4 *)(unaff_r11 + -0x5c) = uVar2;

-  uVar2 = unaff_r4[4];

-  iVar3 = unaff_r4[1];

-  *(undefined4 *)(unaff_r11 + -0x58) = unaff_r4[3];

-  *(undefined4 *)(unaff_r11 + -0x54) = uVar2;

-  uVar7 = unaff_r4[5];

-  uVar2 = unaff_r4[6];

-  *(int *)(unaff_r11 + -0x40) = iVar10;

-  *(undefined4 *)(unaff_r11 + -0x50) = uVar7;

-  *(undefined4 *)(unaff_r11 + -0x4c) = uVar2;

-  uVar7 = unaff_r4[7];

-  uVar2 = unaff_r4[8];

-  *(int *)(unaff_r11 + -0x60) = iVar3;

-  *(undefined4 *)(unaff_r11 + -0x48) = uVar7;

-  *(undefined4 *)(unaff_r11 + -0x44) = uVar2;

-  *(int *)(unaff_r11 + -0x3c) = unaff_r11 + -0x5c;

-  pcVar5 = (char *)(unaff_r11 + -0x34);

-  *(undefined4 *)(unaff_r11 + -0x30) = 0;

-  *(char **)(unaff_r11 + -0x38) = pcVar5;

-  *(undefined4 *)(unaff_r11 + -0x34) = 0;

-  if (iVar10 != 0) {

-    piVar8 = (int *)(iVar10 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      pcVar5 = (char *)(*piVar8 + 1);

-      bVar1 = (bool)hasExclusiveAccess(piVar8);

-    } while (!bVar1);

-    *piVar8 = (int)pcVar5;

-    DataMemoryBarrier(0xb);

-    iVar3 = unaff_r4[1];

-  }

-  if (iVar3 < 3) {

-    puVar6 = (undefined4 *)unaff_r4[0xb];

-    puVar9 = *(undefined4 **)(unaff_r11 + -0x38);

-    *puVar9 = *puVar6;

-    puVar9[1] = puVar6[1];

-  }

-  else {

-    *(undefined4 *)(unaff_r11 + -0x60) = 0;

-    FUN_00631f14(unaff_r11 + -100,(int)unaff_r4,pcVar5);

-    uVar14 = extraout_s15_00;

-  }

-  iVar3 = unaff_r4[1];

-  *(undefined4 *)(unaff_r11 + -0x2c) = uVar12;

-  *(undefined4 *)(unaff_r11 + -0x28) = uVar4;

-  *(undefined4 *)(unaff_r11 + -0x24) = unaff_r7;

-  *(undefined4 *)(unaff_r11 + -0x20) = unaff_r6;

-  if (iVar3 < 3) {

-    iVar10 = unaff_r4[3] * unaff_r4[2];

-  }

-  else {

-    iVar10 = 1;

-    piVar8 = (int *)unaff_r4[10];

-    do {

-      piVar11 = piVar8 + 1;

-      iVar10 = *piVar8 * iVar10;

-      piVar8 = piVar11;

-    } while ((int *)unaff_r4[10] + iVar3 != piVar11);

-  }

-  uVar13 = FixedToFP(CONCAT44(uVar14,iVar10),0x20,0x40,0x10,1,0);

-  FUN_006761ac((int *)(unaff_r11 + -0xa8),(int *)(unaff_r11 + -0xa0),(int)uVar13,

-               (int)((ulonglong)uVar13 >> 0x20));

-  *(int *)(unaff_r11 + -0xa0) = unaff_r5 + 8;

-  cv::Mat::~Mat((Mat *)(unaff_r11 + -100),extraout_r1);

-  cv::Mat::~Mat((Mat *)(unaff_r11 + -0x9c),extraout_r1_00);

-  FUN_00676110();

-  return;

-}

-

FUN_005352ec

Function Meta

Key dt_aicam_md5
name FUN_005352ec
fullname FUN_005352ec
refcount 0
length 628
called FUN_00631774
FUN_00675970
FUN_00675a0c
cv::Mat::~Mat
calling
paramcount 6
address 005352ec
sig undefined __stdcall FUN_005352ec(undefined4 * param_1, undefined4 * param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005352ec
+++ FUN_005352ec
@@ -1,153 +0,0 @@
-

-void FUN_005352ec(undefined4 *param_1,undefined4 *param_2,undefined4 param_3,int param_4,

-                 undefined4 param_5,undefined4 param_6)

-

-{

-  bool bVar1;

-  undefined4 uVar2;

-  int iVar3;

-  int extraout_r1;

-  int extraout_r1_00;

-  undefined4 uVar4;

-  char *pcVar5;

-  undefined4 *puVar6;

-  undefined4 uVar7;

-  int *piVar8;

-  undefined4 *puVar9;

-  int iVar10;

-  int *piVar11;

-  undefined4 *unaff_r4;

-  int unaff_r5;

-  undefined4 unaff_r6;

-  undefined4 unaff_r7;

-  int unaff_r11;

-  int in_r12;

-  undefined4 uVar12;

-  undefined8 in_d7;

-  undefined4 uVar14;

-  undefined8 uVar13;

-  undefined4 extraout_s15;

-  undefined4 extraout_s15_00;

-  

-  uVar14 = (undefined4)((ulonglong)in_d7 >> 0x20);

-  uVar4 = *param_1;

-  *(int *)(unaff_r11 + -0x68) = in_r12;

-  *(int *)(unaff_r11 + -0x6c) = in_r12;

-  *(int *)(unaff_r11 + -0xa0) = unaff_r5 + 8;

-  uVar12 = param_1[2];

-  *(undefined4 *)(unaff_r11 + -0x9c) = uVar4;

-  uVar4 = param_1[3];

-  *(undefined4 *)(unaff_r11 + -0x94) = uVar12;

-  uVar12 = param_1[4];

-  *(undefined4 *)(unaff_r11 + -0x90) = uVar4;

-  uVar4 = param_1[5];

-  *(undefined4 *)(unaff_r11 + -0x8c) = uVar12;

-  uVar12 = param_1[6];

-  iVar3 = param_1[1];

-  *(undefined4 *)(unaff_r11 + -0x88) = uVar4;

-  *(undefined4 *)(unaff_r11 + -0x84) = uVar12;

-  uVar4 = param_1[7];

-  uVar12 = param_1[8];

-  *(int *)(unaff_r11 + -0x78) = param_4;

-  *(undefined4 *)(unaff_r11 + -0x80) = uVar4;

-  *(int *)(unaff_r11 + -0x98) = iVar3;

-  *(int *)(unaff_r11 + -0x74) = unaff_r11 + -0x94;

-  pcVar5 = (char *)(unaff_r11 + -0x6c);

-  *(undefined4 *)(unaff_r11 + -0x7c) = uVar12;

-  *(char **)(unaff_r11 + -0x70) = pcVar5;

-  uVar12 = *(undefined4 *)(unaff_r11 + 4);

-  uVar4 = *(undefined4 *)(unaff_r11 + 8);

-  if (param_4 != in_r12) {

-    piVar8 = (int *)(param_4 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      pcVar5 = (char *)(*piVar8 + 1);

-      bVar1 = (bool)hasExclusiveAccess(piVar8);

-    } while (!bVar1);

-    *piVar8 = (int)pcVar5;

-    DataMemoryBarrier(0xb);

-    iVar3 = param_1[1];

-  }

-  if (iVar3 < 3) {

-    puVar6 = (undefined4 *)param_1[0xb];

-    puVar9 = *(undefined4 **)(unaff_r11 + -0x70);

-    *puVar9 = *puVar6;

-    puVar9[1] = puVar6[1];

-  }

-  else {

-    *(undefined4 *)(unaff_r11 + -0x98) = 0;

-    FUN_00631f14(unaff_r11 + -0x9c,(int)param_1,pcVar5);

-    uVar14 = extraout_s15;

-  }

-  uVar2 = unaff_r4[2];

-  iVar10 = unaff_r4[9];

-  *(undefined4 *)(unaff_r11 + -100) = *unaff_r4;

-  *(undefined4 *)(unaff_r11 + -0x5c) = uVar2;

-  uVar2 = unaff_r4[4];

-  iVar3 = unaff_r4[1];

-  *(undefined4 *)(unaff_r11 + -0x58) = unaff_r4[3];

-  *(undefined4 *)(unaff_r11 + -0x54) = uVar2;

-  uVar7 = unaff_r4[5];

-  uVar2 = unaff_r4[6];

-  *(int *)(unaff_r11 + -0x40) = iVar10;

-  *(undefined4 *)(unaff_r11 + -0x50) = uVar7;

-  *(undefined4 *)(unaff_r11 + -0x4c) = uVar2;

-  uVar7 = unaff_r4[7];

-  uVar2 = unaff_r4[8];

-  *(int *)(unaff_r11 + -0x60) = iVar3;

-  *(undefined4 *)(unaff_r11 + -0x48) = uVar7;

-  *(undefined4 *)(unaff_r11 + -0x44) = uVar2;

-  *(int *)(unaff_r11 + -0x3c) = unaff_r11 + -0x5c;

-  pcVar5 = (char *)(unaff_r11 + -0x34);

-  *(undefined4 *)(unaff_r11 + -0x30) = 0;

-  *(char **)(unaff_r11 + -0x38) = pcVar5;

-  *(undefined4 *)(unaff_r11 + -0x34) = 0;

-  if (iVar10 != 0) {

-    piVar8 = (int *)(iVar10 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      pcVar5 = (char *)(*piVar8 + 1);

-      bVar1 = (bool)hasExclusiveAccess(piVar8);

-    } while (!bVar1);

-    *piVar8 = (int)pcVar5;

-    DataMemoryBarrier(0xb);

-    iVar3 = unaff_r4[1];

-  }

-  if (iVar3 < 3) {

-    puVar6 = (undefined4 *)unaff_r4[0xb];

-    puVar9 = *(undefined4 **)(unaff_r11 + -0x38);

-    *puVar9 = *puVar6;

-    puVar9[1] = puVar6[1];

-  }

-  else {

-    *(undefined4 *)(unaff_r11 + -0x60) = 0;

-    FUN_00631f14(unaff_r11 + -100,(int)unaff_r4,pcVar5);

-    uVar14 = extraout_s15_00;

-  }

-  iVar3 = unaff_r4[1];

-  *(undefined4 *)(unaff_r11 + -0x2c) = uVar12;

-  *(undefined4 *)(unaff_r11 + -0x28) = uVar4;

-  *(undefined4 *)(unaff_r11 + -0x24) = unaff_r7;

-  *(undefined4 *)(unaff_r11 + -0x20) = unaff_r6;

-  if (iVar3 < 3) {

-    iVar10 = unaff_r4[3] * unaff_r4[2];

-  }

-  else {

-    iVar10 = 1;

-    piVar8 = (int *)unaff_r4[10];

-    do {

-      piVar11 = piVar8 + 1;

-      iVar10 = *piVar8 * iVar10;

-      piVar8 = piVar11;

-    } while ((int *)unaff_r4[10] + iVar3 != piVar11);

-  }

-  uVar13 = FixedToFP(CONCAT44(uVar14,iVar10),0x20,0x40,0x10,1,0);

-  FUN_006761ac((int *)(unaff_r11 + -0xa8),(int *)(unaff_r11 + -0xa0),(int)uVar13,

-               (int)((ulonglong)uVar13 >> 0x20));

-  *(int *)(unaff_r11 + -0xa0) = unaff_r5 + 8;

-  cv::Mat::~Mat((Mat *)(unaff_r11 + -100),extraout_r1);

-  cv::Mat::~Mat((Mat *)(unaff_r11 + -0x9c),extraout_r1_00);

-  FUN_00676110();

-  return;

-}

-

FUN_0053558c

Function Meta

Key dt_aicam_md5
name FUN_0053558c
fullname FUN_0053558c
refcount 0
length 820
called FUN_00502ca4
FUN_00631774
FUN_00675970
FUN_00675a0c
FUN_006abd98
FUN_006ad53c
cv::Mat::~Mat
calling
paramcount 9
address 0053558c
sig undefined __stdcall FUN_0053558c(int * param_1, undefined4 * param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6, int param_7, int param_8, int param_9)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0053558c
+++ FUN_0053558c
@@ -1,154 +0,0 @@
-

-void FUN_0053558c(int *param_1,undefined4 *param_2,undefined4 param_3,int param_4,undefined4 param_5

-                 ,undefined4 param_6,int param_7,int param_8,int param_9)

-

-{

-  bool bVar1;

-  undefined4 uVar2;

-  int extraout_r1;

-  int extraout_r1_00;

-  int iVar3;

-  char *pcVar4;

-  undefined4 *puVar5;

-  undefined4 uVar6;

-  int *piVar7;

-  undefined4 *puVar8;

-  int *piVar9;

-  undefined4 *unaff_r4;

-  int unaff_r5;

-  undefined4 unaff_r6;

-  undefined4 unaff_r7;

-  undefined4 uVar10;

-  undefined4 uVar11;

-  int unaff_r11;

-  int in_r12;

-  int iVar12;

-  int iVar13;

-  undefined8 in_d7;

-  undefined4 uVar15;

-  undefined8 uVar14;

-  undefined4 extraout_s15;

-  undefined4 extraout_s15_00;

-  

-  uVar15 = (undefined4)((ulonglong)in_d7 >> 0x20);

-  iVar3 = *param_1;

-  *(int *)(unaff_r11 + -0x68) = in_r12;

-  *(int *)(unaff_r11 + -0x6c) = in_r12;

-  *(int *)(unaff_r11 + -0xa0) = unaff_r5 + 8;

-  iVar12 = param_1[2];

-  *(int *)(unaff_r11 + -0x9c) = iVar3;

-  iVar3 = param_1[3];

-  *(int *)(unaff_r11 + -0x94) = iVar12;

-  iVar13 = param_1[4];

-  *(int *)(unaff_r11 + -0x90) = iVar3;

-  iVar12 = param_1[5];

-  *(int *)(unaff_r11 + -0x8c) = iVar13;

-  iVar13 = param_1[6];

-  iVar3 = param_1[1];

-  *(int *)(unaff_r11 + -0x88) = iVar12;

-  *(int *)(unaff_r11 + -0x84) = iVar13;

-  iVar12 = param_1[7];

-  iVar13 = param_1[8];

-  *(int *)(unaff_r11 + -0x78) = param_4;

-  *(int *)(unaff_r11 + -0x80) = iVar12;

-  *(int *)(unaff_r11 + -0x98) = iVar3;

-  *(int *)(unaff_r11 + -0x74) = unaff_r11 + -0x94;

-  pcVar4 = (char *)(unaff_r11 + -0x6c);

-  *(int *)(unaff_r11 + -0x7c) = iVar13;

-  *(char **)(unaff_r11 + -0x70) = pcVar4;

-  uVar11 = *(undefined4 *)(unaff_r11 + 4);

-  uVar10 = *(undefined4 *)(unaff_r11 + 8);

-  if (param_4 != in_r12) {

-    piVar7 = (int *)(param_4 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      pcVar4 = (char *)(*piVar7 + 1);

-      bVar1 = (bool)hasExclusiveAccess(piVar7);

-    } while (!bVar1);

-    *piVar7 = (int)pcVar4;

-    DataMemoryBarrier(0xb);

-    iVar3 = param_1[1];

-  }

-  if (iVar3 < 3) {

-    puVar5 = (undefined4 *)param_1[0xb];

-    puVar8 = *(undefined4 **)(unaff_r11 + -0x70);

-    *puVar8 = *puVar5;

-    puVar8[1] = puVar5[1];

-  }

-  else {

-    *(undefined4 *)(unaff_r11 + -0x98) = 0;

-    FUN_00631f14(unaff_r11 + -0x9c,(int)param_1,pcVar4);

-    uVar15 = extraout_s15;

-  }

-  uVar2 = unaff_r4[2];

-  iVar12 = unaff_r4[9];

-  *(undefined4 *)(unaff_r11 + -100) = *unaff_r4;

-  *(undefined4 *)(unaff_r11 + -0x5c) = uVar2;

-  uVar2 = unaff_r4[4];

-  iVar3 = unaff_r4[1];

-  *(undefined4 *)(unaff_r11 + -0x58) = unaff_r4[3];

-  *(undefined4 *)(unaff_r11 + -0x54) = uVar2;

-  uVar6 = unaff_r4[5];

-  uVar2 = unaff_r4[6];

-  *(int *)(unaff_r11 + -0x40) = iVar12;

-  *(undefined4 *)(unaff_r11 + -0x50) = uVar6;

-  *(undefined4 *)(unaff_r11 + -0x4c) = uVar2;

-  uVar6 = unaff_r4[7];

-  uVar2 = unaff_r4[8];

-  *(int *)(unaff_r11 + -0x60) = iVar3;

-  *(undefined4 *)(unaff_r11 + -0x48) = uVar6;

-  *(undefined4 *)(unaff_r11 + -0x44) = uVar2;

-  *(int *)(unaff_r11 + -0x3c) = unaff_r11 + -0x5c;

-  pcVar4 = (char *)(unaff_r11 + -0x34);

-  *(undefined4 *)(unaff_r11 + -0x30) = 0;

-  *(char **)(unaff_r11 + -0x38) = pcVar4;

-  *(undefined4 *)(unaff_r11 + -0x34) = 0;

-  if (iVar12 != 0) {

-    piVar7 = (int *)(iVar12 + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      pcVar4 = (char *)(*piVar7 + 1);

-      bVar1 = (bool)hasExclusiveAccess(piVar7);

-    } while (!bVar1);

-    *piVar7 = (int)pcVar4;

-    DataMemoryBarrier(0xb);

-    iVar3 = unaff_r4[1];

-  }

-  if (iVar3 < 3) {

-    puVar5 = (undefined4 *)unaff_r4[0xb];

-    puVar8 = *(undefined4 **)(unaff_r11 + -0x38);

-    *puVar8 = *puVar5;

-    puVar8[1] = puVar5[1];

-  }

-  else {

-    *(undefined4 *)(unaff_r11 + -0x60) = 0;

-    FUN_00631f14(unaff_r11 + -100,(int)unaff_r4,pcVar4);

-    uVar15 = extraout_s15_00;

-  }

-  iVar3 = unaff_r4[1];

-  *(undefined4 *)(unaff_r11 + -0x2c) = uVar11;

-  *(undefined4 *)(unaff_r11 + -0x28) = uVar10;

-  *(undefined4 *)(unaff_r11 + -0x24) = unaff_r7;

-  *(undefined4 *)(unaff_r11 + -0x20) = unaff_r6;

-  if (iVar3 < 3) {

-    iVar12 = unaff_r4[3] * unaff_r4[2];

-  }

-  else {

-    iVar12 = 1;

-    piVar7 = (int *)unaff_r4[10];

-    do {

-      piVar9 = piVar7 + 1;

-      iVar12 = *piVar7 * iVar12;

-      piVar7 = piVar9;

-    } while ((int *)unaff_r4[10] + iVar3 != piVar9);

-  }

-  uVar14 = FixedToFP(CONCAT44(uVar15,iVar12),0x20,0x40,0x10,1,0);

-  FUN_006761ac((int *)(unaff_r11 + -0xa8),(int *)(unaff_r11 + -0xa0),(int)uVar14,

-               (int)((ulonglong)uVar14 >> 0x20));

-  *(int *)(unaff_r11 + -0xa0) = unaff_r5 + 8;

-  cv::Mat::~Mat((Mat *)(unaff_r11 + -100),extraout_r1);

-  cv::Mat::~Mat((Mat *)(unaff_r11 + -0x9c),extraout_r1_00);

-  FUN_00676110();

-  return;

-}

-

FUN_005825cc

Function Meta

Key dt_aicam_md5
name FUN_005825cc
fullname FUN_005825cc
refcount 3
length 112
called
calling FUN_005a046c
FUN_005a09e4
FUN_005a1740
paramcount 2
address 005825cc
sig undefined __stdcall FUN_005825cc(int param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005825cc
+++ FUN_005825cc
@@ -1,41 +0,0 @@
-

-undefined4 FUN_005825cc(int param_1,int param_2)

-

-{

-  uint uVar1;

-  char *pcVar2;

-  uint in_r2;

-  char *in_r3;

-  int unaff_r4;

-  int unaff_r5;

-  int unaff_r7;

-  

-  uVar1 = FUN_00588ed4(unaff_r4,0x1d,in_r2,in_r3);

-  if (uVar1 < 0x1c) {

-    *(undefined1 *)(unaff_r4 + uVar1) = 0x20;

-  }

-  if (uVar1 < 0x1c) {

-    uVar1 = uVar1 + 1;

-  }

-  pcVar2 = (char *)FUN_00588f4c(&stack0x00000000,unaff_r7,2,(uint)*(byte *)(unaff_r5 + 4));

-  uVar1 = FUN_00588ed4(unaff_r4,0x1d,uVar1,pcVar2);

-  if (uVar1 < 0x1c) {

-    *(undefined1 *)(unaff_r4 + uVar1) = 0x3a;

-  }

-  if (uVar1 < 0x1c) {

-    uVar1 = uVar1 + 1;

-  }

-  pcVar2 = (char *)FUN_00588f4c(&stack0x00000000,unaff_r7,2,(uint)*(byte *)(unaff_r5 + 5));

-  uVar1 = FUN_00588ed4(unaff_r4,0x1d,uVar1,pcVar2);

-  if (uVar1 < 0x1c) {

-    *(undefined1 *)(unaff_r4 + uVar1) = 0x3a;

-  }

-  if (uVar1 < 0x1c) {

-    uVar1 = uVar1 + 1;

-  }

-  pcVar2 = (char *)FUN_00588f4c(&stack0x00000000,unaff_r7,2,(uint)*(byte *)(unaff_r5 + 6));

-  uVar1 = FUN_00588ed4(unaff_r4,0x1d,uVar1,pcVar2);

-  FUN_00588ed4(unaff_r4,0x1d,uVar1," +0000");

-  return 1;

-}

-

FUN_0058a598

Function Meta

Key dt_aicam_md5
name FUN_0058a598
fullname FUN_0058a598
refcount 1
length 24
called
calling
paramcount 2
address 0058a598
sig undefined4 __stdcall FUN_0058a598(int param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0058a598
+++ FUN_0058a598
@@ -1,219 +0,0 @@
-

-int FUN_0058a598(int param_1,int param_2)

-

-{

-  int iVar1;

-  char *pcVar2;

-  int in_r2;

-  int in_r3;

-  code *pcVar3;

-  undefined4 *puVar4;

-  int unaff_r5;

-  int *unaff_r6;

-  uint in_r12;

-  char cStack_e0;

-  char cStack_df;

-  char cStack_de;

-  char cStack_dd;

-  char cStack_dc;

-  char cStack_db;

-  char cStack_da;

-  char cStack_d9;

-  char cStack_d8;

-  char cStack_d7;

-  char cStack_d6;

-  char cStack_d5;

-  char cStack_d4;

-  char cStack_d3;

-  char cStack_d2;

-  char acStack_d1 [201];

-  int iStack_8;

-  

-  iStack_8 = in_r3;

-  if ((in_r12 & 0x8000) == 0) {

-    pcVar2 = (char *)param_2;

-    if (in_r2 < 1) {

-      if ((*(uint *)(param_1 + 0x1c0) & 0x200000) == 0) goto LAB_0058ab24;

-      if ((((((*(char *)param_2 == '#') &&

-             (pcVar2 = (char *)(param_2 + 1), *(char *)(param_2 + 1) != ' ')) &&

-            (pcVar2 = (char *)(param_2 + 2), *(char *)(param_2 + 2) != ' ')) &&

-           (((pcVar2 = (char *)(param_2 + 3), *(char *)(param_2 + 3) != ' ' &&

-             (pcVar2 = (char *)(param_2 + 4), *(char *)(param_2 + 4) != ' ')) &&

-            ((pcVar2 = (char *)(param_2 + 5), *(char *)(param_2 + 5) != ' ' &&

-             ((pcVar2 = (char *)(param_2 + 6), *(char *)(param_2 + 6) != ' ' &&

-              (pcVar2 = (char *)(param_2 + 7), *(char *)(param_2 + 7) != ' ')))))))) &&

-          ((pcVar2 = (char *)(param_2 + 8), *(char *)(param_2 + 8) != ' ' &&

-           (((pcVar2 = (char *)(param_2 + 9), *(char *)(param_2 + 9) != ' ' &&

-             (pcVar2 = (char *)(param_2 + 10), *(char *)(param_2 + 10) != ' ')) &&

-            (pcVar2 = (char *)(param_2 + 0xb), *(char *)(param_2 + 0xb) != ' ')))))) &&

-         (((pcVar2 = (char *)(param_2 + 0xc), *(char *)(param_2 + 0xc) != ' ' &&

-           (pcVar2 = (char *)(param_2 + 0xd), *(char *)(param_2 + 0xd) != ' ')) &&

-          (pcVar2 = (char *)(param_2 + 0xe), *(char *)(param_2 + 0xe) != ' ')))) {

-        pcVar2 = (char *)(param_2 + 0xf);

-      }

-      pcVar3 = *(code **)(param_1 + 0x198);

-      if (pcVar3 != (code *)0x0) goto LAB_0058a62c;

-      puVar4 = *(undefined4 **)(unaff_r5 + 0x17b8);

-    }

-    else {

-      if ((*(uint *)(param_1 + 0x1c0) & 0x400000) == 0) {

-LAB_0058ab24:

-                    /* WARNING: Subroutine does not return */

-        FUN_00589a94(param_1,(char *)param_2);

-      }

-      if (((((*(char *)param_2 == '#') &&

-            (pcVar2 = (char *)(param_2 + 1), *(char *)(param_2 + 1) != ' ')) &&

-           ((pcVar2 = (char *)(param_2 + 2), *(char *)(param_2 + 2) != ' ' &&

-            ((((pcVar2 = (char *)(param_2 + 3), *(char *)(param_2 + 3) != ' ' &&

-               (pcVar2 = (char *)(param_2 + 4), *(char *)(param_2 + 4) != ' ')) &&

-              (pcVar2 = (char *)(param_2 + 5), *(char *)(param_2 + 5) != ' ')) &&

-             ((pcVar2 = (char *)(param_2 + 6), *(char *)(param_2 + 6) != ' ' &&

-              (pcVar2 = (char *)(param_2 + 7), *(char *)(param_2 + 7) != ' ')))))))) &&

-          (pcVar2 = (char *)(param_2 + 8), *(char *)(param_2 + 8) != ' ')) &&

-         (((pcVar2 = (char *)(param_2 + 9), *(char *)(param_2 + 9) != ' ' &&

-           (pcVar2 = (char *)(param_2 + 10), *(char *)(param_2 + 10) != ' ')) &&

-          ((pcVar2 = (char *)(param_2 + 0xb), *(char *)(param_2 + 0xb) != ' ' &&

-           (((pcVar2 = (char *)(param_2 + 0xc), *(char *)(param_2 + 0xc) != ' ' &&

-             (pcVar2 = (char *)(param_2 + 0xd), *(char *)(param_2 + 0xd) != ' ')) &&

-            (pcVar2 = (char *)(param_2 + 0xe), *(char *)(param_2 + 0xe) != ' ')))))))) {

-        pcVar2 = (char *)(param_2 + 0xf);

-      }

-      pcVar3 = *(code **)(param_1 + 0x198);

-      if (pcVar3 != (code *)0x0) {

-LAB_0058a62c:

-        iVar1 = (*pcVar3)(param_1,pcVar2);

-        goto LAB_0058a638;

-      }

-      puVar4 = *(undefined4 **)(unaff_r5 + 0x17b8);

-    }

-LAB_0058a6ac:

-    fprintf((FILE *)*puVar4,"libpng warning: %s",pcVar2);

-    iVar1 = fputc(10,(FILE *)*puVar4);

-  }

-  else {

-    if (in_r2 < 2) {

-      pcVar2 = &cStack_e0;

-      FUN_00588c5c(*(uint *)(param_1 + 0x264),pcVar2,param_2);

-      if (cStack_e0 == '#') {

-        if (cStack_df == ' ') {

-          pcVar2 = &cStack_df;

-        }

-        else if (cStack_de == ' ') {

-          pcVar2 = &cStack_de;

-        }

-        else if (cStack_dd == ' ') {

-          pcVar2 = &cStack_dd;

-        }

-        else if (cStack_dc == ' ') {

-          pcVar2 = &cStack_dc;

-        }

-        else if (cStack_db == ' ') {

-          pcVar2 = &cStack_db;

-        }

-        else if (cStack_da == ' ') {

-          pcVar2 = &cStack_da;

-        }

-        else if (cStack_d9 == ' ') {

-          pcVar2 = &cStack_d9;

-        }

-        else if (cStack_d8 == ' ') {

-          pcVar2 = &cStack_d8;

-        }

-        else if (cStack_d7 == ' ') {

-          pcVar2 = &cStack_d7;

-        }

-        else if (cStack_d6 == ' ') {

-          pcVar2 = &cStack_d6;

-        }

-        else if (cStack_d5 == ' ') {

-          pcVar2 = &cStack_d5;

-        }

-        else if (cStack_d4 == ' ') {

-          pcVar2 = &cStack_d4;

-        }

-        else if (cStack_d3 == ' ') {

-          pcVar2 = &cStack_d3;

-        }

-        else if (cStack_d2 == ' ') {

-          pcVar2 = &cStack_d2;

-        }

-        else {

-          pcVar2 = acStack_d1;

-        }

-      }

-      pcVar3 = *(code **)(param_1 + 0x198);

-      if (pcVar3 == (code *)0x0) {

-        puVar4 = *(undefined4 **)(unaff_r5 + 0x17b8);

-        goto LAB_0058a6ac;

-      }

-    }

-    else {

-      if ((*(uint *)(param_1 + 0x1c0) & 0x100000) == 0) {

-                    /* WARNING: Subroutine does not return */

-        FUN_00589e18(param_1,(char *)param_2);

-      }

-      pcVar2 = &cStack_e0;

-      FUN_00588c5c(*(uint *)(param_1 + 0x264),pcVar2,param_2);

-      if (cStack_e0 == '#') {

-        if (cStack_df == ' ') {

-          pcVar2 = &cStack_df;

-        }

-        else if (cStack_de == ' ') {

-          pcVar2 = &cStack_de;

-        }

-        else if (cStack_dd == ' ') {

-          pcVar2 = &cStack_dd;

-        }

-        else if (cStack_dc == ' ') {

-          pcVar2 = &cStack_dc;

-        }

-        else if (cStack_db == ' ') {

-          pcVar2 = &cStack_db;

-        }

-        else if (cStack_da == ' ') {

-          pcVar2 = &cStack_da;

-        }

-        else if (cStack_d9 == ' ') {

-          pcVar2 = &cStack_d9;

-        }

-        else if (cStack_d8 == ' ') {

-          pcVar2 = &cStack_d8;

-        }

-        else if (cStack_d7 == ' ') {

-          pcVar2 = &cStack_d7;

-        }

-        else if (cStack_d6 == ' ') {

-          pcVar2 = &cStack_d6;

-        }

-        else if (cStack_d5 == ' ') {

-          pcVar2 = &cStack_d5;

-        }

-        else if (cStack_d4 == ' ') {

-          pcVar2 = &cStack_d4;

-        }

-        else if (cStack_d3 == ' ') {

-          pcVar2 = &cStack_d3;

-        }

-        else if (cStack_d2 == ' ') {

-          pcVar2 = &cStack_d2;

-        }

-        else {

-          pcVar2 = acStack_d1;

-        }

-      }

-      pcVar3 = *(code **)(param_1 + 0x198);

-      if (pcVar3 == (code *)0x0) {

-        puVar4 = *(undefined4 **)(unaff_r5 + 0x17b8);

-        goto LAB_0058a6ac;

-      }

-    }

-    iVar1 = (*pcVar3)(param_1);

-  }

-LAB_0058a638:

-  if (iStack_8 == *unaff_r6) {

-    return iVar1;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail();

-}

-

FUN_0058ba18

Function Meta

Key dt_aicam_md5
name FUN_0058ba18
fullname FUN_0058ba18
refcount 3
length 160
called ::__stack_chk_fail
::free
::memcpy
::memset
FUN_00589204
calling FUN_00593180
FUN_005a3508
FUN_005a5c28
paramcount 1
address 0058ba18
sig undefined __stdcall FUN_0058ba18(void * param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0058ba18
+++ FUN_0058ba18
@@ -1,24 +0,0 @@
-

-uint FUN_0058ba18(void *param_1)

-

-{

-  uint *puVar1;

-  uint uVar2;

-  int in_r1;

-  uint *in_r2;

-  

-  if (param_1 == (void *)0x0 || in_r1 == 0) {

-    return 0;

-  }

-  puVar1 = in_r2;

-  if (in_r2 != (uint *)0x0) {

-    puVar1 = (uint *)0x1;

-  }

-  uVar2 = (uint)puVar1 & *(uint *)(in_r1 + 8) >> 0xb;

-  if (uVar2 != 0) {

-    uVar2 = 0x800;

-    *in_r2 = (uint)*(ushort *)(in_r1 + 0x70);

-  }

-  return uVar2;

-}

-

FUN_0058d4ac

Function Meta

Key dt_aicam_md5
name FUN_0058d4ac
fullname FUN_0058d4ac
refcount 2
length 1576
called FUN_00585450
FUN_00587514
FUN_005876ac
FUN_005892f4
calling
paramcount 6
address 0058d4ac
sig undefined8 __stdcall FUN_0058d4ac(undefined4 * param_1, uint param_2, uint param_3, uint param_4, uint param_5, int param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0058d4ac
+++ FUN_0058d4ac
@@ -1,12 +0,0 @@
-

-undefined8

-FUN_0058d4ac(undefined4 *param_1,uint param_2,uint param_3,uint param_4,uint param_5,int param_6)

-

-{

-  int unaff_r4;

-  undefined8 uVar1;

-  

-  uVar1 = FUN_005a04a4(unaff_r4);

-  return uVar1;

-}

-

FUN_00595148

Function Meta

Key dt_aicam_md5
name FUN_00595148
fullname FUN_00595148
refcount 1
length 192
called ::memcpy
FUN_00588938
FUN_005894fc
calling
paramcount 5
address 00595148
sig undefined __stdcall FUN_00595148(int param_1, void * param_2, int param_3, int param_4, undefined4 param_5)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00595148
+++ FUN_00595148
@@ -1,40 +0,0 @@
-

-void FUN_00595148(int param_1,void *param_2,int param_3,int param_4,undefined4 param_5)

-

-{

-  byte *pbVar1;

-  int unaff_r4;

-  int unaff_r5;

-  int unaff_r7;

-  uint in_r12;

-  uint in_lr;

-  uint uVar2;

-  

-  do {

-    *(byte *)((int)param_2 + -4) = (byte)((uint)unaff_r7 >> 8);

-    uVar2 = param_1 * (uint)*(ushort *)param_3 + in_lr * in_r12 + 0x80;

-    *(byte *)((int)param_2 + -3) = (byte)((uVar2 * 0x10000 >> 0x18) + (uVar2 & 0xffff) >> 8);

-    uVar2 = (uint)*(ushort *)(param_3 + 2) * param_1 + *(byte *)((int)param_2 + -2) * in_r12 + 0x80;

-    *(byte *)((int)param_2 + -2) = (byte)((uVar2 * 0x10000 >> 0x18) + (uVar2 & 0xffff) >> 8);

-    do {

-      while( true ) {

-        pbVar1 = (byte *)param_2;

-        unaff_r4 = unaff_r4 + 1;

-        param_2 = pbVar1 + 4;

-        if (param_4 == unaff_r4) {

-          return;

-        }

-        in_r12 = (uint)pbVar1[3];

-        if (in_r12 != 0) break;

-        *pbVar1 = (byte)*(undefined2 *)(unaff_r5 + 2);

-        pbVar1[1] = (byte)*(undefined2 *)param_3;

-        pbVar1[2] = (byte)*(undefined2 *)(param_3 + 2);

-      }

-    } while (in_r12 == 0xff);

-    param_1 = 0xff - in_r12 & 0xffff;

-    uVar2 = param_1 * (uint)*(ushort *)(unaff_r5 + 2) + in_r12 * *pbVar1 + 0x80;

-    in_lr = (uint)pbVar1[1];

-    unaff_r7 = (uVar2 * 0x10000 >> 0x18) + (uVar2 & 0xffff);

-  } while( true );

-}

-

FUN_005a046c

Function Meta

Key dt_aicam_md5
name FUN_005a046c
fullname FUN_005a046c
refcount 1
length 156
called FUN_005825cc
FUN_00586810
calling
paramcount 10
address 005a046c
sig undefined __stdcall FUN_005a046c(int param_1, int param_2, undefined4 param_3, undefined4 param_4, uint param_5, undefined4 param_6, undefined4 param_7, undefined4 param_8, undefined4 param_9, undefined4 param_10)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a046c
+++ FUN_005a046c
@@ -1,10 +0,0 @@
-

-void FUN_005a046c(int param_1,int param_2,undefined4 param_3,undefined4 param_4,uint param_5,

-                 undefined4 param_6,undefined4 param_7,undefined4 param_8,undefined4 param_9,

-                 undefined4 param_10)

-

-{

-  FUN_0059b870(param_1,param_2);

-  return;

-}

-

FUN_005a09e4

Function Meta

Key dt_aicam_md5
name FUN_005a09e4
fullname FUN_005a09e4
refcount 2
length 60
called FUN_00582434
FUN_005825cc
calling
paramcount 3
address 005a09e4
sig undefined __stdcall FUN_005a09e4(int param_1, int param_2, int param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a09e4
+++ FUN_005a09e4
@@ -1,17 +0,0 @@
-

-void FUN_005a09e4(int param_1,int param_2,int param_3)

-

-{

-  int iVar1;

-  int unaff_r4;

-  

-  FUN_0058c5f4(param_1,(void *)param_2);

-  iVar1 = FUN_0059ac08(unaff_r4,0x49444154);

-  if (iVar1 == 0) {

-    *(uint *)(unaff_r4 + 0x1c0) = *(uint *)(unaff_r4 + 0x1c0) | 0x40;

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  FUN_00589a94(unaff_r4,*(char **)(unaff_r4 + 0x1e4));

-}

-

FUN_005a1740

Function Meta

Key dt_aicam_md5
name FUN_005a1740
fullname FUN_005a1740
refcount 1
length 60
called FUN_005825cc
FUN_005826d0
calling
paramcount 3
address 005a1740
sig undefined __stdcall FUN_005a1740(int param_1, int param_2, uint param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a1740
+++ FUN_005a1740
@@ -1,46 +0,0 @@
-

-void FUN_005a1740(int param_1,int param_2,uint param_3)

-

-{

-  size_t sVar1;

-  uint uVar2;

-  void *pvVar3;

-  int unaff_r4;

-  void *unaff_r5;

-  char *unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  undefined1 unaff_r9;

-  bool in_ZR;

-  

-  if (in_ZR) {

-                    /* WARNING: Subroutine does not return */

-    FUN_00589a94(unaff_r8,"Invalid sCAL width");

-  }

-  if ((((unaff_r6 == (char *)0x0) || (sVar1 = strlen(unaff_r6), sVar1 == 0)) || (*unaff_r6 == '-'))

-     || (uVar2 = FUN_005845dc((int)unaff_r6,sVar1), uVar2 == 0)) {

-                    /* WARNING: Subroutine does not return */

-    FUN_00589a94(unaff_r8,"Invalid sCAL height");

-  }

-  *(undefined1 *)(unaff_r4 + 0x108) = unaff_r9;

-  pvVar3 = FUN_0058c580(unaff_r8,unaff_r7 + 1U);

-  *(void **)(unaff_r4 + 0x10c) = pvVar3;

-  if (pvVar3 == (void *)0x0) {

-    FUN_005890d8(unaff_r8,"Memory allocation failed while processing sCAL");

-    return;

-  }

-  memcpy(pvVar3,unaff_r5,unaff_r7 + 1U);

-  pvVar3 = FUN_0058c580(unaff_r8,sVar1 + 1);

-  *(void **)(unaff_r4 + 0x110) = pvVar3;

-  if (pvVar3 != (void *)0x0) {

-    memcpy(pvVar3,unaff_r6,sVar1 + 1);

-    *(uint *)(unaff_r4 + 8) = *(uint *)(unaff_r4 + 8) | 0x4000;

-    *(uint *)(unaff_r4 + 0xf4) = *(uint *)(unaff_r4 + 0xf4) | 0x100;

-    return;

-  }

-  FUN_0058c5f4(unaff_r8,*(void **)(unaff_r4 + 0x10c));

-  *(undefined4 *)(unaff_r4 + 0x10c) = 0;

-  FUN_005890d8(unaff_r8,"Memory allocation failed while processing sCAL");

-  return;

-}

-

FUN_005a26f8

Function Meta

Key dt_aicam_md5
name FUN_005a26f8
fullname FUN_005a26f8
refcount 1
length 24
called
calling
paramcount 2
address 005a26f8
sig undefined __stdcall FUN_005a26f8(int param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a26f8
+++ FUN_005a26f8
@@ -1,56 +0,0 @@
-

-void FUN_005a26f8(int param_1,int param_2)

-

-{

-  size_t sVar1;

-  void *pvVar2;

-  char *__s;

-  void *__src;

-  int iVar3;

-  undefined4 *unaff_r4;

-  undefined4 *unaff_r5;

-  int unaff_r6;

-  int unaff_r7;

-  int unaff_r8;

-  int unaff_r9;

-  char *unaff_r10;

-  

-  do {

-    __s = (char *)*unaff_r4;

-    if ((__s == (char *)0x0) || (unaff_r4[2] == 0)) {

-      FUN_00589c9c(unaff_r8,unaff_r10);

-    }

-    else {

-      *(undefined1 *)(unaff_r5 + 1) = *(undefined1 *)(unaff_r4 + 1);

-      sVar1 = strlen(__s);

-      pvVar2 = FUN_0058c2ec(unaff_r8,sVar1 + 1);

-      *unaff_r5 = pvVar2;

-      if (pvVar2 == (void *)0x0) {

-LAB_005a27c8:

-        FUN_0058a570(unaff_r8,"sPLT out of memory",1);

-        return;

-      }

-      memcpy(pvVar2,(void *)*unaff_r4,sVar1 + 1);

-      pvVar2 = FUN_0058c31c(unaff_r8,unaff_r4[3],unaff_r9);

-      unaff_r5[2] = pvVar2;

-      if (pvVar2 == (void *)0x0) {

-        FUN_0058c5f4(unaff_r8,(void *)*unaff_r5);

-        *unaff_r5 = 0;

-        goto LAB_005a27c8;

-      }

-      iVar3 = unaff_r4[3];

-      __src = (void *)unaff_r4[2];

-      unaff_r5[3] = iVar3;

-      memcpy(pvVar2,__src,iVar3 * 10);

-      unaff_r5 = unaff_r5 + 4;

-      unaff_r4 = unaff_r4 + 4;

-      *(uint *)(unaff_r7 + 8) = *(uint *)(unaff_r7 + 8) | 0x2000;

-      *(int *)(unaff_r7 + 0x104) = *(int *)(unaff_r7 + 0x104) + 1;

-    }

-    unaff_r6 = unaff_r6 + -1;

-    if (unaff_r6 == 0) {

-      return;

-    }

-  } while( true );

-}

-

FUN_005a36d8

Function Meta

Key dt_aicam_md5
name FUN_005a36d8
fullname FUN_005a36d8
refcount 1
length 1668
called ::__aeabi_idiv
::__stack_chk_fail
::memset
FUN_005a158c
FUN_005a1d74
calling
paramcount 2
address 005a36d8
sig undefined __stdcall FUN_005a36d8(undefined4 * param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a36d8
+++ FUN_005a36d8
@@ -1,47 +0,0 @@
-

-void FUN_005a36d8(undefined4 *param_1,int param_2)

-

-{

-  undefined1 *puVar1;

-  char cVar2;

-  undefined1 *puVar3;

-  undefined1 *puVar4;

-  undefined1 *unaff_r5;

-  undefined1 *in_r12;

-  undefined1 *in_lr;

-  bool in_ZR;

-  bool bVar5;

-  

-  if (in_ZR) {

-    in_lr = (undefined1 *)(param_2 + 3);

-  }

-  else {

-    unaff_r5 = (undefined1 *)(param_2 + 1);

-  }

-  puVar3 = unaff_r5;

-  puVar1 = in_lr;

-  if (unaff_r5 < in_r12) {

-    do {

-      puVar4 = puVar3 + 4;

-      *puVar1 = *puVar3;

-      puVar1[1] = puVar3[1];

-      puVar1[2] = puVar3[2];

-      puVar3 = puVar4;

-      puVar1 = puVar1 + 3;

-    } while (puVar4 < in_r12);

-    in_lr = in_lr + (((uint)(in_r12 + ~(uint)unaff_r5) >> 2) + 1) * 3;

-  }

-  *(undefined1 *)((int)param_1 + 0xb) = 0x18;

-  cVar2 = *(char *)(param_1 + 2);

-  bVar5 = cVar2 == '\x06';

-  if (bVar5) {

-    cVar2 = '\x02';

-  }

-  *(undefined1 *)((int)param_1 + 10) = 3;

-  if (bVar5) {

-    *(char *)(param_1 + 2) = cVar2;

-  }

-  param_1[1] = (int)in_lr - param_2;

-  return;

-}

-

FUN_005a50a4

Function Meta

Key dt_aicam_md5
name FUN_005a50a4
fullname FUN_005a50a4
refcount 3
length 944
called ::memcpy
FUN_005892f4
FUN_005a3140
FUN_005a72c4
FUN_005ab32c
FUN_005ab48c
FUN_005ab834
FUN_005abb74
calling
paramcount 2
address 005a50a4
sig undefined __stdcall FUN_005a50a4(int param_1, void * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a50a4
+++ FUN_005a50a4
@@ -1,171 +0,0 @@
-

-void FUN_005a50a4(int param_1,void *param_2)

-

-{

-  char cVar1;

-  byte bVar2;

-  int iVar3;

-  int iVar4;

-  byte bVar5;

-  uint in_r3;

-  uint uVar6;

-  uint uVar7;

-  int unaff_r4;

-  int unaff_r5;

-  undefined4 *unaff_r6;

-  int unaff_r7;

-  uint *unaff_r8;

-  uint unaff_r9;

-  void *unaff_r10;

-  int iVar8;

-  int iVar9;

-  

-  do {

-    if ((in_r3 & 0x400) == 0) {

-                    /* WARNING: Subroutine does not return */

-      FUN_00589a94(unaff_r4,"png_write_info was never called before png_write_row");

-    }

-    FUN_005abacc(unaff_r4);

-    do {

-      if ((*(char *)(unaff_r4 + 0x294) == '\0') || ((*(uint *)(unaff_r4 + 0x1c4) & 2) == 0))

-      goto code_r0x005a5110;

-      switch(*(undefined1 *)(unaff_r4 + 0x295)) {

-      case 0:

-        uVar6 = *(uint *)(unaff_r4 + 0x260) & 7;

-        goto joined_r0x005a5270;

-      case 1:

-        if (((*(uint *)(unaff_r4 + 0x260) & 7) == 0) && (4 < *(uint *)(unaff_r4 + 0x248))) break;

-        goto code_r0x005a5274;

-      case 2:

-        if ((*(uint *)(unaff_r4 + 0x260) & 7) == 4) break;

-        FUN_005abc2c(unaff_r4);

-        goto code_r0x005a5200;

-      case 3:

-        if (((*(uint *)(unaff_r4 + 0x260) & 3) != 0) || (*(uint *)(unaff_r4 + 0x248) < 3))

-        goto code_r0x005a5274;

-        break;

-      case 4:

-        if ((*(uint *)(unaff_r4 + 0x260) & 3) != 2) {

-          FUN_005abc2c(unaff_r4);

-          goto code_r0x005a5200;

-        }

-        break;

-      case 5:

-        if (((*(uint *)(unaff_r4 + 0x260) & 1) != 0) || (*(uint *)(unaff_r4 + 0x248) < 2))

-        goto code_r0x005a5274;

-        break;

-      case 6:

-        uVar6 = *(uint *)(unaff_r4 + 0x260) & 1;

-joined_r0x005a5270:

-        if (uVar6 != 0) break;

-        goto code_r0x005a5274;

-      }

-code_r0x005a5110:

-      cVar1 = *(char *)(unaff_r4 + 0x299);

-      bVar2 = *(byte *)(unaff_r4 + 0x297);

-      bVar5 = cVar1 * *(char *)(unaff_r4 + 0x29c);

-      uVar6 = (uint)bVar5;

-      iVar3 = *(int *)(unaff_r4 + 0x254);

-      if (uVar6 < 8) {

-        uVar7 = iVar3 * uVar6 + 7;

-      }

-      else {

-        uVar7 = iVar3 * (uint)(bVar5 >> 3);

-      }

-      if (uVar6 < 8) {

-        uVar7 = uVar7 >> 3;

-      }

-      memcpy((void *)(*(int *)(unaff_r4 + 0x26c) + 1),unaff_r10,uVar7);

-      if ((*(char *)(unaff_r4 + 0x294) == '\0') || (5 < *(byte *)(unaff_r4 + 0x295))) {

-code_r0x005a5230:

-        uVar6 = *(uint *)(unaff_r4 + 0x1c4);

-joined_r0x005a5238:

-        if (uVar6 != 0) {

-          FUN_005a7a64(unaff_r4,(int *)unaff_r8);

-        }

-        if ((*(byte *)(unaff_r4 + 0x29a) != bVar5) ||

-           (*(byte *)(unaff_r4 + 0x29f) != *(byte *)(unaff_r4 + 0x29a))) {

-                    /* WARNING: Subroutine does not return */

-          FUN_00589a94(unaff_r4,"internal write transform logic error");

-        }

-        if ((((*(uint *)(unaff_r4 + 0x398) & 4) == 0) || (*(char *)(unaff_r4 + 0x39c) != '@')) ||

-           ((bVar2 & 2) == 0)) {

-code_r0x005a51d0:

-          if ((bVar2 == 3) && (-1 < *(int *)(unaff_r4 + 0x28c))) {

-            FUN_005a38e0(unaff_r4,unaff_r8);

-          }

-        }

-        else {

-          iVar4 = *(int *)(unaff_r4 + 0x26c);

-          if (cVar1 != '\b') {

-            if (cVar1 == '\x10') {

-              if (bVar2 == 2) {

-                iVar8 = 6;

-              }

-              else {

-                if (bVar2 != 6) goto code_r0x005a51d0;

-                iVar8 = 8;

-              }

-              if (iVar3 == 0) goto code_r0x005a51d8;

-              iVar9 = 0;

-              do {

-                uVar7 = (uint)CONCAT11(*(undefined1 *)(iVar4 + 3),*(undefined1 *)(iVar4 + 4));

-                uVar6 = CONCAT11(*(undefined1 *)(iVar4 + 1),*(undefined1 *)(iVar4 + 2)) - uVar7 &

-                        unaff_r9;

-                uVar7 = CONCAT11(*(undefined1 *)(iVar4 + 5),*(undefined1 *)(iVar4 + 6)) - uVar7 &

-                        unaff_r9;

-                iVar9 = iVar9 + 1;

-                *(char *)(iVar4 + 2) = (char)uVar6;

-                *(char *)(iVar4 + 1) = (char)(uVar6 >> 8);

-                *(char *)(iVar4 + 6) = (char)uVar7;

-                *(char *)(iVar4 + 5) = (char)(uVar7 >> 8);

-                iVar4 = iVar4 + iVar8;

-              } while (iVar3 != iVar9);

-            }

-            goto code_r0x005a51d0;

-          }

-          if (bVar2 == 2) {

-            iVar8 = 3;

-          }

-          else {

-            if (bVar2 != 6) goto code_r0x005a51d0;

-            iVar8 = 4;

-          }

-          if (iVar3 != 0) {

-            iVar9 = 0;

-            do {

-              iVar9 = iVar9 + 1;

-              *(char *)(iVar4 + 1) = *(char *)(iVar4 + 1) - *(char *)(iVar4 + 2);

-              *(char *)(iVar4 + 3) = *(char *)(iVar4 + 3) - *(char *)(iVar4 + 2);

-              iVar4 = iVar4 + iVar8;

-            } while (iVar3 != iVar9);

-            goto code_r0x005a51d0;

-          }

-        }

-code_r0x005a51d8:

-        FUN_005ac314(unaff_r4,(int)unaff_r8);

-        if (*(code **)(unaff_r4 + 0x30c) != (code *)0x0) {

-          (**(code **)(unaff_r4 + 0x30c))();

-        }

-      }

-      else {

-        uVar6 = *(uint *)(unaff_r4 + 0x1c4);

-        if ((uVar6 & 2) == 0) goto joined_r0x005a5238;

-        FUN_005abfd4(unaff_r8,(undefined1 *)(*(int *)(unaff_r4 + 0x26c) + 1),

-                     (uint)*(byte *)(unaff_r4 + 0x295));

-        if (iVar3 != 0) goto code_r0x005a5230;

-code_r0x005a5274:

-        FUN_005abc2c(unaff_r4);

-      }

-code_r0x005a5200:

-      unaff_r5 = unaff_r5 + 1;

-      if (unaff_r7 == unaff_r5) {

-        return;

-      }

-      unaff_r6 = unaff_r6 + 1;

-      unaff_r10 = (void *)*unaff_r6;

-    } while ((*(int *)(unaff_r4 + 0x260) != 0) || (*(char *)(unaff_r4 + 0x295) != '\0'));

-    in_r3 = *(uint *)(unaff_r4 + 0x1bc);

-  } while( true );

-}

-

FUN_005a7000

Function Meta

Key dt_aicam_md5
name FUN_005a7000
fullname FUN_005a7000
refcount 1
length 228
called ::memset
FUN_005883fc
FUN_00588448
FUN_0058a4d8
FUN_005a3508
calling
paramcount 6
address 005a7000
sig uint __stdcall FUN_005a7000(int * param_1, int param_2, undefined4 param_3, int param_4, undefined4 param_5, undefined4 param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005a7000
+++ FUN_005a7000
@@ -1,14 +0,0 @@
-

-uint FUN_005a7000(int *param_1,int param_2,undefined4 param_3,int param_4,undefined4 param_5,

-                 undefined4 param_6)

-

-{

-  uint uVar1;

-  undefined4 unaff_r4;

-  int unaff_r5;

-  

-  uVar1 = FUN_005890d8((int)param_1,(char *)param_2);

-  *(undefined4 *)(unaff_r5 + 0x210) = unaff_r4;

-  return uVar1;

-}

-

FUN_005b3218

Function Meta

Key dt_aicam_md5
name FUN_005b3218
fullname FUN_005b3218
refcount 0
length 592
called FUN_005acce8
FUN_005ae300
FUN_005b09ac
FUN_006abd5c
FUN_006abd98
FUN_006ad53c
calling
paramcount 5
address 005b3218
sig undefined __stdcall FUN_005b3218(uint * param_1, uint param_2, uint * param_3, undefined4 param_4, undefined8 param_5)
sym_type Function
sym_source DEFAULT
external False
--- FUN_005b3218
+++ FUN_005b3218
@@ -1,11 +0,0 @@
-

-double FUN_005b3218(uint *param_1,uint param_2,uint *param_3,undefined4 param_4,undefined8 param_5)

-

-{

-  double *unaff_r5;

-  double dVar1;

-  

-  dVar1 = FUN_005ad3c8(unaff_r5,param_2);

-  return dVar1;

-}

-

FUN_0060b240

Function Meta

Key dt_aicam_md5
name FUN_0060b240
fullname FUN_0060b240
refcount 1
length 2268
called
Expand for full list:
::__cxa_throw_bad_array_new_length
::operator.delete[]
::operator.new[]
FUN_005acbd4
FUN_005c8728
FUN_005db44c
FUN_005f9270
FUN_00631774
FUN_006318f4
FUN_00636ac4
FUN_00638b54
FUN_0063f6fc
FUN_0063f74c
FUN_0064a838
FUN_006abd5c
FUN_006abd98
FUN_006ad53c
cv::Mat::~Mat
calling FUN_0060df3c
paramcount 3
address 0060b240
sig undefined __stdcall FUN_0060b240(uint * param_1, uint * param_2, uint * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0060b240
+++ FUN_0060b240
@@ -1,10 +0,0 @@
-

-/* WARNING: Control flow encountered bad instruction data */

-

-void FUN_0060b240(uint *param_1,uint *param_2,uint *param_3)

-

-{

-                    /* WARNING: Bad instruction - Truncating control flow here */

-  halt_baddata();

-}

-

FUN_0060cf18

Function Meta

Key dt_aicam_md5
name FUN_0060cf18
fullname FUN_0060cf18
refcount 1
length 996
called FUN_005acbd4
FUN_00631774
FUN_006318f4
FUN_00636ac4
FUN_00638b54
FUN_0063f6fc
FUN_0063f74c
FUN_006abd5c
FUN_006abd98
FUN_006ad53c
calling
paramcount 2
address 0060cf18
sig double __stdcall FUN_0060cf18(uint * param_1, uint * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0060cf18
+++ FUN_0060cf18
@@ -1,285 +0,0 @@
-

-double FUN_0060cf18(uint *param_1,uint *param_2)

-

-{

-  bool bVar1;

-  bool bVar2;

-  char *pcVar3;

-  uint *puVar4;

-  int extraout_r1;

-  int extraout_r1_00;

-  int extraout_r1_01;

-  undefined4 extraout_r1_02;

-  int extraout_r1_03;

-  int extraout_r1_04;

-  int extraout_r1_05;

-  uint uVar5;

-  int iVar6;

-  uint *puVar7;

-  code *pcVar8;

-  int *piVar9;

-  uint unaff_r4;

-  int *piVar10;

-  Mat *pMVar11;

-  Mat *unaff_r6;

-  Mat *unaff_r7;

-  uint *unaff_r8;

-  uint unaff_r9;

-  Mat *pMVar12;

-  int unaff_r10;

-  int unaff_r11;

-  undefined4 uVar13;

-  

-  if (unaff_r4 != (*(uint *)(unaff_r11 + -0x104) & 0xfff)) {

-    *(Mat **)(unaff_r11 + -0x58) = unaff_r6;

-    *(undefined4 *)(unaff_r11 + -0x5c) = 0x2010000;

-    *(undefined4 *)(unaff_r11 + -0x54) = 0;

-    *(undefined4 *)(unaff_r11 + -0x50) = 0;

-    FUN_005c8ec8((uint *)unaff_r6,(uint *)(unaff_r11 + -0x5c),unaff_r4,0,1.0,0.0);

-  }

-  uVar5 = *(uint *)(unaff_r11 + -0x130);

-  if (unaff_r10 == 0) {

-    uVar5 = *(uint *)(unaff_r11 + -0x134);

-  }

-  uVar13 = 0;

-  FUN_0064d5bc(unaff_r8,uVar5,(char *)uVar5,unaff_r4,0xffffffff,0,(uint *)0x0);

-  pMVar11 = (Mat *)(unaff_r11 + -0xcc);

-  FUN_00503490((uint *)pMVar11,unaff_r8,(char *)0xffffffff);

-  if ((*(int *)(unaff_r11 + -300) == *(int *)(unaff_r11 + -0xbc)) ||

-     ((((unaff_r4 == unaff_r9 && (99 < *(int *)(unaff_r11 + -0xc0))) &&

-       (99 < *(int *)(unaff_r11 + -0xc4))) &&

-      ((99 < *(int *)(unaff_r11 + -0x130) && (99 < *(int *)(unaff_r11 + -0x134))))))) {

-    *(undefined4 *)(unaff_r11 + -0x90) = 0;

-    *(undefined4 *)(unaff_r11 + -0x8c) = 0;

-    *(undefined4 *)(unaff_r11 + -0x88) = 0;

-    *(undefined4 *)(unaff_r11 + -0x84) = 0;

-    *(undefined4 *)(unaff_r11 + -0x80) = 0;

-    *(undefined4 *)(unaff_r11 + -0x7c) = 0;

-    *(undefined4 *)(unaff_r11 + -0x78) = 0;

-    *(undefined4 *)(unaff_r11 + -0x74) = 0;

-    *(undefined4 *)(unaff_r11 + -0x70) = 0;

-    *(undefined4 *)(unaff_r11 + -0x60) = 0;

-    *(undefined4 *)(unaff_r11 + -100) = 0;

-    *(undefined4 *)(unaff_r11 + -0x94) = 0x42ff0000;

-    *(int *)(unaff_r11 + -0x6c) = unaff_r11 + -0x8c;

-    *(int *)(unaff_r11 + -0x68) = unaff_r11 + -100;

-    pMVar12 = unaff_r7;

-    if (*(int *)(unaff_r11 + -0xf4) == 0) {

-      *(int *)(unaff_r11 + -0x180) = unaff_r11 + -0x14c;

-      puVar7 = (uint *)(unaff_r11 - 0x94);

-      *(uint **)(unaff_r11 + -0x184) = puVar7;

-    }

-    else {

-      if (*(int *)(unaff_r11 + -0x100) < 3) {

-        iVar6 = *(int *)(unaff_r11 + -0xf8) * *(int *)(unaff_r11 + -0xfc);

-      }

-      else {

-        iVar6 = 1;

-        piVar10 = *(int **)(unaff_r11 + -0xdc);

-        do {

-          piVar9 = piVar10 + 1;

-          iVar6 = *piVar10 * iVar6;

-          piVar10 = piVar9;

-        } while (piVar9 != *(int **)(unaff_r11 + -0xdc) + *(int *)(unaff_r11 + -0x100));

-      }

-      if (iVar6 == 0) {

-        *(int *)(unaff_r11 + -0x180) = unaff_r11 + -0x14c;

-        *(int *)(unaff_r11 + -0x184) = unaff_r11 + -0x94;

-        puVar7 = (uint *)0x0;

-      }

-      else if ((*(int **)(unaff_r11 + -0x114))[1] == (*(int **)(unaff_r11 + -0xdc))[1] &&

-               **(int **)(unaff_r11 + -0x114) == **(int **)(unaff_r11 + -0xdc)) {

-        *(undefined4 *)(unaff_r11 + -0x15c) = 0x1010000;

-        *(undefined4 *)(unaff_r11 + -0x14c) = 0x1010000;

-        *(undefined4 *)(unaff_r11 + -0x5c) = 0x2010000;

-        *(Mat **)(unaff_r11 + -0x158) = unaff_r7;

-        *(Mat **)(unaff_r11 + -0x148) = unaff_r6;

-        *(undefined4 *)(unaff_r11 + -0x154) = 0;

-        *(int *)(unaff_r11 + -0x184) = unaff_r11 + -0x94;

-        *(undefined4 *)(unaff_r11 + -0x150) = 0;

-        *(undefined4 *)(unaff_r11 + -0x144) = 0;

-        *(undefined4 *)(unaff_r11 + -0x140) = 0;

-        *(undefined4 *)(unaff_r11 + -0x54) = 0;

-        *(undefined4 *)(unaff_r11 + -0x50) = 0;

-        *(int *)(unaff_r11 + -0x58) = unaff_r11 + -0x94;

-        puVar4 = FUN_0063c2a4();

-        puVar7 = (uint *)(unaff_r11 + -0x5c);

-        *(uint **)(unaff_r11 + -0x180) = (uint *)(unaff_r11 + -0x14c);

-        FUN_006c0aa0((uint *)(unaff_r11 + -0x15c),(uint *)(unaff_r11 + -0x14c),puVar7,puVar4,

-                     (uint *)0xffffffff);

-        pMVar12 = *(Mat **)(unaff_r11 + -0x184);

-      }

-      else {

-        *(int *)(unaff_r11 + -0x180) = unaff_r11 + -0x14c;

-        *(int *)(unaff_r11 + -0x184) = unaff_r11 + -0x94;

-        *(undefined4 *)(unaff_r11 + -0x144) = 0;

-        puVar7 = (uint *)(unaff_r11 + -0x5c);

-        *(undefined4 *)(unaff_r11 + -0x14c) = 0x1010000;

-        *(undefined4 *)(unaff_r11 + -0x140) = 0;

-        *(Mat **)(unaff_r11 + -0x148) = unaff_r6;

-        iVar6 = __aeabi_idiv(*(undefined4 *)(unaff_r11 + -0x134),*(undefined4 *)(unaff_r11 + -0xfc))

-        ;

-        pcVar3 = (char *)__aeabi_idiv(*(undefined4 *)(unaff_r11 + -0x130),

-                                      *(undefined4 *)(unaff_r11 + -0xf8));

-        *(undefined4 *)(unaff_r11 + -0x5c) = 0x2010000;

-        *(undefined4 *)(unaff_r11 + -0x54) = 0;

-        *(undefined4 *)(unaff_r11 + -0x50) = 0;

-        *(undefined4 *)(unaff_r11 + -0x58) = *(undefined4 *)(unaff_r11 + -0x184);

-        FUN_005cfc6c(*(uint **)(unaff_r11 + -0x180),iVar6,pcVar3,puVar7);

-        pMVar12 = *(Mat **)(unaff_r11 + -0x184);

-        *(undefined4 *)(unaff_r11 + -0x15c) = 0x1010000;

-        *(undefined4 *)(unaff_r11 + -0x14c) = 0x1010000;

-        *(Mat **)(unaff_r11 + -0x158) = unaff_r7;

-        *(Mat **)(unaff_r11 + -0x148) = pMVar12;

-        *(Mat **)(unaff_r11 + -0x58) = pMVar12;

-        *(undefined4 *)(unaff_r11 + -0x5c) = 0x2010000;

-        *(undefined4 *)(unaff_r11 + -0x154) = 0;

-        *(undefined4 *)(unaff_r11 + -0x150) = 0;

-        *(undefined4 *)(unaff_r11 + -0x144) = 0;

-        *(undefined4 *)(unaff_r11 + -0x140) = 0;

-        *(undefined4 *)(unaff_r11 + -0x54) = 0;

-        *(undefined4 *)(unaff_r11 + -0x50) = 0;

-        puVar4 = FUN_0063c2a4();

-        FUN_006c0aa0((uint *)(unaff_r11 + -0x15c),*(uint **)(unaff_r11 + -0x180),puVar7,puVar4,

-                     (uint *)0xffffffff);

-      }

-    }

-    *(Mat **)(unaff_r11 + -0x178) = pMVar12;

-    *(Mat **)(unaff_r11 + -0x168) = pMVar12;

-    if (unaff_r10 == 0) {

-      puVar7 = (uint *)0x2;

-    }

-    if (unaff_r10 != 0) {

-      puVar7 = (uint *)0x1;

-    }

-    *(Mat **)(unaff_r11 + -0x158) = (Mat *)(unaff_r11 + -0x5c);

-    *(Mat **)(unaff_r11 + -0x148) = pMVar11;

-    *(undefined4 *)(unaff_r11 + -0x5c) = 0x42ff0000;

-    *(undefined4 *)(unaff_r11 + -0x17c) = 0x1010000;

-    *(undefined4 *)(unaff_r11 + -0x16c) = 0x1010000;

-    *(undefined4 *)(unaff_r11 + -0x15c) = 0x1010000;

-    *(undefined4 *)(unaff_r11 + -0x14c) = 0x2010000;

-    *(undefined4 *)(unaff_r11 + -0x174) = 0;

-    *(undefined4 *)(unaff_r11 + -0x170) = 0;

-    *(undefined4 *)(unaff_r11 + -0x164) = 0;

-    *(undefined4 *)(unaff_r11 + -0x160) = 0;

-    *(undefined4 *)(unaff_r11 + -0x58) = 0;

-    *(undefined4 *)(unaff_r11 + -0x54) = 0;

-    *(undefined4 *)(unaff_r11 + -0x50) = 0;

-    *(undefined4 *)(unaff_r11 + -0x4c) = 0;

-    *(undefined4 *)(unaff_r11 + -0x48) = 0;

-    *(undefined4 *)(unaff_r11 + -0x44) = 0;

-    *(undefined4 *)(unaff_r11 + -0x40) = 0;

-    *(undefined4 *)(unaff_r11 + -0x3c) = 0;

-    *(undefined4 *)(unaff_r11 + -0x38) = 0;

-    *(undefined4 *)(unaff_r11 + -0x28) = 0;

-    *(undefined4 *)(unaff_r11 + -0x2c) = 0;

-    *(undefined4 *)(unaff_r11 + -0x154) = 0;

-    *(undefined4 *)(unaff_r11 + -0x150) = 0;

-    *(undefined4 *)(unaff_r11 + -0x144) = 0;

-    *(undefined4 *)(unaff_r11 + -0x140) = 0;

-    *(int *)(unaff_r11 + -0x34) = unaff_r11 + -0x54;

-    *(int *)(unaff_r11 + -0x30) = unaff_r11 + -0x2c;

-    FUN_0060a998((uint *)(unaff_r11 + -0x17c),(uint *)(unaff_r11 + -0x16c),

-                 *(undefined4 *)(unaff_r11 + 4),*(undefined4 *)(unaff_r11 + 8),

-                 (uint *)(unaff_r11 + -0x15c),uVar13,0.0,*(uint **)(unaff_r11 + -0x180),(uint)puVar7

-                );

-    cv::Mat::~Mat((Mat *)(unaff_r11 + -0x5c),extraout_r1_03);

-    cv::Mat::~Mat(*(Mat **)(unaff_r11 + -0x184),extraout_r1_04);

-    iVar6 = extraout_r1_05;

-  }

-  else {

-    bVar1 = unaff_r4 == 5;

-    if (unaff_r9 != 0 || !bVar1) {

-      bVar2 = unaff_r4 != 6;

-      if (unaff_r9 != 0 || bVar2) {

-        if (!bVar1 || unaff_r9 != 2) {

-          if (bVar2 || unaff_r9 != 2) {

-            if (bVar1 && unaff_r9 == 3) {

-              if (unaff_r10 == 0) {

-                pcVar8 = FUN_005ff640;

-              }

-              else {

-                pcVar8 = FUN_00602450;

-              }

-            }

-            else if (bVar2 || unaff_r9 != 3) {

-              if (!bVar1 || unaff_r9 != 5) {

-                if (bVar2 || unaff_r9 != 5) {

-                  if (unaff_r9 != 6 || bVar2) {

-                    piVar10 = (int *)(unaff_r11 + -0x5c);

-                    FUN_00503444(piVar10,"",(uint)bVar1);

-                    FUN_006adcdc(0xffffff2e,piVar10,(int *)"mulTransposed",

-                                 "external/opencv3_archive/modules/core/src/matmul.cpp",0xbe0);

-                    FUN_006ac538(piVar10);

-                    pcVar8 = (code *)0x0;

-                  }

-                  else if (unaff_r10 == 0) {

-                    pcVar8 = FUN_00600628;

-                  }

-                  else {

-                    pcVar8 = FUN_00604160;

-                  }

-                }

-                else if (unaff_r10 == 0) {

-                  pcVar8 = FUN_00600110;

-                }

-                else {

-                  pcVar8 = FUN_00603360;

-                }

-              }

-              else if (unaff_r10 == 0) {

-                pcVar8 = FUN_005fe620;

-              }

-              else {

-                pcVar8 = FUN_006015d8;

-              }

-            }

-            else if (unaff_r10 == 0) {

-              pcVar8 = FUN_00600af8;

-            }

-            else {

-              pcVar8 = FUN_00604838;

-            }

-          }

-          else if (unaff_r10 == 0) {

-            pcVar8 = FUN_00601068;

-          }

-          else {

-            pcVar8 = FUN_00604f70;

-          }

-        }

-        else if (unaff_r10 == 0) {

-          pcVar8 = FUN_005ff0b0;

-        }

-        else {

-          pcVar8 = FUN_00602bd8;

-        }

-      }

-      else if (unaff_r10 == 0) {

-        pcVar8 = FUN_005ffbd0;

-      }

-      else {

-        pcVar8 = FUN_00603a60;

-      }

-    }

-    else if (unaff_r10 == 0) {

-      pcVar8 = FUN_005feb48;

-    }

-    else {

-      pcVar8 = FUN_00601d00;

-    }

-    (*pcVar8)();

-    *(Mat **)(unaff_r11 + -0x58) = pMVar11;

-    *(undefined4 *)(unaff_r11 + -0x54) = 0;

-    *(undefined4 *)(unaff_r11 + -0x50) = 0;

-    *(undefined4 *)(unaff_r11 + -0x5c) = 0x3010000;

-    FUN_0063cb1c((uint *)(unaff_r11 + -0x5c),0);

-    iVar6 = extraout_r1;

-  }

-  cv::Mat::~Mat(pMVar11,iVar6);

-  cv::Mat::~Mat(unaff_r6,extraout_r1_00);

-  pMVar11 = cv::Mat::~Mat(unaff_r7,extraout_r1_01);

-  return (double)CONCAT44(extraout_r1_02,pMVar11);

-}

-

FUN_0060d330

Function Meta

Key dt_aicam_md5
name FUN_0060d330
fullname FUN_0060d330
refcount 0
length 1532
called ::memcpy
FUN_005acbd4
FUN_0060a1f8
FUN_006318f4
FUN_00634e40
FUN_006abd5c
FUN_006abd98
FUN_006ad53c
calling
paramcount 9
address 0060d330
sig undefined __stdcall FUN_0060d330(uint * param_1, uint * param_2, undefined4 param_3, undefined4 param_4, uint * param_5, undefined4 param_6, double param_7, uint * param_8, uint param_9)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0060d330
+++ FUN_0060d330
@@ -1,93 +0,0 @@
-

-void FUN_0060d330(uint *param_1,uint *param_2,uint param_3,undefined4 param_4,uint *param_5,

-                 undefined4 param_6,double param_7,uint *param_8,uint param_9)

-

-{

-  uint *puVar1;

-  int extraout_r1;

-  int extraout_r1_00;

-  int extraout_r1_01;

-  int extraout_r1_02;

-  int extraout_r1_03;

-  Mat *pMVar2;

-  Mat *unaff_r4;

-  Mat *unaff_r5;

-  Mat *unaff_r6;

-  Mat *unaff_r7;

-  undefined4 unaff_r8;

-  int unaff_r9;

-  undefined4 uVar3;

-  int unaff_r10;

-  int unaff_r11;

-  undefined4 in_r12;

-  

-  *(uint *)(unaff_r11 + -0x5c) = param_3 & 0xffff | 0x2010000;

-  *(undefined4 *)(unaff_r11 + -0x54) = unaff_r8;

-  *(undefined4 *)(unaff_r11 + -0x50) = unaff_r8;

-  *(undefined4 *)(unaff_r11 + -0x58) = in_r12;

-  FUN_005cfc6c(*(uint **)(unaff_r11 + -0x180),unaff_r9,(char *)param_1,(uint *)unaff_r4);

-  uVar3 = *(undefined4 *)(unaff_r11 + -0x184);

-  *(undefined4 *)(unaff_r11 + -0x15c) = 0x1010000;

-  *(undefined4 *)(unaff_r11 + -0x14c) = 0x1010000;

-  *(Mat **)(unaff_r11 + -0x158) = unaff_r7;

-  *(undefined4 *)(unaff_r11 + -0x148) = uVar3;

-  *(undefined4 *)(unaff_r11 + -0x58) = uVar3;

-  *(undefined4 *)(unaff_r11 + -0x5c) = 0x2010000;

-  *(undefined4 *)(unaff_r11 + -0x154) = 0;

-  *(undefined4 *)(unaff_r11 + -0x150) = 0;

-  *(undefined4 *)(unaff_r11 + -0x144) = 0;

-  *(undefined4 *)(unaff_r11 + -0x140) = 0;

-  *(undefined4 *)(unaff_r11 + -0x54) = 0;

-  *(undefined4 *)(unaff_r11 + -0x50) = 0;

-  puVar1 = FUN_0063c2a4();

-  pMVar2 = unaff_r4;

-  FUN_006c0aa0((uint *)(unaff_r11 + -0x15c),*(uint **)(unaff_r11 + -0x180),(uint *)unaff_r4,puVar1,

-               (uint *)0xffffffff);

-  *(undefined4 *)(unaff_r11 + -0x178) = uVar3;

-  *(undefined4 *)(unaff_r11 + -0x168) = uVar3;

-  if (unaff_r10 == 0) {

-    pMVar2 = (Mat *)0x2;

-  }

-  if (unaff_r10 != 0) {

-    pMVar2 = (Mat *)0x1;

-  }

-  *(Mat **)(unaff_r11 + -0x158) = unaff_r4;

-  *(Mat **)(unaff_r11 + -0x148) = unaff_r5;

-  *(undefined4 *)(unaff_r11 + -0x5c) = 0x42ff0000;

-  *(undefined4 *)(unaff_r11 + -0x17c) = 0x1010000;

-  *(undefined4 *)(unaff_r11 + -0x16c) = 0x1010000;

-  *(undefined4 *)(unaff_r11 + -0x15c) = 0x1010000;

-  *(undefined4 *)(unaff_r11 + -0x14c) = 0x2010000;

-  *(undefined4 *)(unaff_r11 + -0x174) = 0;

-  *(undefined4 *)(unaff_r11 + -0x170) = 0;

-  *(undefined4 *)(unaff_r11 + -0x164) = 0;

-  *(undefined4 *)(unaff_r11 + -0x160) = 0;

-  *(undefined4 *)(unaff_r11 + -0x58) = 0;

-  *(undefined4 *)(unaff_r11 + -0x54) = 0;

-  *(undefined4 *)(unaff_r11 + -0x50) = 0;

-  *(undefined4 *)(unaff_r11 + -0x4c) = 0;

-  *(undefined4 *)(unaff_r11 + -0x48) = 0;

-  *(undefined4 *)(unaff_r11 + -0x44) = 0;

-  *(undefined4 *)(unaff_r11 + -0x40) = 0;

-  *(undefined4 *)(unaff_r11 + -0x3c) = 0;

-  *(undefined4 *)(unaff_r11 + -0x38) = 0;

-  *(undefined4 *)(unaff_r11 + -0x28) = 0;

-  *(undefined4 *)(unaff_r11 + -0x2c) = 0;

-  *(undefined4 *)(unaff_r11 + -0x154) = 0;

-  *(undefined4 *)(unaff_r11 + -0x150) = 0;

-  *(undefined4 *)(unaff_r11 + -0x144) = 0;

-  *(undefined4 *)(unaff_r11 + -0x140) = 0;

-  *(int *)(unaff_r11 + -0x34) = unaff_r11 + -0x54;

-  *(int *)(unaff_r11 + -0x30) = unaff_r11 + -0x2c;

-  FUN_0060a998((uint *)(unaff_r11 + -0x17c),(uint *)(unaff_r11 + -0x16c),

-               *(undefined4 *)(unaff_r11 + 4),*(undefined4 *)(unaff_r11 + 8),

-               (uint *)(unaff_r11 + -0x15c),param_6,0.0,*(uint **)(unaff_r11 + -0x180),(uint)pMVar2)

-  ;

-  cv::Mat::~Mat(unaff_r4,extraout_r1_01);

-  cv::Mat::~Mat(*(Mat **)(unaff_r11 + -0x184),extraout_r1_02);

-  cv::Mat::~Mat(unaff_r5,extraout_r1_03);

-  cv::Mat::~Mat(unaff_r6,extraout_r1);

-  cv::Mat::~Mat(unaff_r7,extraout_r1_00);

-  return;

-}

-

FUN_0060d980

Function Meta

Key dt_aicam_md5
name FUN_0060d980
fullname FUN_0060d980
refcount 0
length 1340
called
Expand for full list:
FUN_005acbd4
FUN_005c8728
FUN_005db44c
FUN_0060aab8
FUN_006318f4
FUN_006319d8
FUN_006333bc
FUN_00634e40
FUN_006360d4
FUN_006abd5c
FUN_006abd98
FUN_006ad53c
cv::Mat::~Mat
calling
paramcount 4
address 0060d980
sig undefined __stdcall FUN_0060d980(uint * param_1, uint * param_2, uint * param_3, uint * param_4)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0060d980
+++ FUN_0060d980
@@ -1,150 +0,0 @@
-

-double FUN_0060d980(uint *param_1,uint *param_2,uint *param_3,uint *param_4)

-

-{

-  undefined4 *puVar1;

-  uint **ppuVar2;

-  undefined4 uVar3;

-  undefined4 uVar4;

-  int iVar5;

-  int iVar6;

-  undefined4 uVar7;

-  int *piVar8;

-  int iVar9;

-  uint *unaff_r4;

-  uint uVar10;

-  code *unaff_r5;

-  int *piVar11;

-  char *pcVar12;

-  char *pcVar13;

-  int unaff_r9;

-  int unaff_r11;

-  uint *in_r12;

-  undefined4 *puVar14;

-  bool bVar15;

-  double dVar16;

-  double dVar17;

-  

-  if (in_r12 == param_3) {

-    if (in_r12 == (uint *)0x2) {

-      param_3 = (uint *)*param_2;

-      if (((uint *)*param_1 == param_3) &&

-         (param_3 = (uint *)param_2[1], (uint *)param_1[1] == param_3)) goto code_r0x0060d9cc;

-    }

-    else if ((int)in_r12 < 1) {

-code_r0x0060d9cc:

-      if (unaff_r5 != (code *)0x0) {

-        uVar10 = (uint)param_4 & 0x4000;

-        goto joined_r0x0060d7bc;

-      }

-    }

-    else {

-      param_3 = (uint *)*param_1;

-      if ((uint *)*param_2 == param_3) {

-        param_3 = (uint *)0x0;

-        do {

-          param_3 = (uint *)((int)param_3 + 1);

-          if (in_r12 == param_3) goto code_r0x0060d9cc;

-          param_1 = param_1 + 1;

-          param_2 = param_2 + 1;

-        } while (*param_1 == *param_2);

-      }

-    }

-  }

-  piVar11 = (int *)(unaff_r11 + -0x98);

-  *(undefined4 *)(unaff_r11 + -0x98) = 0;

-  *(undefined4 *)(unaff_r11 + -0x94) = 0;

-  puVar1 = (undefined4 *)FUN_006ac4fc(piVar11,0x35,param_3);

-  pcVar12 = "mat.type() == type() && mat.size == size && func != 0";

-  do {

-    puVar14 = puVar1;

-    uVar3 = *(undefined4 *)(pcVar12 + 4);

-    uVar4 = *(undefined4 *)(pcVar12 + 8);

-    uVar7 = *(undefined4 *)(pcVar12 + 0xc);

-    pcVar13 = pcVar12 + 0x10;

-    bVar15 = pcVar12 != " == size && func != 0";

-    *puVar14 = *(undefined4 *)pcVar12;

-    puVar14[1] = uVar3;

-    puVar14[2] = uVar4;

-    puVar14[3] = uVar7;

-    pcVar12 = pcVar13;

-    puVar1 = puVar14 + 4;

-  } while (bVar15);

-  puVar14[4] = *(undefined4 *)pcVar13;

-  *(char *)(puVar14 + 5) = '0';

-  FUN_006adcdc(0xffffff29,piVar11,(int *)&UNK_0082ed48,

-               "external/opencv3_archive/modules/core/src/matmul.cpp",0xd4a);

-  FUN_006ac538(piVar11);

-  uVar10 = *unaff_r4 & 0x4000;

-joined_r0x0060d7bc:

-  if ((uVar10 == 0) || ((*(uint *)(unaff_r11 + -0x5c) & 0x4000) == 0)) {

-    *(undefined8 *)(unaff_r11 + -0x84) = 0;

-    *(uint **)(unaff_r11 + -0x88) = unaff_r4;

-    *(int *)(unaff_r11 + -0x84) = unaff_r11 + -0x5c;

-    ppuVar2 = FUN_0063fe9c((uint **)(unaff_r11 + -0x7c),(uint *)(unaff_r11 + -0x88),

-                           (uint *)(unaff_r11 + -0x90),(uint *)0xffffffff);

-    iVar5 = *(int *)(unaff_r11 + -0x68);

-    dVar17 = 0.0;

-    for (uVar10 = 0; uVar10 < *(uint *)(unaff_r11 + -0x6c); uVar10 = uVar10 + 1) {

-      dVar16 = (double)(*unaff_r5)(*(undefined4 *)(unaff_r11 + -0x90),

-                                   *(undefined4 *)(unaff_r11 + -0x8c),iVar5 * unaff_r9);

-      dVar17 = dVar17 + dVar16;

-      ppuVar2 = (uint **)FUN_0063feec((int *)(unaff_r11 + -0x7c));

-    }

-  }

-  else {

-    if ((int)unaff_r4[1] < 3) {

-      iVar5 = unaff_r4[3] * unaff_r4[2];

-    }

-    else {

-      iVar5 = 1;

-      piVar11 = (int *)unaff_r4[10];

-      do {

-        piVar8 = piVar11 + 1;

-        iVar5 = *piVar11 * iVar5;

-        piVar11 = piVar8;

-      } while ((int *)unaff_r4[10] + unaff_r4[1] != piVar8);

-    }

-    dVar17 = (double)(*unaff_r5)(unaff_r4[4],*(undefined4 *)(unaff_r11 + -0x4c),iVar5 * unaff_r9);

-    ppuVar2 = SUB84(dVar17,0);

-  }

-  if (*(int *)(unaff_r11 + -0x38) != 0) {

-    piVar11 = (int *)(*(int *)(unaff_r11 + -0x38) + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      iVar5 = *piVar11;

-      bVar15 = (bool)hasExclusiveAccess(piVar11);

-    } while (!bVar15);

-    *piVar11 = iVar5 + -1;

-    DataMemoryBarrier(0xb);

-    ppuVar2 = (uint **)0x0;

-    if (iVar5 == 1) {

-      ppuVar2 = (uint **)FUN_00632094(unaff_r11 + -0x5c);

-    }

-  }

-  iVar6 = *(int *)(unaff_r11 + -0x58);

-  iVar9 = 0;

-  *(undefined4 *)(unaff_r11 + -0x38) = 0;

-  *(undefined4 *)(unaff_r11 + -0x4c) = 0;

-  *(undefined4 *)(unaff_r11 + -0x40) = 0;

-  iVar5 = iVar6;

-  if (0 < iVar6) {

-    iVar5 = *(int *)(unaff_r11 + -0x34);

-    ppuVar2 = (uint **)0x0;

-  }

-  *(undefined4 *)(unaff_r11 + -0x44) = 0;

-  *(undefined4 *)(unaff_r11 + -0x48) = 0;

-  if (0 < iVar6) {

-    puVar1 = (undefined4 *)(iVar5 + -4);

-    do {

-      puVar1 = puVar1 + 1;

-      *puVar1 = ppuVar2;

-      iVar9 = iVar9 + 1;

-    } while (iVar9 < *(int *)(unaff_r11 + -0x58));

-  }

-  if (*(int *)(unaff_r11 + -0x30) != unaff_r11 + -0x2c) {

-    FUN_005ad374(*(int *)(unaff_r11 + -0x30));

-  }

-  return dVar17;

-}

-

FUN_0060df3c

Function Meta

Key dt_aicam_md5
name FUN_0060df3c
fullname FUN_0060df3c
refcount 0
length 852
called FUN_005acbd4
FUN_0060b240
FUN_006318f4
FUN_00634e40
FUN_006abd5c
FUN_006abd98
FUN_006ad53c
calling
paramcount 3
address 0060df3c
sig undefined __stdcall FUN_0060df3c(uint * param_1, uint * param_2, uint * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0060df3c
+++ FUN_0060df3c
@@ -1,94 +0,0 @@
-

-void FUN_0060df3c(uint *param_1,uint *param_2,uint *param_3)

-

-{

-  bool bVar1;

-  int iVar2;

-  int iVar3;

-  undefined4 *puVar4;

-  int *in_r3;

-  int iVar5;

-  int *piVar6;

-  int iVar7;

-  int unaff_r5;

-  int unaff_r6;

-  int unaff_r11;

-  undefined1 in_ZR;

-  

-  while (!(bool)in_ZR) {

-    param_3 = (uint *)*in_r3;

-    bVar1 = (bool)hasExclusiveAccess(in_r3);

-    if (bVar1) {

-      *in_r3 = (int)param_3 + -1;

-    }

-    param_1 = (uint *)(uint)!bVar1;

-    in_ZR = param_1 == (uint *)0x0;

-  }

-  DataMemoryBarrier(0xb);

-  if (param_3 == (uint *)0x1) {

-    param_1 = (uint *)FUN_00632094(unaff_r6);

-  }

-  iVar2 = *(int *)(unaff_r11 + -0x108);

-  iVar5 = 0;

-  *(undefined4 *)(unaff_r11 + -0xe8) = 0;

-  *(undefined4 *)(unaff_r11 + -0xfc) = 0;

-  *(undefined4 *)(unaff_r11 + -0xf0) = 0;

-  iVar3 = iVar2;

-  if (0 < iVar2) {

-    iVar3 = *(int *)(unaff_r11 + -0xe4);

-    param_1 = (uint *)0x0;

-  }

-  *(undefined4 *)(unaff_r11 + -0xf4) = 0;

-  *(undefined4 *)(unaff_r11 + -0xf8) = 0;

-  if (0 < iVar2) {

-    puVar4 = (undefined4 *)(iVar3 + -4);

-    do {

-      puVar4 = puVar4 + 1;

-      *puVar4 = param_1;

-      iVar5 = iVar5 + 1;

-    } while (iVar5 < *(int *)(unaff_r11 + -0x108));

-  }

-  iVar3 = *(int *)(unaff_r11 + -0xe0);

-  if (iVar3 != unaff_r11 + -0xdc) {

-    iVar3 = FUN_005ad374(iVar3);

-  }

-  if (*(int *)(unaff_r11 + -0x120) != 0) {

-    piVar6 = (int *)(*(int *)(unaff_r11 + -0x120) + 0xc);

-    DataMemoryBarrier(0xb);

-    do {

-      iVar2 = *piVar6;

-      bVar1 = (bool)hasExclusiveAccess(piVar6);

-    } while (!bVar1);

-    *piVar6 = iVar2 + -1;

-    DataMemoryBarrier(0xb);

-    iVar3 = 0;

-    if (iVar2 == 1) {

-      iVar3 = FUN_00632094(unaff_r5);

-    }

-  }

-  iVar5 = *(int *)(unaff_r11 + -0x140);

-  iVar7 = 0;

-  *(undefined4 *)(unaff_r11 + -0x120) = 0;

-  *(undefined4 *)(unaff_r11 + -0x134) = 0;

-  *(undefined4 *)(unaff_r11 + -0x128) = 0;

-  iVar2 = iVar5;

-  if (0 < iVar5) {

-    iVar2 = *(int *)(unaff_r11 + -0x11c);

-    iVar3 = 0;

-  }

-  *(undefined4 *)(unaff_r11 + -300) = 0;

-  *(undefined4 *)(unaff_r11 + -0x130) = 0;

-  if (0 < iVar5) {

-    piVar6 = (int *)(iVar2 + -4);

-    do {

-      piVar6 = piVar6 + 1;

-      *piVar6 = iVar3;

-      iVar7 = iVar7 + 1;

-    } while (iVar7 < *(int *)(unaff_r11 + -0x140));

-  }

-  if (*(int *)(unaff_r11 + -0x118) != unaff_r11 + -0x114) {

-    FUN_005ad374(*(int *)(unaff_r11 + -0x118));

-  }

-  return;

-}

-

FUN_0065d79c

Function Meta

Key dt_aicam_md5
name FUN_0065d79c
fullname FUN_0065d79c
refcount 1
length 32
called FUN_0065cdf4
calling
paramcount 2
address 0065d79c
sig undefined4 * __stdcall FUN_0065d79c(undefined4 * param_1, undefined4 param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0065d79c
+++ FUN_0065d79c
@@ -1,297 +0,0 @@
-

-undefined4 * FUN_0065d79c(undefined4 *param_1,undefined4 param_2)

-

-{

-  code *pcVar1;

-  char *pcVar2;

-  undefined4 uVar3;

-  int iVar4;

-  undefined4 *puVar5;

-  char *pcVar6;

-  long lVar7;

-  void *pvVar8;

-  undefined1 uVar9;

-  undefined4 uVar10;

-  int *piVar11;

-  uint uVar12;

-  int iVar13;

-  uint uVar14;

-  int unaff_r4;

-  int *piVar15;

-  size_t __n;

-  int *unaff_r6;

-  int *unaff_r7;

-  char *pcVar16;

-  int *unaff_r9;

-  int unaff_r11;

-  bool bVar17;

-  

-  pcVar1 = DAT_009e0470;

-  if (((param_1 == (undefined4 *)0x0) && (*(int *)(unaff_r11 + -0x70) == 4)) &&

-     (*(int *)(unaff_r11 + -0x74) != 0)) {

-    uVar9 = 1;

-    uVar3 = *(undefined4 *)(unaff_r4 + 4);

-  }

-  else {

-    uVar9 = 0;

-    uVar3 = *(undefined4 *)(unaff_r4 + 4);

-  }

-  bVar17 = DAT_009e0470 == (code *)0x0;

-  *(undefined1 *)(unaff_r4 + 0x1c) = uVar9;

-  *(undefined4 *)(unaff_r11 + -0x6c) = 0;

-  *(undefined4 *)(unaff_r11 + -0x68) = 0;

-  if (bVar17) {

-    *(undefined4 *)(unaff_r4 + 0x20) = 0;

-LAB_0065da68:

-    *(undefined4 *)(unaff_r4 + 0x24) = 0;

-LAB_0065da70:

-    uVar10 = 0;

-    DAT_009e0470 = (code *)0x0;

-  }

-  else {

-    iVar4 = (*pcVar1)(uVar3,0x1002,4,unaff_r11 + -0x6c);

-    pcVar1 = DAT_009e0470;

-    if (iVar4 == 0) {

-      if (*(int *)(unaff_r11 + -0x68) == 4) {

-        uVar10 = *(undefined4 *)(unaff_r11 + -0x6c);

-        uVar3 = *(undefined4 *)(unaff_r4 + 4);

-      }

-      else {

-        uVar3 = *(undefined4 *)(unaff_r4 + 4);

-        uVar10 = 0;

-      }

-    }

-    else {

-      uVar10 = 0;

-      uVar3 = *(undefined4 *)(unaff_r4 + 4);

-    }

-    bVar17 = DAT_009e0470 == (code *)0x0;

-    *(undefined4 *)(unaff_r4 + 0x20) = uVar10;

-    *(undefined4 *)(unaff_r11 + -100) = 0;

-    *(undefined4 *)(unaff_r11 + -0x60) = 0;

-    if (bVar17) goto LAB_0065da68;

-    iVar4 = (*pcVar1)(uVar3,0x1004,4,unaff_r11 + -100);

-    pcVar1 = DAT_009e0470;

-    if (iVar4 == 0) {

-      if (*(int *)(unaff_r11 + -0x60) == 4) {

-        uVar10 = *(undefined4 *)(unaff_r11 + -100);

-        uVar3 = *(undefined4 *)(unaff_r4 + 4);

-      }

-      else {

-        uVar3 = *(undefined4 *)(unaff_r4 + 4);

-        uVar10 = 0;

-      }

-    }

-    else {

-      uVar10 = 0;

-      uVar3 = *(undefined4 *)(unaff_r4 + 4);

-    }

-    bVar17 = DAT_009e0470 == (code *)0x0;

-    *(undefined4 *)(unaff_r4 + 0x24) = uVar10;

-    *(undefined4 *)(unaff_r11 + -0x5c) = 0;

-    *(undefined4 *)(unaff_r11 + -0x58) = 0;

-    if (bVar17) goto LAB_0065da70;

-    iVar4 = (*pcVar1)(uVar3,0x1000,4,unaff_r11 + -0x5c);

-    if (iVar4 == 0) {

-      uVar3 = *(undefined4 *)(unaff_r4 + 4);

-      uVar10 = 0;

-      if (*(int *)(unaff_r11 + -0x58) == 4) {

-        uVar10 = *(undefined4 *)(unaff_r11 + -0x5c);

-      }

-    }

-    else {

-      uVar3 = *(undefined4 *)(unaff_r4 + 4);

-      uVar10 = 0;

-    }

-  }

-  piVar15 = (int *)(unaff_r11 + -0x4c);

-  *(undefined4 *)(unaff_r4 + 0x28) = uVar10;

-  FUN_0065c7dc(piVar15,uVar3,0x102d);

-  if ((int *)(unaff_r4 + 0x34) != piVar15) {

-    FUN_006ac538((int *)(unaff_r4 + 0x34));

-    iVar4 = *(int *)(unaff_r11 + -0x4c);

-    if (iVar4 != 0) {

-      piVar11 = (int *)(iVar4 + -4);

-      DataMemoryBarrier(0xb);

-      do {

-        bVar17 = (bool)hasExclusiveAccess(piVar11);

-      } while (!bVar17);

-      *piVar11 = *piVar11 + 1;

-      DataMemoryBarrier(0xb);

-      iVar4 = *(int *)(unaff_r11 + -0x4c);

-    }

-    uVar3 = *(undefined4 *)(unaff_r11 + -0x48);

-    *(int *)(unaff_r4 + 0x34) = iVar4;

-    *(undefined4 *)(unaff_r4 + 0x38) = uVar3;

-  }

-  FUN_006ac538(piVar15);

-  FUN_0065c7dc(unaff_r6,*(undefined4 *)(unaff_r4 + 4),0x102f);

-  uVar12 = *(uint *)(unaff_r11 + -0x38);

-  *(undefined4 *)(unaff_r4 + 0x30) = 0;

-  *(undefined4 *)(unaff_r4 + 0x2c) = 0;

-  if ((10 < uVar12) && (pcVar16 = *(char **)(unaff_r11 + -0x3c), pcVar16 != (char *)0x0)) {

-    *(uint *)(unaff_r11 + -0x88) = uVar12;

-    iVar4 = strncmp(pcVar16,"OpenCL ",7);

-    iVar13 = *(int *)(unaff_r11 + -0x88);

-    if ((iVar4 == 0) && (pcVar6 = pcVar16 + 7, pcVar6 <= pcVar16 + iVar13 + -1)) {

-      if (pcVar16[7] != '.') {

-        pcVar2 = pcVar16 + 8;

-        do {

-          pcVar6 = pcVar2;

-          if (pcVar6 == pcVar16 + iVar13) goto LAB_0065d984;

-          pcVar2 = pcVar6 + 1;

-        } while (*pcVar6 != '.');

-      }

-      iVar4 = (int)pcVar6 - (int)pcVar16;

-      if (iVar4 != -1) {

-        uVar12 = iVar4 - 7;

-        *(uint *)(unaff_r11 + -0x88) = iVar13 - 7U;

-        *(undefined4 *)(unaff_r11 + -0x34) = 0;

-        *(undefined4 *)(unaff_r11 + -0x30) = 0;

-        if (uVar12 < iVar13 - 7U) {

-          if (uVar12 != 0) {

-            *(uint *)(unaff_r11 + -0x88) = uVar12;

-            goto LAB_0065dd70;

-          }

-LAB_0065dc7c:

-          pcVar16 = "";

-        }

-        else {

-LAB_0065dd70:

-          if (iVar13 == *(int *)(unaff_r11 + -0x88)) {

-            piVar15 = (int *)(pcVar16 + -4);

-            DataMemoryBarrier(0xb);

-            do {

-              bVar17 = (bool)hasExclusiveAccess(piVar15);

-            } while (!bVar17);

-            *piVar15 = *piVar15 + 1;

-            DataMemoryBarrier(0xb);

-            pcVar16 = *(char **)(unaff_r11 + -0x3c);

-            *(undefined4 *)(unaff_r11 + -0x30) = *(undefined4 *)(unaff_r11 + -0x38);

-            *(char **)(unaff_r11 + -0x34) = pcVar16;

-          }

-          else {

-            pvVar8 = (void *)FUN_006ac4fc((undefined4 *)(unaff_r11 + -0x34),

-                                          *(int *)(unaff_r11 + -0x88),*(int *)(unaff_r11 + -0x88));

-            memcpy(pvVar8,(void *)(*(int *)(unaff_r11 + -0x3c) + 7),*(size_t *)(unaff_r11 + -0x88));

-            pcVar16 = *(char **)(unaff_r11 + -0x34);

-          }

-          if (pcVar16 == (char *)0x0) goto LAB_0065dc7c;

-        }

-        lVar7 = strtol(pcVar16,(char **)0x0,10);

-        uVar14 = *(uint *)(unaff_r11 + -0x38);

-        *(undefined4 *)(unaff_r11 + -0x2c) = 0;

-        *(undefined4 *)(unaff_r11 + -0x28) = 0;

-        uVar12 = uVar14;

-        if (iVar4 + 1U < uVar14) {

-          uVar12 = iVar4 + 1U;

-        }

-        __n = uVar14 - uVar12;

-        *(uint *)(unaff_r11 + -0x8c) = uVar12;

-        if (__n == 0) {

-          uVar14 = unaff_r11 - 0x2c;

-        }

-        *(long *)(unaff_r4 + 0x2c) = lVar7;

-        if (__n == 0) {

-          *(uint *)(unaff_r11 + -0x88) = uVar14;

-        }

-        else if (uVar14 == __n) {

-          DataMemoryBarrier(0xb);

-          piVar15 = (int *)(*(int *)(unaff_r11 + -0x3c) + -4);

-          do {

-            bVar17 = (bool)hasExclusiveAccess(piVar15);

-          } while (!bVar17);

-          *piVar15 = *piVar15 + 1;

-          DataMemoryBarrier(0xb);

-          *(int *)(unaff_r11 + -0x88) = unaff_r11 + -0x2c;

-          *(undefined4 *)(unaff_r11 + -0x2c) = *(undefined4 *)(unaff_r11 + -0x3c);

-          *(undefined4 *)(unaff_r11 + -0x28) = *(undefined4 *)(unaff_r11 + -0x38);

-        }

-        else {

-          *(undefined4 **)(unaff_r11 + -0x88) = (undefined4 *)(unaff_r11 + -0x2c);

-          pvVar8 = (void *)FUN_006ac4fc((undefined4 *)(unaff_r11 + -0x2c),__n,0);

-          memcpy(pvVar8,(void *)(*(int *)(unaff_r11 + -0x3c) + *(int *)(unaff_r11 + -0x8c)),__n);

-        }

-        FUN_006ac538((int *)(unaff_r11 + -0x34));

-        iVar4 = *(int *)(unaff_r11 + -0x2c);

-        if (iVar4 != 0) {

-          piVar15 = (int *)(iVar4 + -4);

-          DataMemoryBarrier(0xb);

-          do {

-            bVar17 = (bool)hasExclusiveAccess(piVar15);

-          } while (!bVar17);

-          *piVar15 = *piVar15 + 1;

-          DataMemoryBarrier(0xb);

-          iVar4 = *(int *)(unaff_r11 + -0x2c);

-        }

-        *(int *)(unaff_r11 + -0x34) = iVar4;

-        *(undefined4 *)(unaff_r11 + -0x30) = *(undefined4 *)(unaff_r11 + -0x28);

-        FUN_006ac538(*(int **)(unaff_r11 + -0x88));

-        pcVar16 = *(char **)(unaff_r11 + -0x34);

-        if (pcVar16 == (char *)0x0) {

-          pcVar16 = "";

-        }

-        lVar7 = strtol(pcVar16,(char **)0x0,10);

-        *(long *)(unaff_r4 + 0x30) = lVar7;

-        FUN_006ac538((int *)(unaff_r11 + -0x34));

-      }

-    }

-  }

-LAB_0065d984:

-  piVar15 = (int *)(unaff_r11 + -0x54);

-  FUN_0065c7dc(piVar15,*(undefined4 *)(unaff_r4 + 4),0x102c);

-  if (unaff_r9 != piVar15) {

-    FUN_006ac538(unaff_r9);

-    iVar4 = *(int *)(unaff_r11 + -0x54);

-    if (iVar4 != 0) {

-      piVar11 = (int *)(iVar4 + -4);

-      DataMemoryBarrier(0xb);

-      do {

-        bVar17 = (bool)hasExclusiveAccess(piVar11);

-      } while (!bVar17);

-      *piVar11 = *piVar11 + 1;

-      DataMemoryBarrier(0xb);

-      iVar4 = *(int *)(unaff_r11 + -0x54);

-    }

-    uVar3 = *(undefined4 *)(unaff_r11 + -0x50);

-    *(int *)(unaff_r4 + 0x3c) = iVar4;

-    *(undefined4 *)(unaff_r4 + 0x40) = uVar3;

-  }

-  FUN_006ac538(piVar15);

-  pcVar16 = *(char **)(unaff_r4 + 0x3c);

-  if (pcVar16 == "Advanced Micro Devices, Inc.") {

-LAB_0065da24:

-    *(undefined4 *)(unaff_r4 + 0x44) = 1;

-  }

-  else {

-    if (pcVar16 == (char *)0x0) {

-LAB_0065db58:

-      if ((*(char **)(unaff_r4 + 8) == (char *)0x0) ||

-         (pcVar6 = strstr(*(char **)(unaff_r4 + 8),"Iris"), pcVar6 == (char *)0x0)) {

-        if ((pcVar16 == "NVIDIA Corporation") ||

-           ((pcVar16 != (char *)0x0 && (iVar4 = strcmp(pcVar16,"NVIDIA Corporation"), iVar4 == 0))))

-        {

-          *(undefined4 *)(unaff_r4 + 0x44) = 3;

-        }

-        else {

-          *(undefined4 *)(unaff_r4 + 0x44) = 0;

-        }

-        goto LAB_0065da2c;

-      }

-    }

-    else {

-      iVar4 = strcmp(pcVar16,"Advanced Micro Devices, Inc.");

-      if ((pcVar16 == "AMD" || iVar4 == 0) || (iVar4 = strcmp(pcVar16,"AMD"), iVar4 == 0))

-      goto LAB_0065da24;

-      if ((((pcVar16 != "Intel(R) Corporation") &&

-           (iVar4 = strcmp(pcVar16,"Intel(R) Corporation"), iVar4 != 0)) && (pcVar16 != "Intel")) &&

-         (iVar4 = strcmp(pcVar16,"Intel"), iVar4 != 0)) goto LAB_0065db58;

-    }

-    *(undefined4 *)(unaff_r4 + 0x44) = 2;

-  }

-LAB_0065da2c:

-  puVar5 = (undefined4 *)FUN_006ac538(unaff_r6);

-  *unaff_r7 = unaff_r4;

-  return puVar5;

-}

-

FUN_0065db98

Function Meta

Key dt_aicam_md5
name FUN_0065db98
fullname FUN_0065db98
refcount 1
length 140
called
calling
paramcount 0
address 0065db98
sig undefined FUN_0065db98(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0065db98
+++ FUN_0065db98
@@ -1,19 +0,0 @@
-

-void FUN_0065db98(int param_1)

-

-{

-  int unaff_r4;

-  int *unaff_r6;

-  int *unaff_r7;

-  

-  if (param_1 == 0) {

-    *(undefined4 *)(unaff_r4 + 0x44) = 3;

-  }

-  else {

-    *(undefined4 *)(unaff_r4 + 0x44) = 0;

-  }

-  FUN_006ac538(unaff_r6);

-  *unaff_r7 = unaff_r4;

-  return;

-}

-

FUN_006e59c4

Function Meta

Key dt_aicam_md5
name FUN_006e59c4
fullname FUN_006e59c4
refcount 1
length 352
called ::__aeabi_f2iz
::__aeabi_fcmpeq
::__aeabi_fsub
::__aeabi_ui2f
::fprintf
::kill
::select
FUN_006ea4bc
FUN_006ea518
calling
paramcount 1
address 006e59c4
sig undefined __stdcall FUN_006e59c4(int param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_006e59c4
+++ FUN_006e59c4
@@ -1,7 +0,0 @@
-

-void FUN_006e59c4(int param_1)

-

-{

-  return;

-}

-

FUN_00056efc

Function Meta

Key dt_aicam_md5
name FUN_00056efc
fullname FUN_00056efc
refcount 0
length 796
called ::memset
FUN_0004789c
FUN_0004a274
FUN_0004f17c
FUN_00054d9c
FUN_000a3d7c
FUN_000a48b0
FUN_000d4dac
calling
paramcount 0
address 00056efc
sig undefined4 __stdcall FUN_00056efc(void)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00056efc
+++ FUN_00056efc
@@ -1,54 +0,0 @@
-

-undefined4 FUN_00056efc(void)

-

-{

-  int iVar1;

-  undefined4 uVar2;

-  

-  FUN_000a48b0("productini");

-  FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_Read",0x6d,"PARAM_Read ---------------------\n");

-  iVar1 = FUN_000a3d7c("productini","/tmp/ini/inicfg/config_cfgaccess_entry.ini");

-  if (iVar1 == 0) {

-    memset((void *)s_stPARAMCtx._28_4_,0,0x1ab8);

-    iVar1 = FUN_0004a274((char *)(s_stPARAMCtx._28_4_ + 0x14e0));

-    if (iVar1 == 0) {

-      iVar1 = FUN_0004f17c((uint *)s_stPARAMCtx._28_4_);

-      if (iVar1 == 0) {

-        iVar1 = FUN_0004789c((char *)(s_stPARAMCtx._28_4_ + 0x1310));

-        if (iVar1 == 0) {

-          iVar1 = FUN_00054d9c((long *)(s_stPARAMCtx._28_4_ + 0x1860));

-          if (iVar1 == 0) {

-            FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_Read",0x81,"Param Size[%lu]\n");

-            FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_Read",0x82,"DeviceCfg Size[%lu]\n");

-            FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_Read",0x83,"CommunicineCfg Size[%lu]\n");

-            FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_Read",0x84,"FileMngCfg Size[%lu]\n");

-            FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_Read",0x85,"UserCfg Size[%lu]\n");

-            uVar2 = 0;

-          }

-          else {

-            uVar2 = 0xffffffff;

-            FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Read",0x7f," Load [%s] failed\n");

-          }

-        }

-        else {

-          uVar2 = 0xffffffff;

-          FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Read",0x7b," Load [%s] failed\n");

-        }

-      }

-      else {

-        uVar2 = 0xffffffff;

-        FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Read",0x77," Load [%s] failed\n");

-      }

-    }

-    else {

-      uVar2 = 0xffffffff;

-      FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Read",0x73," Load [%s] failed\n");

-    }

-  }

-  else {

-    uVar2 = 0xffffffff;

-    FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Read",0x70," Load [%s] failed\n");

-  }

-  return uVar2;

-}

-

FUN_001496ec

Function Meta

Key dt_aicam_md5
name FUN_001496ec
fullname FUN_001496ec
refcount 0
length 556
called ::__stack_chk_fail
::fprintf
FUN_00147908
FUN_0014826c
memcpy_s
calling
paramcount 3
address 001496ec
sig undefined __stdcall FUN_001496ec(uint param_1, uint param_2, uint * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_001496ec
+++ FUN_001496ec
@@ -1,74 +0,0 @@
-

-void FUN_001496ec(uint param_1,uint param_2,uint *param_3)

-

-{

-  int iVar1;

-  uint uVar2;

-  int iVar3;

-  bool bVar4;

-  undefined1 auStack_460 [24];

-  uint local_448;

-  uint local_440;

-  uint local_43c;

-  undefined1 auStack_438 [8];

-  undefined1 auStack_430 [16];

-  undefined1 auStack_420 [20];

-  undefined1 auStack_40c [1000];

-  int local_24;

-  

-  local_24 = __stack_chk_guard;

-  if (param_1 < 2) {

-    if (param_2 < 3) {

-      if (param_3 == (uint *)0x0) {

-        iVar1 = -0x5fe97ffa;

-      }

-      else {

-        iVar3 = param_1 * 3 + param_2;

-        iVar1 = FUN_00147908(iVar3);

-        if ((iVar1 == 0) && (iVar1 = FUN_0014826c(param_1,param_2,auStack_460), iVar1 == 0)) {

-          *param_3 = 0;

-          if (*(int *)(&DAT_0092cd9c + iVar3 * 0x98) != 0) {

-            *param_3 = 4;

-          }

-          if (*(int *)(&DAT_0092cd94 + iVar3 * 0x98) != 0) {

-            *param_3 = *param_3 | 2;

-          }

-          if (*(int *)(&DAT_0092cda4 + iVar3 * 0x98) != 0) {

-            *param_3 = *param_3 | 8;

-          }

-          uVar2 = *(uint *)(&DAT_0092cda0 + iVar3 * 0x98);

-          param_3[1] = local_448;

-          param_3[3] = local_43c;

-          bVar4 = uVar2 != 0;

-          param_3[2] = local_440;

-          if (bVar4) {

-            uVar2 = *param_3;

-          }

-          if (bVar4) {

-            *param_3 = uVar2 | 1;

-          }

-          memcpy_s(param_3 + 10,0x14,auStack_420,0x14);

-          memcpy_s(param_3 + 6,0x10,auStack_430,0x10);

-          memcpy_s(param_3 + 0xf,0x10,auStack_40c,0x10);

-          memcpy_s(param_3 + 4,8,auStack_438,8);

-        }

-      }

-    }

-    else {

-      iVar1 = -0x5fe97ffe;

-      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:ao chnid %d is invalid\n","hi_mpi_ao_get_vqe_attr",

-              0xa1d,param_2);

-    }

-  }

-  else {

-    iVar1 = -0x5fe97fff;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:ao dev %d is invalid\n","hi_mpi_ao_get_vqe_attr",

-            0xa1c,param_1);

-  }

-  if (local_24 != __stack_chk_guard) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail(iVar1);

-  }

-  return;

-}

-

FUN_0015d3e8

Function Meta

Key dt_aicam_md5
name FUN_0015d3e8
fullname FUN_0015d3e8
refcount 0
length 176
called ::fprintf
::fwrite
FUN_0015fab0
calling
paramcount 2
address 0015d3e8
sig int __stdcall FUN_0015d3e8(int param_1, int * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0015d3e8
+++ FUN_0015d3e8
@@ -1,20 +0,0 @@
-

-int FUN_0015d3e8(int param_1,int *param_2)

-

-{

-  int iVar1;

-  

-  if (param_1 != 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_callback_func",0x7ac);

-    fprintf(stderr,"Invalid HDMI DEV ID:%d!\n",param_1);

-    return -0x5fd77ffe;

-  }

-  if (param_2 != (int *)0x0) {

-    iVar1 = FUN_0015fab0(0,param_2);

-    return iVar1;

-  }

-  fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_callback_func",0x7ad);

-  fwrite("NULL pointer!!\n",1,0xf,stderr);

-  return -0x5fd77ffd;

-}

-

FUN_0015d4b8

Function Meta

Key dt_aicam_md5
name FUN_0015d4b8
fullname FUN_0015d4b8
refcount 0
length 176
called ::fprintf
::fwrite
FUN_0015fe54
calling
paramcount 2
address 0015d4b8
sig int __stdcall FUN_0015d4b8(int param_1, int * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0015d4b8
+++ FUN_0015d4b8
@@ -1,20 +0,0 @@
-

-int FUN_0015d4b8(int param_1,int *param_2)

-

-{

-  int iVar1;

-  

-  if (param_1 != 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_unreg_callback_func",0x7b4);

-    fprintf(stderr,"Invalid HDMI DEV ID:%d!\n",param_1);

-    return -0x5fd77ffe;

-  }

-  if (param_2 != (int *)0x0) {

-    iVar1 = FUN_0015fe54(0,param_2);

-    return iVar1;

-  }

-  fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_unreg_callback_func",0x7b5);

-  fwrite("NULL pointer!!\n",1,0xf,stderr);

-  return -0x5fd77ffd;

-}

-

FUN_0015d588

Function Meta

Key dt_aicam_md5
name FUN_0015d588
fullname FUN_0015d588
refcount 0
length 236
called ::fprintf
::fwrite
calling
paramcount 2
address 0015d588
sig undefined4 __stdcall FUN_0015d588(int param_1, int param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0015d588
+++ FUN_0015d588
@@ -1,19 +0,0 @@
-

-undefined4 FUN_0015d588(int param_1,int param_2)

-

-{

-  if (param_1 != 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_cec_callback_func",0x7bd);

-    fprintf(stderr,"Invalid HDMI DEV ID:%d!\n",param_1);

-    return 0xa0288002;

-  }

-  if (param_2 != 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_cec_callback_func",0x7c1);

-    fwrite("Not support CEC!\n",1,0x11,stderr);

-    return 0xa028800a;

-  }

-  fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_cec_callback_func",0x7be);

-  fwrite("NULL pointer!!\n",1,0xf,stderr);

-  return 0xa0288003;

-}

-

FUN_0015f64c

Function Meta

Key dt_aicam_md5
name FUN_0015f64c
fullname FUN_0015f64c
refcount 0
length 376
called ::fprintf
::fwrite
::ioctl
::pthread_mutex_lock
::pthread_mutex_unlock
calling
paramcount 2
address 0015f64c
sig int __stdcall FUN_0015f64c(int param_1, undefined4 * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0015f64c
+++ FUN_0015f64c
@@ -1,44 +0,0 @@
-

-int FUN_0015f64c(int param_1,undefined4 *param_2)

-

-{

-  int iVar1;

-  

-  if (param_1 == 0) {

-    if (param_2 == (undefined4 *)0x0) {

-      iVar1 = -0x5fd77ffd;

-      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_com_get_sink_capability",0x323);

-      fwrite("poiner is NULL!!\n",1,0x11,stderr);

-    }

-    else {

-      iVar1 = pthread_mutex_lock((pthread_mutex_t *)&DAT_0092fecc);

-      if (iVar1 == 0) {

-        if (DAT_0092fe14 == 1) {

-          *param_2 = 0;

-          iVar1 = ioctl(DAT_00883b10,0xcff45108,param_2);

-          pthread_mutex_unlock((pthread_mutex_t *)&DAT_0092fecc);

-          if (iVar1 == -1) {

-            iVar1 = -0x5fd77feb;

-            fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_com_get_sink_capability",0x32a

-                   );

-            fwrite("Hdmi Kernel Strategy fail\n",1,0x1a,stderr);

-          }

-        }

-        else {

-          iVar1 = -0x5fd77ffc;

-          pthread_mutex_unlock((pthread_mutex_t *)&DAT_0092fecc);

-        }

-      }

-      else {

-        iVar1 = -0x5fd77ffc;

-      }

-    }

-  }

-  else {

-    iVar1 = -0x5fd77ffe;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_com_get_sink_capability",0x322);

-    fprintf(stderr,"hdmi_id %d is invalid.\n",param_1);

-  }

-  return iVar1;

-}

-

FUN_00219ac0

Function Meta

Key dt_aicam_md5
name FUN_00219ac0
fullname FUN_00219ac0
refcount 1
length 608
called ::fprintf
calling
paramcount 2
address 00219ac0
sig undefined4 __stdcall FUN_00219ac0(int param_1, ushort * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00219ac0
+++ FUN_00219ac0
@@ -1,77 +0,0 @@
-

-undefined4 FUN_00219ac0(int param_1,ushort *param_2)

-

-{

-  undefined4 uVar1;

-  char cVar2;

-  int iVar3;

-  int iVar4;

-  int *piVar5;

-  double dVar6;

-  

-  if (param_2 == (ushort *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_set_image_mode",0x53c);

-    return 0xa01c8006;

-  }

-  piVar5 = *(int **)(g_pastImx335 + param_1 * 4);

-  if (piVar5 == (int *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_set_image_mode",0x53e);

-    return 0xa01c8006;

-  }

-  iVar3 = piVar5[3];

-  piVar5[1] = 0;

-  if (iVar3 == 3) {

-    iVar4 = *(int *)param_2;

-    if (iVar4 == 0x5a00a00) {

-      *(undefined4 *)(g_astimx335State + param_1 * 0xc) = 0xb90;

-      piVar5[0x216] = 0x1194;

-      cVar2 = '\x02';

-LAB_00219b50:

-      iVar3 = *piVar5;

-    }

-    else {

-      if (iVar4 != 0x5f00a20 && iVar4 != 0x7980a20) {

-        uVar1 = 0x54d;

-        dVar6 = (double)*(float *)(param_2 + 2);

-        goto LAB_00219c40;

-      }

-      *(undefined4 *)(g_astimx335State + param_1 * 0xc) = 0xf80;

-      piVar5[0x216] = 0x1194;

-      cVar2 = '\x01';

-      iVar3 = *piVar5;

-    }

-    if ((iVar3 == 1) && ((char)piVar5[2] == cVar2)) {

-      uVar1 = 0xfffffffe;

-    }

-    else {

-      uVar1 = 0;

-      *(char *)(piVar5 + 2) = cVar2;

-      piVar5[0x214] = piVar5[0x216];

-      piVar5[0x215] = piVar5[0x216];

-    }

-  }

-  else {

-    if (iVar3 == 0) {

-      if (*(int *)param_2 == 0x5f00a20 || *(int *)param_2 == 0x7980a20) {

-        *(undefined4 *)(g_astimx335State + param_1 * 0xc) = 0xf80;

-        piVar5[0x216] = 0x1194;

-        cVar2 = '\0';

-        goto LAB_00219b50;

-      }

-      iVar3 = 0;

-      uVar1 = 0x557;

-      dVar6 = (double)*(float *)(param_2 + 2);

-    }

-    else {

-      uVar1 = 0x55b;

-      dVar6 = (double)*(float *)(param_2 + 2);

-    }

-LAB_00219c40:

-    fprintf(stderr,

-            "[Func]:%s [Line]:%d [Info]:Not support! Width:%d, Height:%d, Fps:%f, WDRMode:%d\n",

-            "cmos_set_image_mode",uVar1,(uint)*param_2,(uint)param_2[1],dVar6,iVar3);

-    uVar1 = 0xffffffff;

-  }

-  return uVar1;

-}

-

FUN_00219f80

Function Meta

Key dt_aicam_md5
name FUN_00219f80
fullname FUN_00219f80
refcount 1
length 292
called ::fprintf
calling
paramcount 3
address 00219f80
sig undefined __stdcall FUN_00219f80(int param_1, uint param_2, int param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00219f80
+++ FUN_00219f80
@@ -1,50 +0,0 @@
-

-void FUN_00219f80(int param_1,uint param_2,int param_3)

-

-{

-  int iVar1;

-  int iVar2;

-  

-  if (param_3 == 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_slow_framerate_set",0x1a6);

-    return;

-  }

-  iVar2 = *(int *)(g_pastImx335 + param_1 * 4);

-  if (iVar2 == 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_slow_framerate_set",0x1a8);

-    return;

-  }

-  if (*(int *)(iVar2 + 0xc) == 3) {

-    if (17999 < param_2) {

-      param_2 = 18000;

-    }

-    if ((param_2 & 3) != 0) {

-      param_2 = (param_2 & 0xfffffffc) + 4;

-    }

-    iVar1 = param_1 * 0xc;

-    *(uint *)(iVar2 + 0x850) = param_2;

-    *(int *)(g_astimx335State + iVar1 + 4) = *(int *)(g_astimx335State + iVar1) * 2;

-    *(uint *)(g_astimx335State + iVar1 + 8) = param_2 + *(int *)(g_astimx335State + iVar1) * -2 + -2

-    ;

-  }

-  else {

-    if (0xfffe < param_2) {

-      param_2 = 0xffff;

-    }

-    *(uint *)(iVar2 + 0x850) = param_2;

-    if (*(int *)(iVar2 + 0xc) == 0) {

-      *(undefined4 *)(iVar2 + 0xd4) = 0;

-      *(uint *)(iVar2 + 0xa4) = param_2 & 0xff;

-      *(uint *)(iVar2 + 0xbc) = param_2 >> 8;

-      goto LAB_00219fe0;

-    }

-  }

-  *(uint *)(iVar2 + 0xec) = (param_2 << 0x17) >> 0x18;

-  *(uint *)(iVar2 + 0x104) = param_2 >> 9;

-  *(undefined4 *)(iVar2 + 0x11c) = 0;

-LAB_00219fe0:

-  *(uint *)(param_3 + 0x2c) = param_2;

-  *(uint *)(param_3 + 0x30) = param_2 - 8;

-  return;

-}

-

FUN_0021a550

Function Meta

Key dt_aicam_md5
name FUN_0021a550
fullname FUN_0021a550
refcount 0
length 744
called ::__stack_chk_fail
::fprintf
::malloc
::memset
FUN_001860ec
FUN_001ccdb0
FUN_00212770
calling
paramcount 3
address 0021a550
sig undefined __stdcall FUN_0021a550(uint param_1, uint * param_2, uint * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021a550
+++ FUN_0021a550
@@ -1,101 +0,0 @@
-

-void FUN_0021a550(uint param_1,uint *param_2,uint *param_3)

-

-{

-  int iVar1;

-  void *__s;

-  undefined4 uVar2;

-  undefined4 local_94;

-  code *local_90;

-  undefined4 uStack_8c;

-  code *local_88;

-  undefined1 *local_84;

-  code *local_80;

-  undefined1 *local_7c;

-  undefined1 *local_78;

-  undefined1 *local_74;

-  undefined1 *local_70;

-  code *local_6c;

-  undefined1 *local_68;

-  code *local_64;

-  code *local_60;

-  undefined1 *local_5c;

-  code *local_58;

-  undefined1 *local_54;

-  code *local_50;

-  undefined1 *local_4c;

-  code *local_48;

-  undefined1 *local_44;

-  undefined4 uStack_40;

-  int local_3c;

-  

-  local_3c = __stack_chk_guard;

-  if (param_2 == (uint *)0x0) {

-    iVar1 = -0x5fe37ffa;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","sensor_register_callback",0x5c2);

-  }

-  else if (param_3 == (uint *)0x0) {

-    iVar1 = -0x5fe37ffa;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","sensor_register_callback",0x5c3);

-  }

-  else {

-    __s = *(void **)(g_pastImx335 + param_1 * 4);

-    if ((__s == (void *)0x0) && (__s = malloc(0x87c), __s == (void *)0x0)) {

-      iVar1 = -1;

-      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Isp[%d] SnsCtx malloc memory failed!\n",

-              "sensor_ctx_init",0x5a5,param_1);

-    }

-    else {

-      uVar2 = 0;

-      memset(__s,0,0x87c);

-      *(void **)(g_pastImx335 + param_1 * 4) = __s;

-      local_94 = 0x14f;

-      local_64 = IMX335_init;

-      local_60 = IMX335_exit;

-      local_5c = &LAB_0021bfd4;

-      local_58 = FUN_00219ac0;

-      local_54 = &LAB_0021c284;

-      local_50 = FUN_0021ab8c;

-      local_4c = &LAB_0021c078;

-      local_48 = FUN_0021a8c4;

-      _local_44 = CONCAT44(uVar2,&LAB_00219970);

-      iVar1 = FUN_001ccdb0(param_1,&local_94,(int *)&local_64);

-      if (iVar1 == 0) {

-        local_84 = &LAB_0021a0c8;

-        local_80 = FUN_00219f80;

-        local_7c = &LAB_00219d58;

-        local_78 = &LAB_0021bd68;

-        local_74 = &LAB_0021bc60;

-        local_70 = &LAB_0021bb50;

-        local_88 = FUN_0021afc0;

-        local_6c = FUN_0021b58c;

-        local_68 = &LAB_0021baf4;

-        iVar1 = FUN_001860ec(param_1,param_2,&local_94,&local_88);

-        if (iVar1 == 0) {

-          _local_90 = CONCAT44(uVar2,FUN_0021b390);

-          iVar1 = FUN_00212770(param_1,param_3,&local_94,&local_90);

-          if (iVar1 != 0) {

-            fprintf(stderr,

-                    "[Func]:%s [Line]:%d [Info]:sensor register callback function to awb lib failed!\n"

-                    ,"sensor_register_callback",0x5e1);

-          }

-        }

-        else {

-          fprintf(stderr,

-                  "[Func]:%s [Line]:%d [Info]:sensor register callback function to ae lib failed!\n"

-                  ,"sensor_register_callback",0x5d9);

-        }

-      }

-      else {

-        fprintf(stderr,"[Func]:%s [Line]:%d [Info]:sensor register callback function failed!\n",

-                "sensor_register_callback",0x5d1);

-      }

-    }

-  }

-  if (local_3c == __stack_chk_guard) {

-    return;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail(iVar1);

-}

-

FUN_0021a8c4

Function Meta

Key dt_aicam_md5
name FUN_0021a8c4
fullname FUN_0021a8c4
refcount 2
length 668
called ::fprintf
::memcpy
calling
paramcount 2
address 0021a8c4
sig undefined4 __stdcall FUN_0021a8c4(uint param_1, void * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021a8c4
+++ FUN_0021a8c4
@@ -1,106 +0,0 @@
-

-undefined4 FUN_0021a8c4(uint param_1,void *param_2)

-

-{

-  undefined1 uVar1;

-  uint uVar2;

-  int iVar3;

-  int iVar4;

-  int iVar5;

-  int iVar6;

-  

-  if (param_2 == (void *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_sns_regs_info",0x4d8);

-    return 0xa01c8006;

-  }

-  iVar5 = *(int *)(g_pastImx335 + param_1 * 4);

-  if (iVar5 == 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_sns_regs_info",0x4da);

-    return 0xa01c8006;

-  }

-  if ((*(int *)(iVar5 + 4) == 0) || (*(int *)((int)param_2 + 0x41c) == 0)) {

-    *(undefined4 *)(iVar5 + 0x10) = 0;

-    iVar6 = *(int *)(iVar5 + 0xc);

-    uVar1 = *(undefined1 *)((int)&g_aunImx335BusInfo + param_1);

-    *(undefined4 *)(iVar5 + 0x14) = 8;

-    *(undefined1 *)(iVar5 + 0x18) = 2;

-    if (iVar6 == 3) {

-      param_1 = 0x10;

-    }

-    *(undefined1 *)(iVar5 + 0x19) = uVar1;

-    if (iVar6 == 3) {

-      *(uint *)(iVar5 + 0x14) = param_1;

-    }

-    else {

-      param_1 = 8;

-    }

-    uVar2 = 0;

-    iVar4 = iVar5;

-    do {

-      *(undefined4 *)(iVar4 + 0x1c) = 1;

-      uVar2 = uVar2 + 1;

-      *(undefined1 *)(iVar4 + 0x22) = 0x34;

-      *(undefined4 *)(iVar4 + 0x28) = 2;

-      *(undefined4 *)(iVar4 + 0x30) = 1;

-      iVar4 = iVar4 + 0x18;

-    } while (uVar2 < param_1);

-    *(undefined4 *)(iVar5 + 0x24) = 0x3058;

-    *(undefined4 *)(iVar5 + 0x3c) = 0x3059;

-    *(undefined4 *)(iVar5 + 0x54) = 0x305a;

-    *(undefined1 *)(iVar5 + 0x20) = 0;

-    *(undefined1 *)(iVar5 + 0x38) = 0;

-    *(undefined1 *)(iVar5 + 0x50) = 0;

-    *(undefined1 *)(iVar5 + 0x68) = 0;

-    *(undefined1 *)(iVar5 + 0x80) = 0;

-    *(undefined1 *)(iVar5 + 0x98) = 0;

-    *(undefined1 *)(iVar5 + 0xb0) = 0;

-    *(undefined1 *)(iVar5 + 200) = 0;

-    *(undefined4 *)(iVar5 + 0x6c) = 0x30e8;

-    *(undefined4 *)(iVar5 + 0x84) = 0x30e9;

-    *(undefined4 *)(iVar5 + 0x9c) = 0x3030;

-    *(undefined4 *)(iVar5 + 0xb4) = 0x3031;

-    *(undefined4 *)(iVar5 + 0xcc) = 0x3032;

-    if (iVar6 == 3) {

-      *(undefined4 *)(iVar5 + 0xe4) = 0x3030;

-      *(undefined4 *)(iVar5 + 0xfc) = 0x3031;

-      *(undefined4 *)(iVar5 + 0x114) = 0x3032;

-      *(undefined1 *)(iVar5 + 0x128) = 0;

-      *(undefined1 *)(iVar5 + 0x140) = 0;

-      *(undefined1 *)(iVar5 + 0x158) = 0;

-      *(undefined1 *)(iVar5 + 0x68) = 1;

-      *(undefined1 *)(iVar5 + 0x80) = 1;

-      *(undefined1 *)(iVar5 + 0xe0) = 1;

-      *(undefined1 *)(iVar5 + 0xf8) = 1;

-      *(undefined1 *)(iVar5 + 0x110) = 1;

-      *(undefined1 *)(iVar5 + 0x170) = 1;

-      *(undefined1 *)(iVar5 + 0x188) = 1;

-      *(undefined4 *)(iVar5 + 0x9c) = 0x305c;

-      *(undefined4 *)(iVar5 + 0xb4) = 0x305d;

-      *(undefined4 *)(iVar5 + 0xcc) = 0x305e;

-      *(undefined4 *)(iVar5 + 300) = 0x3068;

-      *(undefined4 *)(iVar5 + 0x144) = 0x3069;

-      *(undefined4 *)(iVar5 + 0x15c) = 0x306a;

-      *(undefined4 *)(iVar5 + 0x174) = 0x30ea;

-      *(undefined4 *)(iVar5 + 0x18c) = 0x30eb;

-    }

-    *(undefined4 *)(iVar5 + 4) = 1;

-  }

-  else {

-    iVar6 = *(int *)(iVar5 + 0x14);

-    if (iVar6 != 0) {

-      iVar3 = 0;

-      iVar4 = iVar5;

-      do {

-        iVar3 = iVar3 + 1;

-        *(uint *)(iVar4 + 0x1c) = (uint)(*(int *)(iVar4 + 0x2c) != *(int *)(iVar4 + 0x44c));

-        iVar4 = iVar4 + 0x18;

-      } while (iVar3 != iVar6);

-    }

-  }

-  *(undefined4 *)((int)param_2 + 0x41c) = 0;

-  memcpy(param_2,(void *)(iVar5 + 0x10),0x420);

-  memcpy((void *)(iVar5 + 0x430),(void *)(iVar5 + 0x10),0x420);

-  *(undefined4 *)(iVar5 + 0x854) = *(undefined4 *)(iVar5 + 0x850);

-  return 0;

-}

-

FUN_0021ab8c

Function Meta

Key dt_aicam_md5
name FUN_0021ab8c
fullname FUN_0021ab8c
refcount 1
length 912
called ::fprintf
::memcpy
::memset
calling
paramcount 2
address 0021ab8c
sig undefined4 __stdcall FUN_0021ab8c(int param_1, byte * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021ab8c
+++ FUN_0021ab8c
@@ -1,145 +0,0 @@
-

-undefined4 FUN_0021ab8c(int param_1,byte *param_2)

-

-{

-  byte bVar1;

-  undefined4 uVar2;

-  undefined4 uVar3;

-  int iVar4;

-  int iVar5;

-  

-  if (param_2 == (byte *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_isp_default",0x3ad);

-    return 0xa01c8006;

-  }

-  iVar5 = *(int *)(g_pastImx335 + param_1 * 4);

-  if (iVar5 != 0) {

-    memset(param_2,0,0x308);

-    param_2[2] = 3;

-    *param_2 = 0;

-    param_2[1] = 0x65;

-    iVar4 = *(int *)(iVar5 + 0xc);

-    *(undefined **)(param_2 + 0x40) = &DAT_007cab58;

-    *(undefined **)(param_2 + 0x48) = &DAT_007cac7c;

-    *(undefined **)(param_2 + 0x28) = &DAT_007c17e4;

-    *(undefined **)(param_2 + 0x4c) = &DAT_007d6fc8;

-    *(undefined **)(param_2 + 0x20) = &DAT_007d6f38;

-    *(undefined **)(param_2 + 0x1c) = &DAT_007d5ebc;

-    *(undefined **)(param_2 + 0x30) = &DAT_007d6ed0;

-    *(undefined **)(param_2 + 0x3c) = &DAT_007d5d94;

-    if (iVar4 == 3) {

-      *param_2 = *param_2 & 0x60 | 0x9b;

-      *(undefined **)(param_2 + 0x48) = &DAT_007d029c;

-      param_2[2] = param_2[2] | 4;

-      *(undefined **)(param_2 + 0x28) = &DAT_007c1824;

-      *(undefined **)(param_2 + 0x18) = &DAT_007d7d00;

-      *(undefined **)(param_2 + 0xc) = &DAT_007d5d50;

-      *(undefined **)(param_2 + 8) = &DAT_007d5ad4;

-      *(undefined **)(param_2 + 0x10) = &DAT_007d88d8;

-      *(undefined **)(param_2 + 0x14) = &DAT_007d66cc;

-      *(undefined **)(param_2 + 0x38) = &DAT_007caa0c;

-      *(undefined **)(param_2 + 0x30) = &DAT_007d7038;

-      *(undefined **)(param_2 + 0x3c) = &DAT_007d5e28;

-      *(undefined **)(param_2 + 0x34) = &DAT_007d7014;

-      *(undefined **)(param_2 + 0x50) = &DAT_007d5cfc;

-      param_2[1] = param_2[1] | 0x1a;

-      *(undefined **)(param_2 + 0x24) = &DAT_007d70a0;

-      *(undefined **)(param_2 + 0x2c) = &DAT_007c1864;

-      param_2[0x2f8] = 0x40;

-      param_2[0x2f9] = 0;

-      param_2[0x2fa] = 0;

-      param_2[0x2fb] = 0;

-      memcpy(param_2 + 0x54,&DAT_00886b80,0x25c);

-    }

-    else {

-      param_2[2] = param_2[2] | 4;

-      *param_2 = *param_2 | 0x9b;

-      param_2[1] = param_2[1] | 0x1a;

-      *(undefined **)(param_2 + 0xc) = &DAT_007d5d0c;

-      *(undefined **)(param_2 + 0x14) = &DAT_007d5ec8;

-      *(undefined **)(param_2 + 0x18) = &DAT_007d7128;

-      *(undefined **)(param_2 + 8) = &DAT_007d58bc;

-      *(undefined **)(param_2 + 0x38) = &DAT_007ca8c0;

-      *(undefined **)(param_2 + 0x50) = &DAT_007d5cec;

-      *(undefined **)(param_2 + 0x34) = &DAT_007ca89c;

-      *(undefined **)(param_2 + 0x24) = &DAT_007d6f40;

-      *(undefined **)(param_2 + 0x2c) = &DAT_007c6080;

-      memcpy(param_2 + 0x54,&DAT_00886b80,0x25c);

-    }

-    param_2[0x2b8] = 0x4f;

-    uVar3 = DAT_00886b7c;

-    uVar2 = DAT_00886b78;

-    param_2[0x2b9] = 1;

-    param_2[0x2ba] = 0;

-    param_2[699] = 0;

-    bVar1 = *(byte *)(iVar5 + 8);

-    *(undefined4 *)(param_2 + 0x2ec) = DAT_00886b74;

-    param_2[700] = bVar1;

-    *(undefined4 *)(param_2 + 0x2f0) = uVar2;

-    *(undefined4 *)(param_2 + 0x2f4) = uVar3;

-    if (*(char *)(iVar5 + 8) == '\x01') {

-      param_2[0x2c4] = 10;

-      param_2[0x2d0] = 0x20;

-      param_2[0x2d1] = 10;

-      param_2[0x2d2] = 0;

-      param_2[0x2d3] = 0;

-    }

-    else if (*(char *)(iVar5 + 8) == '\x02') {

-      param_2[0x2c4] = 10;

-      param_2[0x2d0] = 0;

-      param_2[0x2d1] = 10;

-      param_2[0x2d2] = 0;

-      param_2[0x2d3] = 0;

-    }

-    else {

-      param_2[0x2c4] = 0xc;

-      param_2[0x2d0] = 0x20;

-      param_2[0x2d1] = 10;

-      param_2[0x2d2] = 0;

-      param_2[0x2d3] = 0;

-    }

-    param_2[0x2d8] = 1;

-    param_2[0x2d9] = 0;

-    param_2[0x2da] = 0;

-    param_2[0x2db] = 0;

-    param_2[0x2d4] = 1;

-    param_2[0x2d5] = 0;

-    param_2[0x2d6] = 0;

-    param_2[0x2d7] = 0;

-    param_2[0x2e0] = 1;

-    param_2[0x2e1] = 0;

-    param_2[0x2e2] = 0;

-    param_2[0x2e3] = 0;

-    param_2[0x2dc] = 1;

-    param_2[0x2dd] = 0;

-    param_2[0x2de] = 0;

-    param_2[0x2df] = 0;

-    param_2[0x2e4] = 2;

-    param_2[0x2e5] = 0;

-    param_2[0x2e6] = 2;

-    param_2[0x2e7] = 0;

-    param_2[0x2cc] = 2;

-    param_2[0x2cd] = 0;

-    param_2[0x2c8] = 1;

-    param_2[0x2c9] = 0;

-    param_2[0x2ca] = 0;

-    param_2[0x2cb] = 0;

-    param_2[0x2c6] = 1;

-    param_2[0x2c7] = 2;

-    param_2[0x2e9] = 1;

-    param_2[0x2ea] = 1;

-    param_2[0x2eb] = 2;

-    param_2[0x2c0] = 1;

-    param_2[0x2c1] = 0;

-    param_2[0x2c2] = 0;

-    param_2[0x2c3] = 0;

-    param_2[0x2ce] = 2;

-    param_2[0x2cf] = 0;

-    param_2[0x2c5] = 0;

-    param_2[0x2e8] = 0;

-    return 0;

-  }

-  fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_isp_default",0x3af);

-  return 0xa01c8006;

-}

-

FUN_0021afc0

Function Meta

Key dt_aicam_md5
name FUN_0021afc0
fullname FUN_0021afc0
refcount 1
length 908
called ::fprintf
::memcpy
calling
paramcount 2
address 0021afc0
sig undefined4 __stdcall FUN_0021afc0(int param_1, undefined1 * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021afc0
+++ FUN_0021afc0
@@ -1,165 +0,0 @@
-

-undefined4 FUN_0021afc0(int param_1,undefined1 *param_2)

-

-{

-  char cVar1;

-  undefined4 uVar2;

-  int iVar3;

-  undefined2 *puVar4;

-  int iVar5;

-  char *pcVar6;

-  int iVar7;

-  uint uVar8;

-  int iVar9;

-  bool bVar10;

-  double dVar11;

-  

-  if (param_2 == (undefined1 *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_ae_default",0xa3);

-    return 0xa01c8006;

-  }

-  iVar7 = *(int *)(g_pastImx335 + param_1 * 4);

-  if (iVar7 == 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_ae_default",0xa5);

-    return 0xa01c8006;

-  }

-  cVar1 = *(char *)(iVar7 + 8);

-  if (cVar1 != '\0') {

-    if (cVar1 == '\x01') {

-      dVar11 = (double)*(uint *)(&DAT_00886a18 + param_1 * 4);

-      if ((1e-10 <= dVar11) || (dVar11 == -1e-10 || dVar11 < -1e-10 != NAN(dVar11))) {

-        uVar8 = 0x20f58 / *(uint *)(&DAT_00886a18 + param_1 * 4);

-        if ((uVar8 & 3) == 0) {

-          iVar5 = uVar8 << 1;

-        }

-        else {

-          iVar5 = ((uVar8 & 0xfffffffc) + 4) * 2;

-        }

-        iVar3 = iVar5 + -8;

-      }

-      else {

-        iVar3 = 0x41ea8;

-        iVar5 = 270000;

-      }

-      *(int *)(iVar7 + 0x858) = iVar5;

-      uVar8 = 0x1e;

-      iVar9 = 0x1194;

-      goto LAB_0021b00c;

-    }

-    if (cVar1 == '\x02') {

-      iVar5 = 3000;

-      iVar3 = 0xbb0;

-      *(undefined4 *)(iVar7 + 0x858) = 3000;

-      uVar8 = 0x19;

-      iVar9 = iVar5;

-      goto LAB_0021b00c;

-    }

-  }

-  iVar5 = 0x1194;

-  iVar3 = 0x118c;

-  *(undefined4 *)(iVar7 + 0x858) = 0x1194;

-  uVar8 = 0x1e;

-  iVar9 = 0x1194;

-LAB_0021b00c:

-  *(int *)(param_2 + 0x30) = iVar3;

-  *(undefined4 *)(param_2 + 0x5c) = 2;

-  *(undefined4 *)(param_2 + 0x78) = 2;

-  *(int *)(param_2 + 0x24) = iVar5;

-  *(undefined4 *)(param_2 + 0x48) = 0;

-  *(undefined4 *)(param_2 + 0x40) = 1;

-  *(undefined4 *)(param_2 + 0x44) = 0x3f800000;

-  *(undefined4 *)(param_2 + 0x60) = 0x3f800000;

-  *(undefined4 *)(param_2 + 0x7c) = 0x3f800000;

-  *(undefined4 *)(param_2 + 0x84) = 0x200;

-  *(undefined4 *)(param_2 + 0xc) = 0;

-  *(undefined4 *)(param_2 + 0x8c) = 8;

-  *(undefined4 *)(param_2 + 0x88) = 0x100;

-  memcpy(param_2 + 0x5c4,&DAT_00886dfc,0x820);

-  *(undefined4 *)(param_2 + 0x1a0) = 0;

-  *(undefined4 *)(param_2 + 0x9c) = 0;

-  pcVar6 = *(char **)(&DAT_00949c10 + param_1 * 4);

-  *(undefined4 *)(param_2 + 0x1a4) = 0;

-  *(undefined4 *)(param_2 + 0xde4) = 9;

-  if (pcVar6 == (char *)0x0) {

-    pcVar6 = "ne_CHN0_SENSOR_IMX335_12BIT_4M_NOWDR_ATTR";

-  }

-  *(char **)(param_2 + 0x18) = pcVar6;

-  *(undefined4 *)(param_2 + 0xde8) = 5;

-  iVar5 = *(int *)(&DAT_00949c20 + param_1 * 4);

-  if (iVar5 == 0) {

-    uVar8 = uVar8 * iVar9;

-  }

-  else {

-    *(int *)(param_2 + 8) = iVar5;

-  }

-  iVar7 = *(int *)(iVar7 + 0xc);

-  if (iVar5 == 0) {

-    *(uint *)(param_2 + 8) = uVar8 >> 1;

-  }

-  if (iVar7 != 3) {

-    *(char **)(param_2 + 0x68) = "DASACheck";

-    *(char **)(param_2 + 0x70) = "DASACheck";

-    *(undefined4 *)(param_2 + 0x48) = 0xbe4ac083;

-    *param_2 = 0xd;

-    param_2[1] = 0x28;

-    param_2[2] = 0x60;

-    param_2[3] = 0x80;

-    param_2[4] = 0x38;

-    *(undefined4 *)(param_2 + 0xdec) = 0;

-    *(undefined4 *)(param_2 + 0x34) = 2;

-    *(undefined4 *)(param_2 + 0x3c) = 2;

-    *(undefined4 *)(param_2 + 0x38) = 0xffff;

-    *(undefined4 *)(param_2 + 0x4c) = 0x7e7d;

-    *(undefined4 *)(param_2 + 0x54) = 0x7e7d;

-    *(undefined4 *)(param_2 + 0x50) = 0x400;

-    *(undefined4 *)(param_2 + 0x58) = 0x400;

-    *(undefined4 *)(param_2 + 0x6c) = 0x400;

-    *(undefined4 *)(param_2 + 0x74) = 0x400;

-    return 0;

-  }

-  *(char **)(param_2 + 0x68) = "DASACheck";

-  puVar4 = (undefined2 *)0x7e7d;

-  iVar7 = *(int *)(&DAT_00949c40 + param_1 * 4);

-  *(undefined4 *)(param_2 + 0x4c) = 0x7e7d;

-  bVar10 = iVar7 == 1;

-  *(undefined4 *)(param_2 + 0x54) = 0x7e7d;

-  *(undefined4 *)(param_2 + 0x48) = 0xbecac083;

-  if (!bVar10) {

-    puVar4 = (undefined2 *)(param_2 + 0x5b0);

-  }

-  uVar2 = 4;

-  *(undefined4 *)(param_2 + 0x34) = 4;

-  *(undefined4 *)(param_2 + 0x3c) = 4;

-  *(undefined4 *)(param_2 + 0x98) = 15000000;

-  if (!bVar10) {

-    uVar2 = 0;

-  }

-  *(undefined4 *)(param_2 + 0x44) = 0x40800000;

-  *param_2 = 0xc;

-  param_2[2] = 0x60;

-  param_2[3] = 0x80;

-  param_2[4] = 0x38;

-  param_2[1] = 0x18;

-  *(undefined4 *)(param_2 + 0x38) = 0xffff;

-  if (bVar10) {

-    uVar2 = 0;

-  }

-  *(undefined4 *)(param_2 + 0x90) = 1000;

-  *(undefined4 *)(param_2 + 0xdec) = 1;

-  *(undefined4 *)(param_2 + 0xdfc) = 1;

-  *(undefined4 *)(param_2 + 0x50) = 0x400;

-  *(undefined4 *)(param_2 + 0x58) = 0x400;

-  *(undefined4 *)(param_2 + 0x6c) = 0x400;

-  *(undefined4 *)(param_2 + 0x70) = 0x400;

-  *(undefined4 *)(param_2 + 0x74) = 0x400;

-  *(undefined4 *)(param_2 + 0x84) = 0x1000;

-  *(undefined4 *)(param_2 + 0xdf8) = 0x80;

-  if (!bVar10) {

-    *puVar4 = (short)uVar2;

-    *(undefined4 *)(param_2 + 0x5b4) = 0x400;

-    *(undefined4 *)(param_2 + 0x5b8) = 0x40;

-    *(undefined4 *)(param_2 + 0x5bc) = 0x40;

-  }

-  return uVar2;

-}

-

FUN_0021b390

Function Meta

Key dt_aicam_md5
name FUN_0021b390
fullname FUN_0021b390
refcount 1
length 452
called ::fprintf
::memcpy
::memset
calling
paramcount 2
address 0021b390
sig undefined4 __stdcall FUN_0021b390(int param_1, undefined2 * param_2)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021b390
+++ FUN_0021b390
@@ -1,69 +0,0 @@
-

-undefined4 FUN_0021b390(int param_1,undefined2 *param_2)

-

-{

-  undefined2 uVar1;

-  undefined2 uVar2;

-  undefined2 uVar3;

-  undefined2 uVar4;

-  undefined4 uVar5;

-  undefined4 uVar6;

-  undefined4 uVar7;

-  undefined4 uVar8;

-  int iVar9;

-  undefined4 *puVar10;

-  

-  if (param_2 == (undefined2 *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_awb_default",0x36b);

-    return 0xa01c8006;

-  }

-  iVar9 = *(int *)(g_pastImx335 + param_1 * 4);

-  if (iVar9 != 0) {

-    memset(param_2,0,0xe8);

-    iVar9 = *(int *)(iVar9 + 0xc);

-    *(undefined4 *)(param_2 + 0xc) = 0x2711f;

-    *(undefined4 *)(param_2 + 0x10) = 0xfffe5a3f;

-    *param_2 = 0x1324;

-    param_2[1] = 0x1e3;

-    param_2[2] = 0x100;

-    param_2[3] = 0x100;

-    param_2[4] = 0x1d1;

-    *(undefined4 *)(param_2 + 6) = 0xffffffee;

-    *(undefined4 *)(param_2 + 8) = 0x10b;

-    *(undefined4 *)(param_2 + 10) = 0xfffffff9;

-    *(undefined4 *)(param_2 + 0xe) = 0x80;

-    param_2[0x12] = 0;

-    param_2[0x13] = 0;

-    if (iVar9 == 3) {

-      memcpy(param_2 + 0x20,&DAT_00886ae4,0x8e);

-      puVar10 = &DAT_00886a40;

-    }

-    else {

-      memcpy(param_2 + 0x20,&DAT_00886a54,0x8e);

-      puVar10 = &DAT_00886a2c;

-    }

-    uVar6 = puVar10[1];

-    uVar7 = puVar10[2];

-    uVar8 = puVar10[3];

-    *(undefined4 *)(param_2 + 0x16) = *puVar10;

-    uVar5 = puVar10[4];

-    *(undefined4 *)(param_2 + 0x1a) = uVar7;

-    *(undefined4 *)(param_2 + 0x1c) = uVar8;

-    *(undefined4 *)(param_2 + 0x18) = uVar6;

-    iVar9 = param_1 * 6;

-    *(undefined4 *)(param_2 + 0x1e) = uVar5;

-    uVar1 = *(undefined2 *)(&DAT_00949c08 + param_1 * 2);

-    uVar2 = *(undefined2 *)(&DAT_00949c00 + param_1 * 2);

-    uVar3 = *(undefined2 *)(&DAT_00949bea + iVar9);

-    uVar4 = *(undefined2 *)(&DAT_00949bec + iVar9);

-    param_2[0x67] = *(undefined2 *)(&DAT_00949be8 + iVar9);

-    param_2[0x68] = uVar3;

-    param_2[0x69] = uVar4;

-    param_2[0x14] = uVar1;

-    param_2[0x15] = uVar2;

-    return 0;

-  }

-  fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_awb_default",0x36d);

-  return 0xa01c8006;

-}

-

FUN_0021b58c

Function Meta

Key dt_aicam_md5
name FUN_0021b58c
fullname FUN_0021b58c
refcount 1
length 1072
called ::fprintf
::puts
calling
paramcount 6
address 0021b58c
sig undefined __stdcall FUN_0021b58c(int param_1, int param_2, uint * param_3, uint * param_4, uint * param_5, uint * param_6)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021b58c
+++ FUN_0021b58c
@@ -1,176 +0,0 @@
-

-void FUN_0021b58c(int param_1,int param_2,uint *param_3,uint *param_4,uint *param_5,uint *param_6)

-

-{

-  int *piVar1;

-  uint uVar2;

-  int iVar3;

-  uint uVar4;

-  uint uVar5;

-  uint uVar6;

-  uint unaff_r9;

-  uint uVar7;

-  

-  if (param_3 == (uint *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_inttime_max",0x2b0);

-    return;

-  }

-  if (param_4 == (uint *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_inttime_max",0x2b1);

-    return;

-  }

-  if (param_5 == (uint *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_inttime_max",0x2b2);

-    return;

-  }

-  if (param_6 == (uint *)0x0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_inttime_max",0x2b3);

-    return;

-  }

-  uVar4 = *(uint *)(g_pastImx335 + param_1 * 4);

-  if (uVar4 == 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","cmos_get_inttime_max",0x2b5);

-    return;

-  }

-  if (*(int *)(uVar4 + 0xc) != 3) {

-    if (param_2 != 1) {

-      uVar4 = *param_4;

-      goto LAB_0021b5ec;

-    }

-    goto LAB_0021b770;

-  }

-  if (*(int *)(&DAT_00949c40 + param_1 * 4) == 1) {

-    uVar6 = (*(int *)(uVar4 + 0x854) + -0x118) - *(int *)(uVar4 + 0x85c);

-    uVar4 = *(int *)(uVar4 + 0x850) - 0x118;

-    if (uVar4 <= uVar6) {

-      uVar6 = uVar4;

-    }

-    *param_4 = uVar6;

-    *(undefined4 *)(&DAT_00887644 + param_1 * 4) = 4;

-    *param_5 = 4;

-    return;

-  }

-  if (*(int *)(&DAT_00949c40 + param_1 * 4) == 2) {

-    uVar6 = *param_3;

-    if ((*(int *)(uVar4 + 0x85c) == 4) && (uVar6 == 0x40)) {

-      iVar3 = *(int *)(uVar4 + 0x854);

-      uVar6 = *(int *)(uVar4 + 0x850) - 0x118;

-      *(undefined4 *)(&DAT_00887644 + param_1 * 4) = 4;

-      uVar4 = iVar3 - 0x11c;

-      if (uVar4 < uVar6) {

-        uVar6 = uVar4;

-      }

-      *param_4 = uVar6;

-      *param_5 = 4;

-    }

-    else {

-      piVar1 = (int *)(uVar4 + 0x850);

-      uVar2 = ((*(int *)(uVar4 + 0x854) + 0x3fffee8) - *(int *)(uVar4 + 0x85c)) * 0x40;

-      if (uVar6 == 0) {

-        uVar7 = (*piVar1 + 0x3fffee8) * 0x40;

-LAB_0021b998:

-        uVar4 = uVar6 + 0x40;

-      }

-      else {

-        if (uVar6 == 0xffffffc0) {

-          uVar4 = 1;

-        }

-        uVar2 = uVar2 / uVar6;

-        uVar7 = (*piVar1 + 0x3fffee8) * 0x40;

-        if (uVar6 != 0xffffffc0) goto LAB_0021b998;

-      }

-      iVar3 = param_1 * 0xc;

-      uVar5 = *(uint *)(&DAT_00887644 + param_1 * 4);

-      uVar6 = *(int *)(g_astimx335State + iVar3 + 4) - 0x12U;

-      if (uVar2 <= *(int *)(g_astimx335State + iVar3 + 4) - 0x12U) {

-        uVar6 = uVar2;

-      }

-      if (uVar7 / uVar4 <= uVar6) {

-        uVar6 = uVar7 / uVar4;

-      }

-      if (uVar5 < uVar6) {

-        if (*(uint *)(g_astimx335State + iVar3 + 8) < uVar6 - uVar5) {

-          uVar6 = (*(uint *)(g_astimx335State + iVar3 + 8) & 0xfffffff8) + uVar5;

-        }

-      }

-      else if ((uVar6 < uVar5) && (*(uint *)(g_astimx335State + iVar3 + 8) < uVar5 - uVar6)) {

-        uVar6 = uVar5 - (*(uint *)(g_astimx335State + iVar3 + 8) & 0xfffffff8);

-      }

-      if (uVar6 == 0) {

-        uVar6 = 1;

-      }

-      *(uint *)(&DAT_00887644 + param_1 * 4) = uVar6;

-    }

-  }

-  else {

-    uVar6 = *param_3;

-    uVar2 = ((*(int *)(uVar4 + 0x854) + 0x3fffee8) - *(int *)(uVar4 + 0x85c)) * 0x40;

-    if (uVar6 == 0) {

-      uVar7 = (*(int *)(uVar4 + 0x850) + 0x3fffee8) * 0x40;

-LAB_0021b78c:

-      unaff_r9 = uVar6 + 0x40;

-    }

-    else {

-      if (uVar6 == 0xffffffc0) {

-        unaff_r9 = 1;

-      }

-      uVar2 = uVar2 / uVar6;

-      uVar7 = (*(int *)(uVar4 + 0x850) + 0x3fffee8) * 0x40;

-      if (uVar6 != 0xffffffc0) goto LAB_0021b78c;

-    }

-    uVar5 = *(int *)(g_astimx335State + param_1 * 0xc + 4) - 0x12;

-    if (uVar5 < uVar2) {

-      uVar2 = uVar5;

-    }

-    uVar6 = uVar7 / unaff_r9;

-    if (uVar2 < uVar7 / unaff_r9) {

-      uVar6 = uVar2;

-    }

-    if (uVar6 == 0) {

-      uVar6 = 1;

-    }

-    *(uint *)(&DAT_00887644 + param_1 * 4) = uVar6;

-    if (0xbe3 < uVar5) {

-      uVar5 = 0xbe4;

-    }

-    *param_6 = uVar5;

-    if ((*(int *)(uVar4 + 0x850) + -0xbe) - uVar5 < uVar6) {

-      uVar6 = uVar6 - 0x8c;

-      uVar5 = uVar5 - 0x18;

-      *param_6 = uVar5;

-    }

-    if (uVar6 < uVar5) {

-      *param_6 = uVar6;

-    }

-  }

-  if (3 < uVar6) {

-    *param_4 = uVar6;

-    uVar4 = *param_3 * uVar6 >> 6;

-    param_4[1] = uVar4;

-    uVar4 = param_3[1] * uVar4 >> 6;

-    param_4[2] = uVar4;

-    param_4[3] = param_3[2] * uVar4 >> 6;

-    *param_5 = 4;

-    uVar4 = (*param_3 << 2) >> 6;

-    param_5[1] = uVar4;

-    uVar4 = param_3[1] * uVar4 >> 6;

-    param_5[2] = uVar4;

-    param_5[3] = param_3[2] * uVar4 >> 6;

-    return;

-  }

-  if (param_2 != 1) {

-    uVar4 = 4;

-    *param_4 = 4;

-    param_4[1] = 0xff;

-LAB_0021b5ec:

-    *param_5 = uVar4;

-    param_5[1] = param_4[1];

-    param_5[2] = param_4[2];

-    param_5[3] = param_4[3];

-    return;

-  }

-LAB_0021b770:

-  puts("Manaul ExpRatio is too large!");

-  return;

-}

-

FUN_0021be34

Function Meta

Key dt_aicam_md5
name FUN_0021be34
fullname FUN_0021be34
refcount 0
length 364
called ::fprintf
::free
FUN_00186390
FUN_001cd834
FUN_002129d8
calling
paramcount 3
address 0021be34
sig int __stdcall FUN_0021be34(uint param_1, uint * param_2, uint * param_3)
sym_type Function
sym_source DEFAULT
external False
--- FUN_0021be34
+++ FUN_0021be34
@@ -1,44 +0,0 @@
-

-int FUN_0021be34(uint param_1,uint *param_2,uint *param_3)

-

-{

-  int iVar1;

-  

-  if (param_2 == (uint *)0x0) {

-    iVar1 = -0x5fe37ffa;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","sensor_unregister_callback",0x5ec);

-  }

-  else if (param_3 == (uint *)0x0) {

-    iVar1 = -0x5fe37ffa;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer!\n","sensor_unregister_callback",0x5ed);

-  }

-  else {

-    iVar1 = FUN_001cd834(param_1,0x14f);

-    if (iVar1 != 0) {

-      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:sensor unregister callback function failed!\n",

-              "sensor_unregister_callback",0x5f2);

-      return iVar1;

-    }

-    iVar1 = FUN_00186390(param_1,param_2,0x14f);

-    if (iVar1 != 0) {

-      fprintf(stderr,

-              "[Func]:%s [Line]:%d [Info]:sensor unregister callback function to ae lib failed!\n",

-              "sensor_unregister_callback",0x5f9);

-      return iVar1;

-    }

-    iVar1 = FUN_002129d8(param_1,param_3,0x14f);

-    if (iVar1 == 0) {

-      if (*(void **)(g_pastImx335 + param_1 * 4) != (void *)0x0) {

-        free(*(void **)(g_pastImx335 + param_1 * 4));

-      }

-      *(undefined4 *)(g_pastImx335 + param_1 * 4) = 0;

-    }

-    else {

-      fprintf(stderr,

-              "[Func]:%s [Line]:%d [Info]:sensor unregister callback function to awb lib failed!\n",

-              "sensor_unregister_callback",0x600);

-    }

-  }

-  return iVar1;

-}

-

FUN_00288330

Function Meta

Key dt_aicam_md5
name FUN_00288330
fullname FUN_00288330
refcount 0
length 132
called ::free
FUN_00261704
FUN_0026d4f0
FUN_00270cdc
FUN_00272c8c
FUN_003fb560
calling
paramcount 1
address 00288330
sig undefined4 __stdcall FUN_00288330(undefined4 * param_1)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00288330
+++ FUN_00288330
@@ -1,31 +0,0 @@
-

-undefined4 FUN_00288330(undefined4 *param_1)

-

-{

-  uint uVar1;

-  int iVar2;

-  int *__ptr;

-  undefined4 extraout_r1;

-  undefined4 uVar3;

-  uint uVar4;

-  bool bVar5;

-  

-  uVar4 = 0;

-  while( true ) {

-    uVar1 = FUN_00272c8c(param_1);

-    bVar5 = uVar1 <= uVar4;

-    uVar4 = uVar4 + 1;

-    if (bVar5) break;

-    iVar2 = FUN_00270cdc(param_1,uVar4);

-    *(undefined2 *)(*(int *)(iVar2 + 0x1c) + 0x4a) = 0;

-    uVar3 = 0;

-    __ptr = FUN_003fb560(*(int *)(iVar2 + 0x18),0x7473656c,(void *)0x0);

-    if (__ptr != (int *)0x0) {

-      FUN_00261704(*(int **)(*(int *)(iVar2 + 0x18) + 0x18),(int)__ptr);

-      FUN_0026d4f0((undefined4 *)__ptr[5],extraout_r1,uVar3);

-      free(__ptr);

-    }

-  }

-  return 0;

-}

-

FUN_00290788

Function Meta

Key dt_aicam_md5
name FUN_00290788
fullname FUN_00290788
refcount 0
length 240
called FUN_0027e710
FUN_0028f9f0
calling
paramcount 16
address 00290788
sig uint __stdcall FUN_00290788(int param_1, int param_2, int param_3, int param_4, char * param_5, int param_6, uint param_7, uint param_8, uint * param_9, int param_10, uint * param_11, byte * param_12, char * param_13, byte * param_14, size_t param_15, int param_16)
sym_type Function
sym_source DEFAULT
external False
--- FUN_00290788
+++ FUN_00290788
@@ -1,22 +0,0 @@
-

-uint FUN_00290788(int param_1,int param_2,int param_3,int param_4,char *param_5,int param_6,

-                 uint param_7,uint param_8,uint *param_9,int param_10,uint *param_11,byte *param_12,

-                 char *param_13,byte *param_14,size_t param_15,int param_16)

-

-{

-  uint uVar1;

-  

-  if ((param_4 == 0 && param_5 == (char *)0x0) && (param_14 == (byte *)0x0 && param_16 == 0)) {

-    uVar1 = 0xffffffff;

-  }

-  else {

-    uVar1 = FUN_0027e710(param_1,2);

-    if (uVar1 == 0) {

-      uVar1 = FUN_0028f9f0(param_1,param_2,param_3,param_4,param_5,param_6,param_7,param_8,param_9,

-                           param_10,param_11,param_12,param_13,param_14,param_15,param_16);

-      return uVar1;

-    }

-  }

-  return uVar1;

-}

-

Added

Modified

Modified functions contain code changes

FUN_005902e8

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.08
i_ratio 0.0
m_ratio 0.12
b_ratio 0.06
match_types ExactBytesFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_005902e8 FUN_005825cc
fullname FUN_005902e8 FUN_005825cc
refcount 2 3
length 1732 112
called FUN_00585450
FUN_00587514
FUN_005876ac
FUN_005892f4
calling FUN_005a046c
FUN_005a09e4
FUN_005a1740
paramcount 7 2
address 005902e8 005825cc
sig uint __stdcall FUN_005902e8(undefined4 * param_1, uint param_2, uint param_3, uint param_4, uint param_5, uint param_6, int param_7) undefined __stdcall FUN_005825cc(int param_1, int param_2)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_005902e8 Called Diff

--- FUN_005902e8 called
+++ FUN_005825cc called
@@ -1,4 +0,0 @@
-FUN_00585450
-FUN_00587514
-FUN_005876ac
-FUN_005892f4

FUN_005902e8 Calling Diff

--- FUN_005902e8 calling
+++ FUN_005825cc calling
@@ -0,0 +1,3 @@
+FUN_005a046c
+FUN_005a09e4
+FUN_005a1740

FUN_005902e8 Diff

--- FUN_005902e8
+++ FUN_005825cc
@@ -1,304 +1,41 @@
 

-uint FUN_005902e8(undefined4 *param_1,uint param_2,uint param_3,uint param_4,uint param_5,

-                 uint param_6,int param_7)

+undefined4 FUN_005825cc(int param_1,int param_2)

 

 {

   uint uVar1;

-  size_t sVar2;

-  void *pvVar3;

-  byte *__src;

-  uint uVar4;

-  uint uVar5;

-  int iVar6;

+  char *pcVar2;

+  uint in_r2;

+  char *in_r3;

   int unaff_r4;

-  uint unaff_r5;

-  byte *pbVar7;

-  uint unaff_r6;

+  int unaff_r5;

   int unaff_r7;

-  uint uVar8;

-  int iVar9;

-  int unaff_r9;

-  uint uVar10;

-  int unaff_r11;

-  uint uVar11;

-  uint in_lr;

-  uint uVar12;

-  bool in_ZR;

-  int in_stack_0000000c;

-  int in_stack_00000010;

-  uint in_stack_00000014;

-  uint uStack00000018;

-  uint uStack0000001c;

-  uint uStack00000020;

-  uint uStack00000024;

-  uint in_stack_00000028;

-  uint in_stack_0000002c;

-  uint in_stack_00000030;

-  uint in_stack_00000034;

-  int in_stack_00000038;

-  uint uStack0000003c;

-  uint uStack00000040;

-  uint uStack00000044;

-  uint in_stack_00000048;

-  uint in_stack_0000004c;

-  uint in_stack_00000050;

-  uint in_stack_00000054;

-  uint in_stack_00000058;

-  uint in_stack_0000005c;

-  uint in_stack_00000060;

-  uint in_stack_00000064;

-  uint in_stack_00000068;

-  uint in_stack_0000006c;

-  uint in_stack_00000070;

-  uint in_stack_00000074;

-  uint in_stack_0000007c;

-  uint in_stack_00000080;

-  undefined1 in_stack_00000084;

-  undefined1 in_stack_00000085;

-  undefined1 in_stack_00000086;

-  byte in_stack_00000087;

   

-  if (in_ZR) {

-    uStack00000044 = 0x55;

-    uStack00000020 = 0x54;

-    uStack00000040 = 0x45;

-    uStack00000018 = 0x10;

-    uStack0000001c = 0x44;

-    uStack0000003c = 0x41;

-    uVar5 = 0x20;

-    uVar1 = 0x30;

-    uVar4 = 0x24;

-    uVar11 = 0x34;

-    uVar8 = 0x14;

-    uVar12 = 0x40;

-    uVar10 = 1;

+  uVar1 = FUN_00588ed4(unaff_r4,0x1d,in_r2,in_r3);

+  if (uVar1 < 0x1c) {

+    *(undefined1 *)(unaff_r4 + uVar1) = 0x20;

   }

-  else {

-    uStack00000044 = 0x57;

-    uStack00000020 = 0x56;

-    uStack00000040 = 0x47;

-    uStack00000018 = 0x12;

-    uStack0000001c = 0x46;

-    uStack0000003c = 0x43;

-    unaff_r5 = 2;

-    uVar5 = 0x22;

-    uVar1 = 0x32;

-    uVar4 = 0x26;

-    uVar11 = 0x36;

-    uVar8 = 0x16;

-    uVar12 = 0x42;

-    uVar10 = 3;

+  if (uVar1 < 0x1c) {

+    uVar1 = uVar1 + 1;

   }

-  uStack00000024 = in_lr;

-  if ((param_2 & 4) == 0) {

-    if (unaff_r7 != 0) {

-                    /* WARNING: Subroutine does not return */

-      FUN_00589a94(unaff_r4,"png_image_read: alpha channel lost");

-    }

+  pcVar2 = (char *)FUN_00588f4c(&stack0x00000000,unaff_r7,2,(uint)*(byte *)(unaff_r5 + 4));

+  uVar1 = FUN_00588ed4(unaff_r4,0x1d,uVar1,pcVar2);

+  if (uVar1 < 0x1c) {

+    *(undefined1 *)(unaff_r4 + uVar1) = 0x3a;

   }

-  else if ((unaff_r7 == 0) && ((unaff_r11 != 2 || ((unaff_r6 & 1) != 0)))) {

-    in_stack_00000014 = in_stack_0000005c;

-    in_stack_00000034 = in_stack_00000058;

-    in_stack_00000030 = in_stack_00000054;

-    uStack00000018 = in_stack_0000006c;

-    in_stack_0000002c = in_stack_00000050;

-    in_stack_00000028 = in_stack_0000004c;

-    uStack00000024 = in_stack_00000048;

-    uVar1 = in_stack_00000070;

-    uVar4 = in_stack_00000068;

-    uVar5 = in_stack_00000074;

-    unaff_r5 = uVar10;

-    uVar8 = in_stack_00000060;

-    uVar11 = in_stack_00000064;

-    uVar12 = uStack0000003c;

-    uStack0000001c = uStack00000040;

-    uStack00000020 = uStack00000044;

+  if (uVar1 < 0x1c) {

+    uVar1 = uVar1 + 1;

   }

-  if ((unaff_r6 & 0x40) != 0) {

-    uStack00000018 = in_stack_0000002c;

-    in_stack_00000014 = uStack0000001c;

-    uVar1 = in_stack_00000030;

-    uVar4 = in_stack_00000028;

-    uVar5 = in_stack_00000034;

-    unaff_r5 = uVar12;

-    uVar8 = uStack00000020;

-    uVar11 = uStack00000024;

+  pcVar2 = (char *)FUN_00588f4c(&stack0x00000000,unaff_r7,2,(uint)*(byte *)(unaff_r5 + 5));

+  uVar1 = FUN_00588ed4(unaff_r4,0x1d,uVar1,pcVar2);

+  if (uVar1 < 0x1c) {

+    *(undefined1 *)(unaff_r4 + uVar1) = 0x3a;

   }

-  uVar12 = *(uint *)(unaff_r4 + 0x1c4);

-  if (*(char *)(in_stack_00000010 + 0x18) != '\x10') {

-    in_stack_00000014 = unaff_r5;

-    uVar4 = uVar5;

-    uVar11 = uVar1;

-    uVar8 = uStack00000018;

+  if (uVar1 < 0x1c) {

+    uVar1 = uVar1 + 1;

   }

-  if ((uVar12 & 1) != 0) {

-    in_stack_00000014 = uVar8;

-    uVar4 = uVar11;

-  }

-  if (unaff_r11 == 2) {

-    if ((unaff_r6 & 0x20) != 0) {

-      in_stack_00000014 = uVar4;

-    }

-    if ((uVar12 & 0x20000) != 0) goto code_r0x00590770;

-  }

-  else {

-    uVar8 = uVar4;

-    if ((uVar12 & 0x20000) != 0) goto code_r0x005903f8;

-  }

-  uVar8 = in_stack_00000014;

-  if ((((uVar12 & 0x1000000) != 0) && ((*(uint *)(unaff_r4 + 0x1c0) & 0x80) == 0)) &&

-     (uVar8 = uVar4, unaff_r11 == 2)) {

-code_r0x00590770:

-                    /* WARNING: Subroutine does not return */

-    FUN_00589a94(unaff_r4,"unexpected alpha swap transformation");

-  }

-code_r0x005903f8:

-  if (unaff_r6 != uVar8) {

-                    /* WARNING: Subroutine does not return */

-    FUN_00589a94(unaff_r4,"png_read_image: invalid transformations");

-  }

-  iVar9 = *(int *)(param_7 + 8);

-  iVar6 = *(int *)(param_7 + 4);

-  if (unaff_r9 != 0) {

-    iVar9 = iVar9 << 1;

-  }

-  if (iVar9 < 0) {

-    iVar6 = (1 - *(int *)(in_stack_0000000c + 0xc)) * iVar9 + iVar6;

-  }

-  *(int *)(param_7 + 0x18) = iVar6;

-  *(int *)(param_7 + 0x1c) = iVar9;

-  if (unaff_r7 != 0) {

-    sVar2 = func_0x0058ad38();

-    pvVar3 = FUN_0058c4c4(unaff_r4,sVar2);

-    *(void **)(param_7 + 0x14) = pvVar3;

-    uVar12 = func_0x0058ac78(in_stack_0000000c,&UNK_0,param_7);

-    *(undefined4 *)(param_7 + 0x14) = 0;

-    FUN_0058c5f4(unaff_r4,pvVar3);

-    return uVar12;

-  }

-  if (unaff_r11 == 2) {

-    sVar2 = func_0x0058ad38();

-    pvVar3 = FUN_0058c4c4(unaff_r4,sVar2);

-    *(void **)(param_7 + 0x14) = pvVar3;

-    uVar12 = func_0x0058ac78(in_stack_0000000c,&UNK_1,param_7);

-    *(undefined4 *)(param_7 + 0x14) = 0;

-    FUN_0058c5f4(unaff_r4,pvVar3);

-  }

-  else {

-code_r0x00590454:

-    in_stack_00000038 = in_stack_00000038 + -1;

-    if (-1 < in_stack_00000038) {

-      iVar6 = *(int *)(in_stack_0000000c + 0xc);

-      pbVar7 = *(byte **)(param_7 + 0x18);

-      if (iVar6 != 0) {

-        uVar12 = *(uint *)(unaff_r4 + 0x1c0);

-        do {

-          if ((uVar12 & 0x40) == 0) {

-            FUN_005a0858(unaff_r4);

-          }

-          in_stack_0000007c = *(uint *)(unaff_r4 + 0x25c);

-          in_stack_00000084 = *(undefined1 *)(unaff_r4 + 0x297);

-          in_stack_00000085 = *(undefined1 *)(unaff_r4 + 0x298);

-          in_stack_00000086 = *(undefined1 *)(unaff_r4 + 0x29b);

-          in_stack_00000087 = *(byte *)(unaff_r4 + 0x29a);

-          if (in_stack_00000087 < 8) {

-            in_stack_00000080 = in_stack_0000007c * in_stack_00000087 + 7 >> 3;

-          }

-          else {

-            in_stack_00000080 = in_stack_0000007c * (in_stack_00000087 >> 3);

-          }

-          if ((*(char *)(unaff_r4 + 0x294) == '\0') || ((*(uint *)(unaff_r4 + 0x1c4) & 2) == 0)) {

-code_r0x0059051c:

-            if ((*(uint *)(unaff_r4 + 0x1bc) & 4) == 0) {

-                    /* WARNING: Subroutine does not return */

-              FUN_00589a94(unaff_r4,"Invalid attempt to read row data");

-            }

-            **(undefined1 **)(unaff_r4 + 0x26c) = 0xff;

-            FUN_0059fdb0(unaff_r4,*(int *)(unaff_r4 + 0x26c),in_stack_00000080 + 1);

-            __src = *(byte **)(unaff_r4 + 0x26c);

-            uVar12 = (uint)*__src;

-            if (uVar12 != 0) {

-              if (4 < uVar12) {

-                    /* WARNING: Subroutine does not return */

-                FUN_00589a94(unaff_r4,"bad adaptive filter value");

-              }

-              FUN_0059fd04(unaff_r4,&stack0x0000007c,__src + 1,*(int *)(unaff_r4 + 0x268) + 1,uVar12

-                          );

-              __src = *(byte **)(unaff_r4 + 0x26c);

-            }

-            memcpy(*(void **)(unaff_r4 + 0x268),__src,in_stack_00000080 + 1);

-            if (((*(uint *)(unaff_r4 + 0x398) & 4) != 0) && (*(char *)(unaff_r4 + 0x39c) == '@')) {

-              FUN_0058c64c((int *)&stack0x0000007c,(char *)(*(int *)(unaff_r4 + 0x26c) + 1));

-            }

-            if (*(int *)(unaff_r4 + 0x1c4) != 0) {

-              FUN_005981d4(unaff_r4,&stack0x0000007c);

-            }

-            if (*(byte *)(unaff_r4 + 0x29f) == 0) {

-              *(byte *)(unaff_r4 + 0x29f) = in_stack_00000087;

-              if (*(byte *)(unaff_r4 + 0x29e) < in_stack_00000087) {

-                    /* WARNING: Subroutine does not return */

-                FUN_00589a94(unaff_r4,"sequential row overflow");

-              }

-            }

-            else if (in_stack_00000087 != *(byte *)(unaff_r4 + 0x29f)) {

-                    /* WARNING: Subroutine does not return */

-              FUN_00589a94(unaff_r4,"internal sequential row size calculation error");

-            }

-            if ((*(char *)(unaff_r4 + 0x294) == '\0') || ((*(uint *)(unaff_r4 + 0x1c4) & 2) == 0)) {

-              if (pbVar7 != (byte *)0x0) {

-                FUN_0059f320(unaff_r4,pbVar7,-1);

-              }

-            }

-            else {

-              if (*(byte *)(unaff_r4 + 0x295) < 6) {

-                FUN_0059f83c(&stack0x0000007c,*(int *)(unaff_r4 + 0x26c) + 1,

-                             (uint)*(byte *)(unaff_r4 + 0x295),*(uint *)(unaff_r4 + 0x1c4));

-              }

-              if (pbVar7 != (byte *)0x0) {

-                FUN_0059f320(unaff_r4,pbVar7,0);

-              }

-            }

-            FUN_005a04a4(unaff_r4);

-            if (*(code **)(unaff_r4 + 0x308) != (code *)0x0) {

-              (**(code **)(unaff_r4 + 0x308))();

-            }

-          }

-          else {

-            uVar12 = *(uint *)(unaff_r4 + 0x260);

-            switch(*(undefined1 *)(unaff_r4 + 0x295)) {

-            case 0:

-              if ((uVar12 & 7) == 0) goto code_r0x0059051c;

-              break;

-            case 1:

-              if (((uVar12 & 7) == 0) && (4 < *(uint *)(unaff_r4 + 0x248))) goto code_r0x0059051c;

-              break;

-            case 2:

-              if ((uVar12 & 7) == 4) goto code_r0x0059051c;

-              break;

-            case 3:

-              if (((uVar12 & 3) == 0) && (2 < *(uint *)(unaff_r4 + 0x248))) goto code_r0x0059051c;

-              break;

-            case 4:

-              if ((uVar12 & 3) == 2) goto code_r0x0059051c;

-              break;

-            case 5:

-              if (((uVar12 & 1) == 0) && (1 < *(uint *)(unaff_r4 + 0x248))) goto code_r0x0059051c;

-              break;

-            default:

-              if ((uVar12 & 1) != 0) goto code_r0x0059051c;

-            }

-            FUN_005a04a4(unaff_r4);

-          }

-          iVar6 = iVar6 + -1;

-          pbVar7 = pbVar7 + iVar9;

-          if (iVar6 == 0) break;

-          uVar12 = *(uint *)(unaff_r4 + 0x1c0);

-        } while( true );

-      }

-      goto code_r0x00590454;

-    }

-    uVar12 = 1;

-  }

-  return uVar12;

+  pcVar2 = (char *)FUN_00588f4c(&stack0x00000000,unaff_r7,2,(uint)*(byte *)(unaff_r5 + 6));

+  uVar1 = FUN_00588ed4(unaff_r4,0x1d,uVar1,pcVar2);

+  FUN_00588ed4(unaff_r4,0x1d,uVar1," +0000");

+  return 1;

 }

 

FUN_005a12ec

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,calling,called
ratio 0.15
i_ratio 0.0
m_ratio 0.14
b_ratio 0.03
match_types ExactBytesFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_005a12ec FUN_005a3060
fullname FUN_005a12ec FUN_005a3060
refcount 2 2
length 268 20
called FUN_0058403c
calling FUN_004ec9f0
FUN_0059bb20
FUN_004ec9f0
FUN_004ed500
paramcount 9 1
address 005a12ec 005a3060
sig undefined __stdcall FUN_005a12ec(int param_1, uint * param_2, uint param_3, uint param_4, byte param_5, byte param_6, byte param_7, byte param_8, byte param_9) undefined __stdcall FUN_005a3060(int param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_005a12ec Called Diff

--- FUN_005a12ec called
+++ FUN_005a3060 called
@@ -1 +0,0 @@
-FUN_0058403c

FUN_005a12ec Calling Diff

--- FUN_005a12ec calling
+++ FUN_005a3060 calling
@@ -2 +2 @@
-FUN_0059bb20
+FUN_004ed500

FUN_005a12ec Diff

--- FUN_005a12ec
+++ FUN_005a3060
@@ -1,62 +1,10 @@
 

-void FUN_005a12ec(int param_1,uint *param_2,uint param_3,uint param_4,byte param_5,byte param_6,

-                 byte param_7,byte param_8,byte param_9)

+void FUN_005a3060(int param_1)

 

 {

-  byte bVar1;

-  int iVar2;

-  uint uVar3;

-  int iVar4;

-  uint uVar5;

-  uint uVar6;

-  

-  if (param_2 != (uint *)0x0 && param_1 != 0) {

-    param_2[1] = param_4;

-    *param_2 = param_3;

-    *(byte *)(param_2 + 6) = param_5;

-    *(byte *)((int)param_2 + 0x19) = param_6;

-    *(byte *)((int)param_2 + 0x1a) = param_8;

-    *(byte *)((int)param_2 + 0x1b) = param_9;

-    *(byte *)(param_2 + 7) = param_7;

-    FUN_0058403c(param_1,param_3,param_4,(uint)param_5,(uint)param_6,(uint)param_7,(uint)param_8,

-                 (uint)param_9);

-    bVar1 = *(byte *)((int)param_2 + 0x19);

-    if (bVar1 == 3) {

-      *(undefined1 *)((int)param_2 + 0x1d) = 1;

-      iVar2 = 1;

-    }

-    else {

-      if ((bVar1 & 2) == 0) {

-        iVar2 = 1;

-        iVar4 = 2;

-        *(undefined1 *)((int)param_2 + 0x1d) = 1;

-      }

-      else {

-        iVar2 = 3;

-        iVar4 = 4;

-        *(undefined1 *)((int)param_2 + 0x1d) = 3;

-      }

-      if ((bVar1 & 4) != 0) {

-        *(char *)((int)param_2 + 0x1d) = (char)iVar4;

-        iVar2 = iVar4;

-      }

-    }

-    uVar3 = (uint)(byte)param_2[6];

-    uVar5 = uVar3 * iVar2;

-    uVar6 = uVar5 & 0xff;

-    if (uVar6 < 8) {

-      uVar3 = param_3 * uVar6;

-    }

-    *(char *)((int)param_2 + 0x1e) = (char)uVar5;

-    if (uVar6 < 8) {

-      uVar3 = uVar3 + 7 >> 3;

-    }

-    else {

-      uVar3 = param_3 * (uVar6 >> 3);

-    }

-    param_2[3] = uVar3;

-    return;

+  if (param_1 != 0) {

+    *(uint *)(param_1 + 0x1c4) = *(uint *)(param_1 + 0x1c4) | 1;

   }

   return;

 }

 

FUN_00212238

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,called
ratio 0.1
i_ratio 0.01
m_ratio 0.92
b_ratio 0.17
match_types ExactInstructionsFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_00212238 FUN_00534dac
fullname FUN_00212238 FUN_00534dac
refcount 0 0
length 540 628
called ::fprintf
::strcmp
memset_s
FUN_00631774
FUN_00675970
FUN_00675a0c
cv::Mat::~Mat
calling
paramcount 3 6
address 00212238 00534dac
sig undefined4 __stdcall FUN_00212238(uint param_1, uint * param_2, int param_3) undefined __stdcall FUN_00534dac(undefined4 * param_1, undefined4 * param_2, undefined4 param_3, undefined4 param_4, undefined4 param_5, undefined4 param_6)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_00212238 Called Diff

--- FUN_00212238 called
+++ FUN_00534dac called
@@ -1,3 +1,4 @@
-<EXTERNAL>::fprintf
-<EXTERNAL>::strcmp
-memset_s
+FUN_00631774
+FUN_00675970
+FUN_00675a0c
+cv::Mat::~Mat

FUN_00212238 Diff

--- FUN_00212238
+++ FUN_00534dac
@@ -1,60 +1,9 @@
 

-int FUN_00212238(uint param_1,uint *param_2,int param_3)

+void FUN_00534dac(undefined4 *param_1,undefined4 *param_2,int param_3,int param_4,undefined4 param_5

+                 ,undefined4 param_6)

 

 {

-  int iVar1;

-  uint uVar2;

-  code *pcStack_2c;

-  code *pcStack_28;

-  code *pcStack_24;

-  code *pcStack_20;

-  int iStack_1c;

-  

-  iStack_1c = __stack_chk_guard;

-  if (param_1 < 4) {

-    if (param_2 == (uint *)0x0) {

-      iVar1 = -0x5fe37ffa;

-      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Null Pointer in %s!\n","HI_MPI_AWB_Register",0x659,

-              "HI_MPI_AWB_Register");

-    }

-    else {

-      uVar2 = *param_2;

-      if (uVar2 < 4) {

-        iVar1 = strcmp((char *)(param_2 + 1),"hisi_awb_lib");

-        if (iVar1 == 0) {

-          *(uint *)(g_astAwbCtx + uVar2 * 0xb58 + 0x608) = param_1;

-          pcStack_2c = AwbInit;

-          pcStack_28 = AwbRun;

-          pcStack_24 = AwbCtrl;

-          pcStack_20 = AwbExit;

-          iVar1 = FUN_001cd448(param_1,(int *)param_2,(int *)&pcStack_2c);

-          if (iVar1 != 0) {

-            fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Hi_awb register failed!\n",

-                    "HI_MPI_AWB_Register",0x668);

-          }

-        }

-        else {

-          iVar1 = -0x5fe37ffd;

-          fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Illegal lib name %s in %s!\n",

-                  "HI_MPI_AWB_Register",0x65b,param_2 + 1,"HI_MPI_AWB_Register");

-        }

-      }

-      else {

-        iVar1 = -0x5fe37ffd;

-        fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Illegal handle id %d in %s!\n",

-                "HI_MPI_AWB_Register",0x65a,uVar2,"HI_MPI_AWB_Register");

-      }

-    }

-  }

-  else {

-    iVar1 = -0x5fe37ffd;

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:Err AWB dev %d in %s!\n","HI_MPI_AWB_Register",0x658,

-            param_1,"HI_MPI_AWB_Register");

-  }

-  if (iStack_1c == __stack_chk_guard) {

-    return iVar1;

-  }

-                    /* WARNING: Subroutine does not return */

-  __stack_chk_fail();

+  *(undefined4 *)(param_4 + 4) = *(undefined4 *)(param_3 + 4);

+  return;

 }

 

FUN_0015d588

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.21
i_ratio 0.0
m_ratio 0.78
b_ratio 0.29
match_types ExactInstructionsFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_0015d588 FUN_00587e4c
fullname FUN_0015d588 FUN_00587e4c
refcount 0 3
length 236 152
called ::fprintf
::fwrite
::__aeabi_d2uiz
::__aeabi_dadd
::__aeabi_ddiv
::__aeabi_dmul
::__aeabi_i2d
::floor
::pow
calling FUN_00590a88
paramcount 2 2
address 0015d588 00587e4c
sig undefined4 __stdcall FUN_0015d588(int param_1, int param_2) uint __stdcall FUN_00587e4c(uint param_1, undefined4 param_2)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_0015d588 Called Diff

--- FUN_0015d588 called
+++ FUN_00587e4c called
@@ -1,2 +1,7 @@
-<EXTERNAL>::fprintf
-<EXTERNAL>::fwrite
+<EXTERNAL>::__aeabi_d2uiz
+<EXTERNAL>::__aeabi_dadd
+<EXTERNAL>::__aeabi_ddiv
+<EXTERNAL>::__aeabi_dmul
+<EXTERNAL>::__aeabi_i2d
+<EXTERNAL>::floor
+<EXTERNAL>::pow

FUN_0015d588 Calling Diff

--- FUN_0015d588 calling
+++ FUN_00587e4c calling
@@ -0,0 +1 @@
+FUN_00590a88

FUN_0015d588 Diff

--- FUN_0015d588
+++ FUN_00587e4c
@@ -1,19 +1,26 @@
 

-undefined4 FUN_0015d588(int param_1,int param_2)

+uint FUN_00587e4c(uint param_1,undefined4 param_2)

 

 {

-  if (param_1 != 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_cec_callback_func",0x7bd);

-    fprintf(stderr,"Invalid HDMI DEV ID:%d!\n",param_1);

-    return 0xa0288002;

+  uint uVar1;

+  undefined4 unaff_r4;

+  undefined4 unaff_r6;

+  undefined4 unaff_r7;

+  undefined4 in_lr;

+  undefined8 uVar2;

+  

+  if (0xfffd < param_1 - 1) {

+    return param_1 & 0xffff;

   }

-  if (param_2 != 0) {

-    fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_cec_callback_func",0x7c1);

-    fwrite("Not support CEC!\n",1,0x11,stderr);

-    return 0xa028800a;

-  }

-  fprintf(stderr,"[Func]:%s [Line]:%d [Info]:","hi_mpi_hdmi_reg_cec_callback_func",0x7be);

-  fwrite("NULL pointer!!\n",1,0xf,stderr);

-  return 0xa0288003;

+  uVar2 = __aeabi_i2d(param_2);

+  __aeabi_dmul((int)uVar2,(int)((ulonglong)uVar2 >> 0x20),0x88e368f1,0x3ee4f8b5);

+  uVar2 = __aeabi_i2d(param_1);

+  __aeabi_ddiv((int)uVar2,(int)((ulonglong)uVar2 >> 0x20),0,0x40efffe0);

+  pow((double)CONCAT44(unaff_r6,unaff_r4),(double)CONCAT44(in_lr,unaff_r7));

+  uVar2 = __aeabi_dmul();

+  __aeabi_dadd((int)uVar2,(int)((ulonglong)uVar2 >> 0x20),0,0x3fe00000);

+  floor((double)CONCAT44(unaff_r6,unaff_r4));

+  uVar1 = __aeabi_d2uiz();

+  return uVar1 & 0xffff;

 }

 

FUN_005826d0

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.09
i_ratio 0.04
m_ratio 0.1
b_ratio 0.03
match_types ExactInstructionsFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_005826d0 FUN_00587514
fullname FUN_005826d0 FUN_00587514
refcount 3 17
length 524 28
called
Expand for full list:
::__aeabi_d2iz
::__aeabi_dadd
::__aeabi_dcmpge
::__aeabi_dcmple
::__aeabi_ddiv
::__aeabi_dmul
::__aeabi_i2d
::floor
FUN_005809b4
FUN_00581118
FUN_005898bc
FUN_00589dd0
calling FUN_00582ee0
FUN_0059bed4
FUN_005a1740
FUN_0058d4ac
FUN_005902e8
FUN_00596a88
paramcount 3 1
address 005826d0 00587514
sig undefined4 __stdcall FUN_005826d0(int param_1, int * param_2, uint param_3) bool __stdcall FUN_00587514(int param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_005826d0 Called Diff

--- FUN_005826d0 called
+++ FUN_00587514 called
@@ -1,12 +0,0 @@
-<EXTERNAL>::__aeabi_d2iz
-<EXTERNAL>::__aeabi_dadd
-<EXTERNAL>::__aeabi_dcmpge
-<EXTERNAL>::__aeabi_dcmple
-<EXTERNAL>::__aeabi_ddiv
-<EXTERNAL>::__aeabi_dmul
-<EXTERNAL>::__aeabi_i2d
-<EXTERNAL>::floor
-FUN_005809b4
-FUN_00581118
-FUN_005898bc
-FUN_00589dd0

FUN_005826d0 Calling Diff

--- FUN_005826d0 calling
+++ FUN_00587514 calling
@@ -1,3 +1,3 @@
-FUN_00582ee0
-FUN_0059bed4
-FUN_005a1740
+FUN_0058d4ac
+FUN_005902e8
+FUN_00596a88

FUN_005826d0 Diff

--- FUN_005826d0
+++ FUN_00587514
@@ -1,67 +1,7 @@
 

-int FUN_005826d0(int param_1,int *param_2,uint param_3)

+bool FUN_00587514(int param_1)

 

 {

-  char *pcVar1;

-  uint uVar2;

-  int iVar3;

-  int in_r12;

-  char acStack_20 [5];

-  undefined1 auStack_1b [7];

-  

-  *(int *)(&stack0x00000fc4 + -in_r12) = param_1;

-  if (((((ushort)*param_2 < 10000) && (*(byte *)((int)param_2 + 2) - 1 < 0xc)) &&

-      (*(byte *)((int)param_2 + 3) - 1 < 0x1f)) &&

-     (((*(byte *)(param_2 + 1) < 0x18 && (*(byte *)((int)param_2 + 5) < 0x3c)) &&

-      (*(byte *)((int)param_2 + 6) < 0x3d)))) {

-    iVar3 = param_1 + 0x358;

-    pcVar1 = (char *)FUN_00588f4c(acStack_20,(int)auStack_1b,1,(uint)*(byte *)((int)param_2 + 3));

-    uVar2 = FUN_00588ed4(iVar3,0x1d,0,pcVar1);

-    if (uVar2 < 0x1c) {

-      *(undefined1 *)(iVar3 + uVar2) = 0x20;

-    }

-    if (uVar2 < 0x1c) {

-      uVar2 = uVar2 + 1;

-    }

-    uVar2 = FUN_00588ed4(iVar3,0x1d,uVar2,&UNK_0 + (*(byte *)((int)param_2 + 2) - 1) * 4);

-    if (uVar2 < 0x1c) {

-      *(undefined1 *)(iVar3 + uVar2) = 0x20;

-    }

-    if (uVar2 < 0x1c) {

-      uVar2 = uVar2 + 1;

-    }

-    pcVar1 = (char *)FUN_00588f4c(acStack_20,(int)auStack_1b,1,(uint)(ushort)*param_2);

-    uVar2 = FUN_00588ed4(iVar3,0x1d,uVar2,pcVar1);

-    if (uVar2 < 0x1c) {

-      *(undefined1 *)(iVar3 + uVar2) = 0x20;

-    }

-    if (uVar2 < 0x1c) {

-      uVar2 = uVar2 + 1;

-    }

-    pcVar1 = (char *)FUN_00588f4c(acStack_20,(int)auStack_1b,2,(uint)*(byte *)(param_2 + 1));

-    uVar2 = FUN_00588ed4(iVar3,0x1d,uVar2,pcVar1);

-    if (uVar2 < 0x1c) {

-      *(undefined1 *)(iVar3 + uVar2) = 0x3a;

-    }

-    if (uVar2 < 0x1c) {

-      uVar2 = uVar2 + 1;

-    }

-    pcVar1 = (char *)FUN_00588f4c(acStack_20,(int)auStack_1b,2,(uint)*(byte *)((int)param_2 + 5));

-    uVar2 = FUN_00588ed4(iVar3,0x1d,uVar2,pcVar1);

-    if (uVar2 < 0x1c) {

-      *(undefined1 *)(iVar3 + uVar2) = 0x3a;

-    }

-    if (uVar2 < 0x1c) {

-      uVar2 = uVar2 + 1;

-    }

-    pcVar1 = (char *)FUN_00588f4c(acStack_20,(int)auStack_1b,2,(uint)*(byte *)((int)param_2 + 6));

-    uVar2 = FUN_00588ed4(iVar3,0x1d,uVar2,pcVar1);

-    FUN_00588ed4(iVar3,0x1d,uVar2," +0000");

-  }

-  else {

-    FUN_005890d8(param_1,"Ignoring invalid time value");

-    iVar3 = 0;

-  }

-  return iVar3;

+  return SUB41(param_1,0);

 }

 

FUN_000c2174

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.12
i_ratio 0.12
m_ratio 0.65
b_ratio 0.18
match_types ExactInstructionsFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_000c2174 FUN_000c4ce8
fullname FUN_000c2174 FUN_000c4ce8
refcount 12 34
length 44 92
called ::free
FUN_000c2160
::__stack_chk_fail
FUN_000c4c50
calling FUN_000c2410
FUN_000c5dfc
FUN_000c5e5c
FUN_000cb3fc
FUN_000cd224
FUN_000ce740
FUN_000d06e8
FUN_000c6ba0
FUN_000c6ddc
FUN_000c81b0
FUN_000c9540
FUN_000ccc84
FUN_000ce740
FUN_000d207c
mg_http_handler
paramcount 1 4
address 000c2174 000c4ce8
sig undefined __stdcall FUN_000c2174(undefined4 * param_1) undefined __stdcall FUN_000c4ce8(int param_1, char * param_2, undefined4 param_3, undefined4 param_4)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_000c2174 Called Diff

--- FUN_000c2174 called
+++ FUN_000c4ce8 called
@@ -1,2 +1,2 @@
-<EXTERNAL>::free
-FUN_000c2160
+<EXTERNAL>::__stack_chk_fail
+FUN_000c4c50

FUN_000c2174 Calling Diff

--- FUN_000c2174 calling
+++ FUN_000c4ce8 calling
@@ -1,5 +1,5 @@
-FUN_000c2410
-FUN_000c5dfc
-FUN_000c5e5c
-FUN_000cb3fc
-FUN_000cd224
+FUN_000c6ba0
+FUN_000c6ddc
+FUN_000c81b0
+FUN_000c9540
+FUN_000ccc84
@@ -7 +7,2 @@
-FUN_000d06e8
+FUN_000d207c
+mg_http_handler

FUN_000c2174 Diff

--- FUN_000c2174
+++ FUN_000c4ce8
@@ -1,122 +1,21 @@
 

-void FUN_000c2174(undefined4 *param_1)

+void FUN_000c4ce8(int param_1,char *param_2,void *param_3,uint param_4)

 

 {

-  uint uVar1;

-  uint uVar2;

-  uint uVar3;

-  int iVar4;

-  int in_r2;

-  uint uVar5;

-  uint uVar6;

-  uint unaff_r4;

-  uint unaff_r5;

+  int *unaff_r4;

   int unaff_r6;

-  uint uVar7;

-  uint unaff_r7;

-  uint uVar8;

-  uint uVar9;

-  int unaff_r8;

-  uint uVar10;

-  int unaff_r9;

-  uint uVar11;

-  uint uVar12;

-  uint unaff_r10;

-  uint unaff_r11;

-  int in_r12;

-  uint uVar13;

-  uint uVar14;

-  uint uVar15;

-  uint in_stack_00000004;

-  int *in_stack_00000008;

-  uint in_stack_0000000c;

-  uint in_stack_00000010;

-  uint in_stack_00000014;

-  uint in_stack_00000018;

-  uint in_stack_0000001c;

-  uint in_stack_00000020;

-  uint in_stack_00000024;

-  uint in_stack_00000028;

-  uint uStack0000002c;

-  uint in_stack_00000030;

-  uint in_stack_00000034;

-  int *in_stack_00000038;

-  int iStack0000003c;

-  uint in_stack_00000048;

-  int in_stack_00000054;

-  int in_stack_00000058;

-  int in_stack_0000005c;

-  int in_stack_00000060;

-  int in_stack_00000064;

-  int in_stack_000000ac;

+  int unaff_r7;

+  int in_stack_0000200c;

   

-  uVar10 = unaff_r8 + (unaff_r10 >> 0x1b | unaff_r10 << 5);

-  uVar9 = unaff_r7 >> 0x1f | unaff_r7 << 1;

-  uVar1 = unaff_r10 >> 2 | unaff_r10 << 0x1e;

-  uVar5 = in_r2 + (uVar10 >> 0x1b | uVar10 * 0x20);

-  uVar7 = uVar10 >> 2 | uVar10 * 0x40000000;

-  uVar3 = (uint)param_1 ^ in_stack_00000004 ^ in_stack_00000014 ^ uVar9;

-  uVar3 = uVar3 >> 0x1f | uVar3 << 1;

-  uVar11 = in_stack_0000001c ^ in_stack_0000000c ^ in_stack_00000020 ^ in_stack_00000028;

-  uVar6 = (unaff_r4 ^ uVar1 ^ uVar10) + uVar9 + in_r12 + unaff_r9 + (uVar5 >> 0x1b | uVar5 * 0x20);

-  uVar10 = unaff_r5 >> 0x1f | unaff_r5 << 1;

-  uVar2 = uVar5 >> 2 | uVar5 * 0x40000000;

-  uVar15 = (uVar1 ^ uVar7 ^ uVar5) + in_stack_00000028 + unaff_r6 + unaff_r4 +

-           (uVar6 >> 0x1b | uVar6 * 0x20);

-  uStack0000002c = uVar11 >> 0x1f | uVar11 << 1;

-  uVar5 = uVar6 >> 2 | uVar6 * 0x40000000;

-  uVar11 = in_stack_00000004 ^ in_stack_00000010 ^ in_stack_00000018 ^ uVar10;

-  uVar11 = uVar11 >> 0x1f | uVar11 << 1;

-  uVar12 = in_stack_0000000c ^ in_stack_00000030 ^ in_stack_00000024 ^ uVar3;

-  uVar13 = (uVar7 ^ uVar2 ^ uVar6) + uVar10 + unaff_r6 + uVar1 + (uVar15 >> 0x1b | uVar15 * 0x20);

-  iStack0000003c = uVar11 + unaff_r6;

-  uVar1 = uVar15 >> 2 | uVar15 * 0x40000000;

-  uVar15 = (uVar2 ^ uVar5 ^ uVar15) + uVar3 + unaff_r6 + uVar7 + (uVar13 >> 0x1b | uVar13 * 0x20);

-  uVar7 = uVar13 >> 2 | uVar13 * 0x40000000;

-  uVar6 = in_stack_00000010 ^ in_stack_00000048 ^ in_stack_00000034 ^ uStack0000002c;

-  uVar8 = uVar9 ^ in_stack_00000030 ^ unaff_r11 ^ uVar11;

-  uVar13 = (uVar5 ^ uVar1 ^ uVar13) + uStack0000002c + unaff_r6 + uVar2 +

-           (uVar15 >> 0x1b | uVar15 * 0x20);

-  uVar9 = uVar12 >> 0x1f | uVar12 << 1;

-  uVar2 = uVar15 >> 2 | uVar15 * 0x40000000;

-  uVar6 = uVar6 >> 0x1f | uVar6 << 1;

-  uVar15 = (uVar1 ^ uVar7 ^ uVar15) + iStack0000003c + uVar5 + (uVar13 >> 0x1b | uVar13 * 0x20);

-  uVar5 = uVar13 >> 2 | uVar13 * 0x40000000;

-  uVar12 = in_stack_00000028 ^ in_stack_00000048 ^ in_stack_00000014 ^ uVar9;

-  uVar13 = (uVar7 ^ uVar2 ^ uVar13) + uVar9 + unaff_r6 + uVar1 + (uVar15 >> 0x1b | uVar15 * 0x20);

-  uVar9 = uVar8 >> 0x1f | uVar8 << 1;

-  uVar1 = uVar15 >> 2 | uVar15 * 0x40000000;

-  uVar8 = uVar6 ^ uVar10 ^ unaff_r11 ^ in_stack_00000020;

-  uVar14 = (uVar2 ^ uVar5 ^ uVar15) + uVar6 + unaff_r6 + uVar7 + (uVar13 >> 0x1b | uVar13 * 0x20);

-  uVar7 = uVar12 >> 0x1f | uVar12 << 1;

-  uVar10 = uVar13 >> 2 | uVar13 * 0x40000000;

-  uVar15 = (uVar5 ^ uVar1 ^ uVar13) + uVar9 + unaff_r6 + uVar2 + (uVar14 >> 0x1b | uVar14 * 0x20);

-  uVar2 = uVar14 >> 2 | uVar14 * 0x40000000;

-  uVar6 = uVar8 >> 0x1f | uVar8 << 1;

-  uVar9 = uVar9 ^ in_stack_00000014 ^ in_stack_00000018 ^ uVar3;

-  uVar5 = (uVar1 ^ uVar10 ^ uVar14) + uVar7 + unaff_r6 + uVar5 + (uVar15 >> 0x1b | uVar15 * 0x20);

-  uVar3 = uVar15 >> 2 | uVar15 * 0x40000000;

-  uVar7 = uVar7 ^ in_stack_00000020 ^ in_stack_00000024 ^ uStack0000002c;

-  uVar15 = (uVar10 ^ uVar2 ^ uVar15) + uVar6 + unaff_r6 + uVar1 + (uVar5 >> 0x1b | uVar5 * 0x20);

-  uVar1 = uVar5 >> 2 | uVar5 * 0x40000000;

-  uVar6 = uVar6 ^ uVar11 ^ in_stack_00000018 ^ in_stack_00000034;

-  uVar10 = unaff_r6 + (uVar9 >> 0x1f | uVar9 << 1) + uVar10 + (uVar2 ^ uVar3 ^ uVar5) +

-           (uVar15 >> 0x1b | uVar15 * 0x20);

-  uVar9 = uVar15 >> 2 | uVar15 * 0x40000000;

-  uVar7 = unaff_r6 + (uVar7 >> 0x1f | uVar7 << 1) + uVar2 + (uVar3 ^ uVar1 ^ uVar15) +

-          (uVar10 >> 0x1b | uVar10 * 0x20);

-  *in_stack_00000008 =

-       in_stack_00000054 + unaff_r6 + (uVar6 >> 0x1f | uVar6 << 1) + uVar3 +

-       (uVar1 ^ uVar9 ^ uVar10) + (uVar7 >> 0x1b | uVar7 * 0x20);

-  iVar4 = *in_stack_00000038;

-  in_stack_00000008[2] = in_stack_0000005c + (uVar10 >> 2 | uVar10 * 0x40000000);

-  in_stack_00000008[4] = in_stack_00000064 + uVar1;

-  in_stack_00000008[1] = in_stack_00000058 + uVar7;

-  in_stack_00000008[3] = in_stack_00000060 + uVar9;

-  if (in_stack_000000ac == iVar4) {

+  if (param_3 != (void *)0x0 && param_4 < 0x2000) {

+    memcpy(&stack0x0000000c,param_3,param_4);

+    send(unaff_r7,&stack0x00000008,param_4 + 4,0);

+    param_1 = recv(*(int *)(unaff_r6 + 8),&stack0x00000004,1,0);

+  }

+  if (in_stack_0000200c == *unaff_r4) {

     return;

   }

                     /* WARNING: Subroutine does not return */

-  __stack_chk_fail();

+  __stack_chk_fail(param_1);

 }

 

FUN_00582bd4

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.3
i_ratio 0.24
m_ratio 0.52
b_ratio 0.42
match_types ExactInstructionsFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_00582bd4 FUN_00585bf0
fullname FUN_00582bd4 FUN_00585bf0
refcount 1 10
length 364 128
called ::__aeabi_d2iz
::__aeabi_dadd
::__aeabi_dcmpge
::__aeabi_dcmple
::__aeabi_ddiv
::__aeabi_dmul
::__aeabi_i2d
::floor
FUN_0058a570
::__aeabi_d2iz
::__aeabi_dadd
::__aeabi_dcmpge
::__aeabi_dcmple
::__aeabi_ddiv
::__aeabi_i2d
::floor
calling FUN_0059bfec FUN_00586fb0
FUN_00590a88
FUN_00595b7c
FUN_00597228
paramcount 3 0
address 00582bd4 00585bf0
sig undefined __stdcall FUN_00582bd4(int param_1, int * param_2, int param_3) undefined __stdcall FUN_00585bf0(void)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_00582bd4 Called Diff

--- FUN_00582bd4 called
+++ FUN_00585bf0 called
@@ -6 +5,0 @@
-<EXTERNAL>::__aeabi_dmul
@@ -9 +7,0 @@
-FUN_0058a570

FUN_00582bd4 Calling Diff

--- FUN_00582bd4 calling
+++ FUN_00585bf0 calling
@@ -1 +1,4 @@
-FUN_0059bfec
+FUN_00586fb0
+FUN_00590a88
+FUN_00595b7c
+FUN_00597228

FUN_00582bd4 Diff

--- FUN_00582bd4
+++ FUN_00585bf0
@@ -1,59 +1,27 @@
 

-void FUN_00582bd4(int param_1,int *param_2,int param_3)

+void FUN_00585bf0(void)

 

 {

   undefined4 uVar1;

   int iVar2;

-  char *pcVar3;

   undefined4 extraout_r1;

-  ushort uVar4;

   undefined4 unaff_r4;

-  uint uVar5;

   undefined4 unaff_r5;

-  undefined8 uVar6;

-  undefined8 uVar7;

+  undefined8 uVar3;

   

-  if (param_3 - 0x10U < 0x2540be31) {

-    uVar4 = *(ushort *)((int)param_2 + 0x4a);

-    uVar5 = (uint)uVar4;

-    if (((*(uint *)(param_1 + 0x1bc) & 0x8000) == 0) || ((uVar4 & 8) == 0)) {

-      if ((uVar4 & 0x8000) != 0) {

-        return;

-      }

-      if ((uVar4 & 1) != 0) {

-        if (*param_2 != 0) {

-          uVar6 = __aeabi_i2d();

-          uVar6 = __aeabi_dmul((int)uVar6,(int)((ulonglong)uVar6 >> 0x20),0,0x40f86a00);

-          uVar7 = __aeabi_i2d(param_3);

-          uVar6 = __aeabi_ddiv((int)uVar6,(int)((ulonglong)uVar6 >> 0x20),(int)uVar7,

-                               (int)((ulonglong)uVar7 >> 0x20));

-          uVar1 = __aeabi_dadd((int)uVar6,(int)((ulonglong)uVar6 >> 0x20),0,0x3fe00000);

-          floor((double)CONCAT44(unaff_r5,unaff_r4));

-          iVar2 = __aeabi_dcmple();

-          if (((iVar2 != 0) && (iVar2 = __aeabi_dcmpge(uVar1,extraout_r1,0,0xc1e00000), iVar2 != 0))

-             && (iVar2 = __aeabi_d2iz(uVar1,extraout_r1), iVar2 - 95000U < 0x2711))

-          goto LAB_0;

-        }

-        if ((uVar4 & 0x20) != 0) {

-          FUN_0058a570(param_1,"gamma value does not match sRGB",2);

-          return;

-        }

-        FUN_0058a570(param_1,"gamma value does not match libpng estimate",uVar5 & 0x20);

-        uVar4 = *(ushort *)((int)param_2 + 0x4a);

-      }

-LAB_0:

-      *(ushort *)((int)param_2 + 0x4a) = uVar4 | 9;

-      *param_2 = param_3;

-      return;

-    }

-    pcVar3 = "duplicate";

+  uVar3 = __aeabi_i2d();

+  uVar3 = __aeabi_ddiv(0x20000000,0x4202a05f,(int)uVar3,(int)((ulonglong)uVar3 >> 0x20));

+  uVar1 = __aeabi_dadd((int)uVar3,(int)((ulonglong)uVar3 >> 0x20),0,0x3fe00000);

+  floor((double)CONCAT44(unaff_r5,unaff_r4));

+  iVar2 = __aeabi_dcmple();

+  if (iVar2 == 0) {

+    return;

   }

-  else {

-    uVar5 = (uint)*(ushort *)((int)param_2 + 0x4a);

-    pcVar3 = "gamma value out of range";

+  iVar2 = __aeabi_dcmpge(uVar1,extraout_r1,0,0xc1e00000);

+  if (iVar2 == 0) {

+    return;

   }

-  *(ushort *)((int)param_2 + 0x4a) = ~((ushort)~(ushort)((uVar5 << 0x11) >> 0x10) >> 1);

-  FUN_0058a570(param_1,pcVar3,1);

+  __aeabi_d2iz(uVar1,extraout_r1);

   return;

 }

 

FUN_005a1d74

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.89
i_ratio 0.03
m_ratio 0.83
b_ratio 0.21
match_types ExactInstructionsFunctionHasher

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_005a1d74 FUN_005a3140
fullname FUN_005a1d74 FUN_005a3140
refcount 2 5
length 336 472
called ::memcpy
FUN_00581cfc
FUN_00588938
FUN_0058bd24
calling FUN_0059ca60
FUN_005a36d8
FUN_00597a34
FUN_005a4c98
FUN_005a50a4
paramcount 5 2
address 005a1d74 005a3140
sig undefined __stdcall FUN_005a1d74(int param_1, int param_2, void * param_3, size_t param_4, void * param_5) undefined __stdcall FUN_005a3140(int param_1, uint * param_2)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_005a1d74 Called Diff

--- FUN_005a1d74 called
+++ FUN_005a3140 called
@@ -1,4 +0,0 @@
-<EXTERNAL>::memcpy
-FUN_00581cfc
-FUN_00588938
-FUN_0058bd24

FUN_005a1d74 Calling Diff

--- FUN_005a1d74 calling
+++ FUN_005a3140 calling
@@ -1,2 +1,3 @@
-FUN_0059ca60
-FUN_005a36d8
+FUN_00597a34
+FUN_005a4c98
+FUN_005a50a4

FUN_005a1d74 Diff

--- FUN_005a1d74
+++ FUN_005a3140
@@ -1,8 +1,7 @@
 

-void FUN_005a1d74(int param_1,int param_2,void *param_3,size_t param_4,void *param_5)

+void FUN_005a3140(int param_1,uint *param_2)

 

 {

-  FUN_005890d8(param_1,(char *)(param_2 + 0x5a1d7c));

   return;

 }

 

FUN_0004f310

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,sig,address,calling,called
ratio 0.25
i_ratio 0.36
m_ratio 1.0
b_ratio 0.67
match_types StructuralGraphExactHash

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_0004f310 FUN_0004f17c
fullname FUN_0004f310 FUN_0004f17c
refcount 1 2
length 1948 1948
called
Expand for full list:
::__stack_chk_fail
::free
::memset
::snprintf
FUN_0004aa9c
FUN_0004b334
FUN_0004b538
FUN_0004b73c
FUN_0004be34
FUN_0004c1f0
FUN_0004ca30
FUN_0004d0d4
FUN_0004d99c
FUN_0004dcdc
FUN_000a4740
FUN_000d460c
Expand for full list:
::__stack_chk_fail
::free
::memset
::snprintf
FUN_0004aacc
FUN_0004b364
FUN_0004b568
FUN_0004b76c
FUN_0004be64
FUN_0004c568
FUN_0004c924
FUN_0004d164
FUN_0004d808
FUN_0004db48
FUN_000a4ed0
FUN_000d4dac
calling FUN_00056c50 FUN_00056abc
FUN_00056efc
paramcount 1 1
address 0004f310 0004f17c
sig undefined __stdcall FUN_0004f310(uint * param_1) undefined __stdcall FUN_0004f17c(uint * param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_0004f310 Called Diff

--- FUN_0004f310 called
+++ FUN_0004f17c called
@@ -5,12 +5,12 @@
-FUN_0004aa9c
-FUN_0004b334
-FUN_0004b538
-FUN_0004b73c
-FUN_0004be34
-FUN_0004c1f0
-FUN_0004ca30
-FUN_0004d0d4
-FUN_0004d99c
-FUN_0004dcdc
-FUN_000a4740
-FUN_000d460c
+FUN_0004aacc
+FUN_0004b364
+FUN_0004b568
+FUN_0004b76c
+FUN_0004be64
+FUN_0004c568
+FUN_0004c924
+FUN_0004d164
+FUN_0004d808
+FUN_0004db48
+FUN_000a4ed0
+FUN_000d4dac

FUN_0004f310 Calling Diff

--- FUN_0004f310 calling
+++ FUN_0004f17c calling
@@ -1 +1,2 @@
-FUN_00056c50
+FUN_00056abc
+FUN_00056efc

FUN_0004f310 Diff

--- FUN_0004f310
+++ FUN_0004f17c
@@ -1,125 +1,261 @@
 

-void FUN_0004f310(uint *param_1)

+void FUN_0004f17c(uint *param_1)

 

 {

   int iVar1;

-  char *in_r2;

-  undefined1 in_r3;

-  char *unaff_r4;

-  char *unaff_r5;

-  int unaff_r6;

-  int *unaff_r7;

-  int *unaff_r8;

-  undefined1 *in_r12;

-  int *in_stack_00000000;

-  void *in_stack_00000010;

-  int in_stack_000000d4;

+  void *pvVar2;

+  char *__s;

+  void *local_e8;

+  char local_e4 [68];

+  char acStack_a0 [4];

+  char *pcStack_9c;

+  undefined1 local_98;

+  int local_24;

   

-  *in_r12 = in_r3;

-  iVar1 = FUN_000a4ed0((char *)(param_1 + 0x13cc8),unaff_r4,in_r2,0,in_stack_00000000);

-  if (iVar1 == 0) {

-    if (in_stack_00000010 != (void *)0x0) {

-      snprintf((char *)(unaff_r6 + 0x114),0x40,"%s");

-      if (in_stack_00000010 != (void *)0x0) {

-        free(in_stack_00000010);

-        in_stack_00000010 = (void *)0x0;

-      }

-    }

-    unaff_r5[0] = 'p';

-    unaff_r5[1] = '2';

-    unaff_r5[2] = 'p';

-    unaff_r5[3] = ':';

-    unaff_r5[4] = 'a';

-    unaff_r5[5] = 'u';

-    unaff_r5[6] = 't';

-    unaff_r5[7] = 'h';

-    *(char **)(unaff_r5 + 8) = "nc]:%s [Line]:%d [Info]:echo_band_high2: %d [1,63]\n";

-    iVar1 = FUN_000a4ed0("productini",unaff_r4,unaff_r5,0,unaff_r7);

+  local_24 = __stack_chk_guard;

+  if (param_1 == (uint *)0x0) {

+    FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x42e,"pointer[%s] is NULL\n"

+                );

+    iVar1 = -1;

+  }

+  else {

+    local_e4[8] = '\0';

+    local_e4[9] = '\0';

+    local_e4[10] = '\0';

+    local_e4[0xb] = '\0';

+    local_e4[0xc] = '\0';

+    local_e4[0xd] = '\0';

+    local_e4[0xe] = '\0';

+    local_e4[0xf] = '\0';

+    builtin_strncpy(local_e4,"commcfg",8);

+    local_e4[0x10] = '\0';

+    local_e4[0x11] = '\0';

+    local_e4[0x12] = '\0';

+    local_e4[0x13] = '\0';

+    local_e4[0x14] = '\0';

+    local_e4[0x15] = '\0';

+    local_e4[0x16] = '\0';

+    local_e4[0x17] = '\0';

+    local_e4[0x18] = '\0';

+    local_e4[0x19] = '\0';

+    local_e4[0x1a] = '\0';

+    local_e4[0x1b] = '\0';

+    local_e4[0x1c] = '\0';

+    local_e4[0x1d] = '\0';

+    local_e4[0x1e] = '\0';

+    local_e4[0x1f] = '\0';

+    local_e4[0x20] = '\0';

+    local_e4[0x21] = '\0';

+    local_e4[0x22] = '\0';

+    local_e4[0x23] = '\0';

+    local_e4[0x24] = '\0';

+    local_e4[0x25] = '\0';

+    local_e4[0x26] = '\0';

+    local_e4[0x27] = '\0';

+    local_e4[0x28] = '\0';

+    local_e4[0x29] = '\0';

+    local_e4[0x2a] = '\0';

+    local_e4[0x2b] = '\0';

+    local_e4[0x2c] = '\0';

+    local_e4[0x2d] = '\0';

+    local_e4[0x2e] = '\0';

+    local_e4[0x2f] = '\0';

+    local_e4[0x30] = '\0';

+    local_e4[0x31] = '\0';

+    local_e4[0x32] = '\0';

+    local_e4[0x33] = '\0';

+    local_e4[0x34] = '\0';

+    local_e4[0x35] = '\0';

+    local_e4[0x36] = '\0';

+    local_e4[0x37] = '\0';

+    local_e4[0x38] = '\0';

+    local_e4[0x39] = '\0';

+    local_e4[0x3a] = '\0';

+    local_e4[0x3b] = '\0';

+    local_e4[0x3c] = '\0';

+    local_e4[0x3d] = '\0';

+    local_e4[0x3e] = '\0';

+    local_e4[0x3f] = '\0';

+    iVar1 = FUN_0004db48(0,local_e4,param_1);

     if (iVar1 == 0) {

-      if (in_stack_00000010 != (void *)0x0) {

-        snprintf((char *)(unaff_r6 + 0x134),0x40,"%s");

-        if (in_stack_00000010 != (void *)0x0) {

-          free(in_stack_00000010);

-        }

-      }

-      iVar1 = FUN_0004c924(0,unaff_r4,(undefined4 *)(unaff_r6 + 0x234));

-      if (iVar1 == 0) {

-        iVar1 = FUN_0004d164(0,unaff_r4,(undefined4 *)(unaff_r6 + 0x3bc));

+      pvVar2 = (void *)FUN_0004d808(0,local_e4,(char *)(param_1 + 0x25));

+      if (pvVar2 == (void *)0x0) {

+        __s = local_e4 + 0x40;

+        memset(__s,0,0x80);

+        local_e4[0x40] = 'p';

+        local_e4[0x41] = '2';

+        local_e4[0x42] = 'p';

+        local_e4[0x43] = ':';

+        acStack_a0[0] = 'u';

+        acStack_a0[1] = 'i';

+        acStack_a0[2] = 'd';

+        acStack_a0[3] = '\0';

+        local_e8 = pvVar2;

+        iVar1 = FUN_000a4ed0("productini",local_e4,__s,0,(int *)&local_e8);

         if (iVar1 == 0) {

-          iVar1 = FUN_0004aacc(0,unaff_r4,(char *)(unaff_r6 + 0x4c4));

+          if (local_e8 != (void *)0x0) {

+            snprintf((char *)(param_1 + 0x35),0x40,"%s");

+            if (local_e8 != (void *)0x0) {

+              free(local_e8);

+              local_e8 = (void *)0x0;

+            }

+          }

+          local_e4[0x40] = 'p';

+          local_e4[0x41] = '2';

+          local_e4[0x42] = 'p';

+          local_e4[0x43] = ':';

+          acStack_a0[0] = 'a';

+          acStack_a0[1] = 'c';

+          acStack_a0[2] = 'c';

+          acStack_a0[3] = 'o';

+          pcStack_9c = (char *)0x746e75;

+          iVar1 = FUN_000a4ed0("productini",local_e4,__s,0,(int *)&local_e8);

           if (iVar1 == 0) {

-            iVar1 = FUN_0004b76c(0,unaff_r4,(undefined4 *)(unaff_r6 + 0xc44));

+            if (local_e8 != (void *)0x0) {

+              snprintf((char *)(param_1 + 0x3d),0x40,"%s");

+              if (local_e8 != (void *)0x0) {

+                free(local_e8);

+                local_e8 = (void *)0x0;

+              }

+            }

+            local_e4[0x40] = 'p';

+            local_e4[0x41] = '2';

+            local_e4[0x42] = 'p';

+            local_e4[0x43] = ':';

+            acStack_a0[0] = 'p';

+            acStack_a0[1] = 'a';

+            acStack_a0[2] = 's';

+            acStack_a0[3] = 's';

+            pcStack_9c = (char *)0x64726f77;

+            local_98 = 0;

+            iVar1 = FUN_000a4ed0("productini",local_e4,__s,0,(int *)&local_e8);

             if (iVar1 == 0) {

-              iVar1 = FUN_0004be64(0,unaff_r4,(undefined4 *)(unaff_r6 + 0xdc8));

+              if (local_e8 != (void *)0x0) {

+                snprintf((char *)(param_1 + 0x45),0x40,"%s");

+                if (local_e8 != (void *)0x0) {

+                  free(local_e8);

+                  local_e8 = (void *)0x0;

+                }

+              }

+              local_e4[0x40] = 'p';

+              local_e4[0x41] = '2';

+              local_e4[0x42] = 'p';

+              local_e4[0x43] = ':';

+              acStack_a0[0] = 'a';

+              acStack_a0[1] = 'u';

+              acStack_a0[2] = 't';

+              acStack_a0[3] = 'h';

+              pcStack_9c = "nc]:%s [Line]:%d [Info]:echo_band_high2: %d [1,63]\n";

+              iVar1 = FUN_000a4ed0("productini",local_e4,__s,0,(int *)&local_e8);

               if (iVar1 == 0) {

-                iVar1 = FUN_0004c568(0,unaff_r4,(undefined4 *)(unaff_r6 + 0x10cc));

+                if (local_e8 != (void *)0x0) {

+                  snprintf((char *)(param_1 + 0x4d),0x40,"%s");

+                  if (local_e8 != (void *)0x0) {

+                    free(local_e8);

+                  }

+                }

+                iVar1 = FUN_0004c924(0,local_e4,param_1 + 0x8d);

                 if (iVar1 == 0) {

-                  iVar1 = FUN_0004b364(0,unaff_r4,(char *)(unaff_r6 + 0x11d0));

+                  iVar1 = FUN_0004d164(0,local_e4,param_1 + 0xef);

                   if (iVar1 == 0) {

-                    iVar1 = FUN_0004b568(0,unaff_r4,(char *)(unaff_r6 + 0x1210));

-                    if (iVar1 != 0) {

-                      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x459,

+                    iVar1 = FUN_0004aacc(0,local_e4,(char *)(param_1 + 0x131));

+                    if (iVar1 == 0) {

+                      iVar1 = FUN_0004b76c(0,local_e4,param_1 + 0x311);

+                      if (iVar1 == 0) {

+                        iVar1 = FUN_0004be64(0,local_e4,param_1 + 0x372);

+                        if (iVar1 == 0) {

+                          iVar1 = FUN_0004c568(0,local_e4,param_1 + 0x433);

+                          if (iVar1 == 0) {

+                            iVar1 = FUN_0004b364(0,local_e4,(char *)(param_1 + 0x474));

+                            if (iVar1 == 0) {

+                              iVar1 = FUN_0004b568(0,local_e4,(char *)(param_1 + 0x484));

+                              if (iVar1 != 0) {

+                                FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",

+                                             0x459," Load [%s] failed\n");

+                                iVar1 = -1;

+                              }

+                            }

+                            else {

+                              FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",

+                                           0x456," Load [%s] failed\n");

+                              iVar1 = -1;

+                            }

+                          }

+                          else {

+                            FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x453

+                                         ," Load [%s] failed\n");

+                            iVar1 = -1;

+                          }

+                        }

+                        else {

+                          FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x450,

+                                       " Load [%s] failed\n");

+                          iVar1 = -1;

+                        }

+                      }

+                      else {

+                        FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x44d,

+                                     " Load [%s] failed\n");

+                        iVar1 = -1;

+                      }

+                    }

+                    else {

+                      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x44a,

                                    " Load [%s] failed\n");

                       iVar1 = -1;

                     }

                   }

                   else {

-                    FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x456,

+                    FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x447,

                                  " Load [%s] failed\n");

                     iVar1 = -1;

                   }

                 }

                 else {

-                  FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x453,

+                  FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x444,

                                " Load [%s] failed\n");

                   iVar1 = -1;

                 }

+                goto LAB_0;

               }

-              else {

-                FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x450,

-                             " Load [%s] failed\n");

-                iVar1 = -1;

-              }

+              FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_CommP2pToken",0x1de,

+                           " Load [%s] failed\n");

             }

             else {

-              FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x44d,

+              FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_CommP2pToken",0x1cd,

                            " Load [%s] failed\n");

-              iVar1 = -1;

             }

           }

           else {

-            FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x44a,

+            FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_CommP2pToken",0x1bc,

                          " Load [%s] failed\n");

-            iVar1 = -1;

           }

         }

         else {

-          FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x447,

+          FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_CommP2pToken",0x1ab,

                        " Load [%s] failed\n");

-          iVar1 = -1;

         }

-      }

-      else {

-        FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x444,

+        FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x441,

                      " Load [%s] failed\n");

         iVar1 = -1;

       }

-      goto LAB_0;

+      else {

+        FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x43d,

+                     " Load [%s] failed\n");

+        iVar1 = -1;

+      }

     }

-    FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_CommP2pToken",0x1de,

-                 " Load [%s] failed\n");

+    else {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x439," Load [%s] failed\n"

+                  );

+      iVar1 = -1;

+    }

   }

-  else {

-    FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_CommP2pToken",0x1cd,

-                 " Load [%s] failed\n");

-  }

-  FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_LoadCommConf",0x441," Load [%s] failed\n");

-  iVar1 = -1;

 LAB_0:

-  if (in_stack_000000d4 == *unaff_r8) {

+  if (local_24 == __stack_chk_guard) {

     return;

   }

                     /* WARNING: Subroutine does not return */

   __stack_chk_fail(iVar1);

 }

 

FUN_005a400c

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.07
i_ratio 0.71
m_ratio 0.99
b_ratio 0.99
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_005a400c FUN_005a4bc4
fullname FUN_005a400c FUN_005a4bc4
refcount 3 1
length 1040 1056
called
Expand for full list:
FUN_005821e4
FUN_00588938
FUN_005892f4
FUN_005a3d74
FUN_005a846c
FUN_005a89fc
FUN_005a95a0
FUN_005a9ad4
FUN_005a9cf4
FUN_005a9f18
FUN_005aa068
FUN_005aa1dc
FUN_005aa3c0
FUN_005aa658
FUN_005aaab0
FUN_005aac04
FUN_005aaf4c
FUN_005ab10c
FUN_005ab280
Expand for full list:
FUN_00582984
FUN_005890d8
FUN_00589a94
FUN_005a4514
FUN_005a8c0c
FUN_005a919c
FUN_005a9d40
FUN_005aa274
FUN_005aa494
FUN_005aa6b8
FUN_005aa808
FUN_005aa97c
FUN_005aab60
FUN_005aadf8
FUN_005ab250
FUN_005ab3a4
FUN_005ab6ec
FUN_005ab8ac
FUN_005aba20
calling FUN_005a4424 FUN_004ec9f0
paramcount 2 2
address 005a400c 005a4bc4
sig undefined __stdcall FUN_005a400c(int param_1, int * param_2) undefined __stdcall FUN_005a4bc4(int param_1, int * param_2)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_005a400c Called Diff

--- FUN_005a400c called
+++ FUN_005a4bc4 called
@@ -1,19 +1,19 @@
-FUN_005821e4
-FUN_00588938
-FUN_005892f4
-FUN_005a3d74
-FUN_005a846c
-FUN_005a89fc
-FUN_005a95a0
-FUN_005a9ad4
-FUN_005a9cf4
-FUN_005a9f18
-FUN_005aa068
-FUN_005aa1dc
-FUN_005aa3c0
-FUN_005aa658
-FUN_005aaab0
-FUN_005aac04
-FUN_005aaf4c
-FUN_005ab10c
-FUN_005ab280
+FUN_00582984
+FUN_005890d8
+FUN_00589a94
+FUN_005a4514
+FUN_005a8c0c
+FUN_005a919c
+FUN_005a9d40
+FUN_005aa274
+FUN_005aa494
+FUN_005aa6b8
+FUN_005aa808
+FUN_005aa97c
+FUN_005aab60
+FUN_005aadf8
+FUN_005ab250
+FUN_005ab3a4
+FUN_005ab6ec
+FUN_005ab8ac
+FUN_005aba20

FUN_005a400c Calling Diff

--- FUN_005a400c calling
+++ FUN_005a4bc4 calling
@@ -1 +1 @@
-FUN_005a4424
+FUN_004ec9f0

FUN_005a400c Diff

--- FUN_005a400c
+++ FUN_005a4bc4
@@ -1,263 +1,183 @@
 

-void FUN_005a400c(int param_1,int *param_2)

+void FUN_005a4bc4(int param_1,int *param_2)

 

 {

-  int iVar1;

-  undefined1 uVar2;

+  char cVar1;

+  int iVar2;

   uint uVar3;

-  int in_r2;

   int iVar4;

-  undefined1 *unaff_r4;

-  undefined1 *puVar5;

-  size_t unaff_r5;

-  size_t sVar6;

-  ushort *unaff_r6;

-  uint unaff_r7;

-  int unaff_r8;

+  int iVar5;

+  byte bVar6;

   uint uVar7;

   uint uVar8;

   int iVar9;

-  bool bVar10;

-  bool bVar11;

-  uint in_stack_00000008;

-  int in_stack_0000000c;

-  int in_stack_00000010;

-  size_t in_stack_00000014;

-  void *in_stack_00000018;

-  int in_stack_0000001c;

-  int in_stack_00000020;

-  int in_stack_00000024;

-  int in_stack_00000028;

-  int in_stack_0000002c;

-  undefined4 *in_stack_00000030;

-  int in_stack_00000034;

-  int in_stack_0000003c;

-  int in_stack_00000040;

-  int in_stack_00000044;

-  int in_stack_00000048;

-  int in_stack_0000004c;

-  int in_stack_00000050;

-  int *in_stack_00000054;

-  void *in_stack_00000058;

-  int in_stack_0000005c;

-  int in_stack_00000464;

+  int iVar10;

+  byte *pbVar11;

+  byte *pbVar12;

+  int iVar13;

   

-  do {

-    iVar9 = *(int *)(in_r2 + 0xe30);

-    iVar1 = *(int *)(in_r2 + 0x19dc);

-    iVar4 = (int)((uint)*unaff_r6 * 0xff) >> 0xf;

-    unaff_r4[2] = (char)((uint)*(ushort *)(iVar1 + iVar4 * 2) +

-                         ((int)((uint)*(byte *)(iVar9 + iVar4) *

-                               ((uint)*unaff_r6 * 0x1fe0000 >> 0x11)) >> 0xc) >> 8);

-    iVar4 = (int)((uint)*(ushort *)((int)param_2 + 2) * 0xff) >> 0xf;

-    unaff_r4[1] = (char)((uint)*(ushort *)(iVar1 + iVar4 * 2) +

-                         ((int)((uint)*(byte *)(iVar9 + iVar4) *

-                               ((uint)*(ushort *)((int)param_2 + 2) * 0x1fe0000 >> 0x11)) >> 0xc) >>

-                        8);

-    iVar4 = (int)((uint)*(ushort *)(in_stack_0000004c + (int)unaff_r6) * 0xff) >> 0xf;

-    *unaff_r4 = (char)((uint)*(ushort *)(iVar1 + iVar4 * 2) +

-                       ((int)((uint)*(byte *)(iVar9 + iVar4) *

-                             ((uint)*(ushort *)(in_stack_0000004c + (int)unaff_r6) * 0x1fe0000 >>

-                             0x11)) >> 0xc) >> 8);

-    puVar5 = unaff_r4;

-    sVar6 = unaff_r5;

-code_r0x005a40b4:

-    while( true ) {

+  if (param_2 == (int *)0x0 || param_1 == 0) {

+    return;

+  }

+  FUN_005a4514(param_1,param_2);

+  uVar7 = param_2[2];

+  if ((uVar7 & 8) == 0) {

+    if (*(char *)((int)param_2 + 0x19) == '\x03') {

+                    /* WARNING: Subroutine does not return */

+      FUN_00589a94(param_1,"Valid palette required for paletted images");

+    }

+  }

+  else {

+    FUN_005a919c(param_1,param_2[4],(uint)*(ushort *)(param_2 + 5));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x10) == 0) goto LAB_0;

+  if ((*(uint *)(param_1 + 0x1c4) & 0x80000) == 0) {

+LAB_1:

+    uVar8 = (uint)*(ushort *)((int)param_2 + 0x16);

+    uVar7 = (uint)*(byte *)((int)param_2 + 0x19);

+  }

+  else {

+    uVar7 = (uint)*(byte *)((int)param_2 + 0x19);

+    uVar8 = (uint)*(ushort *)((int)param_2 + 0x16);

+    if (uVar7 == 3) {

+      uVar3 = uVar8;

+      if (0xff < uVar8) {

+        uVar3 = 0x100;

+      }

+      if (uVar3 != 0) {

+        uVar7 = 0;

+        do {

+          *(byte *)(param_2[0x27] + uVar7) = ~*(byte *)(param_2[0x27] + uVar7);

+          uVar7 = uVar7 + 1;

+        } while (uVar7 != uVar3);

+        goto LAB_1;

+      }

+    }

+  }

+  FUN_005aa274(param_1,(uint *)param_2[0x27],(int)(param_2 + 0x28),uVar8,uVar7);

+  uVar7 = param_2[2];

+LAB_0:

+  if ((uVar7 & 0x20) != 0) {

+    FUN_005aa494(param_1,(byte *)((int)param_2 + 0xaa),(uint)*(byte *)((int)param_2 + 0x19));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x10000) != 0) {

+    FUN_005aa6b8(param_1,param_2[0x34],param_2[0x33]);

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x40) != 0) {

+    FUN_005aa808(param_1,(undefined2 *)param_2[0x36],(uint)*(ushort *)(param_2 + 5));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x100) != 0) {

+    FUN_005ab250(param_1,param_2[0x2d],param_2[0x2e],(uint)*(byte *)(param_2 + 0x2f));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x400) != 0) {

+    FUN_005ab3a4(param_1,(byte *)param_2[0x37],param_2[0x38],param_2[0x39],

+                 (uint)*(byte *)(param_2 + 0x3c),(uint)*(byte *)((int)param_2 + 0xf1),

+                 (uint *)param_2[0x3a],param_2[0x3b]);

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x4000) != 0) {

+    FUN_005ab6ec(param_1,(char)param_2[0x42],(char *)param_2[0x43],(char *)param_2[0x44]);

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x80) != 0) {

+    FUN_005ab8ac(param_1,param_2[0x30],param_2[0x31],(uint)*(byte *)(param_2 + 0x32));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x200) != 0) {

+    FUN_005aba20(param_1,(undefined2 *)(param_2 + 0x23));

+    uVar7 = param_2[2];

+    *(uint *)(param_1 + 0x1bc) = *(uint *)(param_1 + 0x1bc) | 0x200;

+  }

+  if (((uVar7 & 0x2000) != 0) && (0 < param_2[0x41])) {

+    iVar9 = 0;

+    do {

+      FUN_005a9d40(param_1,(undefined4 *)(param_2[0x40] + iVar9 * 0x10));

+      iVar9 = iVar9 + 1;

+    } while (iVar9 < param_2[0x41]);

+  }

+  iVar9 = param_2[0x20];

+  if (0 < iVar9) {

+    iVar10 = 0;

+    iVar13 = 0;

+    iVar5 = param_2[0x22];

+    do {

       while( true ) {

-        unaff_r5 = sVar6 + 1;

-        unaff_r4 = puVar5 + 3;

-        unaff_r6 = (ushort *)((int)unaff_r6 + in_stack_0000000c);

-        unaff_r8 = unaff_r8 + unaff_r7;

-        if ((int)in_stack_00000008 <= (int)sVar6) {

-          FUN_005a1d2c(*(int *)*in_stack_00000030,((int *)*in_stack_00000030)[1],in_stack_00000058,

-                       in_stack_00000008);

-          if (in_stack_00000014 != 0) {

-            FUN_005a2514(*(int *)*in_stack_00000030,((int *)*in_stack_00000030)[1],in_stack_00000018

-                         ,in_stack_00000014,(void *)0x0);

-          }

-          iVar4 = *in_stack_00000054;

-          in_stack_00000030[6] = in_stack_00000008;

-          if (in_stack_00000464 == iVar4) {

-            return;

-          }

-                    /* WARNING: Subroutine does not return */

-          __stack_chk_fail();

-        }

-        if (in_stack_00000010 != 0) break;

-        if (unaff_r7 != 3) {

-          if (unaff_r7 != 4) {

-            if (unaff_r7 == 2) {

-              iVar4 = in_stack_00000050 + -0x21;

-              if (iVar4 != 0) {

-                iVar4 = 1;

-              }

-              if (*(char *)(unaff_r8 + iVar4) != -1) {

-                in_stack_00000014 = unaff_r5;

-              }

-              *(char *)((int)in_stack_00000018 + sVar6) = *(char *)(unaff_r8 + iVar4);

-            }

-            uVar2 = *(undefined1 *)(unaff_r8 + in_stack_00000024);

-            goto code_r0x005a4134;

-          }

-          if (*(char *)(unaff_r8 + in_stack_0000005c) != -1) {

-            in_stack_00000014 = unaff_r5;

-          }

-          *(char *)((int)in_stack_00000018 + sVar6) = *(char *)(unaff_r8 + in_stack_0000005c);

-        }

-        iVar4 = unaff_r8 + in_stack_00000024;

-        puVar5[5] = *(undefined1 *)(iVar4 + in_stack_00000034);

-        puVar5[4] = *(undefined1 *)(iVar4 + 1);

-        *unaff_r4 = *(undefined1 *)(iVar4 + in_stack_00000028);

-        puVar5 = unaff_r4;

-        sVar6 = unaff_r5;

-      }

-      param_2 = (int *)((int)unaff_r6 - in_stack_00000020);

-      if (in_stack_0000001c != 0) break;

-      uVar8 = (uint)*(ushort *)(in_stack_0000002c + (int)unaff_r6);

-      uVar7 = uVar8 * 0xff + 0x807f;

-      uVar3 = uVar7 >> 0x10;

-      if (((uVar3 & 0xff) - 1 & 0xff) < 0xfe) {

-        iVar4 = __aeabi_idiv((*(ushort *)(in_stack_0000002c + (int)unaff_r6) >> 1) + 0x7f7f8080,

-                             uVar8);

-      }

-      else {

-        iVar4 = 0;

-      }

-      if (uVar3 != 0xff) {

-        in_stack_00000014 = unaff_r5;

-      }

-      *(char *)((int)in_stack_00000018 + sVar6) = (char)(uVar7 >> 0x10);

-      if (unaff_r7 < 3) {

-        uVar3 = (uint)*(ushort *)(in_stack_0000003c + (int)unaff_r6);

-        bVar11 = 0x7e < uVar8;

-        bVar10 = uVar8 == 0x7f;

-        if (0x7f < uVar8) {

-          bVar11 = uVar3 <= uVar8;

-          bVar10 = uVar8 == uVar3;

-        }

-        if (!bVar11 || bVar10) {

-          uVar2 = 0xff;

-        }

-        else if (uVar3 == 0) {

-          uVar2 = 0;

+        iVar4 = *(int *)(iVar5 + iVar10);

+        iVar2 = iVar5 + iVar10;

+        if (iVar4 < 1) break;

+        FUN_005aadf8(param_1,iVar4,*(byte **)(iVar2 + 4),*(uint **)(iVar2 + 0x14),

+                     *(uint **)(iVar2 + 0x18),*(uint **)(iVar2 + 8));

+        iVar5 = param_2[0x22];

+        iVar9 = param_2[0x20];

+        if (*(int *)(iVar5 + iVar10) == -1) {

+          *(undefined4 *)(iVar5 + iVar10) = 0xfffffffd;

         }

         else {

-          if (uVar8 < 0xff7f) {

-            uVar3 = iVar4 * uVar3 + 0x40;

+          *(undefined4 *)(iVar5 + iVar10) = 0xfffffffe;

+        }

+LAB_2:

+        iVar13 = iVar13 + 1;

+        iVar10 = iVar10 + 0x1c;

+        if (iVar9 <= iVar13) goto LAB_3;

+      }

+      if (iVar4 == 0) {

+        FUN_005aab60(param_1,*(byte **)(iVar2 + 4),*(uint **)(iVar2 + 8),0);

+        iVar5 = param_2[0x22];

+        iVar9 = param_2[0x20];

+        *(undefined4 *)(iVar5 + iVar10) = 0xfffffffe;

+        goto LAB_2;

+      }

+      if (iVar4 != -1) goto LAB_2;

+      FUN_005aa97c(param_1,*(byte **)(iVar2 + 4),*(uint **)(iVar2 + 8));

+      iVar9 = param_2[0x20];

+      iVar5 = param_2[0x22];

+      iVar13 = iVar13 + 1;

+      *(undefined4 *)(iVar5 + iVar10) = 0xfffffffd;

+      iVar10 = iVar10 + 0x1c;

+    } while (iVar13 < iVar9);

+  }

+LAB_3:

+  iVar9 = param_2[0x3f];

+  if (iVar9 != 0) {

+    pbVar11 = (byte *)param_2[0x3e];

+    iVar5 = iVar9 * 4;

+    pbVar12 = pbVar11;

+    if (pbVar11 < pbVar11 + iVar9 * 0x14) {

+      do {

+        if ((pbVar12[0x10] & 2) != 0) {

+          cVar1 = FUN_00582984(param_1,pbVar12);

+          if (cVar1 != '\x01') {

+            bVar6 = pbVar12[3] >> 5;

+            if (cVar1 == '\x03') {

+              bVar6 = bVar6 | 1;

+            }

+            if (((bVar6 & 1) != 0) || ((cVar1 == '\0' && (*(int *)(param_1 + 900) == 3)))) {

+              uVar7 = *(uint *)(pbVar12 + 0xc);

+              if (uVar7 == 0) {

+                FUN_005890d8(param_1,"Writing zero-length unknown chunk");

+                uVar7 = *(uint *)(pbVar12 + 0xc);

+              }

+              FUN_005a8c0c(param_1,pbVar12,*(uint **)(pbVar12 + 8),uVar7);

+              iVar9 = param_2[0x3f];

+              pbVar11 = (byte *)param_2[0x3e];

+              iVar5 = iVar9 << 2;

+              goto LAB_4;

+            }

           }

-          if (uVar8 < 0xff7f) {

-            uVar3 = uVar3 >> 7;

-          }

-          else {

-            uVar3 = uVar3 * 0xff;

-          }

-          uVar2 = (undefined1)

-                  ((uint)*(ushort *)(*(int *)(in_r2 + 0x19dc) + (uVar3 >> 0xf) * 2) +

-                   ((uVar3 & 0x7fff) * (uint)*(byte *)(*(int *)(in_r2 + 0xe30) + (uVar3 >> 0xf)) >>

-                   0xc) >> 8);

+          iVar9 = param_2[0x3f];

+          pbVar11 = (byte *)param_2[0x3e];

+          iVar5 = iVar9 << 2;

         }

-code_r0x005a4134:

-        puVar5[4] = uVar2;

-        *unaff_r4 = uVar2;

-        puVar5[5] = uVar2;

-        puVar5 = unaff_r4;

-        sVar6 = unaff_r5;

-      }

-      else {

-        uVar3 = (uint)*(ushort *)(in_stack_00000040 + (int)unaff_r6);

-        bVar11 = 0x7e < uVar8;

-        bVar10 = uVar8 == 0x7f;

-        if (0x7f < uVar8) {

-          bVar11 = uVar3 <= uVar8;

-          bVar10 = uVar8 == uVar3;

-        }

-        if (!bVar11 || bVar10) {

-          uVar2 = 0xff;

-        }

-        else if (uVar3 == 0) {

-          uVar2 = 0;

-        }

-        else {

-          if (uVar8 < 0xff7f) {

-            uVar3 = iVar4 * uVar3 + 0x40;

-          }

-          if (uVar8 < 0xff7f) {

-            uVar3 = uVar3 >> 7;

-          }

-          else {

-            uVar3 = uVar3 * 0xff;

-          }

-          uVar2 = (undefined1)

-                  ((uint)*(ushort *)(*(int *)(in_r2 + 0x19dc) + (uVar3 >> 0xf) * 2) +

-                   ((uVar3 & 0x7fff) * (uint)*(byte *)(*(int *)(in_r2 + 0xe30) + (uVar3 >> 0xf)) >>

-                   0xc) >> 8);

-        }

-        puVar5[5] = uVar2;

-        uVar3 = (uint)*(ushort *)(in_stack_00000044 + (int)unaff_r6);

-        if (uVar8 <= uVar3 || uVar8 < 0x80) {

-          uVar2 = 0xff;

-        }

-        else if (uVar3 == 0) {

-          uVar2 = 0;

-        }

-        else {

-          if (uVar8 < 0xff7f) {

-            uVar3 = iVar4 * uVar3 + 0x40;

-          }

-          if (uVar8 < 0xff7f) {

-            uVar3 = uVar3 >> 7;

-          }

-          else {

-            uVar3 = uVar3 * 0xff;

-          }

-          uVar2 = (undefined1)

-                  ((uint)*(ushort *)(*(int *)(in_r2 + 0x19dc) + (uVar3 >> 0xf) * 2) +

-                   ((uVar3 & 0x7fff) * (uint)*(byte *)(*(int *)(in_r2 + 0xe30) + (uVar3 >> 0xf)) >>

-                   0xc) >> 8);

-        }

-        puVar5[4] = uVar2;

-        uVar3 = (uint)*(ushort *)(in_stack_00000048 + (int)unaff_r6);

-        if (uVar8 <= uVar3 || uVar8 < 0x80) {

-          uVar2 = 0xff;

-code_r0x005a4324:

-          *unaff_r4 = uVar2;

-          puVar5 = unaff_r4;

-          sVar6 = unaff_r5;

-        }

-        else {

-          if (uVar3 != 0) {

-            if (uVar8 < 0xff7f) {

-              uVar3 = iVar4 * uVar3 + 0x40;

-            }

-            if (uVar8 < 0xff7f) {

-              uVar3 = uVar3 >> 7;

-            }

-            else {

-              uVar3 = uVar3 * 0xff;

-            }

-            uVar2 = (undefined1)

-                    ((uint)*(ushort *)(*(int *)(in_r2 + 0x19dc) + (uVar3 >> 0xf) * 2) +

-                     ((uVar3 & 0x7fff) * (uint)*(byte *)(*(int *)(in_r2 + 0xe30) + (uVar3 >> 0xf))

-                     >> 0xc) >> 8);

-            goto code_r0x005a4324;

-          }

-          *unaff_r4 = 0;

-          puVar5 = unaff_r4;

-          sVar6 = unaff_r5;

-        }

-      }

+LAB_4:

+        pbVar12 = pbVar12 + 0x14;

+      } while (pbVar12 < pbVar11 + (iVar5 + iVar9) * 4);

     }

-  } while (2 < unaff_r7);

-  iVar4 = (int)((uint)*(ushort *)param_2 * 0xff) >> 0xf;

-  uVar2 = (undefined1)

-          ((uint)*(ushort *)(*(int *)(in_r2 + 0x19dc) + iVar4 * 2) +

-           ((int)((uint)*(byte *)(*(int *)(in_r2 + 0xe30) + iVar4) *

-                 ((uint)*(ushort *)param_2 * 0x1fe0000 >> 0x11)) >> 0xc) >> 8);

-  puVar5[4] = uVar2;

-  *unaff_r4 = uVar2;

-  puVar5[5] = uVar2;

-  puVar5 = unaff_r4;

-  sVar6 = unaff_r5;

-  goto code_r0x005a40b4;

+  }

+  return;

 }

 

FUN_00151274

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,calling,called
ratio 0.06
i_ratio 0.73
m_ratio 0.99
b_ratio 0.99
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_00151274 FUN_00151a14
fullname FUN_00151274 FUN_00151a14
refcount 1 1
length 972 960
called
Expand for full list:
::__stack_chk_fail
::fprintf
::ioctl
::pthread_mutex_lock
::pthread_mutex_unlock
FUN_0002b7e8
FUN_0014d974
FUN_0014db40
FUN_0014dba4
FUN_0014ea04
memcpy_s
Expand for full list:
::__stack_chk_fail
::fprintf
::ioctl
::pthread_mutex_lock
::pthread_mutex_unlock
FUN_0002b818
FUN_0014e114
FUN_0014e2e0
FUN_0014e344
FUN_0014f1a4
memcpy_s
calling FUN_000fcbc8 FUN_000fd368
paramcount 2 2
address 00151274 00151a14
sig undefined __stdcall FUN_00151274(uint param_1, uint * param_2) undefined __stdcall FUN_00151a14(uint param_1, uint * param_2)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_00151274 Called Diff

--- FUN_00151274 called
+++ FUN_00151a14 called
@@ -6,5 +6,5 @@
-FUN_0002b7e8
-FUN_0014d974
-FUN_0014db40
-FUN_0014dba4
-FUN_0014ea04
+FUN_0002b818
+FUN_0014e114
+FUN_0014e2e0
+FUN_0014e344
+FUN_0014f1a4

FUN_00151274 Calling Diff

--- FUN_00151274 calling
+++ FUN_00151a14 calling
@@ -1 +1 @@
-FUN_000fcbc8
+FUN_000fd368

FUN_00151274 Diff

--- FUN_00151274
+++ FUN_00151a14
@@ -1,41 +1,142 @@
 

-undefined4 FUN_00151274(uint param_1,uint *param_2)

+/* WARNING: Control flow encountered bad instruction data */

+

+void FUN_00151a14(uint param_1,uint *param_2)

 

 {

-  uint *puVar1;

-  uint *puVar2;

-  uint *unaff_r4;

-  int iVar3;

-  int *unaff_r6;

-  uint *unaff_r7;

+  int iVar1;

+  pthread_mutex_t *__mutex;

+  uint uVar2;

+  uint uVar3;

+  int iVar4;

+  uint local_68 [15];

+  int local_2c;

   

-  pthread_mutex_lock((pthread_mutex_t *)(unaff_r4 + 1));

-  if (0x13 < *unaff_r4) {

-    pthread_mutex_unlock((pthread_mutex_t *)(unaff_r4 + 1));

-    return 0xa017800f;

+  local_2c = __stack_chk_guard;

+  local_68[0] = 0;

+  local_68[1] = 0;

+  local_68[2] = 0;

+  local_68[3] = 0;

+  local_68[4] = 0;

+  local_68[5] = 0;

+  local_68[6] = 0;

+  local_68[7] = 0;

+  local_68[8] = 0;

+  local_68[9] = 0;

+  local_68[10] = 0;

+  local_68[0xb] = 0;

+  local_68[0xc] = 0;

+  local_68[0xd] = 0;

+  if (param_1 < 0x20) {

+    iVar1 = FUN_0014e114(param_1);

+    if (iVar1 == 0) {

+      if (param_2 == (uint *)0x0) {

+        iVar1 = -0x5fe87ffa;

+      }

+      else {

+        iVar4 = param_1 * 0xf8;

+        if ((&DAT_0)[param_1 * 0x3e] == 1) {

+          *(int *)(&DAT_1 + iVar4) = *(int *)(&DAT_1 + iVar4) + 1;

+          iVar1 = FUN_0014e344(param_1,param_2);

+          if (iVar1 == 0) {

+            memcpy_s(local_68,0x38,param_2,0x38);

+            uVar2 = local_68[0xb] >> (local_68[0] & 0xff);

+            if (*(uint *)(&DAT_2 + iVar4) < uVar2) {

+              *(int *)(&DAT_3 + iVar4) = *(int *)(&DAT_3 + iVar4) + 1;

+              iVar1 = -0x5fe87ff7;

+              fprintf(stderr,

+                      "[Func]:%s [Line]:%d [Info]:frame point num:%d error, it\'s bigger than aenc chn frame point num:%d\n"

+                      ,"hi_mpi_aenc_send_frame",0x5fb,uVar2,*(uint *)(&DAT_2 + iVar4));

+              FUN_0014e2e0(param_1,(int)(&DAT_1 + iVar4));

+            }

+            else {

+              if ((&DAT_4)[param_1 * 0x3e] == -1) {

+                FUN_0002b818();

+                    /* WARNING: Bad instruction - Truncating control flow here */

+                halt_baddata();

+              }

+              if ((&DAT_5)[(&DAT_0092d158)[param_1 * 0x3e] * 10] == -1) {

+                iVar1 = -0x5fe87fc0;

+                fprintf(stderr,"[Func]:%s [Line]:%d [Info]:the encoder has been unregistered!\n",

+                        "hi_mpi_aenc_send_frame",0x600);

+              }

+              else {

+                __mutex = (pthread_mutex_t *)(&DAT_6 + iVar4);

+                pthread_mutex_lock(__mutex);

+                if (((&DAT_0)[param_1 * 0x3e] == 1) && (*(int *)(&DAT_0092d128 + iVar4) == 1)

+                   ) {

+                  if (*(int *)(&DAT_7 + param_1 * 0xf8) == 0) {

+                    iVar1 = *(int *)(&DAT_8 + param_1 * 0xf8);

+                    uVar3 = **(uint **)(iVar1 + 0xa4);

+                    uVar2 = **(uint **)(iVar1 + 0xa8);

+                    if (uVar2 < uVar3) {

+                      uVar2 = (uVar3 - uVar2) - *(int *)(iVar1 + 0xc);

+                    }

+                    else {

+                      uVar2 = ((uVar3 - *(int *)(iVar1 + 0xc)) + *(int *)(iVar1 + 8)) - uVar2;

+                    }

+                    iVar1 = param_1 * 0xf8;

+                    if (uVar2 < *(uint *)(&DAT_9 + iVar1)) {

+                      *(int *)(&DAT_10 + iVar1) = *(int *)(&DAT_10 + iVar1) + 1;

+                      iVar1 = -0x5fe87ff1;

+                      FUN_0014e2e0(param_1,(int)(&DAT_1 + iVar4));

+                      pthread_mutex_unlock(__mutex);

+                      goto LAB_11;

+                    }

+                    iVar1 = FUN_0014f1a4(param_1,local_68);

+                    if (iVar1 != 0) {

+                      fprintf(stderr,"[Func]:%s [Line]:%d [Info]:encode err:0x%x\n",

+                              "hi_mpi_aenc_send_frame",0x61c,iVar1);

+                    }

+                  }

+                  else {

+                    if (*param_2 == 2) {

+                      uVar2 = 4;

+                    }

+                    else {

+                      uVar2 = *param_2 + 1;

+                    }

+                    if (param_2[0xb] / uVar2 < 0x1e1) {

+                      iVar1 = FUN_0014e114(param_1);

+                      if (iVar1 == 0) {

+                        iVar1 = ioctl(*(int *)(&DAT_12 + param_1 * 4),0x4038410a,local_68);

+                      }

+                    }

+                    else {

+                      iVar1 = -0x5fe87ff8;

+                      fprintf(stderr,

+                              "[Func]:%s [Line]:%d [Info]:point num (%d) of this frame is larger than MAX_VOICE_POINT_NUM(%d) for voie encode\n"

+                              ,"hi_mpi_aenc_send_frame",0x625,param_2[0xb] / uVar2,0x1e0);

+                    }

+                  }

+                  pthread_mutex_unlock(__mutex);

+                }

+                else {

+                  iVar1 = -0x5fe87ffb;

+                  pthread_mutex_unlock(__mutex);

+                }

+              }

+            }

+          }

+          else {

+            *(int *)(&DAT_3 + iVar4) = *(int *)(&DAT_3 + iVar4) + 1;

+            FUN_0014e2e0(param_1,(int)(&DAT_1 + iVar4));

+          }

+        }

+        else {

+          iVar1 = -0x5fe87ffb;

+        }

+      }

+    }

   }

-  puVar2 = unaff_r4;

-  do {

-    puVar1 = puVar2 + 7;

-    puVar2 = puVar2 + 10;

-    if (*unaff_r7 == *puVar1) {

-      pthread_mutex_unlock((pthread_mutex_t *)&DAT_0);

-      return 0xa0178009;

-    }

-  } while (puVar2 != unaff_r4 + 200);

-  iVar3 = 0;

-  do {

-    puVar2 = unaff_r4 + 7;

-    unaff_r4 = unaff_r4 + 10;

-    if (*puVar2 == 0xffffffff) {

-      memcpy_s(&DAT_1 + iVar3 * 10,0x28,unaff_r7,0x28);

-      *unaff_r6 = iVar3;

-      DAT_2 = DAT_2 + 1;

-      break;

-    }

-    iVar3 = iVar3 + 1;

-  } while (iVar3 != 0x14);

-  pthread_mutex_unlock((pthread_mutex_t *)&DAT_0);

-  return 0;

+  else {

+    iVar1 = -0x5fe87ffe;

+  }

+LAB_11:

+  if (local_2c == __stack_chk_guard) {

+    return;

+  }

+                    /* WARNING: Subroutine does not return */

+  __stack_chk_fail(iVar1);

 }

 

FUN_0004d0d4

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,calling,called
ratio 0.02
i_ratio 0.24
m_ratio 0.89
b_ratio 0.37
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_0004d0d4 FUN_0004be64
fullname FUN_0004d0d4 FUN_0004be64
refcount 2 2
length 1964 1572
called
Expand for full list:
::__stack_chk_fail
::access
::fclose
::fopen
::fread
::free
::memset
::snprintf
::strstr
::system
FUN_000a4740
FUN_000a4d58
FUN_000a4e70
FUN_000d460c
FUN_000ddd24
::__stack_chk_fail
::free
::memset
::snprintf
FUN_000a4ed0
FUN_000a54e8
FUN_000a5600
FUN_000d4dac
calling FUN_0004f310
FUN_0004fc18
FUN_0004f17c
FUN_0004fa84
paramcount 3 3
address 0004d0d4 0004be64
sig undefined __stdcall FUN_0004d0d4(int param_1, char * param_2, undefined4 * param_3) undefined __stdcall FUN_0004be64(int param_1, char * param_2, undefined4 * param_3)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_0004d0d4 Called Diff

--- FUN_0004d0d4 called
+++ FUN_0004be64 called
@@ -2,4 +1,0 @@
-<EXTERNAL>::access
-<EXTERNAL>::fclose
-<EXTERNAL>::fopen
-<EXTERNAL>::fread
@@ -9,7 +5,4 @@
-<EXTERNAL>::strstr
-<EXTERNAL>::system
-FUN_000a4740
-FUN_000a4d58
-FUN_000a4e70
-FUN_000d460c
-FUN_000ddd24
+FUN_000a4ed0
+FUN_000a54e8
+FUN_000a5600
+FUN_000d4dac

FUN_0004d0d4 Calling Diff

--- FUN_0004d0d4 calling
+++ FUN_0004be64 calling
@@ -1,2 +1,2 @@
-FUN_0004f310
-FUN_0004fc18
+FUN_0004f17c
+FUN_0004fa84

FUN_0004d0d4 Diff

--- FUN_0004d0d4
+++ FUN_0004be64
@@ -1,10 +1,273 @@
 

-/* WARNING: Control flow encountered bad instruction data */

-

-void FUN_0004d0d4(int param_1,char *param_2,undefined4 *param_3)

+void FUN_0004be64(int param_1,char *param_2,undefined4 *param_3)

 

 {

-                    /* WARNING: Bad instruction - Truncating control flow here */

-  halt_baddata();

+  int iVar1;

+  undefined4 uVar2;

+  char *__s;

+  void *local_d0;

+  char local_cc [36];

+  char acStack_a8 [4];

+  char acStack_a4 [4];

+  undefined3 uStack_a0;

+  char cStack_9d;

+  undefined2 local_9c [2];

+  undefined1 local_98;

+  int local_2c;

+  

+  __s = local_cc + 0x20;

+  local_2c = __stack_chk_guard;

+  memset(__s,0,0x80);

+  local_d0 = (void *)0x0;

+  local_cc[0x20] = 'o';

+  local_cc[0x21] = 'n';

+  local_cc[0x22] = '_';

+  local_cc[0x23] = 'p';

+  acStack_a8[0] = 'r';

+  acStack_a8[1] = 'e';

+  acStack_a8[2] = 'm';

+  acStack_a8[3] = 'i';

+  acStack_a4[0] = 's';

+  acStack_a4[1] = 'e';

+  acStack_a4[2] = ':';

+  acStack_a4[3] = 'e';

+  uStack_a0._0_1_ = 'n';

+  uStack_a0._1_1_ = 'a';

+  uStack_a0._2_1_ = 'b';

+  cStack_9d = 'l';

+  local_cc[0] = '\0';

+  local_cc[1] = '\0';

+  local_cc[2] = '\0';

+  local_cc[3] = '\0';

+  local_cc[4] = '\0';

+  local_cc[5] = '\0';

+  local_cc[6] = '\0';

+  local_cc[7] = '\0';

+  local_cc[8] = '\0';

+  local_cc[9] = '\0';

+  local_cc[10] = '\0';

+  local_cc[0xb] = '\0';

+  local_cc[0xc] = '\0';

+  local_cc[0xd] = '\0';

+  local_cc[0xe] = '\0';

+  local_cc[0xf] = '\0';

+  local_cc[0x10] = '\0';

+  local_cc[0x11] = '\0';

+  local_cc[0x12] = '\0';

+  local_cc[0x13] = '\0';

+  local_cc[0x14] = '\0';

+  local_cc[0x15] = '\0';

+  local_cc[0x16] = '\0';

+  local_cc[0x17] = '\0';

+  local_cc[0x18] = '\0';

+  local_cc[0x19] = '\0';

+  local_cc[0x1a] = '\0';

+  local_cc[0x1b] = '\0';

+  local_cc[0x1c] = '\0';

+  local_cc[0x1d] = '\0';

+  local_cc[0x1e] = '\0';

+  local_cc[0x1f] = '\0';

+  local_9c[0] = 0x65;

+  if (param_1 == 0) {

+    iVar1 = FUN_000a54e8("productini",param_2,__s,0,param_3);

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x37b,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    local_cc[0x20] = 'o';

+    local_cc[0x21] = 'n';

+    local_cc[0x22] = '_';

+    local_cc[0x23] = 'p';

+    acStack_a8[0] = 'r';

+    acStack_a8[1] = 'e';

+    acStack_a8[2] = 'm';

+    acStack_a8[3] = 'i';

+    acStack_a4[0] = 's';

+    acStack_a4[1] = 'e';

+    acStack_a4[2] = ':';

+    acStack_a4[3] = 'w';

+    uStack_a0 = 0x7373;

+    iVar1 = FUN_000a4ed0("productini",param_2,__s,0,(int *)&local_d0);

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x388,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    if ((local_d0 != (void *)0x0) &&

+       (snprintf((char *)(param_3 + 1),0x40,"%s"), local_d0 != (void *)0x0)) {

+      free(local_d0);

+      local_d0 = (void *)0x0;

+    }

+    local_cc[0x20] = 'o';

+    local_cc[0x21] = 'n';

+    local_cc[0x22] = '_';

+    local_cc[0x23] = 'p';

+    acStack_a8[0] = 'r';

+    acStack_a8[1] = 'e';

+    acStack_a8[2] = 'm';

+    acStack_a8[3] = 'i';

+    acStack_a4[0] = 's';

+    acStack_a4[1] = 'e';

+    acStack_a4[2] = ':';

+    acStack_a4[3] = 'p';

+    uStack_a0._0_1_ = 'h';

+    uStack_a0._1_1_ = 'o';

+    uStack_a0._2_1_ = 't';

+    cStack_9d = 'o';

+    local_9c[0]._0_1_ = '_';

+    local_9c[0]._1_1_ = 'u';

+    local_9c[1]._0_1_ = 'r';

+    local_9c[1]._1_1_ = 'l';

+    local_98 = 0;

+    iVar1 = FUN_000a4ed0("productini",param_2,__s,0,(int *)&local_d0);

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x39a,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    if ((local_d0 != (void *)0x0) &&

+       (snprintf((char *)(param_3 + 0x41),0x40,"%s"), local_d0 != (void *)0x0)) {

+      free(local_d0);

+      local_d0 = (void *)0x0;

+    }

+    local_cc[0x20] = 'o';

+    local_cc[0x21] = 'n';

+    local_cc[0x22] = '_';

+    local_cc[0x23] = 'p';

+    acStack_a8[0] = 'r';

+    acStack_a8[1] = 'e';

+    acStack_a8[2] = 'm';

+    acStack_a8[3] = 'i';

+    acStack_a4[0] = 's';

+    acStack_a4[1] = 'e';

+    acStack_a4[2] = ':';

+    acStack_a4[3] = 't';

+    uStack_a0._0_1_ = 'h';

+    uStack_a0._1_1_ = 'u';

+    uStack_a0._2_1_ = 'm';

+    cStack_9d = 'b';

+    local_9c[0]._0_1_ = '_';

+    local_9c[0]._1_1_ = 'u';

+    local_9c[1]._0_1_ = 'r';

+    local_9c[1]._1_1_ = 'l';

+    local_98 = 0;

+    iVar1 = FUN_000a4ed0("productini",param_2,__s,0,(int *)&local_d0);

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3ac,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    if ((local_d0 != (void *)0x0) &&

+       (snprintf((char *)(param_3 + 0x81),0x40,"%s"), local_d0 != (void *)0x0)) {

+      free(local_d0);

+      local_d0 = (void *)0x0;

+    }

+  }

+  else {

+    snprintf(local_cc,0x20,"%d",*param_3);

+    iVar1 = FUN_000a5600("productini",param_2,__s,local_cc);

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x381,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    local_cc[0x20] = 'o';

+    local_cc[0x21] = 'n';

+    local_cc[0x22] = '_';

+    local_cc[0x23] = 'p';

+    acStack_a8[0] = 'r';

+    acStack_a8[1] = 'e';

+    acStack_a8[2] = 'm';

+    acStack_a8[3] = 'i';

+    acStack_a4[0] = 's';

+    acStack_a4[1] = 'e';

+    acStack_a4[2] = ':';

+    acStack_a4[3] = 'w';

+    uStack_a0 = 0x7373;

+    iVar1 = FUN_000a5600("productini",param_2,__s,(char *)(param_3 + 1));

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x392,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    local_cc[0x20] = 'o';

+    local_cc[0x21] = 'n';

+    local_cc[0x22] = '_';

+    local_cc[0x23] = 'p';

+    acStack_a8[0] = 'r';

+    acStack_a8[1] = 'e';

+    acStack_a8[2] = 'm';

+    acStack_a8[3] = 'i';

+    acStack_a4[0] = 's';

+    acStack_a4[1] = 'e';

+    acStack_a4[2] = ':';

+    acStack_a4[3] = 'p';

+    uStack_a0._0_1_ = 'h';

+    uStack_a0._1_1_ = 'o';

+    uStack_a0._2_1_ = 't';

+    cStack_9d = 'o';

+    local_9c[0]._0_1_ = '_';

+    local_9c[0]._1_1_ = 'u';

+    local_9c[1]._0_1_ = 'r';

+    local_9c[1]._1_1_ = 'l';

+    local_98 = 0;

+    iVar1 = FUN_000a5600("productini",param_2,__s,(char *)(param_3 + 0x41));

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3a4,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+    local_cc[0x20] = 'o';

+    local_cc[0x21] = 'n';

+    local_cc[0x22] = '_';

+    local_cc[0x23] = 'p';

+    acStack_a8[0] = 'r';

+    acStack_a8[1] = 'e';

+    acStack_a8[2] = 'm';

+    acStack_a8[3] = 'i';

+    acStack_a4[0] = 's';

+    acStack_a4[1] = 'e';

+    acStack_a4[2] = ':';

+    acStack_a4[3] = 't';

+    uStack_a0._0_1_ = 'h';

+    uStack_a0._1_1_ = 'u';

+    uStack_a0._2_1_ = 'm';

+    cStack_9d = 'b';

+    local_9c[0]._0_1_ = '_';

+    local_9c[0]._1_1_ = 'u';

+    local_9c[1]._0_1_ = 'r';

+    local_9c[1]._1_1_ = 'l';

+    local_98 = 0;

+    iVar1 = FUN_000a5600("productini",param_2,__s,(char *)(param_3 + 0x81));

+    if (iVar1 != 0) {

+      FUN_000d4dac(1,"dt.e","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3b6,

+                   " Load [%s] failed\n");

+      uVar2 = 0xffffffff;

+      goto LAB_0;

+    }

+  }

+  FUN_000d4dac(4,"dt.d","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3b9,

+               " on_premise on_Premise_Enable[%d]\n");

+  FUN_000d4dac(4,"dt.d","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3ba,

+               " on_premise on_Premise_Wss[%s]\n");

+  FUN_000d4dac(4,"dt.d","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3bb,

+               " on_premise on_Premie_PhotoUrl[%s]\n");

+  FUN_000d4dac(4,"dt.d","iniparam_commcfg.c","INIPARAM_COMMCFG_Common_ON_Premise",0x3bc,

+               " on_premise on_Premise_ThumbUrl[%s]\n");

+  uVar2 = 0;

+LAB_0:

+  if (local_2c == __stack_chk_guard) {

+    return;

+  }

+                    /* WARNING: Subroutine does not return */

+  __stack_chk_fail(uVar2);

 }

 

FUN_00593180

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.06
i_ratio 0.61
m_ratio 0.8
b_ratio 0.8
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_00593180 FUN_00593920
fullname FUN_00593180 FUN_00593920
refcount 2 1
length 320 480
called FUN_004c4bec
FUN_00581848
FUN_0058788c
FUN_0058ba18
FUN_0058be54
thunk_FUN_0058be54
::__stack_chk_fail
::free
::memcpy
::memset
FUN_004c538c
FUN_00581fe8
FUN_0058802c
FUN_005899a4
FUN_0058c5f4
thunk_FUN_0058c5f4
calling FUN_004ec8a0 FUN_004ed040
paramcount 3 3
address 00593180 00593920
sig undefined __stdcall FUN_00593180(undefined4 * param_1, undefined4 * param_2, undefined4 * param_3) undefined __stdcall FUN_00593920(undefined4 * param_1, undefined4 * param_2, undefined4 * param_3)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_00593180 Called Diff

--- FUN_00593180 called
+++ FUN_00593920 called
@@ -1,6 +1,10 @@
-FUN_004c4bec
-FUN_00581848
-FUN_0058788c
-FUN_0058ba18
-FUN_0058be54
-thunk_FUN_0058be54
+<EXTERNAL>::__stack_chk_fail
+<EXTERNAL>::free
+<EXTERNAL>::memcpy
+<EXTERNAL>::memset
+FUN_004c538c
+FUN_00581fe8
+FUN_0058802c
+FUN_005899a4
+FUN_0058c5f4
+thunk_FUN_0058c5f4

FUN_00593180 Calling Diff

--- FUN_00593180 calling
+++ FUN_00593920 calling
@@ -1 +1 @@
-FUN_004ec8a0
+FUN_004ed040

FUN_00593180 Diff

--- FUN_00593180
+++ FUN_00593920
@@ -1,131 +1,72 @@
 

-void FUN_00593180(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3)

+void FUN_00593920(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3)

 

 {

-  uint uVar1;

+  int iVar1;

   uint uVar2;

-  int unaff_r4;

-  int unaff_r5;

-  byte *unaff_r6;

-  undefined4 *unaff_r7;

-  int unaff_r8;

-  int unaff_r9;

-  uint *unaff_r10;

-  int unaff_r11;

-  int in_stack_00000008;

-  int in_stack_0000000c;

-  uint in_stack_00000018;

-  byte in_stack_0000001f;

+  uint uVar3;

+  void *__src;

+  undefined1 auStack_470 [936];

+  code *local_c8;

   

-  do {

-    if ((undefined4 *)0x4 < param_1) {

+  if (param_1 == (undefined4 *)0x0) {

+    return;

+  }

+  __src = (void *)*param_1;

+  if (__src == (void *)0x0) {

+    return;

+  }

+  FUN_00581fe8((int)__src,param_3);

+  FUN_00581fe8((int)__src,param_2);

+  *param_1 = 0;

+  FUN_0058802c((int)__src);

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x3ac));

+  *(undefined4 *)((int)__src + 0x3ac) = 0;

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x3f8));

+  *(undefined4 *)((int)__src + 0x3f8) = 0;

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 1000));

+  *(undefined4 *)((int)__src + 1000) = 0;

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x34c));

+  *(undefined4 *)((int)__src + 0x34c) = 0;

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x350));

+  uVar2 = *(uint *)((int)__src + 0x378);

+  *(undefined4 *)((int)__src + 0x350) = 0;

+  if ((uVar2 & 0x1000) != 0) {

+    thunk_FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x284));

+    uVar2 = *(uint *)((int)__src + 0x378);

+    *(undefined4 *)((int)__src + 0x284) = 0;

+  }

+  uVar3 = uVar2 & 0xffffefff;

+  *(uint *)((int)__src + 0x378) = uVar3;

+  if ((uVar2 & 0x2000) != 0) {

+    FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x2f8));

+    uVar3 = *(uint *)((int)__src + 0x378);

+    *(undefined4 *)((int)__src + 0x2f8) = 0;

+  }

+  *(uint *)((int)__src + 0x378) = uVar3 & 0xffffdfff;

+  FUN_004c538c((int)__src + 0x1cc);

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 800));

+  *(undefined4 *)((int)__src + 800) = 0;

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x3d8));

+  *(undefined4 *)((int)__src + 0x3d8) = 0;

+  FUN_0058c5f4((int)__src,*(void **)((int)__src + 0x38c));

+  *(undefined4 *)((int)__src + 0x38c) = 0;

+  iVar1 = __stack_chk_guard;

+  if (__src != (void *)0x0) {

+    memcpy(auStack_470,__src,0x458);

+    memset(__src,0,0x458);

+    if (local_c8 == (code *)0x0) {

+      free(__src);

+    }

+    else {

+      (*local_c8)(auStack_470,__src);

+    }

+    FUN_005899a4(auStack_470);

+  }

+  if (iVar1 == __stack_chk_guard) {

+    return;

+  }

                     /* WARNING: Subroutine does not return */

-      FUN_00589a94(unaff_r4,"bad adaptive filter value");

-    }

-    FUN_0059fd04(unaff_r4,unaff_r10,(byte *)((int)param_2 + 1),*(int *)(unaff_r4 + 0x268) + 1,

-                 (int)param_1);

-    param_2 = *(undefined4 **)(unaff_r4 + 0x26c);

-    do {

-      memcpy(*(void **)(unaff_r4 + 0x268),param_2,in_stack_00000018 + 1);

-      if (((*(uint *)(unaff_r4 + 0x398) & 4) != 0) && (*(char *)(unaff_r4 + 0x39c) == '@')) {

-        FUN_0058c64c((int *)unaff_r10,(char *)(*(int *)(unaff_r4 + 0x26c) + 1));

-      }

-      if (*(int *)(unaff_r4 + 0x1c4) != 0) {

-        FUN_005981d4(unaff_r4,unaff_r10);

-      }

-      if (*(byte *)(unaff_r4 + 0x29f) == 0) {

-        *(byte *)(unaff_r4 + 0x29f) = in_stack_0000001f;

-        if (*(byte *)(unaff_r4 + 0x29e) < in_stack_0000001f) {

-                    /* WARNING: Subroutine does not return */

-          FUN_00589a94(unaff_r4,"sequential row overflow");

-        }

-      }

-      else if (in_stack_0000001f != *(byte *)(unaff_r4 + 0x29f)) {

-                    /* WARNING: Subroutine does not return */

-        FUN_00589a94(unaff_r4,"internal sequential row size calculation error");

-      }

-      if ((*(char *)(unaff_r4 + 0x294) == '\0') || ((*(uint *)(unaff_r4 + 0x1c4) & 2) == 0)) {

-        if (unaff_r6 != (byte *)0x0) {

-          FUN_0059f320(unaff_r4,unaff_r6,unaff_r9);

-        }

-      }

-      else {

-        if (*(byte *)(unaff_r4 + 0x295) < 6) {

-          FUN_0059f83c(unaff_r10,*(int *)(unaff_r4 + 0x26c) + 1,(uint)*(byte *)(unaff_r4 + 0x295),

-                       *(uint *)(unaff_r4 + 0x1c4));

-        }

-        if (unaff_r6 != (byte *)0x0) {

-          FUN_0059f320(unaff_r4,unaff_r6,0);

-        }

-      }

-      FUN_005a04a4(unaff_r4);

-      if (*(code **)(unaff_r4 + 0x308) != (code *)0x0) {

-        (**(code **)(unaff_r4 + 0x308))();

-      }

-      while( true ) {

-        unaff_r5 = unaff_r5 + 1;

-        if (unaff_r8 == unaff_r5) {

-          do {

-            unaff_r11 = unaff_r11 + 1;

-            if (in_stack_00000008 == unaff_r11) {

-              return;

-            }

-          } while (unaff_r8 == 0);

-          unaff_r5 = 0;

-          unaff_r7 = (undefined4 *)(in_stack_0000000c + -4);

-        }

-        unaff_r7 = unaff_r7 + 1;

-        unaff_r6 = (byte *)*unaff_r7;

-        if ((*(uint *)(unaff_r4 + 0x1c0) & 0x40) == 0) {

-          FUN_005a0858(unaff_r4);

-        }

-        in_stack_0000001f = *(byte *)(unaff_r4 + 0x29a);

-        uVar2 = (uint)in_stack_0000001f;

-        uVar1 = uVar2;

-        if (7 < uVar2) {

-          uVar1 = (uint)(in_stack_0000001f >> 3);

-        }

-        in_stack_00000018 = *(int *)(unaff_r4 + 0x25c) * uVar1;

-        if (uVar2 < 8) {

-          in_stack_00000018 = in_stack_00000018 + 7 >> 3;

-        }

-        if ((*(char *)(unaff_r4 + 0x294) == '\0') || ((*(uint *)(unaff_r4 + 0x1c4) & 2) == 0))

-        break;

-        uVar1 = *(uint *)(unaff_r4 + 0x260);

-        switch(*(undefined1 *)(unaff_r4 + 0x295)) {

-        case 0:

-          if ((uVar1 & 7) == 0) goto LAB_0;

-          break;

-        case 1:

-          if (((uVar1 & 7) == 0) && (4 < *(uint *)(unaff_r4 + 0x248))) goto LAB_0;

-          break;

-        case 2:

-          if ((uVar1 & 7) == 4) goto LAB_0;

-          break;

-        case 3:

-          if (((uVar1 & 3) == 0) && (2 < *(uint *)(unaff_r4 + 0x248))) goto LAB_0;

-          break;

-        case 4:

-          if ((uVar1 & 3) == 2) goto LAB_0;

-          break;

-        case 5:

-          if (((uVar1 & 1) == 0) && (1 < *(uint *)(unaff_r4 + 0x248))) goto LAB_0;

-          break;

-        default:

-          if ((uVar1 & 1) != 0) goto LAB_0;

-        }

-        FUN_005a04a4(unaff_r4);

-      }

-LAB_0:

-      if ((*(uint *)(unaff_r4 + 0x1bc) & 4) == 0) {

-                    /* WARNING: Subroutine does not return */

-        FUN_00589a94(unaff_r4,"Invalid attempt to read row data");

-      }

-      **(undefined1 **)(unaff_r4 + 0x26c) = (char)unaff_r9;

-      FUN_0059fdb0(unaff_r4,*(int *)(unaff_r4 + 0x26c),in_stack_00000018 + 1);

-      param_2 = *(undefined4 **)(unaff_r4 + 0x26c);

-      param_1 = (undefined4 *)(uint)*(byte *)param_2;

-    } while (param_1 == (undefined4 *)0x0);

-  } while( true );

+  __stack_chk_fail();

 }

 

FUN_0061ca90

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,called
ratio 0.07
i_ratio 0.13
m_ratio 0.9
b_ratio 0.8
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_0061ca90 FUN_0061c420
fullname FUN_0061ca90 FUN_0061c420
refcount 0 0
length 284 344
called FUN_0061ac6c
cv::Mat::~Mat
calling
paramcount 2 3
address 0061ca90 0061c420
sig undefined4 * __stdcall FUN_0061ca90(undefined4 * param_1, undefined4 * param_2) undefined4 * __stdcall FUN_0061c420(undefined4 * param_1, undefined4 * param_2, undefined4 * param_3)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_0061ca90 Called Diff

--- FUN_0061ca90 called
+++ FUN_0061c420 called
@@ -0,0 +1,2 @@
+FUN_0061ac6c
+cv::Mat::~Mat

FUN_0061ca90 Diff

--- FUN_0061ca90
+++ FUN_0061c420
@@ -1,9 +1,82 @@
 

-undefined4 * FUN_0061ca90(undefined4 *param_1,undefined4 *param_2)

+undefined4 * FUN_0061c420(undefined4 *param_1,undefined4 *param_2,undefined4 *param_3)

 

 {

-  FUN_00619eac((int)param_1);

-                    /* WARNING: Subroutine does not return */

-  __cxa_end_cleanup();

+  int extraout_r1;

+  int extraout_r1_00;

+  int extraout_r1_01;

+  int iVar1;

+  int *piVar2;

+  code *pcVar3;

+  undefined4 auStack_108 [2];

+  Mat aMStack_100 [56];

+  Mat aMStack_c8 [56];

+  Mat aMStack_90 [108];

+  

+  param_1[0xc] = param_1 + 4;

+  param_1[0x1a] = param_1 + 0x12;

+  *param_1 = 0;

+  param_1[0xd] = param_1 + 0xe;

+  param_1[1] = 0;

+  param_1[0x1b] = param_1 + 0x1c;

+  param_1[3] = 0;

+  param_1[4] = 0;

+  param_1[5] = 0;

+  param_1[6] = 0;

+  param_1[7] = 0;

+  param_1[8] = 0;

+  param_1[9] = 0;

+  param_1[10] = 0;

+  param_1[0xb] = 0;

+  param_1[0xf] = 0;

+  param_1[0xe] = 0;

+  param_1[0x11] = 0;

+  param_1[0x12] = 0;

+  param_1[0x13] = 0;

+  param_1[0x14] = 0;

+  param_1[0x15] = 0;

+  param_1[0x16] = 0;

+  param_1[0x17] = 0;

+  param_1[0x18] = 0;

+  param_1[0x19] = 0;

+  param_1[0x1d] = 0;

+  param_1[0x1c] = 0;

+  param_1[0x1f] = 0;

+  param_1[2] = 0x42ff0000;

+  param_1[0x10] = 0x42ff0000;

+  piVar2 = (int *)*param_3;

+  param_1[0x20] = 0;

+  param_1[0x21] = 0;

+  param_1[0x22] = 0;

+  param_1[0x23] = 0;

+  param_1[0x24] = 0;

+  param_1[0x25] = 0;

+  param_1[0x26] = 0;

+  param_1[0x27] = 0;

+  param_1[0x2b] = 0;

+  param_1[0x2a] = 0;

+  iVar1 = *piVar2;

+  param_1[0x29] = param_1 + 0x2a;

+  param_1[0x1e] = 0x42ff0000;

+  pcVar3 = *(code **)(iVar1 + 0x3c);

+  param_1[0x28] = param_1 + 0x20;

+  param_1[0x2c] = 0;

+  param_1[0x2d] = 0;

+  param_1[0x2e] = 0;

+  param_1[0x2f] = 0;

+  param_1[0x36] = 0;

+  param_1[0x37] = 0;

+  param_1[0x34] = 0;

+  param_1[0x35] = 0;

+  param_1[0x32] = 0;

+  param_1[0x33] = 0;

+  param_1[0x30] = 0;

+  param_1[0x31] = 0;

+  FUN_0061ac6c(auStack_108,param_2);

+  (*pcVar3)(piVar2,auStack_108,param_3,param_1);

+  cv::Mat::~Mat(aMStack_90,extraout_r1);

+  cv::Mat::~Mat(aMStack_c8,extraout_r1_00);

+  cv::Mat::~Mat(aMStack_100,extraout_r1_01);

+  return param_1;

 }

 

FUN_0009f730

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,calling,called
ratio 0.01
i_ratio 0.69
m_ratio 0.98
b_ratio 0.96
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_0009f730 FUN_0009fec0
fullname FUN_0009f730 FUN_0009fec0
refcount 1 1
length 5880 5640
called
Expand for full list:
::__stack_chk_fail
::memcpy
::memset
::mgvl1_delete
::usleep
FUN_00056c34
FUN_00089ce4
FUN_0008ae9c
FUN_0008af44
FUN_0008bdac
FUN_0008c190
FUN_0008c3e0
FUN_0008cce0
FUN_0008d040
FUN_0008e8b0
FUN_00090fac
FUN_00091320
FUN_00091d70
FUN_00092738
FUN_000928b8
FUN_00092e9c
FUN_00092ebc
FUN_00094ea8
FUN_00095044
FUN_000953f4
FUN_00098330
FUN_00098e54
FUN_00099450
FUN_0009aa80
FUN_0009ac78
FUN_0009ada0
FUN_0009b540
FUN_0009d4b4
FUN_0009d4cc
FUN_0009d4e4
FUN_0009d568
FUN_0009d580
FUN_0009de58
FUN_0009e014
FUN_0009f524
FUN_0009f5ec
FUN_0009f654
FUN_000af864
FUN_000b1338
FUN_000d460c
Expand for full list:
::__stack_chk_fail
::memcpy
::memset
::mgvl1_delete
::usleep
FUN_00056aa0
FUN_0008a478
FUN_0008b630
FUN_0008b6d8
FUN_0008c540
FUN_0008c920
FUN_0008cb70
FUN_0008d470
FUN_0008d7d0
FUN_0008f040
FUN_0009173c
FUN_00091ab0
FUN_00092500
FUN_00092ec8
FUN_00093048
FUN_0009362c
FUN_0009364c
FUN_00095638
FUN_000957d4
FUN_00095b84
FUN_00098ac0
FUN_000995e4
FUN_00099be0
FUN_0009b210
FUN_0009b408
FUN_0009b530
FUN_0009bcd0
FUN_0009dc44
FUN_0009dc5c
FUN_0009dc74
FUN_0009dcf8
FUN_0009dd10
FUN_0009e5e8
FUN_0009e7a4
FUN_0009fd7c
FUN_0009fde4
FUN_000afff4
FUN_000b1ac8
FUN_000d4dac
calling FUN_000b48f8 FUN_000b509c
paramcount 5 5
address 0009f730 0009fec0
sig undefined __stdcall FUN_0009f730(undefined4 * param_1, int * param_2, int * param_3, uint * param_4, undefined2 * param_5) undefined __stdcall FUN_0009fec0(undefined4 * param_1, int * param_2, int * param_3, uint * param_4, undefined2 * param_5)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_0009f730 Called Diff

--- FUN_0009f730 called
+++ FUN_0009fec0 called
@@ -6,40 +6,39 @@
-FUN_00056c34
-FUN_00089ce4
-FUN_0008ae9c
-FUN_0008af44
-FUN_0008bdac
-FUN_0008c190
-FUN_0008c3e0
-FUN_0008cce0
-FUN_0008d040
-FUN_0008e8b0
-FUN_00090fac
-FUN_00091320
-FUN_00091d70
-FUN_00092738
-FUN_000928b8
-FUN_00092e9c
-FUN_00092ebc
-FUN_00094ea8
-FUN_00095044
-FUN_000953f4
-FUN_00098330
-FUN_00098e54
-FUN_00099450
-FUN_0009aa80
-FUN_0009ac78
-FUN_0009ada0
-FUN_0009b540
-FUN_0009d4b4
-FUN_0009d4cc
-FUN_0009d4e4
-FUN_0009d568
-FUN_0009d580
-FUN_0009de58
-FUN_0009e014
-FUN_0009f524
-FUN_0009f5ec
-FUN_0009f654
-FUN_000af864
-FUN_000b1338
-FUN_000d460c
+FUN_00056aa0
+FUN_0008a478
+FUN_0008b630
+FUN_0008b6d8
+FUN_0008c540
+FUN_0008c920
+FUN_0008cb70
+FUN_0008d470
+FUN_0008d7d0
+FUN_0008f040
+FUN_0009173c
+FUN_00091ab0
+FUN_00092500
+FUN_00092ec8
+FUN_00093048
+FUN_0009362c
+FUN_0009364c
+FUN_00095638
+FUN_000957d4
+FUN_00095b84
+FUN_00098ac0
+FUN_000995e4
+FUN_00099be0
+FUN_0009b210
+FUN_0009b408
+FUN_0009b530
+FUN_0009bcd0
+FUN_0009dc44
+FUN_0009dc5c
+FUN_0009dc74
+FUN_0009dcf8
+FUN_0009dd10
+FUN_0009e5e8
+FUN_0009e7a4
+FUN_0009fd7c
+FUN_0009fde4
+FUN_000afff4
+FUN_000b1ac8
+FUN_000d4dac

FUN_0009f730 Calling Diff

--- FUN_0009f730 calling
+++ FUN_0009fec0 calling
@@ -1 +1 @@
-FUN_000b48f8
+FUN_000b509c

FUN_0009f730 Diff

--- FUN_0009f730
+++ FUN_0009fec0
@@ -1,36 +1,677 @@
 

-int FUN_0009f730(undefined4 *param_1,int *param_2,int *param_3,uint *param_4,undefined2 *param_5)

+/* WARNING: Instruction at (ram,0x000a1482) overlaps instruction at (ram,0x000a1480)

+    */

+/* WARNING: Control flow encountered bad instruction data */

+/* WARNING: Restarted to delay deadcode elimination for space: stack */

+

+void FUN_0009fec0(undefined4 *param_1,int *param_2,int *param_3,uint *param_4,undefined2 *param_5)

 

 {

-  void *__s;

-  char *unaff_r4;

-  int unaff_r5;

-  char *unaff_r6;

-  char *unaff_r7;

-  int iVar1;

-  int *unaff_r8;

-  char *in_stack_00000004;

+  code *pcVar1;

+  ushort uVar2;

+  int *piVar3;

+  int iVar4;

+  undefined1 *puVar5;

+  undefined1 *puVar6;

+  int iVar7;

+  undefined4 extraout_r1;

+  undefined4 *puVar8;

+  int iVar9;

+  char *pcVar10;

+  uint uVar11;

+  uint uVar12;

+  int iVar13;

+  int *piVar14;

+  int iVar15;

+  int iVar16;

+  int *piVar17;

+  int *piVar18;

+  undefined2 *puVar19;

+  bool bVar20;

+  bool bVar21;

+  undefined4 in_cr14;

+  float fVar22;

+  undefined8 uVar23;

+  int *local_3fc;

+  int local_3f8;

+  undefined8 local_3c0;

+  int local_3b8;

+  int iStack_3b4;

+  undefined4 local_3b0;

+  undefined1 local_388 [16];

+  undefined1 auStack_378 [280];

+  undefined4 local_260;

+  undefined4 local_25c;

+  int iStack_248;

+  int local_244 [128];

+  int local_44;

   

-  FUN_000d4dac(4,(char *)param_2,(char *)param_3,(char *)param_4,param_1,in_stack_00000004);

-  __s = (void *)(*unaff_r8 + unaff_r5);

-  if (*(int *)((int)__s + 0x28) == 2) {

-    FUN_000d4dac(4,unaff_r7,unaff_r4,unaff_r6,0x43e,"auth %d\n");

-    iVar1 = *(int *)(*unaff_r8 + unaff_r5);

-    __s = (void *)(*unaff_r8 + unaff_r5);

-    if (600000 < iVar1) {

-      iVar1 = FUN_0009f5cc(iVar1);

-      if (iVar1 != 0) {

-        FUN_000d4dac(1,"dt.e",unaff_r4,unaff_r6,0x444,"HANET_FaceBase_Delete_User fail \n");

-      }

-      __s = (void *)(*unaff_r8 + unaff_r5);

-      goto LAB_0;

-    }

-  }

-  iVar1 = 0;

-LAB_0:

-  *(undefined4 *)((int)__s + 0x930) = 0xffffffff;

-  memset(__s,0,0x930);

-  *(undefined4 *)(*unaff_r8 + unaff_r5 + 0x28) = 0xffffffff;

-  return iVar1;

+  piVar3 = &iStack_248;

+  local_44 = __stack_chk_guard;

+  do {

+    piVar3 = piVar3 + 1;

+    *piVar3 = 0;

+  } while (local_244 + 0x7f != piVar3);

+  piVar3 = (int *)FUN_0008b630();

+  while (piVar3 == (int *)0x0) {

+    usleep(2000);

+    piVar3 = (int *)FUN_0008b630();

+  }

+  puVar8 = (undefined4 *)piVar3[0xc];

+  if (piVar3[3] < 1) {

+    memset(LivenessNum,0,0x200);

+    if ((99 < DAT_0) || (DAT_0 = DAT_0 + 1, 0x3c < DAT_0)) {

+      if (DAT_0 == 0x3d) {

+        FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x11fb,

+                     "detect_result->human_list == 0\t!\n");

+      }

+      DAT_1 = 0;

+      memset(&DAT_2,0,0x200);

+      FUN_00098ac0(0);

+      FUN_0009dc44();

+    }

+    iVar4 = FUN_0009173c();

+    if (iVar4 == 1) {

+      bVar20 = 0x117 < DAT_3;

+      bVar21 = SBORROW4(DAT_3,0x118);

+      if (0x118 < (int)DAT_3) {

+        pcVar10 = "manage/database/src/faceBase.c";

+LAB_4:

+        if ((!bVar20 || ((uint)piVar3 & 0x143634) != 0) && !bVar21) {

+          coprocessor_store(0,in_cr14,pcVar10);

+        }

+                    /* WARNING: Bad instruction - Truncating control flow here */

+        halt_baddata();

+      }

+      iVar4 = FUN_0009b408();

+      if (iVar4 == 1) {

+        DAT_3 = DAT_3 + 1;

+      }

+      FUN_0009bcd0(1);

+    }

+  }

+  else if (*(int *)(piVar3[2] + 0x30) != 2) {

+    FUN_000afff4();

+    iVar4 = FUN_0009173c();

+    if (iVar4 == 1) {

+      if (s_stIrLedmngCtx._32_4_ == 0) {

+        if ((DAT_1 < 10) && (DAT_1 = DAT_1 + 1, DAT_1 == 1)) {

+          FUN_0009dc5c(*(undefined4 *)(piVar3[2] + 0x10),*(undefined4 *)(piVar3[2] + 0x18));

+        }

+        if (1 < DAT_1) {

+LAB_5:

+          if ((piVar3[1] != 0) ||

+             (bVar20 = FUN_0009dc74(*(int *)(piVar3[2] + 0x10),*(int *)(piVar3[2] + 0x18)), bVar20))

+          {

+            FUN_000b1ac8(0x118);

+            DAT_3 = 0;

+            if (piVar3[2] == 0) {

+              FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x11c9,

+                           "detect_result->human_list == NULL\t\n");

+            }

+            else {

+              FUN_0009e5e8((int *)(piVar3[2] + 0x20),param_5);

+              if (((ushort)param_5[2] < 0x1e) || ((ushort)param_5[3] < 0x50)) {

+                FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x11ae,

+                             "human size error  is w %d h %d  ---------\n");

+              }

+              else {

+                param_5[3] = (ushort)param_5[3] >> 1;

+                *(undefined4 *)(param_5 + 4) = 99;

+                *(undefined4 *)(param_5 + 8) = 1;

+                if ((piVar3[3] == 1) && (iVar4 = FUN_0009b408(), iVar4 == 1)) {

+                  FUN_0009fd7c(600000);

+                }

+                iVar4 = FUN_0009b530();

+                *param_2 = iVar4;

+                if (*param_4 == 0) {

+                  *param_4 = 1;

+                }

+              }

+            }

+            goto LAB_6;

+          }

+        }

+      }

+      else {

+        if (DAT_1 < 10) {

+          DAT_1 = DAT_1 + 1;

+        }

+        if (DAT_1 == 1) {

+          FUN_0009dc5c(*(undefined4 *)(piVar3[2] + 0x10),*(undefined4 *)(piVar3[2] + 0x18));

+        }

+        if (2 < DAT_1) goto LAB_000a092c;

+      }

+LAB_7:

+      local_3f8 = 0;

+      goto LAB_8;

+    }

+    if (s_stIrLedmngCtx._32_4_ == 0) {

+      if (piVar3[1] == 0) {

+        if (DAT_1 < 10) {

+          DAT_1 = DAT_1 + 1;

+        }

+        if (DAT_1 < 2) goto LAB_000a0780;

+      }

+    }

+    else {

+      if (DAT_1 < 10) {

+        DAT_1 = DAT_1 + 1;

+      }

+      if (DAT_1 < 3) goto LAB_000a0780;

+    }

+    FUN_000b1ac8(0x3c);

+    DAT_0 = 0;

+  }

+LAB_6:

+  uVar11 = piVar3[1];

+  if (uVar11 - 1 < 0x7f) {

+    *param_4 = uVar11;

+    DAT_9 = 0;

+    if ((int)uVar11 <= (int)DAT_10) {

+LAB_11:

+      iVar4 = *piVar3;

+      if (iVar4 == 0) {

+                    /* WARNING: Does not return */

+        pcVar1 = (code *)software_udf(0,0xa0750);

+        (*pcVar1)();

+      }

+      uVar11 = 0;

+      puVar6 = LivenessNum;

+      local_3f8 = 0;

+      piVar17 = param_2;

+      piVar18 = local_244;

+      puVar19 = param_5;

+      local_3fc = param_3;

+      do {

+        iVar16 = uVar11 * 0x90;

+        iVar4 = iVar4 + iVar16;

+        if ((*(int *)(iVar4 + 0x30) != 2) && (*(int *)(iVar4 + 0x44) == 1)) {

+          iVar13 = *(int *)(iVar4 + 0xc);

+          *local_3fc = *(int *)(iVar4 + 8);

+          local_3fc[1] = iVar13;

+          iVar4 = FUN_00092500();

+          if ((iVar4 == 1) &&

+             ((iVar4 = FUN_00091ab0(), iVar4 == 1 &&

+              (iVar4 = FUN_0009b210(*local_3fc,local_3fc[1]), iVar4 != 0)))) {

+            iVar4 = FUN_00099be0(*local_3fc,local_3fc[1]);

+            *piVar17 = iVar4;

+            uVar12 = FUN_000995e4(*local_3fc,local_3fc[1]);

+            if (uVar12 == 1) goto LAB_12;

+          }

+          puVar5 = FUN_00056aa0();

+          if ((*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a60) != 1) ||

+             (iVar4 = FUN_0008c540(*(int *)(*piVar3 + iVar16 + 8),*(int *)(*piVar3 + iVar16 + 0xc)),

+             iVar4 != 0)) {

+            puVar5 = FUN_00056aa0();

+            if ((*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a9c) != 1) ||

+               (puVar5 = FUN_00056aa0(), *(int *)(*(int *)(puVar5 + 0x1c) + 0x1a60) != 1))

+            goto LAB_13;

+            iVar4 = FUN_00092ec8(*piVar3 + iVar16);

+            if (iVar4 == 1) {

+              bVar20 = FUN_0009364c();

+              iVar4 = *piVar3 + iVar16;

+              if ((!bVar20) ||

+                 ((((fVar22 = ABS(*(float *)(iVar4 + 0x38)),

+                    fVar22 == 30.0 || fVar22 < 30.0 != NAN(fVar22) &&

+                    (fVar22 = ABS(*(float *)(iVar4 + 0x34)),

+                    fVar22 == 30.0 || fVar22 < 30.0 != NAN(fVar22))) &&

+                   (fVar22 = ABS(*(float *)(iVar4 + 0x3c)),

+                   fVar22 == 30.0 || fVar22 < 30.0 != NAN(fVar22))) &&

+                  (fVar22 = *(float *)(iVar4 + 0x40), fVar22 == 0.56 || fVar22 < 0.56 != NAN(fVar22)

+                  )))) {

+                uVar23 = *(undefined8 *)(iVar4 + 8);

+                local_3c0 = 0;

+                local_3b0 = 0;

+                bVar20 = FUN_0009362c();

+                if (bVar20) {

+                  local_3b8 = (int)uVar23;

+                  iStack_3b4 = (int)((ulonglong)uVar23 >> 0x20);

+                  uVar12 = FUN_00095638(0,0,local_3b8,iStack_3b4);

+                  if ((uVar12 == 0) &&

+                     ((iVar4 = FUN_00095b84(0,0,local_3b8,iStack_3b4), iVar4 == 0 ||

+                      (iVar4 = FUN_00093048((int)piVar3,extraout_r1,local_3b8,iStack_3b4),

+                      iVar4 == 0)))) goto LAB_12;

+                }

+LAB_13:

+                iVar4 = *piVar3 + iVar16;

+                iVar4 = (*(int *)(iVar4 + 0x1c) - *(int *)(iVar4 + 0x14)) *

+                        (*(int *)(iVar4 + 0x18) - *(int *)(iVar4 + 0x10));

+                puVar5 = FUN_00056aa0();

+                if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x19e0) == 4) {

+                  if (0x18ff < iVar4) goto LAB_14;

+                }

+                else {

+                  puVar5 = FUN_00056aa0();

+                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x19e0) == 3) {

+                    if (0x1103 < iVar4) goto LAB_14;

+                  }

+                  else {

+                    puVar5 = FUN_00056aa0();

+                    if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x19e0) == 2) {

+                      if (0x9c3 < iVar4) goto LAB_14;

+                    }

+                    else {

+                      puVar5 = FUN_00056aa0();

+                      if (899 < iVar4 || *(int *)(*(int *)(puVar5 + 0x1c) + 0x19e0) != 1) {

+LAB_14:

+                        puVar5 = FUN_00056aa0();

+                        bVar20 = iVar4 == 0x270;

+                        if (iVar4 < 0x271) {

+                          bVar20 = *(int *)(*(int *)(puVar5 + 0x1c) + 0x1a70) == 1;

+                        }

+                        if (!bVar20) {

+                          puVar5 = FUN_00056aa0();

+                          if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a8c) == 2) {

+                            if ((*(int *)(*piVar3 + iVar16 + 0x10) <= (int)((uint)puVar8[0xf] >> 2))

+                               || ((int)((uint)(puVar8[0xf] * 3) >> 2) <=

+                                   *(int *)(*piVar3 + iVar16 + 0x18))) goto LAB_12;

+                          }

+                          puVar5 = FUN_00056aa0();

+                          if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a8c) == 3) {

+                            if ((*(int *)(*piVar3 + iVar16 + 0x10) <= (int)((uint)puVar8[0xf] / 3))

+                               || ((int)((uint)(puVar8[0xf] << 1) / 3) <=

+                                   *(int *)(*piVar3 + iVar16 + 0x18))) goto LAB_12;

+                          }

+                          if (0x1081 < iVar4) {

+                            *(undefined4 *)(puVar19 + 0xc) = 1;

+                          }

+                          *puVar19 = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x20);

+                          puVar19[1] = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x24);

+                          puVar19[2] = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x28) -

+                                       (short)*(undefined4 *)(*piVar3 + iVar16 + 0x20);

+                          puVar19[3] = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x2c) -

+                                       (short)*(undefined4 *)(*piVar3 + iVar16 + 0x24);

+                          local_3f8 = FUN_0008f040(puVar8,piVar3,piVar18,uVar11);

+                          if (local_3f8 != 0) {

+                            FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x12c8,

+                                         "DT_VIDEO_Identify fild \n");

+                          }

+                          iVar4 = *piVar18;

+                          if (iVar4 != 0) {

+                            piVar14 = *(int **)(iVar4 + 0x24);

+                            if ((piVar14 != (int *)0x0) && (0 < *piVar14)) {

+                              iVar13 = 0;

+                              do {

+                                iVar15 = iVar13 * 0x18;

+                                iVar7 = *(int *)(piVar14[1] + iVar15);

+                                iVar9 = piVar14[1] + iVar15;

+                                if (iVar7 == 2) {

+                                  if (0 < *(int *)(iVar9 + 0x10)) {

+                                    *(undefined4 *)(puVar19 + 8) = **(undefined4 **)(iVar9 + 0x14);

+                                  }

+                                }

+                                else if (iVar7 == 1) {

+                                  *(int *)(puVar19 + 4) = (int)*(float *)(iVar9 + 8);

+                                }

+                                else if (iVar7 == 0x41) {

+                                  iVar7 = **(int **)(iVar9 + 0x14);

+                                  *(int *)(puVar19 + 6) = iVar7;

+                                  if (iVar7 == 0) {

+                                    *(undefined4 *)(puVar19 + 6) = 2;

+LAB_15:

+                                    pcVar10 = (char *)(*(int *)(*(int *)(iVar4 + 0x24) + 4) + iVar15

+                                                      );

+                                    fVar22 = *(float *)(*(int *)(pcVar10 + 0x14) + 4);

+                                    bVar20 = 0.6 <= fVar22;

+                                    bVar21 = NAN(fVar22);

+                                    if (fVar22 < 0.6) goto LAB_4;

+                                  }

+                                  else if (iVar7 == 2) goto LAB_15;

+                                  FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x12ef,

+                                               "MGVL1_FACE_ATTRIBUTE_RESPIRATOR   %d %d %f\n");

+                                  iVar4 = *piVar18;

+                                }

+                                piVar14 = *(int **)(iVar4 + 0x24);

+                                iVar13 = iVar13 + 1;

+                              } while (iVar13 < *piVar14);

+                            }

+                            puVar5 = FUN_00056aa0();

+                            if (((*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a70) == 1) &&

+                                (s_stIrLedmngCtx._32_4_ == 0)) && (*(int *)(puVar19 + 6) == 2)) {

+                              if ((int)(&DAT_2)[uVar11] < 3) {

+                                (&DAT_2)[uVar11] = (&DAT_2)[uVar11] + 1;

+                                FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x12fe,

+                                             "MGVL1_FACE_ATTRIBUTE_RESPIRATOR  Maskidx_Unknown is %d %d -\n"

+                                            );

+                                goto LAB_12;

+                              }

+                              (&DAT_2)[uVar11] = 0;

+                            }

+                            if ((*(int *)(*piVar18 + 0x20) != 0) && (*(int *)(*piVar18 + 0x1c) != 0)

+                               ) {

+                              FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x1308,

+                                           "attr_result[%d]->face_info.liveness->liveness_score is %f \n"

+                                          );

+                              puVar5 = FUN_00056aa0();

+                              if ((*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a9c) == 1) &&

+                                 (puVar5 = FUN_00056aa0(),

+                                 *(int *)(*(int *)(puVar5 + 0x1c) + 0x1a60) == 1)) {

+                                iVar4 = *piVar3 + iVar16;

+                                uVar2 = (ushort)*(undefined4 *)(iVar4 + 0x20);

+                                local_3b8 = (int)*(undefined8 *)(iVar4 + 8);

+                                iStack_3b4 = (int)((ulonglong)*(undefined8 *)(iVar4 + 8) >> 0x20);

+                                FUN_000957d4((undefined4)local_3c0,local_3c0._4_4_,local_3b8,

+                                             iStack_3b4,local_3b0,uVar2,

+                                             (ushort)*(undefined4 *)(iVar4 + 0x24),

+                                             (short)*(undefined4 *)(iVar4 + 0x28) - uVar2,

+                                             (short)*(undefined4 *)(iVar4 + 0x2c) -

+                                             (short)*(undefined4 *)(iVar4 + 0x24));

+                              }

+                              puVar5 = FUN_00056aa0();

+                              if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) < 1) {

+                                puVar5 = FUN_00056aa0();

+                                if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 1) {

+                                  local_3f8 = FUN_0008c920(*piVar18,piVar17);

+                                  if (local_3f8 != 0) {

+                                    FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x1397,

+                                                 "DT_VIDEO_Search fild \n");

+                                    iVar4 = *piVar17;

+                                    goto LAB_16;

+                                  }

+LAB_17:

+                                  iVar4 = *piVar17;

+                                }

+                                else {

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 2) {

+                                    local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                    if (local_3f8 != 0) {

+                                      FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x139f

+                                                   ,"DT_VIDEO_Search fild \n");

+                                      iVar4 = *piVar17;

+                                      goto LAB_16;

+                                    }

+                                    goto LAB_17;

+                                  }

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 4) {

+                                    local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                    if (local_3f8 != 0) {

+                                      FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x13a6

+                                                   ,"DT_VIDEO_Search fild \n");

+                                      iVar4 = *piVar17;

+                                      goto LAB_16;

+                                    }

+                                    goto LAB_17;

+                                  }

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 5) {

+                                    local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                    if (local_3f8 != 0) {

+                                      FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x13ad

+                                                   ,"DT_VIDEO_Search fild \n");

+                                      iVar4 = *piVar17;

+                                      goto LAB_16;

+                                    }

+                                    goto LAB_17;

+                                  }

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a60) != 1) {

+                                    local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                    if (local_3f8 != 0) {

+                                      FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x13c7

+                                                   ,"DT_VIDEO_Search fild \n");

+                                    }

+                                    goto LAB_17;

+                                  }

+                                  local_3f8 = FUN_0008d470(*piVar18,piVar17);

+                                  if (local_3f8 != 0) {

+                                    FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x13b7,

+                                                 "DT_VIDEO_Search fild \n");

+                                  }

+                                  iVar4 = *piVar17;

+                                  if (600000 < iVar4 || iVar4 == -1) {

+                                    *(undefined8 *)(*piVar18 + 8) =

+                                         *(undefined8 *)(*piVar3 + iVar16 + 8);

+                                    local_3f8 = FUN_0008d7d0(*piVar18,piVar17);

+                                    if (local_3f8 == 0) goto LAB_17;

+                                    FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x13c0,

+                                                 "DT_Stranger_Search fild \n");

+                                    iVar4 = *piVar17;

+                                  }

+                                }

+LAB_16:

+                                *(int *)(puVar19 + 10) = iVar4;

+                                *puVar19 = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x20);

+                                puVar19[1] = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x24);

+                                puVar19[2] = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x28) -

+                                             (short)*(undefined4 *)(*piVar3 + iVar16 + 0x20);

+                                puVar19[3] = (short)*(undefined4 *)(*piVar3 + iVar16 + 0x2c) -

+                                             (short)*(undefined4 *)(*piVar3 + iVar16 + 0x24);

+                              }

+                              else {

+                                if (s_stIrLedmngCtx._32_4_ == 1) {

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 1) {

+                                    fVar22 = 0.15;

+                                  }

+                                  else {

+                                    puVar5 = FUN_00056aa0();

+                                    if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 2) {

+                                      fVar22 = 0.3;

+                                    }

+                                    else {

+                                      puVar5 = FUN_00056aa0();

+                                      if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) != 3)

+                                      goto LAB_18;

+                                      fVar22 = 0.55;

+                                    }

+                                  }

+                                }

+                                else {

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 1) {

+                                    fVar22 = 0.5;

+                                  }

+                                  else {

+                                    puVar5 = FUN_00056aa0();

+                                    if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 2) {

+                                      fVar22 = 0.6;

+                                    }

+                                    else {

+                                      puVar5 = FUN_00056aa0();

+                                      if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 3) {

+                                        fVar22 = 0.7;

+                                      }

+                                      else {

+LAB_18:

+                                        fVar22 = 0.0;

+                                      }

+                                    }

+                                  }

+                                }

+                                puVar5 = FUN_00056aa0();

+                                if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a9c) == 1) {

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a60) == 1) {

+                                    fVar22 = 0.15;

+                                  }

+                                }

+                                iVar4 = FUN_00092500();

+                                if (iVar4 == 1) {

+                                  iVar4 = FUN_00091ab0();

+                                  if (iVar4 == 1) {

+                                    fVar22 = 0.1;

+                                  }

+                                }

+                                memset(local_388,0,0x140);

+                                iVar4 = *piVar18;

+                                local_260 = *(undefined4 *)(iVar4 + 8);

+                                local_25c = *(undefined4 *)(iVar4 + 0xc);

+                                if (**(float **)(iVar4 + 0x1c) <= fVar22) {

+                                  memcpy(&stack0xfffffac8,auStack_378,0x130);

+                                  FUN_0008a478();

+                                  *(int *)puVar6 = 0;

+                                }

+                                else {

+                                  *(int *)puVar6 = *(int *)puVar6 + 1;

+                                }

+                                puVar5 = FUN_00056aa0();

+                                if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 1) {

+LAB_19:

+                                  iVar4 = 0;

+                                }

+                                else {

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) == 2) {

+                                    iVar4 = 1;

+                                  }

+                                  else {

+                                    puVar5 = FUN_00056aa0();

+                                    if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a50) != 3)

+                                    goto LAB_19;

+                                    iVar4 = 3;

+                                  }

+                                }

+                                FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x1347,

+                                             "liveness_score is %f passnum %d \n");

+                                if (iVar4 < *(int *)puVar6) {

+                                  memcpy(&stack0xfffffac8,auStack_378,0x130);

+                                  FUN_0008a478();

+                                  puVar5 = FUN_00056aa0();

+                                  if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 1) {

+                                    local_3f8 = FUN_0008c920(*piVar18,piVar17);

+                                    if (local_3f8 != 0) {

+                                      FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",0x1351

+                                                   ,"DT_VIDEO_Search fild \n");

+                                    }

+                                  }

+                                  else {

+                                    puVar5 = FUN_00056aa0();

+                                    if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 2) {

+                                      local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                      if (local_3f8 != 0) {

+                                        FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",

+                                                     0x1359,"DT_VIDEO_Search fild \n");

+                                      }

+                                    }

+                                    else {

+                                      puVar5 = FUN_00056aa0();

+                                      if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 4) {

+                                        local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                        if (local_3f8 != 0) {

+                                          FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",

+                                                       0x1360,"DT_VIDEO_Search fild \n");

+                                        }

+                                      }

+                                      else {

+                                        puVar5 = FUN_00056aa0();

+                                        if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a80) == 5) {

+                                          local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                          if (local_3f8 != 0) {

+                                            FUN_000d4dac(1,"dt.e","faceBase.c","HANET_FACEIdentify",

+                                                         0x1367,"DT_VIDEO_Search fild \n");

+                                          }

+                                        }

+                                        else {

+                                          puVar5 = FUN_00056aa0();

+                                          if (*(int *)(*(int *)(puVar5 + 0x1c) + 0x1a60) == 1) {

+                                            local_3f8 = FUN_0008d470(*piVar18,piVar17);

+                                            if (local_3f8 != 0) {

+                                              FUN_000d4dac(1,"dt.e","faceBase.c",

+                                                           "HANET_FACEIdentify",0x1371,

+                                                           "DT_VIDEO_Search fild \n");

+                                            }

+                                            if (600000 < *piVar17 || *piVar17 == -1) {

+                                              *(undefined8 *)(*piVar18 + 8) =

+                                                   *(undefined8 *)(*piVar3 + iVar16 + 8);

+                                              local_3f8 = FUN_0008d7d0(*piVar18,piVar17);

+                                              if (local_3f8 != 0) {

+                                                FUN_000d4dac(1,"dt.e","faceBase.c",

+                                                             "HANET_FACEIdentify",0x137a,

+                                                             "DT_Stranger_Search fild \n");

+                                              }

+                                            }

+                                          }

+                                          else {

+                                            local_3f8 = FUN_0008cb70(*piVar18,piVar17);

+                                            if (local_3f8 != 0) {

+                                              FUN_000d4dac(1,"dt.e","faceBase.c",

+                                                           "HANET_FACEIdentify",0x1382,

+                                                           "DT_VIDEO_Search fild \n");

+                                            }

+                                          }

+                                        }

+                                      }

+                                    }

+                                  }

+                                  *(int *)puVar6 = 0;

+                                  goto LAB_17;

+                                }

+                              }

+                            }

+                          }

+                        }

+                      }

+                    }

+                  }

+                }

+              }

+            }

+          }

+        }

+LAB_12:

+        uVar11 = uVar11 + 1;

+        piVar17 = piVar17 + 1;

+        uVar12 = *param_4;

+        piVar18 = piVar18 + 1;

+        local_3fc = local_3fc + 2;

+        puVar6 = (undefined1 *)((int)puVar6 + 4);

+        puVar19 = puVar19 + 0xe;

+        if (uVar12 <= uVar11) goto LAB_20;

+        iVar4 = *piVar3;

+      } while( true );

+    }

+    FUN_0009dd10(*(undefined4 *)(piVar3[2] + 0x10),*(undefined4 *)(piVar3[2] + 0x18));

+    FUN_000d4dac(4,"dt.d","faceBase.c","HANET_FACEIdentify",0x1229,

+                 "facenumold == %d\t *face_num == %d\t!!!\n");

+    DAT_10 = *param_4;

+    if (DAT_10 != 0) goto LAB_000a00a4;

+    local_3f8 = 0;

+  }

+  else {

+    if (DAT_9 < 0x1f) {

+      DAT_9 = DAT_9 + 1;

+    }

+    else {

+      DAT_9 = 0;

+      DAT_10 = 0;

+      FUN_0009dcf8();

+    }

+    local_3f8 = 0;

+    s32SearchNum = 0;

+  }

+LAB_8:

+  iVar4 = FUN_0009173c();

+joined_r0x000a0734:

+  if (iVar4 == 1) {

+    FUN_0009fde4((int *)param_4,(int)piVar3,param_2);

+  }

+  else {

+    FUN_0009e7a4((int *)param_4,(int)piVar3,param_2,param_5);

+  }

+  *param_1 = puVar8;

+  FUN_0008b6d8();

+  if (local_44 == __stack_chk_guard) {

+    return;

+  }

+                    /* WARNING: Subroutine does not return */

+  __stack_chk_fail(local_3f8);

+LAB_20:

+  if (uVar12 != 0) {

+    uVar11 = 0;

+    do {

+      if (local_244[uVar11] != 0) {

+        mgvl1_delete();

+        uVar12 = *param_4;

+        local_244[uVar11] = 0;

+      }

+      uVar11 = uVar11 + 1;

+    } while (uVar11 < uVar12);

+    iVar4 = FUN_0009173c();

+    goto joined_r0x000a0734;

+  }

+  goto LAB_8;

 }

 

FUN_000b1a1c

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,called
ratio 0.04
i_ratio 0.62
m_ratio 1.0
b_ratio 0.96
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_000b1a1c FUN_000b21ac
fullname FUN_000b1a1c FUN_000b21ac
refcount 1 1
length 2048 2068
called
Expand for full list:
::__stack_chk_fail
::memset
::pthread_detach
::pthread_exit
::pthread_self
::sleep
::usleep
FUN_0003c174
FUN_00056c34
FUN_00090fac
FUN_0009adf8
FUN_0009b568
FUN_0009d280
FUN_000a1010
FUN_000ab314
FUN_000abca4
FUN_000ac798
FUN_000acbf0
FUN_000acd40
FUN_000ada8c
FUN_000adc4c
FUN_000af854
FUN_000af864
FUN_000b0778
FUN_000b0790
FUN_000b07a0
FUN_000b0c88
FUN_000b10f0
FUN_000b1338
FUN_000b16ac
FUN_000d460c
FUN_000eeacc
FUN_00104f58
FUN_00105df8
FUN_00132a24
FUN_00132b44
FUN_00171a6c
FUN_00171f80
FUN_00172ac8
Expand for full list:
::__stack_chk_fail
::memset
::pthread_detach
::pthread_exit
::pthread_self
::sleep
::usleep
FUN_0003c1a4
FUN_00056aa0
FUN_0009173c
FUN_0009b588
FUN_0009bcf8
FUN_0009da10
FUN_000a17a0
FUN_000abaa4
FUN_000ac434
FUN_000acf28
FUN_000ad380
FUN_000ad4d0
FUN_000ae21c
FUN_000ae3dc
FUN_000affe4
FUN_000afff4
FUN_000b0f08
FUN_000b0f20
FUN_000b0f30
FUN_000b1418
FUN_000b1880
FUN_000b1ac8
FUN_000b1e3c
FUN_000d4dac
FUN_000ef26c
FUN_001056f8
FUN_00106598
FUN_001331c4
FUN_001332e4
FUN_0017220c
FUN_00172720
FUN_00173268
calling
paramcount 1 1
address 000b1a1c 000b21ac
sig undefined __stdcall FUN_000b1a1c(int param_1) undefined __stdcall FUN_000b21ac(int param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_000b1a1c Called Diff

--- FUN_000b1a1c called
+++ FUN_000b21ac called
@@ -8,32 +8,32 @@
-FUN_0003c174
-FUN_00056c34
-FUN_00090fac
-FUN_0009adf8
-FUN_0009b568
-FUN_0009d280
-FUN_000a1010
-FUN_000ab314
-FUN_000abca4
-FUN_000ac798
-FUN_000acbf0
-FUN_000acd40
-FUN_000ada8c
-FUN_000adc4c
-FUN_000af854
-FUN_000af864
-FUN_000b0778
-FUN_000b0790
-FUN_000b07a0
-FUN_000b0c88
-FUN_000b10f0
-FUN_000b1338
-FUN_000b16ac
-FUN_000d460c
-FUN_000eeacc
-FUN_00104f58
-FUN_00105df8
-FUN_00132a24
-FUN_00132b44
-FUN_00171a6c
-FUN_00171f80
-FUN_00172ac8
+FUN_0003c1a4
+FUN_00056aa0
+FUN_0009173c
+FUN_0009b588
+FUN_0009bcf8
+FUN_0009da10
+FUN_000a17a0
+FUN_000abaa4
+FUN_000ac434
+FUN_000acf28
+FUN_000ad380
+FUN_000ad4d0
+FUN_000ae21c
+FUN_000ae3dc
+FUN_000affe4
+FUN_000afff4
+FUN_000b0f08
+FUN_000b0f20
+FUN_000b0f30
+FUN_000b1418
+FUN_000b1880
+FUN_000b1ac8
+FUN_000b1e3c
+FUN_000d4dac
+FUN_000ef26c
+FUN_001056f8
+FUN_00106598
+FUN_001331c4
+FUN_001332e4
+FUN_0017220c
+FUN_00172720
+FUN_00173268

FUN_000b1a1c Diff

--- FUN_000b1a1c
+++ FUN_000b21ac
@@ -1,62 +1,235 @@
 

-void FUN_000b1a1c(int param_1)

+void FUN_000b21ac(int param_1)

 

 {

-  size_t sVar1;

-  int iVar2;

-  int *unaff_r5;

-  undefined4 *unaff_r6;

-  int *unaff_r7;

-  __useconds_t unaff_r8;

-  int unaff_r9;

-  char *__s;

-  int in_stack_00000000;

-  int in_stack_00000004;

+  bool bVar1;

+  bool bVar2;

+  bool bVar3;

+  pthread_t __th;

+  void *pvVar4;

+  int iVar5;

+  int iVar6;

+  int iVar7;

+  undefined1 *puVar8;

+  ushort uVar9;

+  int iVar10;

+  uint *puVar11;

+  int iVar12;

+  undefined4 *puVar13;

+  void *local_2e8;

+  ushort local_2e4 [14];

+  uint auStack_2c8 [18];

+  undefined1 auStack_280 [596];

+  int local_2c;

   

-  do {

-    FUN_000b191c(0);

+  local_2c = __stack_chk_guard;

+  __th = pthread_self();

+  pthread_detach(__th);

+  iVar12 = *(int *)(param_1 + 4);

+  pvVar4 = (void *)FUN_0017220c(0,(uint *)(iVar12 + 0xa8));

+  if (pvVar4 == (void *)0x0) {

+    local_2e8 = pvVar4;

+    iVar5 = FUN_000acf28(&local_2e8,0x500,0x2e0);

+    if (iVar5 == 0) {

+      bVar1 = true;

+      iVar10 = *(int *)((int)local_2e8 + 0x2c);

+      puVar13 = (undefined4 *)(iVar10 + 0x10);

+      bVar3 = true;

+      iVar5 = 0;

+      do {

+        while( true ) {

+          while( true ) {

+            while( true ) {

+              if (s_bStopSignal != 0) {

+                FUN_000d4dac(4,"dt.d","dt_svp_main.c","SAMPLE_IVE_MdProc",0xeb9,

+                             "====================================== MD END ======================================\n\n"

+                            );

+                iVar12 = FUN_00172720(0);

+                if (iVar12 != 0) {

+                  FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xebf,"[%s]-%d: ");

+                }

+                FUN_000ad380(local_2e8);

+                    /* WARNING: Subroutine does not return */

+                pthread_exit((void *)0x0);

+              }

+              iVar6 = FUN_0003c1a4();

+              if (iVar6 != 0) break;

+              usleep(200000);

+            }

+            if (SWITCH_RUNING != 1) break;

+            usleep(10000);

+          }

+          iVar6 = FUN_001331c4(0,2,(int)auStack_280);

+          if (iVar6 == 0) break;

+          FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xdfc,

+                       "Error(%#x),HI_MPI_VPSS_GetChnFrame failed, VPSS_GRP(%d), VPSS_CHN(%d)!\n");

+          if (iVar6 == -0x5ff87ffb) {

+            sleep(1);

+          }

+        }

+        iVar6 = FUN_000ad4d0(auStack_280,puVar13);

+        if (iVar6 != 0) goto LAB_0;

+        iVar6 = FUN_001332e4(0,2,(int)auStack_280);

+        if (iVar6 != 0) {

+          FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xe15,"[%s]-%d: ");

+        }

+        if (bVar1) {

+          iVar7 = FUN_00106598(puVar13,(undefined4 *)((1 - iVar5) * 0x48 + iVar12),1);

+          if (iVar7 == 0) {

+            bVar1 = false;

+            iVar5 = 1 - iVar5;

+            goto LAB_0;

+          }

+          FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xe22,

+                       "SAMPLE_COMM_IVE_DmaImage fail,Error(%#x)\n");

+        }

+        else {

+          puVar11 = (uint *)(iVar5 * 0x48 + iVar12);

+          iVar7 = FUN_00106598(puVar13,puVar11,1);

+          if (iVar7 == 0) {

+            if (gThumTempFile[0] != '\0') {

+              iVar7 = FUN_000b1418(gThumTempFile,puVar13);

+              if (iVar7 == 0) {

+                memset(gThumTempFile,0,0x100);

+              }

+              else {

+                FUN_000d4dac(4,"dt.d","dt_svp_main.c","SAMPLE_IVE_MdProc",0xe2e,

+                             "HANET_SAVE_Thum failed  \n");

+              }

+            }

+            if (gTakeFacePhotoFlags == 1) {

+              local_2e4[0] = 0;

+              local_2e4[1] = 0;

+              local_2e4[2] = 0;

+              local_2e4[3] = 0;

+              local_2e4[4] = 0;

+              local_2e4[5] = 0;

+              local_2e4[6] = 0;

+              local_2e4[7] = 0;

+              local_2e4[8] = 0;

+              local_2e4[9] = 0;

+              local_2e4[10] = 0;

+              local_2e4[0xb] = 0;

+              local_2e4[0xc] = 0;

+              local_2e4[0xd] = 0;

+              memset(auStack_2c8,0,0x48);

+              iVar7 = FUN_000abaa4(auStack_2c8,2,*(uint *)(iVar10 + 0x10),*(uint *)(iVar10 + 0x14));

+              if (iVar7 == 0) {

+                FUN_000ae21c(puVar13,auStack_2c8,1);

+                FUN_000ae3dc(puVar13,(int)auStack_2c8,1);

+                iVar7 = FUN_0009da10(auStack_2c8,local_2e4);

+                if (iVar7 == 0) {

+                  if ((local_2e4[2] != 0) && (local_2e4[3] != 0)) {

+                    FUN_000b1e3c(6,(char *)0x0,local_2e4);

+                  }

+                  gTakeFacePhotoFlags = 0;

+                }

+                FUN_000ac434((int *)auStack_2c8);

+              }

+            }

+            if (gNorTakePhotoFlags == 1) {

+              local_2e4[4] = 0;

+              local_2e4[5] = 0;

+              local_2e4[6] = 0;

+              local_2e4[7] = 0;

+              local_2e4[8] = 0;

+              local_2e4[9] = 0;

+              local_2e4[10] = 0;

+              local_2e4[0xb] = 0;

+              local_2e4[0xc] = 0;

+              local_2e4[0xd] = 0;

+              local_2e4[0] = 0;

+              local_2e4[1] = 0;

+              local_2e4[2] = 0x500;

+              local_2e4[3] = 0x2e0;

+              FUN_000b1e3c(6,(char *)0x0,local_2e4);

+              gNorTakePhotoFlags = 0;

+              FUN_000d4dac(4,"dt.d","dt_svp_main.c","SAMPLE_IVE_MdProc",0xe56,

+                           "gNorTakePhotoFlags ----------------------------------\n");

+            }

+            iVar7 = FUN_00173268(0,puVar11,(uint *)((1 - iVar5) * 0x48 + iVar12),(uint *)0x0,

+                                 (uint *)(iVar12 + 0x90));

+            if (iVar7 == 0) {

+              FUN_001056f8(*(ushort **)(iVar12 + 0x98),(undefined2 *)(iVar12 + 0xcc),0x40,8,

+                           *(uint *)(iVar12 + 0xb4),*(uint *)(iVar12 + 0xb8),0x2d0,0x240);

+              puVar8 = FUN_00056aa0();

+              bVar2 = bVar3;

+              if (*(int *)(*(int *)(puVar8 + 0x1c) + 0x1520) == 1) {

+                if (s_stIrLedmngCtx._32_4_ == 1) {

+                  uVar9 = 5;

+                }

+                else if (s_stIrLedmngCtx._32_4_ == 0) {

+                  uVar9 = 4;

+                }

+                else {

+                  uVar9 = 6;

+                }

+                if (uVar9 < *(ushort *)(iVar12 + 0xcc)) {

+                  bVar2 = bVar1;

+                  if (!bVar3) {

+                    FUN_000afff4();

+                    bVar2 = bVar3;

+                  }

+                }

+                else if (Md_Flags_S == 1) {

+                  Md_Flags_S = 0;

+                  Md_Flags_S_To_E = 1;

+                }

+              }

+              puVar8 = FUN_00056aa0();

+              if (*(int *)(*(int *)(puVar8 + 0x1c) + 0x14dc) == 1) {

+                FUN_000afff4();

+              }

+              usleep(100000);

+              FUN_000a17a0();

+              iVar7 = FUN_0009173c();

+              if (iVar7 == 1) {

+                FUN_0009bcf8();

+              }

+              if ((2 < *(ushort *)(iVar12 + 0xcc)) && (iVar7 = FUN_000affe4(), iVar7 == 1)) {

+                FUN_000b1ac8(300);

+                iVar7 = FUN_000b1880();

+                if (iVar7 == 1) {

+                  FUN_000ef26c((int)puVar11);

+                }

+              }

+              iVar7 = FUN_000b0f20();

+              if (iVar7 == 1) {

+                FUN_000b0f30(g_stFaceInfo + 0x40,g_stFaceInfo._128_4_);

+                FUN_000b0f08(0);

+              }

+              FUN_0009b588();

+              iVar5 = 1 - iVar5;

+              bVar3 = bVar2;

+            }

+            else {

+              FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xe5a,

+                           "HI_IVS_MD_Process fail,Error(%#x)\n");

+            }

+          }

+          else {

+            FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xe1c,

+                         "SAMPLE_COMM_IVE_DmaImage fail,Error(%#x)\n");

+          }

+        }

+        if (iVar6 != 0) {

 LAB_0:

-    do {

-      do {

-        iVar2 = *unaff_r5;

-        if (iVar2 != 0) {

-          free(DAT_1);

-          if (in_stack_00000004 != *unaff_r7) {

+          iVar6 = FUN_001332e4(0,2,(int)auStack_280);

+          if (iVar6 != 0) {

+            FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xeb4,"[%s]-%d: ");

+          }

+        }

+      } while( true );

+    }

+    FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xde4,"[%s]-%d: ");

+  }

+  else {

+    FUN_000d4dac(1,"dt.e","dt_svp_main.c","SAMPLE_IVE_MdProc",0xddb,"[%s]-%d: ");

+  }

+  if (local_2c == __stack_chk_guard) {

+    return;

+  }

                     /* WARNING: Subroutine does not return */

-            __stack_chk_fail(0);

-          }

-          return;

-        }

-        usleep(10000);

-      } while ((void *)*unaff_r6 == (void *)0x0);

-      memset((void *)*unaff_r6,0,0x2800);

-      in_stack_00000000 = iVar2;

-      iVar2 = FUN_000b1930();

-      if (((iVar2 == 0) && (iVar2 = FUN_0005d6d8(), iVar2 == 1)) &&

-         (FUN_00088558(&stack0x00000000,(char *)*unaff_r6), iVar2 = in_stack_00000000,

-         500000 < in_stack_00000000)) {

-        __s = (char *)*unaff_r6;

-        sVar1 = strlen(__s);

-        if (0x400 < sVar1) {

-          FUN_0005ba68(__s,iVar2);

-          iVar2 = FUN_000b1930();

-          if (iVar2 == 1) {

-            usleep(100000);

-            unaff_r9 = 1;

-          }

-          else {

-            unaff_r9 = 0;

-          }

-          goto LAB_0;

-        }

-      }

-      usleep(unaff_r8);

-      iVar2 = FUN_000b1930();

-      if (iVar2 == 1) {

-        unaff_r9 = unaff_r9 + 1;

-        usleep(100000);

-      }

-    } while (unaff_r9 < 0x65);

-  } while( true );

+  __stack_chk_fail(0);

 }

 

FUN_00057090

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,calling,called
ratio 0.14
i_ratio 0.11
m_ratio 0.91
b_ratio 0.72
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_00057090 FUN_0005787c
fullname FUN_00057090 FUN_0005787c
refcount 22 22
length 568 472
called ::sync
::system
FUN_00047b98
FUN_0004a664
FUN_0004fc18
FUN_00055d58
FUN_000a4420
FUN_000d460c
::system
FUN_00047bc8
FUN_0004a694
FUN_0004fa84
FUN_00055bc4
FUN_00057284
FUN_000a4bb0
FUN_000d4dac
calling
Expand for full list:
Active_Callback
DT_SystemReboot
FUN_00028c90
FUN_00057324
FUN_0005e010
FUN_0006668c
FUN_000691f4
FUN_0006d868
FUN_0006d98c
FUN_00076748
FUN_000769e0
FUN_0008c3e0
FUN_00091618
Get_strangerinfo_by_page_Callback
Get_userinfo_by_page_Callback
Register_Callback
SubscribeCorp_Callback
UploadUserInfo_Callback
Expand for full list:
Active_Callback
DT_SystemReboot
FUN_00028c90
FUN_00057ab8
FUN_0005e7a4
FUN_00066e20
FUN_00069988
FUN_0006dffc
FUN_0006e120
FUN_00076edc
FUN_00077174
FUN_0008cb70
FUN_00091da8
Get_strangerinfo_by_page_Callback
Get_userinfo_by_page_Callback
Register_Callback
SubscribeCorp_Callback
UploadUserInfo_Callback
recognizerEnd
paramcount 0 0
address 00057090 0005787c
sig undefined4 __stdcall FUN_00057090(void) undefined4 __stdcall FUN_0005787c(void)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_00057090 Called Diff

--- FUN_00057090 called
+++ FUN_0005787c called
@@ -1 +0,0 @@
-<EXTERNAL>::sync
@@ -3,6 +2,7 @@
-FUN_00047b98
-FUN_0004a664
-FUN_0004fc18
-FUN_00055d58
-FUN_000a4420
-FUN_000d460c
+FUN_00047bc8
+FUN_0004a694
+FUN_0004fa84
+FUN_00055bc4
+FUN_00057284
+FUN_000a4bb0
+FUN_000d4dac

FUN_00057090 Calling Diff

--- FUN_00057090 calling
+++ FUN_0005787c calling
@@ -4,10 +4,10 @@
-FUN_00057324
-FUN_0005e010
-FUN_0006668c
-FUN_000691f4
-FUN_0006d868
-FUN_0006d98c
-FUN_00076748
-FUN_000769e0
-FUN_0008c3e0
-FUN_00091618
+FUN_00057ab8
+FUN_0005e7a4
+FUN_00066e20
+FUN_00069988
+FUN_0006dffc
+FUN_0006e120
+FUN_00076edc
+FUN_00077174
+FUN_0008cb70
+FUN_00091da8
@@ -18,0 +19 @@
+recognizerEnd

FUN_00057090 Diff

--- FUN_00057090
+++ FUN_0005787c
@@ -1,19 +1,43 @@
 

-undefined4 FUN_00057090(void)

+undefined4 FUN_0005787c(void)

 

 {

-  char *in_r1;

-  undefined4 in_r2;

-  char *unaff_r4;

-  undefined4 unaff_r5;

-  char *unaff_r6;

-  char *unaff_r7;

-  char *in_stack_00000004;

-  undefined4 uStack00000008;

+  int iVar1;

+  undefined4 uVar2;

   

-  FUN_000d4dac(4,in_r1,unaff_r4,unaff_r6,in_r2,in_stack_00000004);

-  uStack00000008 = 600;

-  FUN_000d4dac(4,unaff_r7,unaff_r4,unaff_r6,0x85,"UserCfg Size[%lu]\n");

-  return unaff_r5;

+  system("chattr -i /tmp/ini/inicfg/*");

+  FUN_00057284();

+  iVar1 = FUN_0004a694((char *)(s_stPARAMCtx._28_4_ + 0x14e0));

+  if (iVar1 == 0) {

+    iVar1 = FUN_0004fa84((uint *)s_stPARAMCtx._28_4_);

+    if (iVar1 == 0) {

+      iVar1 = FUN_00047bc8((char *)(s_stPARAMCtx._28_4_ + 0x1310));

+      if (iVar1 == 0) {

+        iVar1 = FUN_00055bc4((long *)(s_stPARAMCtx._28_4_ + 0x1860));

+        if (iVar1 == 0) {

+          FUN_000a4bb0("productini");

+          system("chattr +i /tmp/ini/inicfg/*");

+          uVar2 = 0;

+        }

+        else {

+          uVar2 = 0xffffffff;

+          FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Flush",0x13b," Load [%s] failed\n");

+        }

+      }

+      else {

+        uVar2 = 0xffffffff;

+        FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Flush",0x137," Load [%s] failed\n");

+      }

+    }

+    else {

+      uVar2 = 0xffffffff;

+      FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Flush",0x133," Load [%s] failed\n");

+    }

+  }

+  else {

+    uVar2 = 0xffffffff;

+    FUN_000d4dac(1,"dt.e","param_comm.c","PARAM_Flush",0x12f," Load [%s] failed\n");

+  }

+  return uVar2;

 }

 

FUN_000ab114

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.08
i_ratio 0.06
m_ratio 0.91
b_ratio 0.4
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_000ab114 FUN_0075fcd0
fullname FUN_000ab114 FUN_0075fcd0
refcount 0 3
length 76 64
called ::usleep
FUN_000aacac
FUN_000d9f8c
FUN_000da598
::usleep
calling FUN_007664d0
FUN_007667dc
paramcount 0 1
address 000ab114 0075fcd0
sig undefined4 __stdcall FUN_000ab114(void) int __stdcall FUN_0075fcd0(int param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_000ab114 Called Diff

--- FUN_000ab114 called
+++ FUN_0075fcd0 called
@@ -2,3 +1,0 @@
-FUN_000aacac
-FUN_000d9f8c
-FUN_000da598

FUN_000ab114 Calling Diff

--- FUN_000ab114 calling
+++ FUN_0075fcd0 calling
@@ -0,0 +1,2 @@
+FUN_007664d0
+FUN_007667dc

FUN_000ab114 Diff

--- FUN_000ab114
+++ FUN_0075fcd0
@@ -1,97 +1,10 @@
 

-char * FUN_000ab114(void)

+int FUN_0075fcd0(int param_1)

 

 {

-  byte bVar1;

-  int in_r0;

-  tm *ptVar2;

-  size_t sVar3;

-  char *pcVar4;

-  char *__dest;

-  int iVar5;

-  int iVar6;

-  int unaff_r11;

-  undefined4 in_r12;

-  char in_NG;

-  bool in_ZR;

-  char in_OV;

-  undefined8 uVar7;

-  int iStack00000008;

-  int in_stack_0000000c;

-  int in_stack_00000010;

-  int in_stack_00000014;

-  int in_stack_00000018;

-  int in_stack_0000001c;

+  int iVar1;

   

-  if (in_ZR || in_NG != in_OV) {

-    iStack00000008 = in_r12;

-    pcVar4 = (char *)FUN_000d4dac(1,"dt.e","dt_socket.c","print_response",0x110,

-                                  " message_size is  %d \n");

-  }

-  else {

-    iStack00000008 = func_0x000aa748();

-    __dest = (char *)(unaff_r11 + -0xa8);

-    FUN_000d4dac(4,"dt.d","dt_socket.c","print_response",0x115," header_size %d \n");

-    uVar7 = func_0x000aa76c(in_r0 + 4);

-    *(undefined8 *)(unaff_r11 + -0xb4) = uVar7;

-    printf(" message_id %lld \n");

-    ptVar2 = localtime((time_t *)(unaff_r11 + -0xb4));

-    in_stack_0000001c = ptVar2->tm_sec;

-    in_stack_00000018 = ptVar2->tm_min;

-    in_stack_00000014 = ptVar2->tm_hour;

-    in_stack_00000010 = ptVar2->tm_mday;

-    in_stack_0000000c = ptVar2->tm_mon + 1;

-    iStack00000008 = ptVar2->tm_year + 0x76c;

-    FUN_000d4dac(4,"dt.d","dt_socket.c","print_response",0x11b,

-                 "message_id %4d %02d %02d %02d:%02d:%02d\n");

-    iStack00000008 = func_0x000aa748(in_r0 + 0xc);

-    FUN_000d4dac(4,"dt.d","dt_socket.c","print_response",0x11e,"content_type is %d \n");

-    _iStack00000008 = func_0x000aa76c(in_r0 + 0x10);

-    iVar5 = (int)_iStack00000008;

-    *(undefined8 *)(unaff_r11 + -0xc4) = _iStack00000008;

-    iVar6 = *(int *)(unaff_r11 + -0xb8);

-    FUN_000d4dac(4,"dt.d","dt_socket.c","print_response",0x121," body_size %lld \n");

-    iVar5 = iVar6 - iVar5;

-    iVar6 = -((iVar6 - *(int *)(unaff_r11 + -0xc4)) + 7U & 0xfffffff8);

-    strncpy(&stack0x00000020 + iVar6,(char *)(in_r0 + 0x18),iVar5 - 0x18);

-    *(undefined4 *)(unaff_r11 + -0xa8) = 0;

-    memset((void *)(unaff_r11 + -0xa4),0,0x7c);

-    strncpy(__dest,(char *)(in_r0 + iVar5),*(size_t *)(unaff_r11 + -0xc4));

-    sVar3 = strlen(__dest);

-    bVar1 = *(byte *)(unaff_r11 + -0x8a);

-    *(size_t *)((int)&stack0x0000000c + iVar6) = sVar3;

-    *(uint *)((int)&stack0x00000010 + iVar6) = (uint)bVar1;

-    *(char **)(&stack0x00000004 + iVar6) = " body    %s    %d %c \n";

-    *(undefined4 *)(&stack0x00000000 + iVar6) = 0x129;

-    *(char **)((int)&stack0x00000008 + iVar6) = __dest;

-    FUN_000d4dac(4,"dt.d","dt_socket.c","print_response",*(undefined4 *)(&stack0x00000000 + iVar6),

-                 *(char **)(&stack0x00000004 + iVar6));

-    pcVar4 = strstr(__dest,"session");

-    if (pcVar4 == (char *)0x0) {

-      pcVar4 = strstr(__dest,"timezone");

-      if (pcVar4 == (char *)0x0) {

-        pcVar4 = strstr(__dest,"error");

-        if (pcVar4 != (char *)0x0) {

-          *(undefined4 *)(&stack0x00000000 + iVar6) = 0x136;

-          *(char **)(&stack0x00000004 + iVar6) =

-               "==========================socket error====================================\n";

-          pcVar4 = (char *)FUN_000d4dac(4,"dt.d","dt_socket.c","print_response",

-                                        *(undefined4 *)(&stack0x00000000 + iVar6),

-                                        *(char **)(&stack0x00000004 + iVar6));

-        }

-      }

-      else {

-        pcVar4 = (char *)func_0x000aa8ac(__dest);

-      }

-    }

-    else {

-      pcVar4 = (char *)func_0x000aadbc(__dest,*(undefined4 *)(unaff_r11 + -0xcc));

-    }

-  }

-  if (*(int *)(unaff_r11 + -0x28) != **(int **)(unaff_r11 + -0xbc)) {

-                    /* WARNING: Subroutine does not return */

-    __stack_chk_fail();

-  }

-  return pcVar4;

+  iVar1 = usleep(param_1 * 1000);

+  return iVar1;

 }

 

FUN_0016fd44

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.44
i_ratio 0.0
m_ratio 0.55
b_ratio 0.18
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_0016fd44 FUN_000f23e0
fullname FUN_0016fd44 FUN_000f23e0
refcount 2 7
length 12 32
called ::fclose ::free
calling FUN_0016714c FUN_000ed90c
FUN_000ee788
FUN_000eeda8
paramcount 1 1
address 0016fd44 000f23e0
sig undefined __stdcall FUN_0016fd44(FILE * param_1) undefined __stdcall FUN_000f23e0(void * param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_0016fd44 Called Diff

--- FUN_0016fd44 called
+++ FUN_000f23e0 called
@@ -1 +1 @@
-<EXTERNAL>::fclose
+<EXTERNAL>::free

FUN_0016fd44 Calling Diff

--- FUN_0016fd44 calling
+++ FUN_000f23e0 calling
@@ -1 +1,3 @@
-FUN_0016714c
+FUN_000ed90c
+FUN_000ee788
+FUN_000eeda8

FUN_0016fd44 Diff

--- FUN_0016fd44
+++ FUN_000f23e0
@@ -1,12 +1,12 @@
 

-void FUN_0016fd44(FILE *param_1)

+void FUN_000f23e0(void *param_1)

 

 {

-  int unaff_r7;

-  

-  fprintf((FILE *)**(undefined4 **)(unaff_r7 + 0x17b8),

-          "[Func]:%s [Line]:%d [Info]:Error(%#x): check RoiInfo parameters failed!\n",

-          "ive_check_kcf_judge_obj_bbox_param_user",0x425);

+  if (param_1 == (void *)0x0) {

+    return;

+  }

+  free(*(void **)((int)param_1 + 8));

+  free(param_1);

   return;

 }

 

FUN_000f1c40

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling
ratio 0.14
i_ratio 0.7
m_ratio 0.8
b_ratio 0.8
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_000f1c40 FUN_000f0740
fullname FUN_000f1c40 FUN_000f0740
refcount 7 4
length 32 48
called ::free ::free
calling FUN_000ed16c
FUN_000edfe8
FUN_000ee608
FUN_000f0790
paramcount 1 1
address 000f1c40 000f0740
sig undefined __stdcall FUN_000f1c40(void * param_1) undefined __stdcall FUN_000f0740(void * param_1)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_000f1c40 Calling Diff

--- FUN_000f1c40 calling
+++ FUN_000f0740 calling
@@ -1,3 +1 @@
-FUN_000ed16c
-FUN_000edfe8
-FUN_000ee608
+FUN_000f0790

FUN_000f1c40 Diff

--- FUN_000f1c40
+++ FUN_000f0740
@@ -1,35 +1,14 @@
 

-void * FUN_000f1c40(void *param_1)

+void FUN_000f0740(void *param_1)

 

 {

-  undefined1 *in_r1;

-  int in_r2;

-  uint in_r3;

-  int unaff_r4;

-  int unaff_r5;

-  undefined1 uVar1;

-  int in_lr;

-  

-  do {

-    uVar1 = 0x84;

-    if ((in_r3 & 1) != 0) {

-      param_1 = (void *)((int)param_1 + 2);

-      uVar1 = 0x85;

-    }

-    *(undefined1 *)(unaff_r5 + 8) = uVar1;

-    if (in_r2 == 1) {

-      *(undefined1 *)(in_lr + 7) = uVar1;

-    }

-    else {

-      *in_r1 = uVar1;

-      if (in_r2 == 7) {

-        return param_1;

-      }

-    }

-    in_r3 = in_r3 >> 1;

-    unaff_r5 = unaff_r5 + unaff_r4;

-    in_r2 = in_r2 + 1;

-    in_r1 = in_r1 + -1;

-  } while( true );

+  if (param_1 == (void *)0x0) {

+    return;

+  }

+  free(*(void **)((int)param_1 + 0xc));

+  free(*(void **)((int)param_1 + 0x10));

+  free(*(void **)((int)param_1 + 0x1c));

+  free(param_1);

+  return;

 }

 

FUN_004cf578

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.02
i_ratio 0.41
m_ratio 0.68
b_ratio 0.68
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_004cf578 FUN_004cf9c4
fullname FUN_004cf578 FUN_004cf9c4
refcount 1 3
length 1040 2028
called
Expand for full list:
::__assert_fail
::calloc
::free
::malloc
::memcmp
::memcpy
::realloc
FUN_00034404
FUN_004cf224
FUN_004d05b8
FUN_004d05c0
FUN_004d0cf4
FUN_004d0cfc
FUN_004d0d1c
FUN_004d0d24
FUN_004d4ad8
FUN_004da564
Expand for full list:
::__assert_fail
::calloc
::free
::malloc
::memcmp
::memcpy
::pthread_mutex_lock
::pthread_mutex_unlock
::realloc
FUN_00034410
FUN_00034434
FUN_004cf598
FUN_004d0d58
FUN_004d0d60
FUN_004d1494
FUN_004d149c
FUN_004d14bc
FUN_004d14c4
FUN_004d5278
calling FUN_004db41c
paramcount 1 4
address 004cf578 004cf9c4
sig undefined __stdcall FUN_004cf578(int param_1) void * __stdcall FUN_004cf9c4(int * param_1, uint * param_2, undefined4 param_3, void * param_4)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_004cf578 Called Diff

--- FUN_004cf578 called
+++ FUN_004cf9c4 called
@@ -6,0 +7,2 @@
+<EXTERNAL>::pthread_mutex_lock
+<EXTERNAL>::pthread_mutex_unlock
@@ -8,10 +10,10 @@
-FUN_00034404
-FUN_004cf224
-FUN_004d05b8
-FUN_004d05c0
-FUN_004d0cf4
-FUN_004d0cfc
-FUN_004d0d1c
-FUN_004d0d24
-FUN_004d4ad8
-FUN_004da564
+FUN_00034410
+FUN_00034434
+FUN_004cf598
+FUN_004d0d58
+FUN_004d0d60
+FUN_004d1494
+FUN_004d149c
+FUN_004d14bc
+FUN_004d14c4
+FUN_004d5278

FUN_004cf578 Calling Diff

--- FUN_004cf578 calling
+++ FUN_004cf9c4 calling
@@ -0,0 +1 @@
+FUN_004db41c

FUN_004cf578 Diff

--- FUN_004cf578
+++ FUN_004cf9c4
@@ -1,10 +1,480 @@
 

-void FUN_004cf578(int param_1)

+void * FUN_004cf9c4(int *param_1,uint *param_2,undefined4 param_3,void *param_4)

 

 {

-  pthread_mutexattr_t *in_r1;

+  longlong lVar1;

+  void *pvVar2;

+  void *pvVar3;

+  void *__n;

+  int *piVar4;

+  int iVar5;

+  int iVar6;

+  int iVar7;

+  uint uVar8;

+  int iVar9;

+  void *pvVar10;

+  undefined4 unaff_r4;

+  uint uVar11;

+  uint *puVar12;

+  uint *puVar13;

+  undefined4 *puVar14;

+  undefined4 unaff_r5;

+  undefined4 unaff_r6;

+  undefined4 unaff_r7;

+  uint *puVar15;

+  uint uVar16;

+  size_t sVar17;

+  undefined4 unaff_r8;

+  undefined4 unaff_r9;

+  undefined4 unaff_r10;

+  int in_r12;

+  undefined4 in_lr;

+  undefined4 in_pc;

+  bool bVar18;

+  undefined4 *puVar19;

+  undefined4 *puVar20;

+  undefined8 uVar21;

   

-  pthread_mutex_init((pthread_mutex_t *)&DAT_0,in_r1);

-  return;

+  while( true ) {

+    iVar6 = param_1[0x17];

+    *(undefined4 *)((int)register0x00000054 + -4) = in_lr;

+    *(undefined4 *)((int)register0x00000054 + -8) = unaff_r10;

+    *(undefined4 *)((int)register0x00000054 + -0xc) = unaff_r9;

+    *(undefined4 *)((int)register0x00000054 + -0x10) = unaff_r8;

+    *(undefined4 *)((int)register0x00000054 + -0x14) = unaff_r7;

+    *(undefined4 *)((int)register0x00000054 + -0x18) = unaff_r6;

+    *(undefined4 *)((int)register0x00000054 + -0x1c) = unaff_r5;

+    puVar19 = (undefined4 *)((int)register0x00000054 + -0x20);

+    *puVar19 = unaff_r4;

+    if (iVar6 == 0) break;

+    puVar12 = (uint *)param_1[0x18];

+    uVar11 = *param_2;

+    puVar15 = (uint *)(param_1 + 0x18);

+    while (puVar13 = puVar12, puVar12 != (uint *)0x0) {

+      while( true ) {

+        if (((*puVar13 == uVar11) && (puVar13[2] == param_2[2])) &&

+           (iVar6 = memcmp((void *)puVar13[3],(void *)param_2[3],puVar13[2]), iVar6 == 0)) {

+          uVar16 = puVar13[0xb];

+          uVar8 = puVar13[10];

+          uVar11 = ~uVar16 >> 0x1f;

+          goto LAB_0;

+        }

+        param_4 = (void *)(param_2[10] - puVar13[10]);

+        if ((void *)0xfa0 < param_4) break;

+        puVar15 = puVar13 + 8;

+        puVar13 = (uint *)puVar13[8];

+        if (puVar13 == (uint *)0x0) goto LAB_1;

+      }

+      puVar12 = (uint *)puVar13[8];

+      puVar13[8] = 0;

+      FUN_004cf598((int)param_1,*puVar15);

+      *puVar15 = (uint)puVar12;

+      uVar11 = *param_2;

+    }

+LAB_1:

+    uVar16 = param_2[2];

+    sVar17 = uVar16 + 1;

+    if ((int)sVar17 < 2) {

+LAB_2:

+      puVar13 = (uint *)calloc(1,0x34);

+      param_1[0x21] = param_1[0x21] + 1;

+    }

+    else {

+      if ((int)sVar17 < 5) {

+        param_4 = (void *)0x1;

+      }

+      else if ((int)sVar17 < 0x11) {

+        param_4 = (void *)0x2;

+      }

+      else {

+        if (0x40 < (int)sVar17) {

+          param_4 = (void *)0x4;

+        }

+        if (sVar17 == 0x40 || (int)(uVar16 - 0x3f) < 0 != SBORROW4(sVar17,0x40)) {

+          param_4 = (void *)0x3;

+        }

+      }

+      puVar13 = (uint *)param_1[(int)param_4 * 2 + 0xe];

+      if (puVar13 == (uint *)0x0) {

+        piVar4 = param_1 + (int)param_4 * 2;

+        do {

+          param_4 = (void *)((int)param_4 + -1);

+          if (param_4 == (void *)0x0) goto LAB_2;

+          puVar13 = (uint *)piVar4[0xc];

+          piVar4 = piVar4 + -2;

+        } while (puVar13 == (uint *)0x0);

+      }

+      param_1[(int)param_4 + 0x22] = param_1[(int)param_4 + 0x22] + 1;

+      iVar6 = param_1[(int)param_4 * 2 + 0xd];

+      bVar18 = iVar6 != 0;

+      if (bVar18) {

+        iVar6 = iVar6 + -1;

+      }

+      param_1[(int)param_4 * 2 + 0xe] = puVar13[8];

+      puVar13[8] = 0;

+      if (!bVar18) {

+                    /* WARNING: Subroutine does not return */

+        __assert_fail("iscn->recycle[i].nsyms","zbar/img_scanner.c",0xed,

+                      "_zbar_image_scanner_alloc_sym");

+      }

+      param_1[(int)param_4 * 2 + 0xd] = iVar6;

+    }

+    uVar8 = param_1[5];

+    bVar18 = puVar13[9] == 0;

+    *puVar13 = uVar11;

+    puVar13[0xc] = 1;

+    puVar13[5] = 0;

+    puVar13[0xb] = 0;

+    puVar13[10] = uVar8;

+    if (bVar18) {

+      if ((int)sVar17 < 1) {

+        if ((void *)puVar13[3] != (void *)0x0) {

+          free((void *)puVar13[3]);

+        }

+        pvVar2 = (void *)0x0;

+        puVar13[3] = 0;

+        puVar13[1] = 0;

+        puVar13[2] = 0;

+      }

+      else {

+        puVar13[2] = uVar16;

+        pvVar2 = (void *)puVar13[3];

+        if (puVar13[1] < sVar17) {

+          if (pvVar2 != (void *)0x0) {

+            free(pvVar2);

+          }

+          puVar13[1] = sVar17;

+          pvVar2 = malloc(sVar17);

+          puVar13[3] = (uint)pvVar2;

+        }

+      }

+      memcpy(pvVar2,(void *)param_2[3],param_2[2]);

+      uVar11 = param_1[0x18];

+      uVar8 = param_2[10] - 2000;

+      puVar13[10] = uVar8;

+      puVar13[0xb] = 0xfffffffd;

+      puVar13[8] = uVar11;

+      uVar11 = 0;

+      uVar16 = 0xfffffffd;

+      param_1[0x18] = (int)puVar13;

+LAB_0:

+      uVar8 = param_2[10] - uVar8;

+      if (uVar8 < 1000) {

+        uVar11 = 1;

+      }

+      uVar11 = uVar11 ^ 1;

+      if (1999 < uVar8) {

+        uVar11 = 1;

+      }

+      puVar13[10] = param_2[10];

+      if (uVar11 == 0) {

+        uVar16 = uVar16 + 1;

+        puVar13[0xb] = uVar16;

+        iVar6 = param_1[0xc];

+        param_2[0xb] = uVar16;

+        if (uVar16 == 0) goto LAB_3;

+        param_2[8] = *(uint *)(iVar6 + 8);

+        *(uint **)(iVar6 + 8) = param_2;

+      }

+      else {

+        iVar6 = param_1[0xc];

+        puVar13[0xb] = 0xfffffffd;

+        uVar11 = *(uint *)(iVar6 + 8);

+        param_2[0xb] = 0xfffffffd;

+        param_2[8] = uVar11;

+        *(uint **)(iVar6 + 8) = param_2;

+      }

+      goto LAB_4;

+    }

+    iVar7 = 0x4cfd08;

+    uVar21 = FUN_00034434();

+    iVar6 = (int)((ulonglong)uVar21 >> 0x20);

+    lVar1 = CONCAT44((int)uVar21,in_pc);

+    if (bVar18) {

+      lVar1 = ZEXT48(puVar13) * ZEXT48(puVar13) + CONCAT44((int)uVar21,in_pc);

+    }

+    uVar16 = (uint)((ulonglong)lVar1 >> 0x20);

+    in_pc = (undefined4)lVar1;

+    if (bVar18) {

+      iVar7 = iVar6 + ((int)puVar13 << (uVar8 & 0xff));

+    }

+    lVar1 = CONCAT44(iVar6,iVar7);

+    if (bVar18) {

+      lVar1 = (ulonglong)uVar8 * (ulonglong)uVar16;

+    }

+    iVar6 = (int)lVar1;

+    if (bVar18) {

+      iVar6 = (int)((ulonglong)lVar1 >> 0x20) + (in_r12 >> 5);

+    }

+    *(int *)((int)register0x00000054 + -0x24) = iVar6;

+    *(undefined4 *)((int)register0x00000054 + -0x28) = unaff_r10;

+    *(int **)((int)register0x00000054 + -0x2c) = param_1;

+    *(undefined4 *)((int)register0x00000054 + -0x30) = 0;

+    *(size_t *)((int)register0x00000054 + -0x34) = sVar17;

+    *(uint *)((int)register0x00000054 + -0x38) = uVar11;

+    *(uint **)((int)register0x00000054 + -0x3c) = param_2;

+    puVar20 = (undefined4 *)((int)register0x00000054 + -0x40);

+    *puVar20 = puVar13;

+    param_1 = (int *)FUN_004d14bc(uVar16);

+    pvVar2 = (void *)FUN_004d14c4(uVar16);

+    if (pvVar2 < (void *)0x2) {

+      return pvVar2;

+    }

+    if (pvVar2 == (void *)0x40) {

+      piVar4 = (int *)FUN_004d5278(param_1[1]);

+      if (piVar4 == (int *)0x0) {

+                    /* WARNING: Subroutine does not return */

+        __assert_fail("line","zbar/img_scanner.c",0x16a,"qr_handler");

+      }

+      uVar11 = FUN_004d0d60(*param_1,*piVar4,2);

+      uVar16 = FUN_004d0d60(*param_1,piVar4[3],2);

+      piVar4[3] = uVar11 - uVar16;

+      uVar16 = FUN_004d0d60(*param_1,piVar4[2],2);

+      piVar4[2] = uVar16;

+      uVar16 = FUN_004d0d60(*param_1,piVar4[4],2);

+      iVar5 = param_1[9];

+      iVar6 = uVar16 - piVar4[2];

+      iVar7 = piVar4[2] - uVar11;

+      iVar9 = uVar11 * iVar5 + param_1[10] * 4;

+      bVar18 = iVar5 < 0;

+      if (bVar18) {

+        iVar5 = piVar4[3];

+      }

+      piVar4[2] = iVar7;

+      if (bVar18) {

+        iVar9 = iVar9 - iVar7;

+      }

+      iVar7 = param_1[7];

+      piVar4[4] = iVar6;

+      if (bVar18) {

+        piVar4[3] = iVar6;

+        piVar4[4] = iVar5;

+      }

+      uVar11 = (uint)(iVar7 == 0);

+      iVar6 = param_1[0xb];

+      piVar4[uVar11] = iVar9;

+      piVar4[iVar7 != 0] = iVar6 * 4 + 2;

+      iVar6 = param_1[2];

+      *(undefined4 *)((int)register0x00000054 + -0x24) =

+           *(undefined4 *)((int)register0x00000054 + -0x24);

+      *(undefined4 *)((int)register0x00000054 + -0x28) =

+           *(undefined4 *)((int)register0x00000054 + -0x30);

+      *(undefined4 *)((int)register0x00000054 + -0x2c) =

+           *(undefined4 *)((int)register0x00000054 + -0x34);

+      *(undefined4 *)((int)register0x00000054 + -0x30) =

+           *(undefined4 *)((int)register0x00000054 + -0x38);

+      *(undefined4 *)((int)register0x00000054 + -0x34) =

+           *(undefined4 *)((int)register0x00000054 + -0x3c);

+      *(undefined4 *)((int)register0x00000054 + -0x38) = *puVar20;

+      iVar9 = iVar6 + uVar11 * 0xc;

+      iVar7 = *(int *)(iVar9 + 0xb14);

+      if (iVar7 < *(int *)(iVar9 + 0xb18)) {

+        pvVar2 = *(void **)(iVar9 + 0xb10);

+      }

+      else {

+        iVar7 = *(int *)(iVar9 + 0xb18) * 2 + 1;

+        *(int *)(iVar9 + 0xb18) = iVar7;

+        pvVar2 = realloc(*(void **)(iVar9 + 0xb10),iVar7 * 0x14);

+        iVar7 = *(int *)(iVar9 + 0xb14);

+        *(void **)(iVar9 + 0xb10) = pvVar2;

+      }

+      *(int *)(iVar6 + uVar11 * 0xc + 0xb14) = iVar7 + 1;

+      memcpy((void *)((int)pvVar2 + iVar7 * 0x14),piVar4,0x14);

+      return (void *)0x0;

+    }

+    pvVar3 = (void *)FUN_004d1494(uVar16);

+    __n = (void *)FUN_004d149c(uVar16);

+    if ((param_1[0x19] & 1U) == 0) {

+      iVar6 = 0;

+      iVar7 = 0;

+    }

+    else {

+      iVar6 = FUN_004d0d58(*param_1);

+      iVar7 = param_1[10];

+      iVar9 = param_1[9];

+      uVar11 = FUN_004d0d60(*param_1,iVar6,0);

+      iVar7 = uVar11 * iVar9 + iVar7;

+      if (param_1[7] == 0) {

+        iVar6 = iVar7;

+        iVar7 = param_1[0xb];

+      }

+      else {

+        iVar6 = param_1[0xb];

+      }

+    }

+    pvVar10 = (void *)param_1[0xc];

+    for (puVar14 = *(undefined4 **)((int)pvVar10 + 8); puVar14 != (undefined4 *)0x0;

+        puVar14 = (undefined4 *)puVar14[8]) {

+      pvVar10 = (void *)*puVar14;

+      if (((pvVar2 == pvVar10) && (pvVar10 = (void *)puVar14[2], __n == pvVar10)) &&

+         (iVar9 = memcmp((void *)puVar14[3],pvVar3,(size_t)__n), iVar9 == 0)) {

+        uVar11 = param_1[0x19];

+        puVar14[0xc] = puVar14[0xc] + 1;

+        if ((uVar11 & 1) != 0) {

+          iVar9 = puVar14[5];

+          puVar14[5] = iVar9 + 1U;

+          if (iVar9 + 1U < (uint)puVar14[4]) {

+            pvVar2 = (void *)0x0;

+            pvVar3 = (void *)puVar14[6];

+          }

+          else {

+            iVar5 = puVar14[4] + 1;

+            puVar14[4] = iVar5;

+            pvVar2 = realloc((void *)puVar14[6],iVar5 * 8);

+            puVar14[6] = pvVar2;

+            pvVar3 = pvVar2;

+          }

+          *(int *)((int)pvVar3 + iVar9 * 8) = iVar7;

+          *(int *)((int)pvVar3 + iVar9 * 8 + 4) = iVar6;

+          return pvVar2;

+        }

+        return (void *)0x0;

+      }

+    }

+    sVar17 = (int)__n + 1;

+    if ((int)sVar17 < 2) {

+LAB_5:

+      param_2 = (uint *)calloc(1,0x34);

+      param_1[0x21] = param_1[0x21] + 1;

+    }

+    else {

+      if ((int)sVar17 < 5) {

+        pvVar10 = (void *)0x1;

+      }

+      else if ((int)sVar17 < 0x11) {

+        pvVar10 = (void *)0x2;

+      }

+      else {

+        if (0x40 < (int)sVar17) {

+          pvVar10 = (void *)0x4;

+        }

+        if (sVar17 == 0x40 || (int)__n + -0x3f < 0 != SBORROW4(sVar17,0x40)) {

+          pvVar10 = (void *)0x3;

+        }

+      }

+      param_2 = (uint *)param_1[(int)pvVar10 * 2 + 0xe];

+      if (param_2 == (uint *)0x0) {

+        piVar4 = param_1 + (int)pvVar10 * 2;

+        do {

+          pvVar10 = (void *)((int)pvVar10 + -1);

+          if (pvVar10 == (void *)0x0) goto LAB_5;

+          param_2 = (uint *)piVar4[0xc];

+          piVar4 = piVar4 + -2;

+        } while (param_2 == (uint *)0x0);

+      }

+      param_1[(int)pvVar10 + 0x22] = param_1[(int)pvVar10 + 0x22] + 1;

+      iVar9 = param_1[(int)pvVar10 * 2 + 0xd];

+      bVar18 = iVar9 != 0;

+      if (bVar18) {

+        iVar9 = iVar9 + -1;

+      }

+      param_1[(int)pvVar10 * 2 + 0xe] = param_2[8];

+      param_2[8] = 0;

+      if (!bVar18) goto LAB_6;

+      param_1[(int)pvVar10 * 2 + 0xd] = iVar9;

+    }

+    *param_2 = (uint)pvVar2;

+    uVar11 = param_1[5];

+    param_2[0xc] = 1;

+    param_2[5] = 0;

+    param_2[0xb] = 0;

+    param_2[10] = uVar11;

+    if (param_2[9] != 0) {

+      FUN_00034434();

+LAB_6:

+                    /* WARNING: Subroutine does not return */

+      __assert_fail("iscn->recycle[i].nsyms","zbar/img_scanner.c",0xed,

+                    "_zbar_image_scanner_alloc_sym");

+    }

+    if ((int)sVar17 < 1) {

+      if ((void *)param_2[3] != (void *)0x0) {

+        free((void *)param_2[3]);

+      }

+      pvVar2 = (void *)0x0;

+      param_2[3] = 0;

+      param_2[1] = 0;

+      param_2[2] = 0;

+    }

+    else {

+      param_2[2] = (uint)__n;

+      pvVar2 = (void *)param_2[3];

+      if (param_2[1] < sVar17) {

+        if (pvVar2 != (void *)0x0) {

+          free(pvVar2);

+        }

+        param_2[1] = sVar17;

+        pvVar2 = malloc(sVar17);

+        param_2[3] = (uint)pvVar2;

+      }

+    }

+    memcpy(pvVar2,pvVar3,sVar17);

+    param_4 = (void *)param_1[0x19];

+    if (((uint)param_4 & 1) == 0) {

+      unaff_r4 = *puVar20;

+      unaff_r5 = *(undefined4 *)((int)register0x00000054 + -0x3c);

+      unaff_r6 = *(undefined4 *)((int)register0x00000054 + -0x38);

+      unaff_r7 = *(undefined4 *)((int)register0x00000054 + -0x34);

+      unaff_r8 = *(undefined4 *)((int)register0x00000054 + -0x30);

+      unaff_r9 = *(undefined4 *)((int)register0x00000054 + -0x2c);

+      unaff_r10 = *(undefined4 *)((int)register0x00000054 + -0x28);

+      in_lr = *(undefined4 *)((int)register0x00000054 + -0x24);

+      register0x00000054 = (BADSPACEBASE *)puVar19;

+    }

+    else {

+      uVar11 = param_2[5];

+      param_2[5] = uVar11 + 1;

+      if (uVar11 + 1 < param_2[4]) {

+        param_4 = (void *)param_2[6];

+      }

+      else {

+        uVar16 = param_2[4] + 1;

+        param_2[4] = uVar16;

+        param_4 = realloc((void *)param_2[6],uVar16 * 8);

+        param_2[6] = (uint)param_4;

+      }

+      *(int *)((int)param_4 + uVar11 * 8) = iVar7;

+      *(int *)((int)param_4 + uVar11 * 8 + 4) = iVar6;

+      unaff_r4 = *puVar20;

+      unaff_r5 = *(undefined4 *)((int)register0x00000054 + -0x3c);

+      unaff_r6 = *(undefined4 *)((int)register0x00000054 + -0x38);

+      unaff_r7 = *(undefined4 *)((int)register0x00000054 + -0x34);

+      unaff_r8 = *(undefined4 *)((int)register0x00000054 + -0x30);

+      unaff_r9 = *(undefined4 *)((int)register0x00000054 + -0x2c);

+      unaff_r10 = *(undefined4 *)((int)register0x00000054 + -0x28);

+      in_lr = *(undefined4 *)((int)register0x00000054 + -0x24);

+      register0x00000054 = (BADSPACEBASE *)puVar19;

+    }

+  }

+  iVar6 = param_1[0xc];

+  param_2[0xb] = 0;

+LAB_3:

+  iVar7 = *(int *)(iVar6 + 0xc);

+  if (iVar7 == 0) {

+    uVar11 = param_2[0xb];

+    param_2[8] = *(uint *)(iVar6 + 8);

+    *(uint **)(iVar6 + 8) = param_2;

+    if (uVar11 != 0) {

+LAB_4:

+      if (*(int *)(iVar6 + 0xc) == 0) {

+        *(uint **)(iVar6 + 0xc) = param_2;

+      }

+      goto LAB_7;

+    }

+  }

+  else {

+    param_2[8] = *(uint *)(iVar7 + 0x20);

+    *(uint **)(iVar7 + 0x20) = param_2;

+  }

+  *(int *)(iVar6 + 4) = *(int *)(iVar6 + 4) + 1;

+LAB_7:

+  pthread_mutex_lock((pthread_mutex_t *)&DAT_8);

+  uVar11 = param_2[7];

+  param_2[7] = uVar11 + 1;

+  pvVar2 = (void *)pthread_mutex_unlock((pthread_mutex_t *)&DAT_8);

+  if ((int)(uVar11 + 1) < 0) {

+                    /* WARNING: Subroutine does not return */

+    FUN_00034410();

+  }

+  return pvVar2;

 }

 

FUN_006e8a5c

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.29
i_ratio 0.0
m_ratio 0.86
b_ratio 0.11
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_006e8a5c FUN_006ea4bc
fullname FUN_006e8a5c FUN_006ea4bc
refcount 26 6
length 64 84
called ::pthread_mutex_lock
FUN_006db7f8
::gettimeofday
calling
Expand for full list:
FUN_006e0588
FUN_006e065c
FUN_006e07c0
FUN_006e0900
FUN_006e0a10
FUN_006e0aa4
FUN_006e0b38
FUN_006e254c
FUN_006e2998
FUN_006e3768
FUN_006ea82c
FUN_006ea8fc
FUN_006eaaf4
FUN_006f19c0
FUN_006f1eb8
FUN_006f1f58
FUN_006f317c
FUN_006f3598
FUN_006f4ba4
FUN_006f5940
FUN_006f5eb8
FUN_006e0848
FUN_006e0900
FUN_006e59c4
FUN_006ebce0
FUN_006ec0d8
paramcount 1 0
address 006e8a5c 006ea4bc
sig undefined4 __stdcall FUN_006e8a5c(pthread_mutex_t * param_1) int __stdcall FUN_006ea4bc(void)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_006e8a5c Called Diff

--- FUN_006e8a5c called
+++ FUN_006ea4bc called
@@ -1,2 +1 @@
-<EXTERNAL>::pthread_mutex_lock
-FUN_006db7f8
+<EXTERNAL>::gettimeofday

FUN_006e8a5c Calling Diff

--- FUN_006e8a5c calling
+++ FUN_006ea4bc calling
@@ -1,3 +1 @@
-FUN_006e0588
-FUN_006e065c
-FUN_006e07c0
+FUN_006e0848
@@ -5,17 +3,3 @@
-FUN_006e0a10
-FUN_006e0aa4
-FUN_006e0b38
-FUN_006e254c
-FUN_006e2998
-FUN_006e3768
-FUN_006ea82c
-FUN_006ea8fc
-FUN_006eaaf4
-FUN_006f19c0
-FUN_006f1eb8
-FUN_006f1f58
-FUN_006f317c
-FUN_006f3598
-FUN_006f4ba4
-FUN_006f5940
-FUN_006f5eb8
+FUN_006e59c4
+FUN_006ebce0
+FUN_006ec0d8

FUN_006e8a5c Diff

--- FUN_006e8a5c
+++ FUN_006ea4bc
@@ -1,7 +1,20 @@
 

-pthread_mutex_t * FUN_006e8a5c(pthread_mutex_t *param_1)

+int FUN_006ea4bc(void)

 

 {

-  return param_1;

+  int in_r0;

+  undefined4 in_r1;

+  undefined4 in_r2;

+  undefined4 in_r3;

+  char in_NG;

+  char in_OV;

+  int iStack00000004;

+  

+  if (in_NG == in_OV) {

+    return in_r0;

+  }

+  iStack00000004 = in_r0;

+  FUN_006ea2e4(in_r0,in_r1,in_r2,in_r3);

+  return iStack00000004;

 }

 

FUN_000aa948

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.05
i_ratio 0.04
m_ratio 0.74
b_ratio 0.03
match_types BSIM

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_000aa948 FUN_00057284
fullname FUN_000aa948 FUN_00057284
refcount 0 1
length 792 1344
called
Expand for full list:
::__stack_chk_fail
::localtime
::memset
::printf
::strlen
::strncpy
::strstr
FUN_000a9fb8
FUN_000a9fdc
FUN_000aa11c
FUN_000aa62c
FUN_000d460c
Expand for full list:
::__stack_chk_fail
::access
::fclose
::fopen
::fread
::memset
::strstr
::system
FUN_000a3d7c
FUN_000a48b0
FUN_000d4dac
FUN_000de4c4
calling FUN_0005787c
paramcount 3 0
address 000aa948 00057284
sig undefined __stdcall FUN_000aa948(int param_1, int param_2, char * param_3) undefined __stdcall FUN_00057284(void)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_000aa948 Called Diff

--- FUN_000aa948 called
+++ FUN_00057284 called
@@ -2 +2,4 @@
-<EXTERNAL>::localtime
+<EXTERNAL>::access
+<EXTERNAL>::fclose
+<EXTERNAL>::fopen
+<EXTERNAL>::fread
@@ -4,3 +6,0 @@
-<EXTERNAL>::printf
-<EXTERNAL>::strlen
-<EXTERNAL>::strncpy
@@ -8,5 +8,5 @@
-FUN_000a9fb8
-FUN_000a9fdc
-FUN_000aa11c
-FUN_000aa62c
-FUN_000d460c
+<EXTERNAL>::system
+FUN_000a3d7c
+FUN_000a48b0
+FUN_000d4dac
+FUN_000de4c4

FUN_000aa948 Calling Diff

--- FUN_000aa948 calling
+++ FUN_00057284 calling
@@ -0,0 +1 @@
+FUN_0005787c

FUN_000aa948 Diff

--- FUN_000aa948
+++ FUN_00057284
@@ -1,119 +1,113 @@
 

-void FUN_000aa948(int param_1,int param_2,char *param_3)

+void FUN_00057284(void)

 

 {

-  int *piVar1;

-  int in_r3;

-  int unaff_r4;

-  char *unaff_r5;

-  int unaff_r7;

-  int in_r12;

-  undefined4 in_lr;

-  int iStack00000008;

-  int *in_stack_0000001c;

-  int *piStack00000020;

-  int in_stack_00000074;

+  int iVar1;

+  FILE *pFVar2;

+  char *pcVar3;

+  char *pcVar4;

+  char *pcVar5;

+  int iVar6;

+  char acStack_142c [5120];

+  int local_2c;

   

-  piStack00000020 = *(int **)(unaff_r7 + param_2);

-  *piStack00000020 = in_r12;

-  iStack00000008 = in_r12;

-  FUN_000d4dac(param_1,"dt.d","dt_socket.c","Get_body_time",in_lr,(char *)(in_r3 + 0xaa954));

-  switch(*(undefined1 *)(unaff_r4 + 0x34)) {

-  case 0x41:

-    if (*(char *)(unaff_r4 + 0x35) == 'p') {

-      iStack00000008 = 4;

-      goto code_r0x000aa9ec;

-    }

-    if (*(char *)(unaff_r4 + 0x35) == 'u') {

-      iStack00000008 = 8;

-      goto code_r0x000aa9ec;

-    }

-code_r0x000aac10:

-    iStack00000008 = **(undefined4 **)(unaff_r7 + 0xe44);

-    goto code_r0x000aaa00;

-  case 0x42:

-    break;

-  case 0x43:

-    break;

-  case 0x44:

-    iStack00000008 = 0xc;

-    goto code_r0x000aa9ec;

-  case 0x45:

-    break;

-  case 0x46:

-    iStack00000008 = 2;

-    goto code_r0x000aa9ec;

-  case 0x47:

-    break;

-  case 0x48:

-    break;

-  case 0x49:

-    break;

-  case 0x4a:

-    if (*(char *)(unaff_r4 + 0x35) == 'a') {

-      iStack00000008 = 1;

-    }

-    else if (*(char *)(unaff_r4 + 0x36) == 'n') {

-      iStack00000008 = 6;

-    }

-    else {

-      if (*(char *)(unaff_r4 + 0x36) != 'l') goto code_r0x000aac10;

-      iStack00000008 = 7;

-    }

-    goto code_r0x000aa9ec;

-  case 0x4b:

-    break;

-  case 0x4c:

-    break;

-  case 0x4d:

-    if (*(char *)(unaff_r4 + 0x36) == 'r') {

-      iStack00000008 = 3;

-    }

-    else {

-      if (*(char *)(unaff_r4 + 0x36) != 'y') goto code_r0x000aac10;

-      iStack00000008 = 5;

-    }

-    goto code_r0x000aa9ec;

-  case 0x4e:

-    iStack00000008 = 0xb;

-    goto code_r0x000aa9ec;

-  case 0x4f:

-    iStack00000008 = 10;

-    goto code_r0x000aa9ec;

-  case 0x50:

-    break;

-  case 0x51:

-    break;

-  case 0x52:

-    break;

-  case 0x53:

-    iStack00000008 = 9;

-code_r0x000aa9ec:

-    **(undefined4 **)(unaff_r7 + 0xe44) = iStack00000008;

-code_r0x000aaa00:

-    FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xd2,"tm_mon is %d \n");

-    iStack00000008 = (*(byte *)(unaff_r4 + 0x38) - 0x30) * 10 + (*(byte *)(unaff_r4 + 0x39) - 0x30);

-    **(int **)(unaff_r7 + 0x15b0) = iStack00000008;

-    FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xd5,"tm_mday is %d \n");

-    piVar1 = *(int **)(unaff_r7 + 0x1320);

-    iStack00000008 =

-         (*(byte *)(unaff_r4 + 0x41) - 0x30) * 10 + (uint)*(byte *)(unaff_r4 + 0x42) + -0x28;

-    *piVar1 = iStack00000008;

-    FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xd8,"tm_hour is %d \n");

-    iStack00000008 = (*(byte *)(unaff_r4 + 0x44) - 0x30) * 10 + (*(byte *)(unaff_r4 + 0x45) - 0x30);

-    **(int **)(unaff_r7 + 0x13a8) = iStack00000008;

-    FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xdb,"tm_min is %d \n");

-    iStack00000008 = (*(byte *)(unaff_r4 + 0x47) - 0x30) * 10 + (*(byte *)(unaff_r4 + 0x48) - 0x30);

-    **(int **)(unaff_r7 + 0x1020) = iStack00000008;

-    FUN_000d4dac(4,"dt.d","dt_socket.c","Get_body_time",0xde,"tm_sec is %d \n");

-    iStack00000008 = *piVar1;

-    snprintf(unaff_r5,0x40,"date -s \"%d-%d-%d %d:%d:%d\"",*piStack00000020);

-    system(unaff_r5);

+  local_2c = __stack_chk_guard;

+  iVar1 = access("/tmp/ini/inibak/",0);

+  if (iVar1 != 0) {

+    FUN_000de4c4("/tmp/ini/inibak/",0x1ff);

+    system("cp /tmp/ini/inireset/config_product_commcfg.ini /tmp/ini/inibak/");

   }

-  if (in_stack_00000074 != *in_stack_0000001c) {

+  system("cat /tmp/ini/inicfg/config_product_commcfg.ini > config_product_commcfg.txt");

+  pFVar2 = fopen("config_product_commcfg.txt","rb");

+  if (pFVar2 != (FILE *)0x0) {

+    iVar1 = 4;

+    do {

+      memset(acStack_142c,0,0x1400);

+      pcVar3 = (char *)fread(acStack_142c,1,0x800,pFVar2);

+      pcVar4 = strstr(acStack_142c,"on_premise");

+      pcVar5 = pcVar4;

+      if (pcVar4 != (char *)0x0) {

+        pcVar5 = pcVar3;

+      }

+      if ((pcVar4 != (char *)0x0 && pcVar3 != (char *)0x0) && -1 < (int)pcVar5) {

+        FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_FixIni",0xbe,"(%s)");

+        memset(acStack_142c,0,0x1400);

+        fread(acStack_142c,1,0x800,pFVar2);

+        FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_FixIni",0xc1,"(%s)");

+        FUN_000d4dac(2,"dt.w","param_comm.c","PARAM_FixIni",0xc2," ini not need fix ");

+        goto LAB_0;

+      }

+      iVar1 = iVar1 + -1;

+    } while (iVar1 != 0);

+    fclose(pFVar2);

+  }

+  s_stPARAMCtx._0_4_ = 0;

+  FUN_000a48b0("productini");

+  system("cp /tmp/ini/inibak/config_product_commcfg.ini /tmp/ini/inicfg/");

+  system("cat /tmp/ini/inicfg/config_product_commcfg.ini > config_product_commcfg.txt");

+  pFVar2 = fopen("config_product_commcfg.txt","rb");

+  if (pFVar2 != (FILE *)0x0) {

+    iVar1 = 4;

+    do {

+      memset(acStack_142c,0,0x800);

+      pcVar3 = (char *)fread(acStack_142c,1,0x5dc,pFVar2);

+      pcVar4 = strstr(acStack_142c,"on_premise");

+      pcVar5 = pcVar4;

+      if (pcVar4 != (char *)0x0) {

+        pcVar5 = pcVar3;

+      }

+      if ((pcVar4 != (char *)0x0 && pcVar3 != (char *)0x0) && -1 < (int)pcVar5) {

+        FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_FixIni",0xe4,"(%s)");

+        memset(acStack_142c,0,0x800);

+        fread(acStack_142c,1,0x800,pFVar2);

+        FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_FixIni",0xe7,"(%s)");

+        iVar1 = access("/tmp/ini/inibak/",0);

+        if (iVar1 != 0) {

+          FUN_000de4c4("/tmp/ini/inibak/",0x1ff);

+        }

+        FUN_000d4dac(2,"dt.w","param_comm.c","PARAM_FixIni",0xec," ini fix ok");

+        goto LAB_1;

+      }

+      iVar1 = iVar1 + -1;

+    } while (iVar1 != 0);

+    fclose(pFVar2);

+  }

+  system("cp /tmp/ini/inireset/config_product_commcfg.ini /tmp/ini/inicfg/");

+  system("cat /tmp/ini/inicfg/config_product_commcfg.ini > config_product_commcfg.txt");

+  pFVar2 = fopen("config_product_commcfg.txt","rb");

+  if (pFVar2 != (FILE *)0x0) {

+    iVar1 = 4;

+    do {

+      memset(acStack_142c,0,0x800);

+      pcVar3 = (char *)fread(acStack_142c,1,0x5dc,pFVar2);

+      pcVar4 = strstr(acStack_142c,"on_premise");

+      pcVar5 = pcVar4;

+      if (pcVar4 != (char *)0x0) {

+        pcVar5 = pcVar3;

+      }

+      if ((pcVar4 != (char *)0x0 && pcVar3 != (char *)0x0) && -1 < (int)pcVar5) {

+        FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_FixIni",0x10a,"(%s)");

+        memset(acStack_142c,0,0x800);

+        fread(acStack_142c,1,0x800,pFVar2);

+        FUN_000d4dac(4,"dt.d","param_comm.c","PARAM_FixIni",0x10d,"(%s)");

+        iVar6 = access("/tmp/ini/inibak/",0);

+        if (iVar6 != 0) {

+          FUN_000de4c4("/tmp/ini/inibak/",0x1ff);

+        }

+        FUN_000d4dac(2,"dt.w","param_comm.c","PARAM_FixIni",0x112," ini fix ok 2");

+      }

+      iVar1 = iVar1 + -1;

+    } while (iVar1 != 0);

+    fclose(pFVar2);

+  }

+LAB_1:

+  FUN_000a3d7c("productini","/tmp/ini/inicfg/config_cfgaccess_entry.ini");

+  s_stPARAMCtx._0_4_ = 1;

+LAB_0:

+  if (local_2c == __stack_chk_guard) {

+    return;

+  }

                     /* WARNING: Subroutine does not return */

-    __stack_chk_fail();

-  }

-  return;

+  __stack_chk_fail(0);

 }

 

FUN_005a3060

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,refcount,length,sig,address,calling,called
ratio 0.05
i_ratio 0.01
m_ratio 0.04
b_ratio 0.01
match_types Implied Match

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_005a3060 FUN_005a4bc4
fullname FUN_005a3060 FUN_005a4bc4
refcount 2 1
length 20 1056
called
Expand for full list:
FUN_00582984
FUN_005890d8
FUN_00589a94
FUN_005a4514
FUN_005a8c0c
FUN_005a919c
FUN_005a9d40
FUN_005aa274
FUN_005aa494
FUN_005aa6b8
FUN_005aa808
FUN_005aa97c
FUN_005aab60
FUN_005aadf8
FUN_005ab250
FUN_005ab3a4
FUN_005ab6ec
FUN_005ab8ac
FUN_005aba20
calling FUN_004ec9f0
FUN_004ed500
FUN_004ec9f0
paramcount 1 2
address 005a3060 005a4bc4
sig undefined __stdcall FUN_005a3060(int param_1) undefined __stdcall FUN_005a4bc4(int param_1, int * param_2)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_005a3060 Called Diff

--- FUN_005a3060 called
+++ FUN_005a4bc4 called
@@ -0,0 +1,19 @@
+FUN_00582984
+FUN_005890d8
+FUN_00589a94
+FUN_005a4514
+FUN_005a8c0c
+FUN_005a919c
+FUN_005a9d40
+FUN_005aa274
+FUN_005aa494
+FUN_005aa6b8
+FUN_005aa808
+FUN_005aa97c
+FUN_005aab60
+FUN_005aadf8
+FUN_005ab250
+FUN_005ab3a4
+FUN_005ab6ec
+FUN_005ab8ac
+FUN_005aba20

FUN_005a3060 Calling Diff

--- FUN_005a3060 calling
+++ FUN_005a4bc4 calling
@@ -2 +1,0 @@
-FUN_004ed500

FUN_005a3060 Diff

--- FUN_005a3060
+++ FUN_005a4bc4
@@ -1,10 +1,183 @@
 

-void FUN_005a3060(int param_1)

+void FUN_005a4bc4(int param_1,int *param_2)

 

 {

-  if (param_1 != 0) {

-    *(uint *)(param_1 + 0x1c4) = *(uint *)(param_1 + 0x1c4) | 1;

+  char cVar1;

+  int iVar2;

+  uint uVar3;

+  int iVar4;

+  int iVar5;

+  byte bVar6;

+  uint uVar7;

+  uint uVar8;

+  int iVar9;

+  int iVar10;

+  byte *pbVar11;

+  byte *pbVar12;

+  int iVar13;

+  

+  if (param_2 == (int *)0x0 || param_1 == 0) {

+    return;

+  }

+  FUN_005a4514(param_1,param_2);

+  uVar7 = param_2[2];

+  if ((uVar7 & 8) == 0) {

+    if (*(char *)((int)param_2 + 0x19) == '\x03') {

+                    /* WARNING: Subroutine does not return */

+      FUN_00589a94(param_1,"Valid palette required for paletted images");

+    }

+  }

+  else {

+    FUN_005a919c(param_1,param_2[4],(uint)*(ushort *)(param_2 + 5));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x10) == 0) goto LAB_0;

+  if ((*(uint *)(param_1 + 0x1c4) & 0x80000) == 0) {

+LAB_1:

+    uVar8 = (uint)*(ushort *)((int)param_2 + 0x16);

+    uVar7 = (uint)*(byte *)((int)param_2 + 0x19);

+  }

+  else {

+    uVar7 = (uint)*(byte *)((int)param_2 + 0x19);

+    uVar8 = (uint)*(ushort *)((int)param_2 + 0x16);

+    if (uVar7 == 3) {

+      uVar3 = uVar8;

+      if (0xff < uVar8) {

+        uVar3 = 0x100;

+      }

+      if (uVar3 != 0) {

+        uVar7 = 0;

+        do {

+          *(byte *)(param_2[0x27] + uVar7) = ~*(byte *)(param_2[0x27] + uVar7);

+          uVar7 = uVar7 + 1;

+        } while (uVar7 != uVar3);

+        goto LAB_1;

+      }

+    }

+  }

+  FUN_005aa274(param_1,(uint *)param_2[0x27],(int)(param_2 + 0x28),uVar8,uVar7);

+  uVar7 = param_2[2];

+LAB_0:

+  if ((uVar7 & 0x20) != 0) {

+    FUN_005aa494(param_1,(byte *)((int)param_2 + 0xaa),(uint)*(byte *)((int)param_2 + 0x19));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x10000) != 0) {

+    FUN_005aa6b8(param_1,param_2[0x34],param_2[0x33]);

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x40) != 0) {

+    FUN_005aa808(param_1,(undefined2 *)param_2[0x36],(uint)*(ushort *)(param_2 + 5));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x100) != 0) {

+    FUN_005ab250(param_1,param_2[0x2d],param_2[0x2e],(uint)*(byte *)(param_2 + 0x2f));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x400) != 0) {

+    FUN_005ab3a4(param_1,(byte *)param_2[0x37],param_2[0x38],param_2[0x39],

+                 (uint)*(byte *)(param_2 + 0x3c),(uint)*(byte *)((int)param_2 + 0xf1),

+                 (uint *)param_2[0x3a],param_2[0x3b]);

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x4000) != 0) {

+    FUN_005ab6ec(param_1,(char)param_2[0x42],(char *)param_2[0x43],(char *)param_2[0x44]);

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x80) != 0) {

+    FUN_005ab8ac(param_1,param_2[0x30],param_2[0x31],(uint)*(byte *)(param_2 + 0x32));

+    uVar7 = param_2[2];

+  }

+  if ((uVar7 & 0x200) != 0) {

+    FUN_005aba20(param_1,(undefined2 *)(param_2 + 0x23));

+    uVar7 = param_2[2];

+    *(uint *)(param_1 + 0x1bc) = *(uint *)(param_1 + 0x1bc) | 0x200;

+  }

+  if (((uVar7 & 0x2000) != 0) && (0 < param_2[0x41])) {

+    iVar9 = 0;

+    do {

+      FUN_005a9d40(param_1,(undefined4 *)(param_2[0x40] + iVar9 * 0x10));

+      iVar9 = iVar9 + 1;

+    } while (iVar9 < param_2[0x41]);

+  }

+  iVar9 = param_2[0x20];

+  if (0 < iVar9) {

+    iVar10 = 0;

+    iVar13 = 0;

+    iVar5 = param_2[0x22];

+    do {

+      while( true ) {

+        iVar4 = *(int *)(iVar5 + iVar10);

+        iVar2 = iVar5 + iVar10;

+        if (iVar4 < 1) break;

+        FUN_005aadf8(param_1,iVar4,*(byte **)(iVar2 + 4),*(uint **)(iVar2 + 0x14),

+                     *(uint **)(iVar2 + 0x18),*(uint **)(iVar2 + 8));

+        iVar5 = param_2[0x22];

+        iVar9 = param_2[0x20];

+        if (*(int *)(iVar5 + iVar10) == -1) {

+          *(undefined4 *)(iVar5 + iVar10) = 0xfffffffd;

+        }

+        else {

+          *(undefined4 *)(iVar5 + iVar10) = 0xfffffffe;

+        }

+LAB_2:

+        iVar13 = iVar13 + 1;

+        iVar10 = iVar10 + 0x1c;

+        if (iVar9 <= iVar13) goto LAB_3;

+      }

+      if (iVar4 == 0) {

+        FUN_005aab60(param_1,*(byte **)(iVar2 + 4),*(uint **)(iVar2 + 8),0);

+        iVar5 = param_2[0x22];

+        iVar9 = param_2[0x20];

+        *(undefined4 *)(iVar5 + iVar10) = 0xfffffffe;

+        goto LAB_2;

+      }

+      if (iVar4 != -1) goto LAB_2;

+      FUN_005aa97c(param_1,*(byte **)(iVar2 + 4),*(uint **)(iVar2 + 8));

+      iVar9 = param_2[0x20];

+      iVar5 = param_2[0x22];

+      iVar13 = iVar13 + 1;

+      *(undefined4 *)(iVar5 + iVar10) = 0xfffffffd;

+      iVar10 = iVar10 + 0x1c;

+    } while (iVar13 < iVar9);

+  }

+LAB_3:

+  iVar9 = param_2[0x3f];

+  if (iVar9 != 0) {

+    pbVar11 = (byte *)param_2[0x3e];

+    iVar5 = iVar9 * 4;

+    pbVar12 = pbVar11;

+    if (pbVar11 < pbVar11 + iVar9 * 0x14) {

+      do {

+        if ((pbVar12[0x10] & 2) != 0) {

+          cVar1 = FUN_00582984(param_1,pbVar12);

+          if (cVar1 != '\x01') {

+            bVar6 = pbVar12[3] >> 5;

+            if (cVar1 == '\x03') {

+              bVar6 = bVar6 | 1;

+            }

+            if (((bVar6 & 1) != 0) || ((cVar1 == '\0' && (*(int *)(param_1 + 900) == 3)))) {

+              uVar7 = *(uint *)(pbVar12 + 0xc);

+              if (uVar7 == 0) {

+                FUN_005890d8(param_1,"Writing zero-length unknown chunk");

+                uVar7 = *(uint *)(pbVar12 + 0xc);

+              }

+              FUN_005a8c0c(param_1,pbVar12,*(uint **)(pbVar12 + 8),uVar7);

+              iVar9 = param_2[0x3f];

+              pbVar11 = (byte *)param_2[0x3e];

+              iVar5 = iVar9 << 2;

+              goto LAB_4;

+            }

+          }

+          iVar9 = param_2[0x3f];

+          pbVar11 = (byte *)param_2[0x3e];

+          iVar5 = iVar9 << 2;

+        }

+LAB_4:

+        pbVar12 = pbVar12 + 0x14;

+      } while (pbVar12 < pbVar11 + (iVar5 + iVar9) * 4);

+    }

   }

   return;

 }

 

FUN_004cf224

Match Info

Key dt_aicam_md5 - dt_aicam_md5
diff_type code,name,fullname,length,sig,address,calling,called
ratio 0.04
i_ratio 0.47
m_ratio 0.58
b_ratio 0.58
match_types Implied Match

Function Meta Diff

Key dt_aicam_md5 dt_aicam_md5
name FUN_004cf224 FUN_004cf9c4
fullname FUN_004cf224 FUN_004cf9c4
refcount 3 3
length 836 2028
called
Expand for full list:
::__assert_fail
::calloc
::free
::malloc
::memcmp
::memcpy
::pthread_mutex_lock
::pthread_mutex_unlock
FUN_000343e0
FUN_00034404
FUN_004cedf8
Expand for full list:
::__assert_fail
::calloc
::free
::malloc
::memcmp
::memcpy
::pthread_mutex_lock
::pthread_mutex_unlock
::realloc
FUN_00034410
FUN_00034434
FUN_004cf598
FUN_004d0d58
FUN_004d0d60
FUN_004d1494
FUN_004d149c
FUN_004d14bc
FUN_004d14c4
FUN_004d5278
calling FUN_004cf578
FUN_004dac7c
FUN_004db41c
paramcount 4 4
address 004cf224 004cf9c4
sig undefined __stdcall FUN_004cf224(int param_1, int * param_2, undefined4 param_3, uint param_4) void * __stdcall FUN_004cf9c4(int * param_1, uint * param_2, undefined4 param_3, void * param_4)
sym_type Function Function
sym_source DEFAULT DEFAULT
external False False

FUN_004cf224 Called Diff

--- FUN_004cf224 called
+++ FUN_004cf9c4 called
@@ -9,3 +9,11 @@
-FUN_000343e0
-FUN_00034404
-FUN_004cedf8
+<EXTERNAL>::realloc
+FUN_00034410
+FUN_00034434
+FUN_004cf598
+FUN_004d0d58
+FUN_004d0d60
+FUN_004d1494
+FUN_004d149c
+FUN_004d14bc
+FUN_004d14c4
+FUN_004d5278

FUN_004cf224 Calling Diff

--- FUN_004cf224 calling
+++ FUN_004cf9c4 calling
@@ -1,2 +1 @@
-FUN_004cf578
-FUN_004dac7c
+FUN_004db41c

FUN_004cf224 Diff

--- FUN_004cf224
+++ FUN_004cf9c4
@@ -1,25 +1,480 @@
 

-void FUN_004cf224(int param_1,int *param_2,undefined4 param_3,uint param_4)

+void * FUN_004cf9c4(int *param_1,uint *param_2,undefined4 param_3,void *param_4)

 

 {

-  int unaff_r4;

+  longlong lVar1;

+  void *pvVar2;

+  void *pvVar3;

+  void *__n;

+  int *piVar4;

+  int iVar5;

+  int iVar6;

+  int iVar7;

+  uint uVar8;

+  int iVar9;

+  void *pvVar10;

+  undefined4 unaff_r4;

+  uint uVar11;

+  uint *puVar12;

+  uint *puVar13;

+  undefined4 *puVar14;

+  undefined4 unaff_r5;

   undefined4 unaff_r6;

   undefined4 unaff_r7;

+  uint *puVar15;

+  uint uVar16;

+  size_t sVar17;

   undefined4 unaff_r8;

-  bool in_ZR;

+  undefined4 unaff_r9;

+  undefined4 unaff_r10;

+  int in_r12;

+  undefined4 in_lr;

+  undefined4 in_pc;

+  bool bVar18;

+  undefined4 *puVar19;

+  undefined4 *puVar20;

+  undefined8 uVar21;

   

-  if ((!in_ZR) && (*(void **)(unaff_r4 + 0xc) != (void *)0x0)) {

-    if ((code *)param_4 == zbar_image_free_data) {

-      free(*(void **)(unaff_r4 + 0xc));

+  while( true ) {

+    iVar6 = param_1[0x17];

+    *(undefined4 *)((int)register0x00000054 + -4) = in_lr;

+    *(undefined4 *)((int)register0x00000054 + -8) = unaff_r10;

+    *(undefined4 *)((int)register0x00000054 + -0xc) = unaff_r9;

+    *(undefined4 *)((int)register0x00000054 + -0x10) = unaff_r8;

+    *(undefined4 *)((int)register0x00000054 + -0x14) = unaff_r7;

+    *(undefined4 *)((int)register0x00000054 + -0x18) = unaff_r6;

+    *(undefined4 *)((int)register0x00000054 + -0x1c) = unaff_r5;

+    puVar19 = (undefined4 *)((int)register0x00000054 + -0x20);

+    *puVar19 = unaff_r4;

+    if (iVar6 == 0) break;

+    puVar12 = (uint *)param_1[0x18];

+    uVar11 = *param_2;

+    puVar15 = (uint *)(param_1 + 0x18);

+    while (puVar13 = puVar12, puVar12 != (uint *)0x0) {

+      while( true ) {

+        if (((*puVar13 == uVar11) && (puVar13[2] == param_2[2])) &&

+           (iVar6 = memcmp((void *)puVar13[3],(void *)param_2[3],puVar13[2]), iVar6 == 0)) {

+          uVar16 = puVar13[0xb];

+          uVar8 = puVar13[10];

+          uVar11 = ~uVar16 >> 0x1f;

+          goto LAB_0;

+        }

+        param_4 = (void *)(param_2[10] - puVar13[10]);

+        if ((void *)0xfa0 < param_4) break;

+        puVar15 = puVar13 + 8;

+        puVar13 = (uint *)puVar13[8];

+        if (puVar13 == (uint *)0x0) goto LAB_1;

+      }

+      puVar12 = (uint *)puVar13[8];

+      puVar13[8] = 0;

+      FUN_004cf598((int)param_1,*puVar15);

+      *puVar15 = (uint)puVar12;

+      uVar11 = *param_2;

+    }

+LAB_1:

+    uVar16 = param_2[2];

+    sVar17 = uVar16 + 1;

+    if ((int)sVar17 < 2) {

+LAB_2:

+      puVar13 = (uint *)calloc(1,0x34);

+      param_1[0x21] = param_1[0x21] + 1;

     }

     else {

-      *(code **)(unaff_r4 + 0x18) = zbar_image_free_data;

-      (*(code *)param_4)();

+      if ((int)sVar17 < 5) {

+        param_4 = (void *)0x1;

+      }

+      else if ((int)sVar17 < 0x11) {

+        param_4 = (void *)0x2;

+      }

+      else {

+        if (0x40 < (int)sVar17) {

+          param_4 = (void *)0x4;

+        }

+        if (sVar17 == 0x40 || (int)(uVar16 - 0x3f) < 0 != SBORROW4(sVar17,0x40)) {

+          param_4 = (void *)0x3;

+        }

+      }

+      puVar13 = (uint *)param_1[(int)param_4 * 2 + 0xe];

+      if (puVar13 == (uint *)0x0) {

+        piVar4 = param_1 + (int)param_4 * 2;

+        do {

+          param_4 = (void *)((int)param_4 + -1);

+          if (param_4 == (void *)0x0) goto LAB_2;

+          puVar13 = (uint *)piVar4[0xc];

+          piVar4 = piVar4 + -2;

+        } while (puVar13 == (uint *)0x0);

+      }

+      param_1[(int)param_4 + 0x22] = param_1[(int)param_4 + 0x22] + 1;

+      iVar6 = param_1[(int)param_4 * 2 + 0xd];

+      bVar18 = iVar6 != 0;

+      if (bVar18) {

+        iVar6 = iVar6 + -1;

+      }

+      param_1[(int)param_4 * 2 + 0xe] = puVar13[8];

+      puVar13[8] = 0;

+      if (!bVar18) {

+                    /* WARNING: Subroutine does not return */

+        __assert_fail("iscn->recycle[i].nsyms","zbar/img_scanner.c",0xed,

+                      "_zbar_image_scanner_alloc_sym");

+      }

+      param_1[(int)param_4 * 2 + 0xd] = iVar6;

+    }

+    uVar8 = param_1[5];

+    bVar18 = puVar13[9] == 0;

+    *puVar13 = uVar11;

+    puVar13[0xc] = 1;

+    puVar13[5] = 0;

+    puVar13[0xb] = 0;

+    puVar13[10] = uVar8;

+    if (bVar18) {

+      if ((int)sVar17 < 1) {

+        if ((void *)puVar13[3] != (void *)0x0) {

+          free((void *)puVar13[3]);

+        }

+        pvVar2 = (void *)0x0;

+        puVar13[3] = 0;

+        puVar13[1] = 0;

+        puVar13[2] = 0;

+      }

+      else {

+        puVar13[2] = uVar16;

+        pvVar2 = (void *)puVar13[3];

+        if (puVar13[1] < sVar17) {

+          if (pvVar2 != (void *)0x0) {

+            free(pvVar2);

+          }

+          puVar13[1] = sVar17;

+          pvVar2 = malloc(sVar17);

+          puVar13[3] = (uint)pvVar2;

+        }

+      }

+      memcpy(pvVar2,(void *)param_2[3],param_2[2]);

+      uVar11 = param_1[0x18];

+      uVar8 = param_2[10] - 2000;

+      puVar13[10] = uVar8;

+      puVar13[0xb] = 0xfffffffd;

+      puVar13[8] = uVar11;

+      uVar11 = 0;

+      uVar16 = 0xfffffffd;

+      param_1[0x18] = (int)puVar13;

+LAB_0:

+      uVar8 = param_2[10] - uVar8;

+      if (uVar8 < 1000) {

+        uVar11 = 1;

+      }

+      uVar11 = uVar11 ^ 1;

+      if (1999 < uVar8) {

+        uVar11 = 1;

+      }

+      puVar13[10] = param_2[10];

+      if (uVar11 == 0) {

+        uVar16 = uVar16 + 1;

+        puVar13[0xb] = uVar16;

+        iVar6 = param_1[0xc];

+        param_2[0xb] = uVar16;

+        if (uVar16 == 0) goto LAB_3;

+        param_2[8] = *(uint *)(iVar6 + 8);

+        *(uint **)(iVar6 + 8) = param_2;

+      }

+      else {

+        iVar6 = param_1[0xc];

+        puVar13[0xb] = 0xfffffffd;

+        uVar11 = *(uint *)(iVar6 + 8);

+        param_2[0xb] = 0xfffffffd;

+        param_2[8] = uVar11;

+        *(uint **)(iVar6 + 8) = param_2;

+      }

+      goto LAB_4;

+    }

+    iVar7 = 0x4cfd08;

+    uVar21 = FUN_00034434();

+    iVar6 = (int)((ulonglong)uVar21 >> 0x20);

+    lVar1 = CONCAT44((int)uVar21,in_pc);

+    if (bVar18) {

+      lVar1 = ZEXT48(puVar13) * ZEXT48(puVar13) + CONCAT44((int)uVar21,in_pc);

+    }

+    uVar16 = (uint)((ulonglong)lVar1 >> 0x20);

+    in_pc = (undefined4)lVar1;

+    if (bVar18) {

+      iVar7 = iVar6 + ((int)puVar13 << (uVar8 & 0xff));

+    }

+    lVar1 = CONCAT44(iVar6,iVar7);

+    if (bVar18) {

+      lVar1 = (ulonglong)uVar8 * (ulonglong)uVar16;

+    }

+    iVar6 = (int)lVar1;

+    if (bVar18) {

+      iVar6 = (int)((ulonglong)lVar1 >> 0x20) + (in_r12 >> 5);

+    }

+    *(int *)((int)register0x00000054 + -0x24) = iVar6;

+    *(undefined4 *)((int)register0x00000054 + -0x28) = unaff_r10;

+    *(int **)((int)register0x00000054 + -0x2c) = param_1;

+    *(undefined4 *)((int)register0x00000054 + -0x30) = 0;

+    *(size_t *)((int)register0x00000054 + -0x34) = sVar17;

+    *(uint *)((int)register0x00000054 + -0x38) = uVar11;

+    *(uint **)((int)register0x00000054 + -0x3c) = param_2;

+    puVar20 = (undefined4 *)((int)register0x00000054 + -0x40);

+    *puVar20 = puVar13;

+    param_1 = (int *)FUN_004d14bc(uVar16);

+    pvVar2 = (void *)FUN_004d14c4(uVar16);

+    if (pvVar2 < (void *)0x2) {

+      return pvVar2;

+    }

+    if (pvVar2 == (void *)0x40) {

+      piVar4 = (int *)FUN_004d5278(param_1[1]);

+      if (piVar4 == (int *)0x0) {

+                    /* WARNING: Subroutine does not return */

+        __assert_fail("line","zbar/img_scanner.c",0x16a,"qr_handler");

+      }

+      uVar11 = FUN_004d0d60(*param_1,*piVar4,2);

+      uVar16 = FUN_004d0d60(*param_1,piVar4[3],2);

+      piVar4[3] = uVar11 - uVar16;

+      uVar16 = FUN_004d0d60(*param_1,piVar4[2],2);

+      piVar4[2] = uVar16;

+      uVar16 = FUN_004d0d60(*param_1,piVar4[4],2);

+      iVar5 = param_1[9];

+      iVar6 = uVar16 - piVar4[2];

+      iVar7 = piVar4[2] - uVar11;

+      iVar9 = uVar11 * iVar5 + param_1[10] * 4;

+      bVar18 = iVar5 < 0;

+      if (bVar18) {

+        iVar5 = piVar4[3];

+      }

+      piVar4[2] = iVar7;

+      if (bVar18) {

+        iVar9 = iVar9 - iVar7;

+      }

+      iVar7 = param_1[7];

+      piVar4[4] = iVar6;

+      if (bVar18) {

+        piVar4[3] = iVar6;

+        piVar4[4] = iVar5;

+      }

+      uVar11 = (uint)(iVar7 == 0);

+      iVar6 = param_1[0xb];

+      piVar4[uVar11] = iVar9;

+      piVar4[iVar7 != 0] = iVar6 * 4 + 2;

+      iVar6 = param_1[2];

+      *(undefined4 *)((int)register0x00000054 + -0x24) =

+           *(undefined4 *)((int)register0x00000054 + -0x24);

+      *(undefined4 *)((int)register0x00000054 + -0x28) =

+           *(undefined4 *)((int)register0x00000054 + -0x30);

+      *(undefined4 *)((int)register0x00000054 + -0x2c) =

+           *(undefined4 *)((int)register0x00000054 + -0x34);

+      *(undefined4 *)((int)register0x00000054 + -0x30) =

+           *(undefined4 *)((int)register0x00000054 + -0x38);

+      *(undefined4 *)((int)register0x00000054 + -0x34) =

+           *(undefined4 *)((int)register0x00000054 + -0x3c);

+      *(undefined4 *)((int)register0x00000054 + -0x38) = *puVar20;

+      iVar9 = iVar6 + uVar11 * 0xc;

+      iVar7 = *(int *)(iVar9 + 0xb14);

+      if (iVar7 < *(int *)(iVar9 + 0xb18)) {

+        pvVar2 = *(void **)(iVar9 + 0xb10);

+      }

+      else {

+        iVar7 = *(int *)(iVar9 + 0xb18) * 2 + 1;

+        *(int *)(iVar9 + 0xb18) = iVar7;

+        pvVar2 = realloc(*(void **)(iVar9 + 0xb10),iVar7 * 0x14);

+        iVar7 = *(int *)(iVar9 + 0xb14);

+        *(void **)(iVar9 + 0xb10) = pvVar2;

+      }

+      *(int *)(iVar6 + uVar11 * 0xc + 0xb14) = iVar7 + 1;

+      memcpy((void *)((int)pvVar2 + iVar7 * 0x14),piVar4,0x14);

+      return (void *)0x0;

+    }

+    pvVar3 = (void *)FUN_004d1494(uVar16);

+    __n = (void *)FUN_004d149c(uVar16);

+    if ((param_1[0x19] & 1U) == 0) {

+      iVar6 = 0;

+      iVar7 = 0;

+    }

+    else {

+      iVar6 = FUN_004d0d58(*param_1);

+      iVar7 = param_1[10];

+      iVar9 = param_1[9];

+      uVar11 = FUN_004d0d60(*param_1,iVar6,0);

+      iVar7 = uVar11 * iVar9 + iVar7;

+      if (param_1[7] == 0) {

+        iVar6 = iVar7;

+        iVar7 = param_1[0xb];

+      }

+      else {

+        iVar6 = param_1[0xb];

+      }

+    }

+    pvVar10 = (void *)param_1[0xc];

+    for (puVar14 = *(undefined4 **)((int)pvVar10 + 8); puVar14 != (undefined4 *)0x0;

+        puVar14 = (undefined4 *)puVar14[8]) {

+      pvVar10 = (void *)*puVar14;

+      if (((pvVar2 == pvVar10) && (pvVar10 = (void *)puVar14[2], __n == pvVar10)) &&

+         (iVar9 = memcmp((void *)puVar14[3],pvVar3,(size_t)__n), iVar9 == 0)) {

+        uVar11 = param_1[0x19];

+        puVar14[0xc] = puVar14[0xc] + 1;

+        if ((uVar11 & 1) != 0) {

+          iVar9 = puVar14[5];

+          puVar14[5] = iVar9 + 1U;

+          if (iVar9 + 1U < (uint)puVar14[4]) {

+            pvVar2 = (void *)0x0;

+            pvVar3 = (void *)puVar14[6];

+          }

+          else {

+            iVar5 = puVar14[4] + 1;

+            puVar14[4] = iVar5;

+            pvVar2 = realloc((void *)puVar14[6],iVar5 * 8);

+            puVar14[6] = pvVar2;

+            pvVar3 = pvVar2;

+          }

+          *(int *)((int)pvVar3 + iVar9 * 8) = iVar7;

+          *(int *)((int)pvVar3 + iVar9 * 8 + 4) = iVar6;

+          return pvVar2;

+        }

+        return (void *)0x0;

+      }

+    }

+    sVar17 = (int)__n + 1;

+    if ((int)sVar17 < 2) {

+LAB_5:

+      param_2 = (uint *)calloc(1,0x34);

+      param_1[0x21] = param_1[0x21] + 1;

+    }

+    else {

+      if ((int)sVar17 < 5) {

+        pvVar10 = (void *)0x1;

+      }

+      else if ((int)sVar17 < 0x11) {

+        pvVar10 = (void *)0x2;

+      }

+      else {

+        if (0x40 < (int)sVar17) {

+          pvVar10 = (void *)0x4;

+        }

+        if (sVar17 == 0x40 || (int)__n + -0x3f < 0 != SBORROW4(sVar17,0x40)) {

+          pvVar10 = (void *)0x3;

+        }

+      }

+      param_2 = (uint *)param_1[(int)pvVar10 * 2 + 0xe];

+      if (param_2 == (uint *)0x0) {

+        piVar4 = param_1 + (int)pvVar10 * 2;

+        do {

+          pvVar10 = (void *)((int)pvVar10 + -1);

+          if (pvVar10 == (void *)0x0) goto LAB_5;

+          param_2 = (uint *)piVar4[0xc];

+          piVar4 = piVar4 + -2;

+        } while (param_2 == (uint *)0x0);

+      }

+      param_1[(int)pvVar10 + 0x22] = param_1[(int)pvVar10 + 0x22] + 1;

+      iVar9 = param_1[(int)pvVar10 * 2 + 0xd];

+      bVar18 = iVar9 != 0;

+      if (bVar18) {

+        iVar9 = iVar9 + -1;

+      }

+      param_1[(int)pvVar10 * 2 + 0xe] = param_2[8];

+      param_2[8] = 0;

+      if (!bVar18) goto LAB_6;

+      param_1[(int)pvVar10 * 2 + 0xd] = iVar9;

+    }

+    *param_2 = (uint)pvVar2;

+    uVar11 = param_1[5];

+    param_2[0xc] = 1;

+    param_2[5] = 0;

+    param_2[0xb] = 0;

+    param_2[10] = uVar11;

+    if (param_2[9] != 0) {

+      FUN_00034434();

+LAB_6:

+                    /* WARNING: Subroutine does not return */

+      __assert_fail("iscn->recycle[i].nsyms","zbar/img_scanner.c",0xed,

+                    "_zbar_image_scanner_alloc_sym");

+    }

+    if ((int)sVar17 < 1) {

+      if ((void *)param_2[3] != (void *)0x0) {

+        free((void *)param_2[3]);

+      }

+      pvVar2 = (void *)0x0;

+      param_2[3] = 0;

+      param_2[1] = 0;

+      param_2[2] = 0;

+    }

+    else {

+      param_2[2] = (uint)__n;

+      pvVar2 = (void *)param_2[3];

+      if (param_2[1] < sVar17) {

+        if (pvVar2 != (void *)0x0) {

+          free(pvVar2);

+        }

+        param_2[1] = sVar17;

+        pvVar2 = malloc(sVar17);

+        param_2[3] = (uint)pvVar2;

+      }

+    }

+    memcpy(pvVar2,pvVar3,sVar17);

+    param_4 = (void *)param_1[0x19];

+    if (((uint)param_4 & 1) == 0) {

+      unaff_r4 = *puVar20;

+      unaff_r5 = *(undefined4 *)((int)register0x00000054 + -0x3c);

+      unaff_r6 = *(undefined4 *)((int)register0x00000054 + -0x38);

+      unaff_r7 = *(undefined4 *)((int)register0x00000054 + -0x34);

+      unaff_r8 = *(undefined4 *)((int)register0x00000054 + -0x30);

+      unaff_r9 = *(undefined4 *)((int)register0x00000054 + -0x2c);

+      unaff_r10 = *(undefined4 *)((int)register0x00000054 + -0x28);

+      in_lr = *(undefined4 *)((int)register0x00000054 + -0x24);

+      register0x00000054 = (BADSPACEBASE *)puVar19;

+    }

+    else {

+      uVar11 = param_2[5];

+      param_2[5] = uVar11 + 1;

+      if (uVar11 + 1 < param_2[4]) {

+        param_4 = (void *)param_2[6];

+      }

+      else {

+        uVar16 = param_2[4] + 1;

+        param_2[4] = uVar16;

+        param_4 = realloc((void *)param_2[6],uVar16 * 8);

+        param_2[6] = (uint)param_4;

+      }

+      *(int *)((int)param_4 + uVar11 * 8) = iVar7;

+      *(int *)((int)param_4 + uVar11 * 8 + 4) = iVar6;

+      unaff_r4 = *puVar20;

+      unaff_r5 = *(undefined4 *)((int)register0x00000054 + -0x3c);

+      unaff_r6 = *(undefined4 *)((int)register0x00000054 + -0x38);

+      unaff_r7 = *(undefined4 *)((int)register0x00000054 + -0x34);

+      unaff_r8 = *(undefined4 *)((int)register0x00000054 + -0x30);

+      unaff_r9 = *(undefined4 *)((int)register0x00000054 + -0x2c);

+      unaff_r10 = *(undefined4 *)((int)register0x00000054 + -0x28);

+      in_lr = *(undefined4 *)((int)register0x00000054 + -0x24);

+      register0x00000054 = (BADSPACEBASE *)puVar19;

     }

   }

-  *(undefined4 *)(unaff_r4 + 0xc) = unaff_r8;

-  *(undefined4 *)(unaff_r4 + 0x10) = unaff_r7;

-  *(undefined4 *)(unaff_r4 + 0x18) = unaff_r6;

-  return;

+  iVar6 = param_1[0xc];

+  param_2[0xb] = 0;

+LAB_3:

+  iVar7 = *(int *)(iVar6 + 0xc);

+  if (iVar7 == 0) {

+    uVar11 = param_2[0xb];

+    param_2[8] = *(uint *)(iVar6 + 8);

+    *(uint **)(iVar6 + 8) = param_2;

+    if (uVar11 != 0) {

+LAB_4:

+      if (*(int *)(iVar6 + 0xc) == 0) {

+        *(uint **)(iVar6 + 0xc) = param_2;

+      }

+      goto LAB_7;

+    }

+  }

+  else {

+    param_2[8] = *(uint *)(iVar7 + 0x20);

+    *(uint **)(iVar7 + 0x20) = param_2;

+  }

+  *(int *)(iVar6 + 4) = *(int *)(iVar6 + 4) + 1;

+LAB_7:

+  pthread_mutex_lock((pthread_mutex_t *)&DAT_8);

+  uVar11 = param_2[7];

+  param_2[7] = uVar11 + 1;

+  pvVar2 = (void *)pthread_mutex_unlock((pthread_mutex_t *)&DAT_8);

+  if ((int)(uVar11 + 1) < 0) {

+                    /* WARNING: Subroutine does not return */

+    FUN_00034410();

+  }

+  return pvVar2;

 }

 

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.8.0 on 2025-02-25T17:08:02

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