Function at 0x10028060
Capabilities:
Read .ini file

Disassembly:
push ebp
mov ebp, esp
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x100a0e81
push eax
mov eax, 0x1330
mov dword fs:[0], esp
call fcn.1009d950
push ebx
push esi
push edi
push 0x140
lea eax, [ebp - 0x208]
push 0
push eax
call fcn.1007cff0
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
mov dword [ebp - 0x10], eax
call sym.dopuslib32.dll_FindFileExtensionW
add esp, 0x10
mov dword [ebp + 8], eax
test eax, eax
je 0x1002847e
mov edi, str..dcf
mov ecx, eax
or esi, 0xffffffff
sub ecx, edi
mov dword [ebp - 0x14], ecx
lea ecx, [ecx]
test esi, esi
js 0x100280db
mov eax, esi
dec esi
test eax, eax
jle 0x1002811f
movzx eax, word [edi + ecx]
push eax
call fcn.10086fcc
movzx ebx, ax
movzx eax, word [edi]
push eax
call fcn.10086fcc
movzx eax, ax
add esp, 8
cmp bx, ax
jne 0x10028109
test bx, bx
je 0x1002811f
mov ecx, dword [ebp - 0x14]
add edi, 2
jmp 0x100280d0
test ax, ax
jne 0x10028113
cmp esi, 0xffffff9d
je 0x1002811f
mov ecx, eax
mov eax, ebx
sub eax, ecx
jne 0x10028371
push 0xf0
lea eax, [ebp - 0x2f8]
push 0
push eax
call fcn.1007cff0
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x2f8]
mov edi, dword [sym.imp.KERNEL32.dll_GetPrivateProfileStringW]
add esp, 0xc
push esi
push 0x78
push eax
push 0x100ab578
push str.ToolTip
push str.DOpus.ButtonInfo
call edi
mov ebx, dword [sym.imp.KERNEL32.dll_LocalFree]
test eax, eax
jne 0x100282d5
push esi
push 0x78
lea eax, [ebp - 0x2f8]
push eax
push 0x100ab578
push str.Func1
push str.DOpus.ButtonInfo
call edi
test eax, eax
jne 0x100282d5
lea ecx, [ebp - 0x84]
call fcn.10040aa0
mov dword [ebp - 4], 0
mov dword [ebp - 0x84], vtable.TiXmlHelper.0
mov dword [ebp - 4], 1
push ecx
push esi
lea ecx, [ebp - 0x84]
call fcn.10040b90
test al, al
je 0x1002830d
lea eax, [ebp - 0x84]
mov dword [ebp + 8], eax
lea ecx, [ebp + 8]
push str.button
lea eax, [ebp - 0x14]
push eax
call fcn.100421c0
push 0x100b1700
lea ecx, [ebp - 0x10]
push ecx
mov ecx, eax
call fcn.100421c0
lea ecx, [ebp - 0x18]
push ecx
mov ecx, eax
call fcn.10042190
mov ecx, eax
call fcn.100063b0
test eax, eax
jne 0x1002824d
push str.button
lea eax, [ebp - 0x1c]
push eax
lea ecx, [ebp + 8]
call fcn.100421c0
push str.function
lea ecx, [ebp - 0x20]
push ecx
mov ecx, eax
call fcn.100421c0
push str.instruction
lea ecx, [ebp - 0x24]
push ecx
mov ecx, eax
call fcn.100421c0
lea ecx, [ebp - 0x28]
push ecx
mov ecx, eax
call fcn.10042190
mov ecx, eax
call fcn.100063b0
test eax, eax
je 0x1002830d
mov eax, dword [eax + 0x20]
push 0
push ecx
add eax, 8
lea ecx, [ebp - 0x34]
push eax
call fcn.100013e0
mov byte [ebp - 4], 3
mov esi, dword [eax]
test esi, esi
jne 0x10028274
xor eax, eax
mov word [ebp - 0x2f8], ax
jmp 0x100282af
lea ecx, [ebp - 0x2f8]
mov edx, 0x78
mov eax, ecx
sub esi, eax
lea eax, [edx + 0x7fffff86]
test eax, eax
je 0x100282aa
movzx eax, word [ecx + esi]
test ax, ax
je 0x100282a3
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x10028283
jmp 0x100282a7
test edx, edx
jne 0x100282aa
sub ecx, 2
xor eax, eax
mov word [ecx], ax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100282c3
cmp dword [ebp - 0x30], 0
je 0x100282c3
push eax
call ebx
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.10006280
cmp word [ebp - 0x2f8], 0
je 0x100285cb
push 0
push 0x4e31
lea ecx, [ebp + 8]
mov dword [ebp + 8], 0
call sym.dopuslib32.dll_public:_wchar_t_const____thiscall_LibStringW::Init_int__bool_
mov dword [ebp - 4], 6
mov esi, dword [ebp + 8]
test esi, esi
je 0x10028337
mov eax, esi
mov edi, esi
jmp 0x1002833e
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x84]
call fcn.10006280
pop edi
pop esi
mov eax, 0x80004005
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
mov eax, 0x100ab578
xor edi, edi
lea ecx, [ebp - 0x2f8]
push ecx
push eax
lea eax, [ebp - 0x208]
push 0xa0
push eax
call fcn.1000b000
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x100285cb
push esi
call ebx
jmp 0x100285cb
mov ecx, dword [ebp + 8]
mov edi, str..dps
or esi, 0xffffffff
sub ecx, edi
mov dword [ebp + 8], ecx
test esi, esi
js 0x1002838c
mov eax, esi
dec esi
test eax, eax
jle 0x100283d0
movzx eax, word [edi + ecx]
push eax
call fcn.10086fcc
movzx ebx, ax
movzx eax, word [edi]
push eax
call fcn.10086fcc
movzx eax, ax
add esp, 8
cmp bx, ax
jne 0x100283ba
test bx, bx
je 0x100283d0
mov ecx, dword [ebp + 8]
add edi, 2
jmp 0x10028381
test ax, ax
jne 0x100283c4
cmp esi, 0xffffff9d
je 0x100283d0
mov ecx, eax
mov eax, ebx
sub eax, ecx
jne 0x1002847e
push 0x92
lea eax, [ebp - 0xc8]
push 0
push eax
call fcn.1007cff0
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb4], 2
mov dword [ebp - 0xc8], 5
call sym.dopuslib32.dll_Ordinal_96
add esp, 0x10
test eax, eax
jne 0x100285cb
mov edi, dword [ebp - 0xac]
test edi, edi
je 0x100285cb
lea ecx, [ebp - 0x208]
mov esi, edi
mov eax, ecx
mov edx, 0xa0
sub esi, eax
lea eax, [edx + 0x7fffff5e]
test eax, eax
je 0x10028473
movzx eax, word [ecx + esi]
test ax, ax
je 0x1002846c
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x10028440
sub ecx, 2
xor eax, eax
push edi
mov word [ecx], ax
jmp 0x100285c5
test edx, edx
jne 0x10028473
sub ecx, 2
xor eax, eax
mov word [ecx], ax
push edi
jmp 0x100285c5
push 0x92
lea eax, [ebp - 0xc8]
push 0
push eax
call fcn.1007cff0
push 0x1042
lea eax, [ebp - 0x133c]
push 0
push eax
call fcn.1007cff0
mov esi, dword [ebp - 0x10]
lea eax, [ebp - 0x133c]
mov dword [ebp - 0x40], eax
lea eax, [ebp - 0xc8]
push eax
mov dword [ebp - 0xc4], esi
mov dword [ebp - 0xbc], 0xffffffff
mov dword [ebp - 0xb4], 2
mov dword [ebp - 0xc8], 1
call sym.dopuslib32.dll_Ordinal_96
add esp, 0x1c
test eax, eax
je 0x1002856d
cmp eax, 2
je 0x100284f9
cmp eax, 3
jne 0x100285cb
push 0
push 0x4e32
lea ecx, [ebp + 8]
mov dword [ebp + 8], 0
call sym.dopuslib32.dll_public:_wchar_t_const____thiscall_LibStringW::Init_int__bool_
mov dword [ebp - 4], 7
mov edi, dword [ebp + 8]
mov esi, edi
test edi, edi
jne 0x10028524
mov esi, 0x100ab578
lea ecx, [ebp - 0x208]
mov edx, 0xa0
mov eax, ecx
sub esi, eax
lea eax, [edx + 0x7fffff5e]
test eax, eax
je 0x1002855a
movzx eax, word [ecx + esi]
test ax, ax
je 0x10028553
mov word [ecx], ax
add ecx, 2
sub edx, 1
jne 0x10028533
jmp 0x10028557
test edx, edx
jne 0x1002855a
sub ecx, 2
xor eax, eax
mov word [ecx], ax
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x100285cb
push edi
jmp 0x100285c5
push 0
push 0x4e33
lea ecx, [ebp + 8]
mov dword [ebp + 8], 0
call sym.dopuslib32.dll_public:_wchar_t_const____thiscall_LibStringW::Init_int__bool_
mov dword [ebp - 4], 8
mov esi, dword [ebp + 8]
test esi, esi
je 0x10028597
mov eax, esi
mov edi, esi
jmp 0x1002859e
mov eax, 0x100ab578
xor edi, edi
push dword [ebp - 0xb0]
push eax
lea eax, [ebp - 0x208]
push 0xa0
push eax
call fcn.1000b000
add esp, 0x10
mov dword [ebp - 4], 0xffffffff
test edi, edi
je 0x100285cb
push esi
call dword [sym.imp.KERNEL32.dll_LocalFree]
cmp word [ebp - 0x208], 0
je 0x1002831f
mov edi, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x208]
push eax
call edi
lea eax, [eax*2 + 2]
push eax
call dword [sym.imp.ole32.dll_CoTaskMemAlloc]
mov esi, eax
mov eax, dword [ebp + 0x10]
mov dword [eax], esi
test esi, esi
je 0x1002831f
lea eax, [ebp - 0x208]
push eax
call edi
add eax, 1
je 0x10028644
cmp eax, 0x7fffffff
jbe 0x10028632
xor eax, eax
pop edi
mov word [esi], ax
pop esi
pop ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc
push ecx
lea ecx, [ebp - 0x208]
mov edx, eax
push ecx
push ecx
mov ecx, esi
call fcn.1000aea0
mov ecx, dword [ebp - 0xc]
xor eax, eax
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0xc