use32org0x0db'MENUET01'; 8 byte id dd38; required os ddSTARTAPP; program start ddI_END; program image size dd0x1000000; required amount of memory dd0x1000000; stack heap dd0x0dd0x0include'../../../proc32.inc'include'../../../macros.inc'include'../../../dll.inc'PATH_MAXequ255STARTAPP:; Initialize memory mcall68,11oreax,eaxjzclose_app; Import libraries stdcalldll.Load,importTabletesteax,eaxjnzclose_app; Set button style: flat or gradient (3D)invokeini_get_int,aIni,aSectionSkn,aButtonStyle,0movecx,eaxmcall48,1; Set bg or not?invokeini_get_int,aIni,aSectionBg,aBgActive,0cmpeax,1jneset_skinset_bg:invokeini_get_str,aIni,aSectionBg,aBgProgram,sz_buffer,PATH_MAX,0invokeini_get_str,aIni,aSectionBg,aBgParam,sz_param,PATH_MAX,0stdcallRunProgram,sz_buffer,sz_paramset_skin:invokeini_get_str,aIni,aSectionSkn,aSkinPath,sz_param,PATH_MAX,0mcall48,8,sz_paramclose_app:mcall-1procRunProgramstdcall,app_path:dword,app_param:dwordpusheaxm2mdword[InfoStructure+8],[app_param]; pointer to the parametrs m2mdword[InfoStructure+21],[app_path]; pointer to the file name mcall70,InfoStructurepopeaxretendpalign16importTable:library\libini,'libini.obj'importlibini,\ini_get_str,'ini_get_str',\ini_get_int,'ini_get_int'InfoStructure:dd7; subfunction number dd0; position in the file in bytes dd?; upper part of the position address dd0; number of bytes to read dd0; pointer to the buffer to write data db0dd?; pointer to the filename aInidb'/sys/settings/eskin.ini',0aSectionBgdb'bg',0aBgActivedb'active',0aBgProgramdb'program',0aBgParamdb'param',0aSectionSkndb'skin',0aButtonStyledb'3d',0aSkinPathdb'file',0sz_buffer:rbPATH_MAXsz_param:rbPATH_MAXI_END:; End of application code and data marker