Function at 0x5198460
Capabilities:
Check if file exists

Disassembly:
push 0xffffffffffffffff
push 0x5231cc7
mov eax, dword fs:[0]
push eax
sub esp, 0x25c
mov eax, dword [0x53f3c3c]
xor eax, esp
mov dword [esp + 0x258], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x53f3c3c]
xor eax, esp
push eax
lea eax, [esp + 0x270]
mov dword fs:[0], eax
mov esi, dword [esp + 0x280]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
xor ecx, ecx
mov dword [eax + 0xd5a8], ecx
mov dword [eax + 0xd5ac], ecx
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edi, eax
mov ebp, dword [edi + 0xd3fc]
add edi, 0xd3f0
cmp ebp, dword [edi + 0x10]
jbe 0x51984df
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ebx, dword [edi]
mov dword [esp + 0x14], ebx
push esi
mov ecx, 0x53f4cc8
mov dword [esp + 0x1c], ebp
call fcn.05065960
mov edi, eax
mov eax, dword [edi + 0xd400]
add edi, 0xd3f0
mov dword [esp + 0x1c], eax
cmp dword [edi + 0xc], eax
jbe 0x5198511
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edi, dword [edi]
test ebx, ebx
je 0x519851b
cmp ebx, edi
je 0x5198521
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [esp + 0x1c]
je 0x5199510
test ebx, ebx
jne 0x5198557
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198542
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
movzx eax, byte [ebp]
dec eax
cmp eax, 7
ja case.0x5198550.4
jmp dword [eax*4 + 0x519953c]
mov eax, dword [ebx]
jmp 0x5198537
test ebx, ebx
jne 0x519857d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198572
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x38], 0x10
jb 0x5198581
mov eax, dword [ebp + 0x24]
jmp 0x5198584
mov eax, dword [ebx]
jmp 0x5198567
lea eax, [ebp + 0x24]
push eax
push esi
call fcn.05197780
add esp, 8
test eax, eax
jne 0x5198efd
push 0x52c722a
push 1
push 0x4d7
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x120]
call fcn.051ae270
mov dword [esp + 0x1c], eax
mov dword [esp + 0x278], 1
test ebx, ebx
jne 0x51985e4
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x51985d9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x38], 0x10
jb 0x51985e8
mov edi, dword [ebp + 0x24]
jmp 0x51985eb
mov eax, dword [ebx]
jmp 0x51985ce
lea edi, [ebp + 0x24]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_Find_matched_file_in_target_for_prefix__s_
push eax
mov eax, dword [esp + 0x30]
push eax
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x110]
call fcn.051ae2c0
jmp case.0x5198550.4
lea ecx, [esp + 0x1fc]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov dword [esp + 0x278], 2
lea ecx, [esp + 0x1e0]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0x278], 3
test ebx, ebx
jne 0x51987b5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198677
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, 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 [ecx]
mov edi, dword [esp + 0x18]
push 1
add edi, 0x20
push eax
push 0x529230c
mov ecx, edi
mov dword [esp + 0x28], edi
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 ebp, eax
test ebp, ebp
jl 0x5198fea
test ebx, ebx
jne 0x51987bc
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x51986c3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
push ebp
push 0
lea eax, [esp + 0x140]
push eax
mov ecx, edi
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 [esp + 0x278], 4
push eax
lea ecx, [esp + 0x200]
call dword [0x523a2b0]
mov byte [esp + 0x278], 3
lea ecx, [esp + 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_]
test ebx, ebx
jne 0x51987c3
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x10]
jb 0x5198720
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov edx, dword [esp + 0x18]
mov edi, dword [edx + 0x34]
test ebx, ebx
jne 0x51987ca
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov ecx, dword [esp + 0x18]
cmp ecx, dword [eax + 0x10]
jb 0x5198746
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov ecx, dword [esp + 0x1c]
sub edi, ebp
dec edi
push edi
inc ebp
push ebp
lea edx, [esp + 0x1b0]
push edx
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 [esp + 0x278], 5
push eax
lea ecx, [esp + 0x1e4]
call dword [0x523a2b0]
mov byte [esp + 0x278], 3
lea ecx, [esp + 0x1a8]
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 0x51987d1
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x18]
cmp eax, dword [ebx + 0x10]
jb 0x51987a2
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x1c]
mov ebx, 0x10
cmp dword [eax + 0x18], ebx
jb 0x51987d5
mov eax, dword [eax + 4]
jmp 0x51987d8
mov eax, dword [ebx]
jmp 0x519866c
mov eax, dword [ebx]
jmp 0x51986b4
mov eax, dword [ebx]
jmp 0x5198711
mov eax, dword [ebx]
jmp 0x5198737
mov ebx, dword [ebx]
jmp 0x5198793
add eax, 4
push eax
push esi
call fcn.05194970
add esp, 8
test eax, eax
jne 0x5198f6f
mov eax, dword [esp + 0x1e4]
cmp dword [esp + 0x1f8], ebx
jae 0x5198801
lea eax, [esp + 0x1e4]
push eax
push esi
call fcn.05194a70
add esp, 8
test eax, eax
jne 0x5199021
cmp byte [esp + 0x288], al
je 0x51989a2
mov ecx, dword [sym.imp.MSVCP90.dll_unsigned_int_const_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::npos]
mov edi, dword [ecx]
lea ecx, [esp + 0x14]
call fcn.05150960
push 1
add eax, 4
push edi
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 edi, eax
push edi
push 0
lea edx, [esp + 0x15c]
push edx
lea ecx, [esp + 0x20]
call fcn.05150960
mov ecx, eax
add ecx, 4
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 [esp + 0x278], 8
push eax
lea ecx, [esp + 0x200]
call dword [0x523a2b0]
mov byte [esp + 0x278], 3
lea ecx, [esp + 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_]
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 4
mov eax, dword [eax + 0x14]
sub eax, edi
dec eax
push eax
inc edi
push edi
lea eax, [esp + 0x194]
push eax
lea ecx, [esp + 0x20]
call fcn.05150960
mov ecx, eax
add ecx, 4
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 [esp + 0x278], 9
push eax
lea ecx, [esp + 0x1e4]
call dword [0x523a2b0]
mov byte [esp + 0x278], 3
lea ecx, [esp + 0x18c]
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 ebp, dword [esp + 0x1e4]
cmp dword [esp + 0x1f8], ebx
jae 0x5198903
lea ebp, [esp + 0x1e4]
mov edi, dword [esp + 0x200]
cmp dword [esp + 0x214], ebx
jae 0x519891a
lea edi, [esp + 0x200]
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 0x3c
push eax
push ebp
push edi
push esi
call fcn.051944e0
add esp, 0x10
test eax, eax
je 0x5198a8a
push str._ERROR:
push 0xff
push 0x504
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0xa8]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x278], 0xa
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [str.Target_NVRAM_Backup_and_Restore_List]
mov eax, dword [eax + 8]
push edx
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:__s_settings_fail_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x278], 3
lea ecx, [esp + 0x98]
jmp 0x5198fe5
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 4
cmp dword [eax + 0x18], ebx
jb 0x51989b8
mov edi, dword [eax + 4]
jmp 0x51989bb
lea edi, [eax + 4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
add eax, 0xd3d4
cmp dword [eax + 0x18], ebx
jb 0x51989d5
mov eax, dword [eax + 4]
jmp 0x51989d8
add eax, 4
push edi
push eax
lea ecx, [esp + 0x23c]
push esi
push ecx
call fcn.05195070
add esp, 0x10
mov byte [esp + 0x278], 0xb
mov edi, dword [esp + 0x238]
cmp dword [esp + 0x24c], ebx
jae 0x5198a0a
lea edi, [esp + 0x238]
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 0x3c
push eax
push edi
push esi
call fcn.05194810
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x519909a
mov ecx, dword [esp + 0x1e4]
cmp dword [esp + 0x1f8], ebx
jae 0x5198a42
lea ecx, [esp + 0x1e4]
mov eax, dword [esp + 0x200]
cmp dword [esp + 0x214], ebx
jae 0x5198a59
lea eax, [esp + 0x200]
push ecx
push eax
push esi
call fcn.05194350
add esp, 0xc
cmp eax, 1
jg 0x519912e
test eax, eax
jl 0x519918c
mov byte [esp + 0x278], 3
lea ecx, [esp + 0x234]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::destructor_void_]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 0xd5ac]
mov ebx, dword [eax + 0xd5a8]
lea ecx, [esp + 0x14]
mov dword [esp + 0x28], edx
call fcn.05150960
mov edi, dword [eax + 0x3c]
xor ebp, ebp
add edi, ebx
adc ebp, dword [esp + 0x28]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov dword [eax + 0xd5a8], edi
mov dword [eax + 0xd5ac], ebp
mov byte [esp + 0x278], 2
lea ecx, [esp + 0x1e0]
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 dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x1fc]
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 ebx, dword [esp + 0x14]
jmp 0x5198ecf
test ebx, ebx
jne 0x5198b3f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198b1d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebx, ebx
jne 0x5198b43
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198b34
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x1c], 0x10
jb 0x5198b47
mov eax, dword [ebp + 8]
jmp 0x5198b4a
mov eax, dword [ebx]
jmp 0x5198b12
mov eax, dword [ebx]
jmp 0x5198b29
lea eax, [ebp + 8]
lea ecx, [ebp + 0x3c]
push ecx
push eax
push esi
call fcn.05194810
add esp, 0xc
test eax, eax
jne 0x5199239
lea ecx, [esp + 0x250]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov dword [esp + 0x278], 0x10
lea ecx, [esp + 0x218]
call dword [sym.imp.MSVCP90.dll_public:_void___thiscall_std::basic_string_char__struct_std::char_traits_char___class_std::allocator_char__::constructor_void_]
mov byte [esp + 0x278], 0x11
test ebx, ebx
jne 0x5198c8a
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [ebx + 0x10]
jb 0x5198ba6
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
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 + 0x20]
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 edi, eax
test edi, edi
jl 0x5199347
push edi
push 0
lea eax, [esp + 0x1cc]
push eax
lea ecx, [esp + 0x20]
call fcn.05150960
mov ecx, eax
add ecx, 0x20
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 [esp + 0x278], 0x12
push eax
lea ecx, [esp + 0x254]
call dword [0x523a2b0]
mov byte [esp + 0x278], 0x11
lea ecx, [esp + 0x1c4]
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, [esp + 0x14]
call fcn.05150960
add eax, 0x20
mov eax, dword [eax + 0x14]
sub eax, edi
dec eax
push eax
inc edi
push edi
lea ecx, [esp + 0x178]
push ecx
lea ecx, [esp + 0x20]
call fcn.05150960
mov ecx, eax
add ecx, 0x20
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 [esp + 0x278], 0x13
push eax
lea ecx, [esp + 0x21c]
call dword [0x523a2b0]
mov byte [esp + 0x278], 0x11
lea ecx, [esp + 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, [esp + 0x14]
call fcn.05150960
add eax, 0x20
mov edi, 0x10
cmp dword [eax + 0x18], edi
jb 0x5198c91
mov eax, dword [eax + 4]
jmp 0x5198c94
mov ebx, dword [ebx]
jmp 0x5198b9b
add eax, 4
push eax
push esi
call fcn.05194970
add esp, 8
test eax, eax
jne 0x51992d2
mov eax, dword [esp + 0x21c]
cmp dword [esp + 0x230], edi
jae 0x5198cbd
lea eax, [esp + 0x21c]
push eax
push esi
call fcn.05194a70
add esp, 8
test eax, eax
jne 0x519937e
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edx, dword [eax + 0xd5ac]
mov ebx, dword [eax + 0xd5a8]
lea ecx, [esp + 0x14]
mov dword [esp + 0x30], edx
call fcn.05150960
mov edi, dword [eax + 0x3c]
xor ebp, ebp
add edi, ebx
adc ebp, dword [esp + 0x30]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov dword [eax + 0xd5a8], edi
mov dword [eax + 0xd5ac], ebp
mov byte [esp + 0x278], 0x10
lea ecx, [esp + 0x218]
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 dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x250]
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 ebx, dword [esp + 0x14]
jmp 0x5198ecf
test ebx, ebx
jne 0x5198d6d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198d62
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x1c], 0x10
jb 0x5198d71
mov eax, dword [ebp + 8]
jmp 0x5198d74
mov eax, dword [ebx]
jmp 0x5198d57
lea eax, [ebp + 8]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
je 0x51993f4
mov edi, dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
test ebx, ebx
jne 0x5198e28
call edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198d9c
call edi
lea eax, [ebp + 0x48]
mov dword [esp + 0x20], eax
mov dword [eax], 0
mov dword [eax + 4], 0
test ebx, ebx
jne 0x5198e2f
call edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198dbf
call edi
lea ecx, [ebp + 0x50]
mov dword [esp + 0x1c], ecx
call fcn.0506a630
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
test ebx, ebx
jne 0x5198e33
call edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198de5
call edi
test ebx, ebx
jne 0x5198e37
call edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198df4
call edi
test ebx, ebx
jne 0x5198e3b
call edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198e03
call edi
mov edi, dword [ebp + 0x18]
test ebx, ebx
jne 0x5198e3f
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198e1d
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x1c], 0x10
jb 0x5198e43
mov ebp, dword [ebp + 8]
jmp 0x5198e46
mov eax, dword [ebx]
jmp 0x5198d95
mov eax, dword [ebx]
jmp 0x5198db8
mov eax, dword [ebx]
jmp 0x5198dde
mov eax, dword [ebx]
jmp 0x5198ded
mov eax, dword [ebx]
jmp 0x5198dfc
mov eax, dword [ebx]
jmp 0x5198e12
add ebp, 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [esp + 0x20]
push eax
mov eax, dword [esp + 0x20]
push eax
push 0
push ecx
push 0x539873c
push edi
push ebp
call fcn.0506e810
add esp, 0x1c
test eax, eax
je 0x5198e7a
cmp eax, 0x13
jne 0x519948d
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov edi, dword [eax + 0xd5a8]
mov ebp, dword [eax + 0xd5ac]
test ebx, ebx
jne 0x5198ef5
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 0x10]
jb 0x5198eac
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
mov eax, dword [esp + 0x18]
add eax, 0x48
add edi, dword [eax]
push esi
adc ebp, dword [eax + 4]
mov ecx, 0x53f4cc8
call fcn.05065960
mov dword [eax + 0xd5a8], edi
mov dword [eax + 0xd5ac], ebp
mov ebp, dword [esp + 0x18]
test ebx, ebx
jne 0x5198ef9
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
xor eax, eax
cmp ebp, dword [eax + 0x10]
jb 0x5198eea
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
add ebp, 0x98
jmp 0x51984e5
mov eax, dword [ebx]
jmp 0x5198e9d
mov eax, dword [ebx]
jmp 0x5198edf
push str._ERROR:
push 0xff
push 0x4d2
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x6c]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x278], 0
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov ecx, dword [str.Target_NVRAM_Backup_and_Restore_List]
mov eax, dword [eax + 8]
push ecx
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:__s_settings_fail_
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x5c]
call fcn.051ae2c0
mov eax, 0xfffffffe
jmp 0x5199512
push str._ERROR:
push 0xff
push 0x4ec
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0xbc]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x278], 6
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 0x20
cmp dword [eax + 0x18], ebx
jb 0x5198faf
mov edi, dword [eax + 4]
jmp 0x5198fb2
lea edi, [eax + 4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_File_Path___s__has_invalid_characters
push eax
push ebp
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x278], 3
lea ecx, [esp + 0xac]
call fcn.051ae2c0
mov byte [esp + 0x278], 2
lea ecx, [esp + 0x1e0]
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 dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x1fc]
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 eax, 0xfffffffd
jmp 0x5199512
push str._ERROR:
push 0xff
push 0x4f4
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0xe4]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x278], 7
cmp dword [esp + 0x1f8], ebx
mov ebx, dword [esp + 0x1e4]
jae 0x5199062
lea ebx, [esp + 0x1e4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebx
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_File_Name___s__has_invalid_characters
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x278], 3
lea ecx, [esp + 0xd4]
jmp 0x5198fe5
push str._ERROR:
push 0xff
push 0x512
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x10c]
call fcn.051ae270
mov ebp, eax
mov byte [esp + 0x278], 0xc
cmp dword [esp + 0x1f8], ebx
mov ebx, dword [esp + 0x1e4]
jae 0x51990db
lea ebx, [esp + 0x1e4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push ebx
push str.CheckINIFileSettingsVec
push esi
push str.__d___s:_find__s_in_backup_folder_fail__ret_code__d_
push eax
push ebp
call fcn.051ae2d0
add esp, 0x1c
mov byte [esp + 0x278], 0xb
lea ecx, [esp + 0xfc]
call fcn.051ae2c0
mov byte [esp + 0x278], 3
lea ecx, [esp + 0x234]
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 0x5198fea
push str._ERROR:
push 0xff
push 0x51c
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0xd0]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x278], 0xd
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_target_has_more_than_one_matched_files__so_please_check_your_ini_settings_
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov byte [esp + 0x278], 0xb
lea ecx, [esp + 0xc0]
jmp 0x519910f
push str._ERROR:
push 0xff
push 0x522
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x134]
call fcn.051ae270
mov edi, eax
mov byte [esp + 0x278], 0xe
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push str.CheckINIFileSettingsVec
push esi
push str.__d___s:_find_file_error__Please_contact_us_
push eax
push edi
call fcn.051ae2d0
add esp, 0x14
mov byte [esp + 0x278], 0xb
lea ecx, [esp + 0x124]
call fcn.051ae2c0
mov byte [esp + 0x278], 3
lea ecx, [esp + 0x234]
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 [esp + 0x278], 2
lea ecx, [esp + 0x1e0]
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 dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x1fc]
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 eax, 0xfffffffa
jmp 0x5199512
push str._ERROR:
push 0xff
push 0x530
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0xf8]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x278], 0xf
test ebx, ebx
jne 0x5199286
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [ebx + 0x10]
jb 0x519927b
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x1c], 0x10
jb 0x519928a
mov ebp, dword [ebp + 8]
jmp 0x519928d
mov ebx, dword [ebx]
jmp 0x5199270
add ebp, 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_INI_settings_error:_can_not_find_PC_side_file__s
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0xe8]
call fcn.051ae2c0
mov eax, 0xfffffffc
jmp 0x5199512
push str._ERROR:
push 0xff
push 0x542
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x44]
call fcn.051ae270
mov ebx, eax
mov byte [esp + 0x278], 0x14
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 0x20
cmp dword [eax + 0x18], edi
jb 0x519930f
mov edi, dword [eax + 4]
jmp 0x5199312
lea edi, [eax + 4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_File_Path___s__has_invalid_characters
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x278], 0x11
lea ecx, [esp + 0x34]
call fcn.051ae2c0
mov byte [esp + 0x278], 0x10
lea ecx, [esp + 0x218]
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 dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x250]
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 eax, 0xfffffffc
jmp 0x5199512
push str._ERROR:
push 0xff
push 0x54a
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x80]
call fcn.051ae270
mov ebx, eax
mov byte [esp + 0x278], 0x15
cmp dword [esp + 0x230], edi
mov edi, dword [esp + 0x21c]
jae 0x51993bf
lea edi, [esp + 0x21c]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_File_Name___s__has_invalid_characters
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov byte [esp + 0x278], 0x11
lea ecx, [esp + 0x70]
jmp 0x5199342
push str._ERROR:
push 0xff
push 0x56f
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x94]
call fcn.051ae270
mov edi, eax
mov dword [esp + 0x278], 0x16
test ebx, ebx
jne 0x5199441
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp ebp, dword [ebx + 0x10]
jb 0x5199436
call dword [sym.imp.MSVCR90.dll__invalid_parameter_noinfo]
cmp dword [ebp + 0x1c], 0x10
jb 0x5199445
mov ebp, dword [ebp + 8]
jmp 0x5199448
mov ebx, dword [ebx]
jmp 0x519942b
add ebp, 8
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push ebp
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_INI_settings_error:_can_not_find_PC_side_folder__s
push eax
push edi
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x84]
call fcn.051ae2c0
mov eax, 0xfffffff5
jmp 0x5199512
push str._ERROR:
push 0xff
push 0x57e
push str..MetaUtilityMETA_misc_utils.cpp
lea ecx, [esp + 0x58]
call fcn.051ae270
mov ebx, eax
mov dword [esp + 0x278], 0x17
lea ecx, [esp + 0x14]
call fcn.05150960
add eax, 4
cmp dword [eax + 0x18], 0x10
jb 0x51994ce
mov edi, dword [eax + 4]
jmp 0x51994d1
lea edi, [eax + 4]
push esi
mov ecx, 0x53f4cc8
call fcn.05065960
mov eax, dword [eax + 8]
push edi
push str.CheckINIFileSettingsVec
push esi
push str.__d___s__:_INI_settings_error:_traverse_PC_folder__s_failed
push eax
push ebx
call fcn.051ae2d0
add esp, 0x18
mov dword [esp + 0x278], 0xffffffff
lea ecx, [esp + 0x48]
call fcn.051ae2c0
mov eax, 0xfffffff5
jmp 0x5199512
xor eax, eax
mov ecx, dword [esp + 0x270]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x258]
xor ecx, esp
call fcn.0520b902
add esp, 0x268
ret