Function at 0x10025c80
Capabilities:
Check if file exists
Read .ini file
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x10099c0e
mov eax, dword fs:[0]
push eax
push ecx
mov eax, 0x1324
call fcn.100974c0
mov eax, dword [0x100e6018]
xor eax, esp
mov dword [esp + 0x1320], eax
push ebx
push esi
push edi
mov eax, dword [0x100e6018]
xor eax, esp
push eax
lea eax, [esp + 0x1338]
mov dword fs:[0], eax
mov eax, dword [ebp + 0x10]
mov esi, dword [ebp + 8]
mov dword [esp + 0x20], eax
lea eax, [esp + 0xcc]
push eax
mov dword [esp + 0x1c], esi
call sym.iImportLib.dll_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_____cdecl_elex::func::GetInstallPath_void_
add esp, 4
mov dword [esp + 0x1340], 0
cmp dword [esp + 0xdc], 0
mov edi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
je 0x10026522
xor eax, eax
push 0x40e
push eax
mov word [esp + 0xec], ax
lea eax, [esp + 0xee]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [esp + 0xe0], 8
lea eax, [esp + 0xcc]
cmovae eax, dword [esp + 0xcc]
push str.inst_cfg.ini
push eax
lea eax, [esp + 0xec]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0xe4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10026522
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
lea eax, [esp + 0x90]
push eax
lea eax, [esp + 0xe8]
push eax
mov byte [esp + 0x1348], 1
call sym.iImportLib.dll_bool___cdecl_elex::func::GetAllSectionsName_wchar_t_const___class_std::vector_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____class_std::allocator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t______
add esp, 8
test al, al
jne 0x10025daf
xor bl, bl
jmp 0x10026502
push 0x100b2814
lea ecx, [esp + 0x70]
call fcn.10008550
xor eax, eax
push 0x40e
mov byte [esp + 0x1344], 2
push eax
mov word [esp + 0x4fc], ax
lea eax, [esp + 0x4fe]
push eax
call sub.MSVCR110.dll_memset
mov ecx, dword [esp + 0xa0]
sub ecx, dword [esp + 0x9c]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add esp, 0xc
xor ebx, ebx
add eax, edx
mov dword [esp + 0x1c], eax
je 0x10025ef9
mov esi, dword [esp + 0x90]
jmp 0x10025e20
push 0x410
lea eax, [esp + 0x4f8]
push 0
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [esi + 0x14], 8
jb 0x10025e41
mov eax, dword [esi]
jmp 0x10025e43
mov eax, esi
lea ecx, [esp + 0xe4]
push ecx
push 0x410
lea ecx, [esp + 0x4fc]
push ecx
push 0
push 0x100b47e0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x10025ec0
lea eax, [esp + 0x4f4]
push 0x100b2814
push eax
call dword [sym.imp.MSVCR110.dll__wcsicmp]
add esp, 8
test eax, eax
je 0x10025ec0
lea eax, [esp + 0x4f4]
push eax
call dword [sym.imp.MSVCR110.dll__wtoi64]
mov edi, eax
add esp, 4
test edi, edi
jne 0x10025e9f
test edx, edx
je 0x10025ec0
mov eax, edi
add eax, 0xffffffff
mov ecx, edx
adc ecx, 0xffffffff
and ecx, edx
and eax, edi
jne 0x10025ec0
test ecx, ecx
jne 0x10025ec0
mov eax, dword [esp + 0x18]
cmp edi, dword [eax]
jne 0x10025ec0
cmp edx, dword [eax + 4]
je 0x10025ed0
inc ebx
add esi, 0x18
cmp ebx, dword [esp + 0x1c]
jb 0x10025e20
jmp 0x10025eef
mov edx, dword [esp + 0x90]
lea eax, [ebx + ebx*2]
lea ecx, [esp + 0x6c]
lea eax, [edx + eax*8]
cmp ecx, eax
je 0x10025eef
push 0xffffffffffffffff
push 0
push eax
call fcn.10008c80
mov edi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
mov esi, dword [esp + 0x18]
cmp dword [esp + 0x7c], 0
je 0x100264d3
push 0x410
lea eax, [esp + 0x4f8]
push 0
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [esp + 0x80], 8
lea ecx, [esp + 0xe4]
push ecx
push 0x410
lea ecx, [esp + 0x4fc]
push ecx
push 0
lea eax, [esp + 0x7c]
cmovae eax, dword [esp + 0x7c]
push str.auto
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
lea eax, [esp + 0x4f4]
push 0x100b2814
push eax
call dword [sym.imp.MSVCR110.dll__wcsicmp]
add esp, 8
test eax, eax
jne 0x10025f73
cmp dword [ebp + 0xc], 1
je 0x100264d3
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
push 0
push 0x100b4bac
lea eax, [esp + 0x8c]
push eax
lea eax, [esp + 0x500]
push eax
mov byte [esp + 0x1350], 3
call sym.iImportLib.dll_bool___cdecl_elex::func::GetSubStr_wchar_t_const___class_std::vector_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t____class_std::allocator_class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t_______char___bool_
add esp, 0x10
test al, al
mov eax, dword [esp + 0x84]
jne 0x10025fcd
xor bl, bl
jmp 0x100264b4
xor eax, eax
push 0x206
push eax
mov word [esp + 0x90c], ax
lea eax, [esp + 0x90e]
push eax
call sub.MSVCR110.dll_memset
push dword [esi + 8]
lea eax, [esp + 0x914]
push str.autoid:_d
push 0x208
push eax
call fcn.1001a3f0
add esp, 0x1c
lea ecx, [esp + 0x9c]
push 0x100b2814
call fcn.10008550
push 0x100b2814
lea ecx, [esp + 0x58]
mov byte [esp + 0x1344], 4
call fcn.10008550
mov byte [esp + 0x1340], 5
mov ecx, dword [esp + 0x88]
sub ecx, dword [esp + 0x84]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
xor bl, bl
shr eax, 0x1f
add eax, edx
mov byte [esp + 0x17], bl
mov dword [esp + 0x1c], eax
je 0x1002618d
mov esi, dword [esp + 0x84]
lea esp, [esp]
lea eax, [esp + 0x9c]
cmp eax, esi
je 0x10026087
push 0xffffffffffffffff
push 0
push esi
mov ecx, eax
call fcn.10008c80
cmp dword [esp + 0xb0], 8
lea ecx, [esp + 0x904]
lea eax, [esp + 0x9c]
cmovae eax, dword [esp + 0x9c]
push ecx
push eax
call dword [sym.imp.SHLWAPI.dll_StrStrW]
test eax, eax
je 0x100260bc
mov bl, 1
mov byte [esp + 0x17], bl
jmp 0x1002617c
lea eax, [esp + 0x9c]
push eax
lea edx, [esp + 0x58]
lea ecx, [esp + 0x28]
call fcn.10016d00
push 0x100b4bf0
mov edx, eax
lea ecx, [esp + 0xbc]
mov byte [esp + 0x1348], 6
call fcn.10011da0
mov ebx, eax
lea eax, [esp + 0x5c]
add esp, 8
cmp eax, ebx
je 0x1002612a
cmp dword [esp + 0x68], 8
jb 0x10026109
push dword [esp + 0x54]
call edi
add esp, 4
xor eax, eax
push ebx
lea ecx, [esp + 0x58]
mov dword [esp + 0x6c], 7
mov dword [esp + 0x68], 0
mov word [esp + 0x58], ax
call fcn.1000d5d0
cmp dword [esp + 0xc8], 8
jb 0x10026140
push dword [esp + 0xb4]
call edi
add esp, 4
xor eax, eax
mov byte [esp + 0x1340], 5
cmp dword [esp + 0x38], 8
mov dword [esp + 0xc8], 7
mov dword [esp + 0xc4], 0
mov word [esp + 0xb4], ax
jb 0x10026178
push dword [esp + 0x24]
call edi
add esp, 4
mov bl, byte [esp + 0x17]
add esi, 0x18
dec dword [esp + 0x1c]
jne 0x10026070
mov esi, dword [esp + 0x18]
cmp dword [ebp + 0xc], 1
jne 0x10026255
test bl, bl
je 0x1002644e
cmp dword [esp + 0x64], 0
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x6c]
jne 0x100261ef
lea ecx, [esp + 0xe4]
push ecx
push 0
push str.auto
test edx, edx
je 0x100261d6
cmp dword [esp + 0x8c], 8
cmovae eax, dword [esp + 0x78]
push eax
call edx
jmp 0x1002644e
cmp dword [esp + 0x8c], 8
cmovae eax, dword [esp + 0x78]
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x1002644e
lea ecx, [esp + 0x54]
test edx, edx
je 0x10026224
cmp dword [esp + 0x68], 8
lea esi, [esp + 0xe4]
cmovae ecx, dword [esp + 0x54]
cmp dword [esp + 0x80], 8
push esi
cmovae eax, dword [esp + 0x70]
push ecx
push str.auto
push eax
call edx
jmp 0x1002644e
cmp dword [esp + 0x68], 8
lea edx, [esp + 0xe4]
cmovae ecx, dword [esp + 0x54]
cmp dword [esp + 0x80], 8
push edx
cmovae eax, dword [esp + 0x70]
push ecx
push str.auto
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
jmp 0x1002644e
xor eax, eax
push 0x81e
push eax
mov word [esp + 0xb14], ax
lea eax, [esp + 0xb16]
push eax
call sub.MSVCR110.dll_memset
lea eax, [esi + 0xc]
add esp, 0xc
cmp dword [eax + 0x14], 8
jb 0x10026280
mov eax, dword [eax]
push eax
push dword [esi + 0x24]
lea eax, [esp + 0xb14]
push dword [esi + 8]
push str.autoid:_dauthority:_d_s
push 0x820
push eax
call fcn.1001a3f0
add esp, 0x18
lea eax, [esp + 0xb0c]
push eax
lea ecx, [esp + 0xb8]
call fcn.10008550
mov byte [esp + 0x1340], 7
mov eax, dword [esp + 0x64]
test eax, eax
jne 0x10026318
cmp word [esp + 0xb0c], ax
jne 0x100262e8
xor ecx, ecx
push ecx
lea eax, [esp + 0xb10]
push eax
lea ecx, [esp + 0x5c]
call fcn.100089b0
jmp 0x100263d2
lea ecx, [esp + 0xb0c]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x100262f2
sub ecx, edx
sar ecx, 1
push ecx
lea eax, [esp + 0xb10]
push eax
lea ecx, [esp + 0x5c]
call fcn.100089b0
jmp 0x100263d2
push 3
add eax, 0xfffffffd
push eax
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x60]
call fcn.10011440
push 3
push 0x100b4bf0
mov byte [esp + 0x1348], 8
push dword [eax + 0x10]
push ecx
mov ecx, eax
call fcn.10010100
test eax, eax
setne bl
mov byte [esp + 0x1340], 7
cmp dword [esp + 0x38], 8
jb 0x10026363
push dword [esp + 0x24]
call edi
add esp, 4
test bl, bl
je 0x100263bd
push 0x100b4bf0
lea edx, [esp + 0x58]
lea ecx, [esp + 0x40]
call fcn.10011cb0
lea ecx, [esp + 0xb8]
push ecx
mov edx, eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1348], 9
call fcn.100169d0
add esp, 8
lea ecx, [esp + 0x54]
push eax
call fcn.1000d090
lea ecx, [esp + 0x24]
call sym.iImportLib.dll_public:_void___thiscall_elex::strings::CAnalyzeCmdline::destructor_void_
lea ecx, [esp + 0x3c]
mov byte [esp + 0x1340], 7
call sym.iImportLib.dll_public:_void___thiscall_elex::strings::CAnalyzeCmdline::destructor_void_
jmp 0x100263d2
push 0xffffffffffffffff
push 0
lea eax, [esp + 0xbc]
push eax
lea ecx, [esp + 0x60]
call fcn.10011780
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x54]
lea eax, [esp + 0x6c]
test edx, edx
je 0x1002640c
cmp dword [esp + 0x68], 8
lea esi, [esp + 0xe4]
cmovae ecx, dword [esp + 0x54]
cmp dword [esp + 0x80], 8
push esi
cmovae eax, dword [esp + 0x70]
push ecx
push str.auto
push eax
call edx
jmp 0x10026438
cmp dword [esp + 0x68], 8
lea edx, [esp + 0xe4]
cmovae ecx, dword [esp + 0x54]
cmp dword [esp + 0x80], 8
push edx
cmovae eax, dword [esp + 0x70]
push ecx
push str.auto
push eax
call dword [sym.imp.KERNEL32.dll_WritePrivateProfileStringW]
cmp dword [esp + 0xc8], 8
jb 0x1002644e
push dword [esp + 0xb4]
call edi
add esp, 4
cmp dword [esp + 0x68], 8
mov bl, 1
jb 0x10026460
push dword [esp + 0x54]
call edi
add esp, 4
xor eax, eax
cmp dword [esp + 0xb0], 8
mov dword [esp + 0x68], 7
mov dword [esp + 0x64], 0
mov word [esp + 0x54], ax
jb 0x1002648d
push dword [esp + 0x9c]
call edi
add esp, 4
xor eax, eax
mov word [esp + 0x9c], ax
mov eax, dword [esp + 0x84]
mov dword [esp + 0xb0], 7
mov dword [esp + 0xac], 0
test eax, eax
je 0x100264d5
push dword [esp + 0x88]
push eax
call fcn.1001a1d0
push dword [esp + 0x84]
call edi
add esp, 4
jmp 0x100264d5
xor bl, bl
cmp dword [esp + 0x80], 8
jb 0x100264e8
push dword [esp + 0x6c]
call edi
add esp, 4
xor eax, eax
mov dword [esp + 0x80], 7
mov dword [esp + 0x7c], 0
mov word [esp + 0x6c], ax
mov esi, dword [esp + 0x90]
test esi, esi
je 0x10026524
push dword [esp + 0x94]
push esi
call fcn.1001a1d0
push esi
call edi
add esp, 4
jmp 0x10026524
xor bl, bl
cmp dword [esp + 0xe0], 8
jb 0x1002653a
push dword [esp + 0xcc]
call edi
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x1338]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x1320]
xor ecx, esp
call fcn.100947be
mov esp, ebp
pop ebp
ret