Function at 0x100255c0
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 0x10099627
mov eax, dword fs:[0]
push eax
sub esp, 0x8d8
mov eax, dword [0x100e6018]
xor eax, esp
mov dword [esp + 0x8d0], eax
push ebx
push esi
push edi
mov eax, dword [0x100e6018]
xor eax, esp
push eax
lea eax, [esp + 0x8e8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x28], eax
lea eax, [esp + 0xa4]
push eax
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 + 0x8f0], 0
cmp dword [esp + 0xb4], 0
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
je 0x10025c15
xor eax, eax
push 0x40e
push eax
mov word [esp + 0x4d4], ax
lea eax, [esp + 0x4d6]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [esp + 0xb8], 8
lea eax, [esp + 0xa4]
cmovae eax, dword [esp + 0xa4]
push str.inst_cfg.ini
push eax
lea eax, [esp + 0x4d4]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
lea eax, [esp + 0x4cc]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x10025c15
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x4d0]
push eax
mov byte [esp + 0x8f8], 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______
mov edi, dword [esp + 0x80]
mov esi, dword [esp + 0x7c]
add esp, 8
test al, al
jne 0x100256e2
xor bl, bl
jmp 0x10025bfc
xor eax, eax
push 0x40e
push eax
mov word [esp + 0xc4], ax
lea eax, [esp + 0xc6]
push eax
call sub.MSVCR110.dll_memset
mov ecx, edi
sub ecx, esi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add esp, 0xc
add eax, edx
mov dword [esp + 0x24], eax
je 0x10025bfa
mov edi, esi
mov esi, dword [sym.imp.MSVCR110.dll__wcsicmp]
mov dword [esp + 0x1c], edi
lea ecx, [ecx]
push 0x410
lea eax, [esp + 0xc0]
push 0
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x10025751
mov eax, dword [edi]
jmp 0x10025753
mov eax, edi
lea ecx, [esp + 0x4cc]
push ecx
push 0x410
lea ecx, [esp + 0xc4]
push ecx
push 0
push 0x100b47e0
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
test eax, eax
je 0x10025be1
lea eax, [esp + 0xbc]
push 0x100b2814
push eax
call esi
add esp, 8
test eax, eax
je 0x10025be1
lea eax, [esp + 0xbc]
push eax
call dword [sym.imp.MSVCR110.dll__wtoi64]
mov esi, eax
add esp, 4
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], edx
test esi, esi
jne 0x100257bf
test edx, edx
je 0x10025bdb
mov ecx, esi
add ecx, 0xffffffff
mov eax, edx
adc eax, 0xffffffff
and eax, edx
and ecx, esi
jne 0x10025bdb
test eax, eax
jne 0x10025bdb
push 0x410
push eax
lea eax, [esp + 0xc4]
push eax
call sub.MSVCR110.dll_memset
add esp, 0xc
cmp dword [edi + 0x14], 8
jb 0x100257fb
mov eax, dword [edi]
jmp 0x100257fd
mov eax, edi
lea ecx, [esp + 0x4cc]
push ecx
push 0x410
lea ecx, [esp + 0xc4]
push ecx
push 0
push str.auto
push eax
call dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
mov esi, dword [sym.imp.MSVCR110.dll__wcsicmp]
lea eax, [esp + 0xbc]
push 0x100b2814
push eax
call esi
add esp, 8
test eax, eax
je 0x10025be1
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp + 0x88], 0
push 0
push 0x100b4bac
lea eax, [esp + 0x88]
push eax
lea eax, [esp + 0xc8]
push eax
mov byte [esp + 0x900], 2
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
jne 0x100258a5
lea ecx, [esp + 0x80]
mov byte [esp + 0x8f0], 1
call fcn.1001a0b0
jmp 0x10025be1
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
sub ecx, edi
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x20], edi
mov dword [esp + 0x14], eax
je 0x10025bc1
jmp 0x100258e0
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
mov byte [esp + 0x8f0], 3
cmp dword [edi + 0x14], 8
jb 0x1002590a
mov eax, dword [edi]
jmp 0x1002590c
mov eax, edi
push 0
push 0x100b4bb0
lea ecx, [esp + 0x58]
push ecx
push eax
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_
push 0x28
call dword [sym.imp.MSVCR110.dll_void____cdecl_operator_new_unsigned_int_]
add esp, 0x14
mov dword [esp + 0x4c], eax
mov byte [esp + 0x8f0], 4
test eax, eax
je 0x10025944
mov ecx, eax
call fcn.1001e080
mov esi, eax
jmp 0x10025946
xor esi, esi
mov byte [esp + 0x8f0], 3
mov ecx, dword [esp + 0x54]
sub ecx, dword [esp + 0x50]
mov eax, 0x2aaaaaab
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x4c], esi
mov dword [esp + 0x18], eax
je 0x10025b6c
mov edi, dword [esp + 0x50]
lea esp, [esp]
xor eax, eax
push 0xffffffffffffffff
push eax
push edi
lea ecx, [esp + 0x68]
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], 0
mov word [esp + 0x68], ax
call fcn.10008c80
push 0x100b2814
lea ecx, [esp + 0x90]
mov byte [esp + 0x8f4], 5
call fcn.10008550
mov byte [esp + 0x8f0], 6
test esi, esi
je 0x10025b0d
mov eax, dword [esp + 0x2c]
mov dword [esi], eax
mov eax, dword [esp + 0x30]
push 7
mov dword [esi + 4], eax
push 0
lea eax, [esp + 0x3c]
push eax
lea ecx, [esp + 0x68]
call fcn.10011440
mov edx, eax
mov ecx, 0x100b4bb4
mov byte [esp + 0x8f0], 7
call fcn.10028bf0
mov byte [esp + 0x8f0], 6
cmp dword [esp + 0x48], 8
mov bl, al
jb 0x10025a1e
push dword [esp + 0x34]
call dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
add esp, 4
lea ecx, [esp + 0x5c]
test bl, bl
je 0x10025a6f
cmp dword [esp + 0x70], 8
mov eax, dword [esp + 0x6c]
cmovae ecx, dword [esp + 0x5c]
movzx eax, word [ecx + eax*2 - 2]
push eax
lea ecx, [esp + 0x90]
call fcn.10026f40
cmp dword [esp + 0xa0], 8
lea eax, [esp + 0x8c]
cmovae eax, dword [esp + 0x8c]
push eax
call dword [sym.imp.MSVCR110.dll__wtoi]
add esp, 4
mov dword [esi + 8], eax
jmp 0x10025b07
push 0xa
push 0
lea eax, [esp + 0x3c]
push eax
call fcn.10011440
mov edx, eax
mov ecx, str.authority:
mov byte [esp + 0x8f0], 8
call fcn.10028bf0
lea ecx, [esp + 0x34]
mov bl, al
mov byte [esp + 0x8f0], 6
call sym.iImportLib.dll_public:_void___thiscall_elex::strings::CAnalyzeCmdline::destructor_void_
test bl, bl
je 0x10025af2
cmp dword [esp + 0x70], 8
mov eax, dword [esp + 0x6c]
lea ecx, [esp + 0x5c]
cmovae ecx, dword [esp + 0x5c]
movzx eax, word [ecx + eax*2 - 2]
push eax
lea ecx, [esp + 0x90]
call fcn.10026f40
cmp dword [esp + 0xa0], 8
lea eax, [esp + 0x8c]
cmovae eax, dword [esp + 0x8c]
push eax
call dword [sym.imp.MSVCR110.dll__wtoi]
add esp, 4
mov dword [esi + 0x24], eax
jmp 0x10025b07
lea ecx, [esi + 0xc]
lea eax, [esp + 0x5c]
cmp ecx, eax
je 0x10025b07
push 0xffffffffffffffff
push 0
push eax
call fcn.10008c80
mov ebx, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
cmp dword [esp + 0xa0], 8
jb 0x10025b23
push dword [esp + 0x8c]
call ebx
add esp, 4
xor eax, eax
mov byte [esp + 0x8f0], 3
cmp dword [esp + 0x70], 8
mov dword [esp + 0xa0], 7
mov dword [esp + 0x9c], 0
mov word [esp + 0x8c], ax
jb 0x10025b5b
push dword [esp + 0x5c]
call ebx
add esp, 4
add edi, 0x18
dec dword [esp + 0x18]
jne 0x10025980
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x4c]
push eax
call fcn.1000d380
mov esi, dword [esp + 0x50]
test esi, esi
je 0x10025baa
push dword [esp + 0x54]
push esi
call fcn.1001a1d0
push esi
call ebx
add esp, 4
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x58], 0
add edi, 0x18
dec dword [esp + 0x14]
mov dword [esp + 0x20], edi
jne 0x100258e0
mov esi, dword [sym.imp.MSVCR110.dll__wcsicmp]
lea ecx, [esp + 0x80]
mov byte [esp + 0x8f0], 1
call fcn.1001a0b0
mov edi, dword [esp + 0x1c]
jmp 0x10025be1
mov esi, dword [sym.imp.MSVCR110.dll__wcsicmp]
add edi, 0x18
dec dword [esp + 0x24]
mov dword [esp + 0x1c], edi
jne 0x10025730
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x78]
mov bl, 1
test esi, esi
je 0x10025c17
push edi
push esi
call fcn.1001a1d0
push esi
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
call esi
add esp, 4
jmp 0x10025c1d
xor bl, bl
mov esi, dword [sym.imp.MSVCR110.dll_void___cdecl_operator_delete_void__]
cmp dword [esp + 0xb8], 8
jb 0x10025c33
push dword [esp + 0xa4]
call esi
add esp, 4
mov al, bl
mov ecx, dword [esp + 0x8e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x8d0]
xor ecx, esp
call fcn.100947be
mov esp, ebp
pop ebp
ret