Function at 0x515e1b0
Capabilities:
Check if file exists

Disassembly:
push ebp
lea ebp, [esp - 0x590]
sub esp, 0x590
push 0xffffffffffffffff
push 0x522e46c
mov eax, dword fs:[0]
push eax
sub esp, 0x58
mov eax, dword [0x53f3c3c]
xor eax, ebp
mov dword [ebp + 0x58c], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 0x598]
mov ebx, dword [ebp + 0x5a0]
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp + 0x5a4]
mov dword [ebp - 0x18], eax
mov esi, dword [ebp + 0x59c]
push esi
mov ecx, 0x53f4cc8
call fcn.050674e0
test al, al
jne 0x515e272
push str._ERROR:
push 0xff
push 0xe29
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov dword [ebp - 4], 0
push edi
push esi
push str.__d___s__:_invalid_handle_
mov ecx, dword [0x56bc0f0]
push ecx
push eax
call fcn.051ae2d0
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov eax, 0xd
jmp 0x5160114
cmp dword [ebp - 0x18], 0
je 0x51600ad
test ebx, ebx
je 0x51600ad
mov eax, dword [ebx + 4]
test eax, eax
je 0x5160054
cmp byte [eax], 0
je 0x5160054
mov eax, dword [ebx]
test eax, eax
je 0x5160054
cmp byte [eax], 0
je 0x5160054
mov edx, dword [ebp - 0x18]
push edx
mov eax, dword [ebx + 0x14]
push eax
mov ecx, dword [ebx + 0x10]
push ecx
push esi
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
call fcn.0506f0a0
mov dword [ebp - 0x50], 0
mov dword [ebp - 4], 3
mov edx, dword [ebx]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x515e33f
push str._ERROR:
push 0xff
push 0xe42
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [ebx]
push ecx
push edi
push esi
push str.__d___s__:_Ini_File___s__does_not_exist
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
jmp 0x516010a
mov eax, dword [ebp - 0x18]
mov dword [eax], 0
mov ecx, dword [ebx + 4]
push ecx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd3d4
call dword [0x523a2ec]
mov edx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov ebx, dword [edx]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
push 1
push ebx
push 0x529230c
mov ecx, eax
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
mov ebx, eax
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
mov eax, dword [eax + 0x14]
dec eax
cmp ebx, eax
je 0x515e3c5
push 0x529230c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd3d4
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x52c722a
push 1
push 0xe50
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_0:_Check_Basic_Arguments_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push 0x5272ee4
push 0x1388
push esi
call sym.META_DLL.dll_META_QueryIfFunctionSupportedByTarget_r
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x515e43b
lea eax, [ebp - 0x20]
push eax
push 0x1388
push esi
call sym.META_DLL.dll_META_Util_QueryTargetLimitedStateIndicator_r
lea ecx, [ebp - 0x48]
push ecx
push 0x1388
push esi
call sym.META_DLL.dll_META_MISC_GetIMEILocation_r
mov dword [ebp - 0x28], eax
test eax, eax
je 0x515e508
push str._ERROR:
lea ecx, [ebp + 0x178]
push 0xff
cmp eax, 0xb
jne 0x515e4b7
push 0xe62
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 6
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_query_IMEI_Location_fail__so_load_need_to_be_patched.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov eax, 0x34
jmp 0x5160114
push 0xe67
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 7
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov edx, dword [ebp - 0x28]
push edx
push edi
push esi
push str.__d___s__:_query_IMEI_Location_fail__please_check_why__mr_d_.
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov eax, 1
jmp 0x5160114
mov eax, dword [ebp - 0x18]
push eax
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8ae
push 0x52c722a
push 1
push 0xe71
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_1:_Check_Load_New_Old_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
cmp dword [eax + 0x18], 0x10
jb 0x515e588
mov eax, dword [eax + 4]
jmp 0x515e58b
add eax, 4
push eax
push esi
call fcn.051a27a0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x515e69a
push str._ERROR:
lea ecx, [ebp + 0x178]
push 0xff
cmp ebx, 0xffffffff
jne 0x515e5fe
push 0xe7e
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov edi, eax
mov byte [ebp - 4], 9
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d__:_can_not_find_the_backup_result_file_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
lea eax, [ebx + 0x44]
jmp 0x5160114
cmp ebx, 0xfffffffe
jne 0x515e64d
push 0xe84
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov edi, eax
mov byte [ebp - 4], 0xa
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d__:_more_than_one_backup_result_files_
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
lea eax, [ebx + 0x40]
jmp 0x5160114
push 0xe89
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov edi, eax
mov byte [ebp - 4], 0xb
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push esi
push str.__d__:_ParseBackupResultFile___fail__ret_code__d_
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 3
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov eax, 0x44
jmp 0x5160114
mov ecx, dword [ebp - 0x18]
push ecx
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8ae
lea ecx, [ebp - 0x40]
call fcn.0506a6b0
mov byte [ebp - 4], 0xc
mov edx, dword [str.CrossBranch.cfg]
push edx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
push eax
lea eax, [ebp + 0x154]
push eax
call dword [sym.imp.MSVCP90.dll_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____cdecl_std::operator_char__struct_std::char_traits_char___class_std::allocator_char___class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const___char_const__]
add esp, 0xc
mov byte [ebp - 4], 0xd
cmp dword [ebp + 0x16c], 0x10
mov eax, dword [ebp + 0x158]
jae 0x515e6fc
lea eax, [ebp + 0x158]
lea ecx, [ebp - 0x40]
push ecx
push eax
push esi
call fcn.051a5a90
add esp, 0xc
mov ebx, eax
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
test ebx, ebx
jne 0x515e800
push 0x52c722a
push 1
push 0xea1
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0xe
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push 0
push esi
push str.__d__:_ParseCrossBranchConfigFile___success__ret_code__d_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
lea edx, [ebp - 0x40]
push edx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd49c
push eax
push esi
call fcn.051a6320
add esp, 0xc
test eax, eax
je 0x515e891
push 0x52c722a
push 1
push 0xea8
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov edi, eax
mov byte [ebp - 4], 0xf
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push esi
push str.__d__:_ReviseCrossBranchTargetPath___fail
push eax
push edi
call fcn.051ae2d0
add esp, 0x10
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x78
jmp 0x5160114
cmp ebx, 1
je 0x515e891
push str._ERROR:
push 0xff
push 0xeae
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov edi, eax
mov byte [ebp - 4], 0x10
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push esi
push str.__d__:_ParseCrossBranchConfigFile___fail__ret_code__d_
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
cmp ebx, 2
jne 0x515e875
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
lea eax, [ebx + 0x74]
jmp 0x5160114
cmp ebx, 3
jne 0x515faa5
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x40]
call fcn.0515e120
lea eax, [ebx + 0x74]
jmp 0x5160114
mov eax, dword [ebp - 0x18]
push eax
push esi
call fcn.05194b30
add esp, 8
test al, al
je 0x515e8b8
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x3b
jmp 0x5160114
push 0x52c722a
push 1
push 0xec2
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x11
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_2:_Parse__meta_backup_res_.txt_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
cmp dword [ebp - 0x48], 0
sete cl
mov byte [ebp - 0x21], cl
xor eax, eax
mov dword [ebp - 0x58], eax
mov word [ebp - 0x54], ax
lea edx, [ebp - 0x58]
push edx
lea eax, [ebp - 0x21]
push eax
push 0x1388
push esi
call fcn.051546a0
mov dword [ebp - 0x28], eax
test eax, eax
je 0x515e9a7
push str._ERROR:
push 0xff
push 0xecd
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x12
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
movzx ecx, word [ebp - 0x58]
push ecx
movzx edx, word [ebp - 0x56]
push edx
push edi
push str._s__:_Check_the_correctness_of_customer_NVRAM_settings._lid_num___d___stop_enum_value__d_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x3c
jmp 0x5160114
mov eax, dword [ebp - 0x18]
push eax
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8a2
push 0x52c722a
push 1
push 0xed7
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x13
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_3:_Check_Target_NVRAM_Attribute_Completeness_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
lea ecx, [ebp]
push ecx
push 0x1388
push esi
call fcn.05154650
mov dword [ebp - 0x28], eax
test eax, eax
je 0x515ea8b
push str._ERROR:
push 0xff
push 0xedf
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x14
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_query_NVRAM_folder_fail_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x39
jmp 0x5160114
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd500
call fcn.0506eef0
push 0x5299ee4
push sym.META_DLL.dll_META_MISC_QueryNVRAMFolderAmount_r
push 0x1388
push esi
call fcn.05165130
push esi
mov ecx, 0x53f4cc8
test eax, eax
jne 0x515ebf3
call fcn.05065960
add eax, 0xd518
push eax
push 0x1388
push esi
call sym.META_DLL.dll_META_MISC_QueryNVRAMFolderAmount_r
test eax, eax
jne 0x515eb8a
xor ebx, ebx
lea edx, [ebp]
push edx
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov byte [ebp - 4], 0x15
mov dword [ebp - 0x4c], ebx
lea ecx, [ecx]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx eax, byte [eax + 0xd518]
cmp dword [ebp - 0x4c], eax
jge 0x515ec90
push 1
push ebx
push 0x529080c
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::find_char_const___unsigned_int__unsigned_int_const]
mov dword [ebp - 0x14], eax
sub eax, ebx
push eax
push ebx
lea ecx, [ebp + 0x170]
push ecx
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [ebp - 4], 0x16
lea edx, [ebp + 0x170]
push edx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd500
call fcn.05012550
mov eax, dword [ebp - 0x14]
lea ebx, [eax + 1]
mov byte [ebp - 4], 0x15
lea ecx, [ebp + 0x170]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
inc dword [ebp - 0x4c]
jmp 0x515eb00
push str._ERROR:
push 0xff
push 0xef6
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x17
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_query_NVRAM_folder_amount_fail_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x55
jmp 0x5160114
call fcn.05065960
mov byte [eax + 0xd518], 1
lea ecx, [ebp]
push ecx
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_char_const__]
mov bl, 0x18
mov byte [ebp - 4], bl
mov edx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov eax, dword [edx]
push 1
push eax
push 0x529230c
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_unsigned_int___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::rfind_char_const___unsigned_int__unsigned_int_const]
mov ecx, dword [ebp + 0x168]
dec ecx
cmp eax, ecx
jne 0x515ec71
push ecx
push 0
lea eax, [ebp + 0x170]
push eax
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char_____thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::substr_unsigned_int__unsigned_int_]
mov byte [ebp - 4], 0x19
push eax
lea ecx, [ebp + 0x154]
call dword [0x523a2b0]
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x170]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
lea ecx, [ebp + 0x154]
push ecx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, eax
add ecx, 0xd500
call fcn.05012550
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x154]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov edx, dword [ebp - 0x18]
push edx
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8a2
push 0x52c722a
push 1
push 0xf09
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x1a
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_4:_Get_Target_NVRAM_Folder_Base_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push 0
push 1
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax]
push ecx
push esi
call fcn.051a7bc0
add esp, 0x10
mov ebx, eax
lea ecx, [ebp + 0x178]
test ebx, ebx
je 0x515f046
push str._ERROR:
push 0xff
push 0xf13
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x1b
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_Parse_INI_file_fail__please_check_why._err_code__d_
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push str._ERROR:
lea ecx, [ebp + 0x178]
push 0xff
cmp ebx, 0xfffffffe
jne 0x515edef
push 0xf16
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x1c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Target_NVRAM_Backup_and_Restore_List]
push ecx
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_section___s_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x4c
jmp 0x5160114
cmp ebx, 0xfffffffd
jne 0x515ee54
push 0xf1c
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x1d
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Target_Backup_and_Restore_List]
push edx
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_section___s_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x4d
jmp 0x5160114
cmp ebx, 0xfffffffc
jne 0x515eeb9
push 0xf22
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x1e
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Upload_PC_files_to_Target_List]
push ecx
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_section___s_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x4e
jmp 0x5160114
cmp ebx, 0xfffffff5
jne 0x515ef1e
push 0xf28
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x1f
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Upload_PC_folder_to_Target_List]
push edx
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_section___s_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x68
jmp 0x5160114
cmp ebx, 0xfffffff8
jne 0x515ef83
push 0xf2e
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x20
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Backup_Restore_File_Prefix_MORE]
push ecx
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_section___s_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x52
jmp 0x5160114
cmp ebx, 0xfffffff7
jne 0x515efe8
push 0xf34
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x21
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Backup_Restore_File_Prefix_DELETE]
push edx
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_section___s_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x53
jmp 0x5160114
push 0xf3c
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x22
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_settings:_others_code__d_
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x35
jmp 0x5160114
push 0x52c722a
push 1
push 0xf41
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x23
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_5:_Parse_INI_settings_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push 0
push 1
push esi
call fcn.05198460
add esp, 0xc
mov ebx, eax
test ebx, ebx
je 0x515f293
push str._ERROR:
push 0xff
push 0xf45
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x24
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_Check_INI_file_fail__please_check_why._err_code__d_
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push str._ERROR:
lea ecx, [ebp + 0x178]
push 0xff
cmp ebx, 0xfffffffe
jne 0x515f140
push 0xf48
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x25
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Target_NVRAM_Backup_and_Restore_List]
push edx
jmp 0x515edb6
cmp ebx, 0xfffffffd
jne 0x515f171
push 0xf4e
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x26
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Target_Backup_and_Restore_List]
push ecx
jmp 0x515ee1b
cmp ebx, 0xfffffffc
jne 0x515f1a2
push 0xf54
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x27
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Upload_PC_files_to_Target_List]
push edx
jmp 0x515ee80
cmp ebx, 0xfffffff5
jne 0x515f1d3
push 0xf5a
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x28
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Upload_PC_folder_to_Target_List]
push ecx
jmp 0x515eee5
cmp ebx, 0xfffffff8
jne 0x515f204
push 0xf60
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x29
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Backup_Restore_File_Prefix_MORE]
push edx
jmp 0x515ef4a
cmp ebx, 0xfffffff7
jne 0x515f235
push 0xf66
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x2a
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Backup_Restore_File_Prefix_DELETE]
push ecx
jmp 0x515efaf
push 0xf6e
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x2b
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_Error_occurred_in_INI_settings:_others_code__d_
push eax
mov edx, dword [ebp - 0x14]
push edx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x35
jmp 0x5160114
mov eax, dword [ebp - 0x18]
push eax
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8a2
push 0x52c722a
push 1
push 0xf78
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x2c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_6:_Check_INI_settings_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push edi
push esi
call fcn.051a1be0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x515f376
push str._ERROR:
push 0xff
push 0xf81
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x2d
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_collect_target_calibration_file_prefix_fail._err_code__d_
push eax
mov ecx, dword [ebp - 0x14]
push ecx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x3a
jmp 0x5160114
mov edx, dword [ebp - 0x18]
push edx
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8a2
push 0x52c722a
push 1
push 0xf89
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x2e
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_7:_Collect_Target_NVRAM_Backup_List_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd500
push eax
push esi
call fcn.051a22a0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x515f469
push str._ERROR:
push 0xff
push 0xf94
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x2f
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_collect_all_file_information_in_nvram_folder_fail__err_code__d_
push eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x57
jmp 0x5160114
push 0
push esi
call fcn.0519e6a0
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
je 0x515f4e8
push str._ERROR:
push 0xff
push 0xf9b
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x30
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x14]
push ecx
push edi
push esi
push str.__d___s__:_check_all_file_information_in_nvram_folder_fail__err_code__d_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x54
jmp 0x5160114
mov edx, dword [ebp - 0x18]
push edx
push esi
call fcn.05194b30
add esp, 8
test al, al
jne 0x515e8a2
push 0x52c722a
push 1
push 0xfa4
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x31
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_8:_Check_NVRAM_folder_has_all_files_we_need_to_take_care_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push 1
lea eax, [ebp + 0x120]
push eax
push 0x1388
push esi
call fcn.05153a80
lea ecx, [ebp + 0x178]
test eax, eax
je 0x515f5ce
push str._ERROR:
push 0xff
push 0xfab
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x32
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Get_NVRAM_backup_list_fail
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x36
jmp 0x5160114
push 0x52c722a
push 1
push 0xfae
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x33
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_9:_Get_IMEI_Value_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov eax, dword [ebp - 0x48]
cmp eax, 1
je 0x515f678
cmp eax, 2
je 0x515f678
push str._WARNING:
push 0xd2
push 0xfde
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x3a
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
push edi
push esi
push str.__d___s__:_Can_not_use_IMEI_for_phone_checking__because_restore_phases_IMEI_is_stored_in_FAT_area
mov eax, dword [eax + 8]
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
jmp 0x515f91c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
cmp byte [eax + 0xd484], 0
je 0x515f8ce
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
cmp dword [eax + 0xd488], 1
je 0x515f6f4
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
cmp dword [eax + 0xd488], 2
je 0x515f6f4
push str._WARNING:
push 0xd2
push 0xfd2
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x38
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
push edi
push esi
push str.__d___s__:_Can_not_use_IMEI_for_phone_checking_because_backup_phases_IMEI_is_stored_in_FAT_area_
jmp 0x515f65c
xor ebx, ebx
mov dword [ebp - 0x60], ebx
movzx ecx, byte [ebp + 0x134]
cmp ebx, ecx
jge 0x515f898
cmp ebx, 0xa
jge 0x515f898
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov dl, byte [eax + ebx + 0xd48c]
cmp dl, byte [ebp + ebx + 0x120]
je 0x515f81a
lea ecx, [ebp + 0x178]
cmp ebx, 8
jge 0x515f79e
push str._ERROR:
push 0xff
push 0xfbe
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x34
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_IMEI_Mismatch__Please_find_the_correct_phone_to_do_restore_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x45
jmp 0x5160114
push str._WARNING:
push 0xd2
push 0xfc3
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x35
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov dword [ebp - 0x14], eax
movzx ecx, byte [ebp + ebx + 0x120]
push ecx
push ebx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx edx, byte [eax + ebx + 0xd48c]
push edx
push ebx
push edi
push esi
push str.__d___s__:_IMEI_Mismatch__Previous_IMEI_buf__d_:_d___target_IMEI_buf__d_:_d_
mov eax, dword [ebp - 0x14]
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.051ae2d0
add esp, 0x24
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
inc ebx
jmp 0x515f6f6
push 0x52c722a
push 1
push 0xfc8
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 0x36
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 8]
mov dword [ebp - 0x1c], edx
movzx eax, byte [ebp + ebx + 0x120]
push eax
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
movzx ecx, byte [eax + ebx + 0xd48c]
push ecx
push ebx
push edi
push esi
push str.__d___s__:_IMEI__d_____d___d_
mov edx, dword [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x14]
push eax
call fcn.051ae2d0
add esp, 0x20
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
inc ebx
jmp 0x515f6f6
push 0x52c722a
push 1
push 0xfcc
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x37
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
push edi
push esi
push str.__d___s__:_IMEI_is_useful_to_sync_the_phone_and_it_pass_the_checking_
jmp 0x515f905
push str._WARNING:
push 0xd2
push 0xfd8
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x39
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
push edi
push esi
push str.__d___s__:_Can_not_use_IMEI_for_phone_checking_because_backup_phase_load_has_no_imei_information_
mov eax, dword [eax + 8]
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
push 0x52c722a
push 1
push 0xfe1
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x3b
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_10:_Try_to_do_phone_synchronization_checking_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov byte [ebp - 0x20], 1
push 1
push esi
call fcn.0519aa60
add esp, 8
mov ebx, eax
lea ecx, [ebp + 0x15c]
test ebx, ebx
je 0x515f9f4
push str._ERROR:
push 0xff
push 0xfe9
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x3c
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_VerifyBackupNVRAMResultForRestorePhase_fail__ret_code__d_
push eax
mov ecx, dword [ebp - 0x1c]
push ecx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 0x47
jmp 0x5160114
push 0x52c722a
push 1
push 0xfee
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x3d
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Step_11:_Verify_Backup_Result_about_NVRAM_files_pass_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
push 1
push esi
call fcn.05197280
add esp, 8
mov ebx, eax
mov dword [ebp - 0x14], ebx
lea ecx, [ebp + 0x15c]
test ebx, ebx
jne 0x515fabb
push str._ERROR:
push 0xff
push 0xff6
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x3e
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error__it_is_impossible_that_no_files_need_to_be_backup_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
mov eax, 1
jmp 0x5160114
push 0x52c722a
push 1
push 0xffb
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x3f
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:__d_files_need_to_be_restored_
push eax
mov edx, dword [ebp - 0x1c]
push edx
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
push 0x52c722a
push 1
push 0xffd
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x178]
call fcn.051ae270
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x40
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push edi
push esi
push str.__d___s__:_Step_12:_GetNumberOfNeedRestoreFiles__d__pass_
push eax
mov eax, dword [ebp - 0x1c]
push eax
call fcn.051ae2d0
add esp, 0x18
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x178]
call fcn.051ae2c0
push 0x400
push 0
lea ecx, [ebp + 0x18c]
push ecx
call sub.MSVCR90.dll_memset
push esi
push str._meta_restore_res__d.txt
lea edx, [ebp + 0x18c]
push edx
call dword [sym.imp.MSVCR90.dll_sprintf]
add esp, 0x18
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
push eax
lea ecx, [ebp + 0x138]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [ebp - 4], 0x41
lea eax, [ebp + 0x18c]
push eax
lea ecx, [ebp + 0x138]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp dword [ebp + 0x150], 0x10
mov eax, dword [ebp + 0x13c]
jae 0x515fbd1
lea eax, [ebp + 0x13c]
push 0x529954c
push eax
call dword [sym.imp.MSVCR90.dll_fopen]
add esp, 8
mov ebx, eax
mov dword [ebp - 0x50], ebx
test ebx, ebx
jne 0x515fc51
push str._ERROR:
push 0xff
push 0x100a
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x42
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_Error__can_not_open_restore_result.txt_for_writing_
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0x41
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x138]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
jmp 0x515faa5
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
push eax
lea ecx, [ebp + 0x104]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char___const__]
mov byte [ebp - 4], 0x43
push 0x529080c
lea ecx, [ebp + 0x104]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
push 0x529a128
lea ecx, [ebp + 0x104]
call dword [sym.imp.MSVCP90.dll_public:_class_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char______thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::operator_char_const__]
cmp dword [ebp + 0x11c], 0x10
mov eax, dword [ebp + 0x108]
jae 0x515fca9
lea eax, [ebp + 0x108]
push ebx
push eax
call dword [sym.imp.MSVCR90.dll_fputs]
push ebx
call dword [sym.imp.MSVCR90.dll_fflush]
push 0x400
push 0
lea ecx, [ebp + 0x18c]
push ecx
call sub.MSVCR90.dll_memset
add esp, 0x18
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 0x334]
push edx
push 0x52987cc
lea eax, [ebp + 0x18c]
push eax
call dword [sym.imp.MSVCR90.dll_sprintf]
push ebx
lea ecx, [ebp + 0x18c]
push ecx
call dword [sym.imp.MSVCR90.dll_fputs]
push ebx
call dword [sym.imp.MSVCR90.dll_fflush]
push 0x400
push 0
lea edx, [ebp + 0x18c]
push edx
call sub.MSVCR90.dll_memset
add esp, 0x24
mov dword [ebp - 0x44], 0
jmp 0x515fd30
movzx eax, byte [ebp + 0x134]
lea ecx, [ebp + 0x18c]
cmp dword [ebp - 0x44], eax
jge 0x515fd8f
push 0x400
push 0
push ecx
call sub.MSVCR90.dll_memset
push 0x529080c
mov edx, dword [ebp - 0x44]
movzx eax, byte [ebp + edx + 0x120]
push eax
push str._d_s
lea ecx, [ebp + 0x18c]
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
push ebx
lea edx, [ebp + 0x18c]
push edx
call dword [sym.imp.MSVCR90.dll_fputs]
push ebx
call dword [sym.imp.MSVCR90.dll_fflush]
add esp, 0x28
inc dword [ebp - 0x44]
jmp 0x515fd30
mov eax, dword [ebp - 0x48]
push eax
push 0x52987cc
push ecx
call dword [sym.imp.MSVCR90.dll_sprintf]
push ebx
lea edx, [ebp + 0x18c]
push edx
call dword [sym.imp.MSVCR90.dll_fputs]
push ebx
call dword [sym.imp.MSVCR90.dll_fflush]
add esp, 0x18
push 0x52c722a
push 1
push 0x102b
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov dword [ebp - 0x1c], eax
mov byte [ebp - 4], 0x44
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x14]
push ecx
push esi
push str.__d__:__Start_to_Restore__Goal:__d_files__
push eax
mov edx, dword [ebp - 0x1c]
push edx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0x43
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
push ebx
mov eax, dword [ebp - 0x18]
push eax
mov ecx, dword [ebp - 0x5c]
push ecx
mov edx, dword [ebp - 0x14]
push edx
mov eax, dword [ebp - 0x20]
push eax
push 1
push esi
call fcn.05156d70
mov ebx, eax
mov dword [ebp - 0x28], ebx
lea ecx, [ebp + 0x15c]
test ebx, ebx
je 0x515fe98
push str._ERROR:
push 0xff
push 0x1030
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x45
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_META_RestoreCalibrationData_EX_Fail_
push eax
mov ecx, dword [ebp - 0x20]
push ecx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0x43
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov dword [ebp - 0x64], ebx
push 0x539d928
lea edx, [ebp - 0x64]
push edx
call sub.MSVCR90.dll__CxxThrowException
push 0x52c722a
push 1
push 0x1035
push str..FunctionPlatformMETA_misc.cpp
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x46
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:___Step_Final_:_Display_Result_File___
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0x43
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
cmp dword [ebp + 0x150], 0x10
mov eax, dword [ebp + 0x13c]
jae 0x515fef7
lea eax, [ebp + 0x13c]
push eax
push esi
call fcn.051951a0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x515ff80
push str._ERROR:
push 0xff
push 0x103b
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov dword [ebp - 0x20], eax
mov byte [ebp - 4], 0x47
cmp dword [ebp + 0x150], 0x10
jb 0x515ff41
mov eax, dword [ebp + 0x13c]
mov dword [ebp - 0x14], eax
jmp 0x515ff4a
lea ecx, [ebp + 0x13c]
mov dword [ebp - 0x14], ecx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
mov edx, dword [ebp - 0x14]
push edx
push edi
push esi
push str.__d___s__:_can_not_display_file_content_of__s__ret_code:_d_
push eax
mov eax, dword [ebp - 0x20]
push eax
call fcn.051ae2d0
add esp, 0x1c
mov byte [ebp - 4], 0x43
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
push 0x52c722a
push 1
push 0x103e
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov ebx, eax
mov byte [ebp - 4], 0x48
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push esi
push str.__d___s__:_OK
push eax
push ebx
call fcn.051ae2d0
add esp, 0x14
mov byte [ebp - 4], 0x43
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov byte [ebp - 4], 0x41
lea ecx, [ebp + 0x104]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 0xc
lea ecx, [ebp + 0x138]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x40]
call fcn.0515e120
xor eax, eax
jmp 0x5160114
push str._ERROR:
push 0xff
push 0xe35
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 2
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov edx, dword [ebx]
push edx
mov ecx, dword [ebx + 4]
push ecx
mov edx, dword [ebp - 0x18]
push edx
push ebx
push edi
push esi
push str.__d___s__:_invalid_arguments____req_ex_0x_08X___p_restorestop_0x_08X___req_ex__restoreRequest.m_pBackupFolderPath_0x_08X___req_ex__restoreRequest.m_pIniFilePath_0x_08X_
push eax
mov eax, dword [ebp - 0x20]
push eax
call fcn.051ae2d0
add esp, 0x24
jmp 0x51600fd
push str._ERROR:
push 0xff
push 0xe2e
push str..FunctionPlatformMETA_misc.cpp
lea ecx, [ebp + 0x15c]
call fcn.051ae270
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], 1
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
mov ecx, dword [ebp - 0x18]
push ecx
push ebx
push edi
push esi
push str.__d___s__:_invalid_arguments____req_ex_0x_08X___p_restorestop_0x_08X_
push eax
mov edx, dword [ebp - 0x20]
push edx
call fcn.051ae2d0
add esp, 0x1c
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp + 0x15c]
call fcn.051ae2c0
mov eax, 0xa
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x58c]
xor ecx, ebp
call fcn.0520b902
add ebp, 0x590
mov esp, ebp
pop ebp
ret 0x10