Function at 0x4015dd
Capabilities:
Check for time delay via queryperformancecounter
Get file size

Disassembly:
push ebp
lea ebp, [esp - 0x3b8]
sub esp, 0x438
mov eax, dword [0x414004]
xor eax, ebp
mov dword [ebp + 0x3b4], eax
mov eax, dword [ebp + 0x3c4]
fldz
push ebx
fstp qword [ebp - 0x78]
push esi
mov dword [ebp - 0x54], eax
push edi
lea eax, [ebp - 0x80]
xor esi, esi
push eax
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x5c], 0x415d40
call dword [sym.imp.KERNEL32.dll_QueryPerformanceFrequency]
xor edi, edi
inc edi
cmp dword [ebp + 0x3c0], esi
je 0x40195b
mov esi, 0x4114cc
dec dword [ebp + 0x3c0]
mov eax, dword [ebp - 0x54]
mov ecx, dword [ebp + 0x3c0]
mov ebx, dword [eax + ecx*4]
lea eax, [ebp - 0x4c]
push eax
push 0
push esi
push ebx
call fcn.004010cf
add esp, 0x10
cmp byte [eax], 0
lea eax, [ebp - 0x4c]
je 0x4017c4
push str._title
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40167c
push 0x415638
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._exec
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40169a
push 0x415738
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._website
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4016b8
push 0x415840
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._intro
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4016d6
push 0x418fe0
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._defaultpath
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4016f1
push 0x415530
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._zip
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40170c
push 0x415210
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._sfx
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x401727
push 0x415318
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._osversion
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x401742
push 0x41541c
jmp 0x401761
lea eax, [ebp - 0x4c]
push str._icon
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x401771
mov dword [0x418548], edi
push 0x415428
push edi
push esi
push ebx
call fcn.004010cf
add esp, 0x10
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._shortcut
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40194c
cmp dword [ebp - 0x50], 0x10
jge 0x40194c
lea eax, [ebp - 0x4c]
push eax
push edi
push esi
push ebx
call fcn.004010cf
mov ebx, dword [ebp - 0x5c]
lea eax, [ebp - 0x4c]
push eax
push str.Shortcut_s
push ebx
call dword [sym.imp.USER32.dll_wsprintfA]
lea eax, [ebx + eax + 1]
add esp, 0x1c
inc dword [ebp - 0x50]
mov dword [ebp - 0x5c], eax
jmp 0x40194c
push str._runelevated
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4017e0
mov dword [0x415314], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._subsystem64
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4017ff
mov dword [0x41552c], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._autoextract
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40181e
mov dword [0x415634], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._noautoextract
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x401841
mov dword [0x415634], 2
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._openexplorerwindow
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x401860
mov dword [0x41583c], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._overwrite
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40187f
mov dword [0x41855c], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._delete
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40189e
mov dword [0x418540], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._debug
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4018bd
mov dword [0x41854c], edi
jmp 0x40194c
lea eax, [ebp - 0x4c]
push str._nogui
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x4018f6
push str._GUI_less_archive_
push 0x415638
mov dword [0x415634], edi
mov dword [0x418550], edi
mov dword [0x418544], edi
call fcn.00403910
pop ecx
pop ecx
jmp 0x40194c
lea eax, [ebp - 0x4c]
push 0x4113cc
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
je 0x401946
lea eax, [ebp - 0x4c]
push 0x4113c8
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
je 0x401946
lea eax, [ebp - 0x4c]
push str._help
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
je 0x401946
lea eax, [ebp - 0x4c]
push 0x4113b8
push eax
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x40194c
mov dword [0x418560], edi
cmp dword [ebp + 0x3c0], 0
jne 0x401633
xor esi, esi
mov eax, dword [ebp - 0x5c]
mov byte [eax], 0
cmp dword [0x418560], esi
je 0x40199d
push str.MakeSFX_v1.54_n_nConverts_a_zip_file_into_a_32_bit_GUI_Windows_self_extractor._n_n
call fcn.004033d7
call fcn.00403c33
mov dword [esp], str.___exec_setup.exe____________________Command_to_execute_after_extraction_n___defaultpath__desktop_Folder______Default_extraction_path._Valid_variables_n______________________________________are:__desktop____temp____programfiles___n_______________________________________windir____targetdir__and__sysdir_._You_n______________________________________may_also_hard_code_a_path._n_n___runelevated________________________Run_as_administrator._n___osversion4.10_____________________Set_the_minimum_required_windows_version_n______________________________________to_run_the_SFX._n___subsystem64________________________Run_in_64_bit_subsystem._n___autoextract________________________Automatically_extract_the_contents_to_n______________________________________the_default_path._Dont_prompt_the_user._n___noautoextract______________________Disable__autoextract_option_in_SFX._n___openexplorerwindow_________________Open_the_target_directory_in_Windows_n______________________________________Explorer._n___delete_____________________________Deletes_extracted_files_after_program_n______________________________________specified_in__exec_is_completed._n___shortcut_shortcut.lnktarget.ext__Creates_a_shortcut_to_target._Each_may_n______________________________________include_scriptable_paths._nmore_...
call fcn.004033d7
call fcn.00403c33
mov dword [esp], 0x410730
call fcn.004033d7
pop ecx
mov eax, edi
jmp 0x401c6b
mov ebx, 0x415638
push ebx
call fcn.00403a10
pop ecx
test eax, eax
jne 0x4019c2
cmp dword [0x418544], esi
jne 0x4019c2
push 0x410720
push ebx
call fcn.00403910
pop ecx
pop ecx
push ebx
cmp dword [0x41854c], esi
je 0x4019e5
push str.________________Compiling:__s__Debug___________________n
call fcn.00401c83
push str.__DEBUG_
push ebx
call fcn.00403920
add esp, 0x10
jmp 0x4019f1
push str.____________________Compiling:__s______________________n
call fcn.00401c83
pop ecx
pop ecx
mov esi, 0x415210
push esi
call fcn.00403a10
pop ecx
test eax, eax
jne 0x401a08
push 0x410670
jmp 0x401a18
push esi
call fcn.004011ad
pop ecx
test eax, eax
jne 0x401a2a
push 0x41063c
call fcn.00401c83
inc dword [0x418564]
mov dword [0x418558], edi
pop ecx
mov esi, 0x415318
push esi
call fcn.00403a10
pop ecx
test eax, eax
jne 0x401a41
push 0x4105f8
jmp 0x401a5a
cmp dword [0x41855c], 0
jne 0x401a6c
push esi
call fcn.004011ad
pop ecx
test eax, eax
je 0x401a6c
push 0x4105a0
call fcn.00401c83
inc dword [0x418564]
mov dword [0x418558], edi
pop ecx
xor eax, eax
cmp dword [0x418548], eax
je 0x401ade
push eax
push 0x80
push 3
push eax
push edi
push 0x80000000
push 0x415428
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
jne 0x401ab0
push 0x41056c
call fcn.00401c83
inc dword [0x418564]
pop ecx
mov dword [0x418558], edi
jmp 0x401ade
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0x8be
je 0x401ad7
push 0x4104f8
call fcn.00401c83
inc dword [0x418564]
pop ecx
mov dword [0x418558], edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x410720
push ebx
call fcn.00405ee6
pop ecx
pop ecx
test eax, eax
jne 0x401b10
cmp dword [0x418544], eax
jne 0x401b10
cmp dword [0x418558], eax
jne 0x401b10
push 0x4104a8
call fcn.00401c83
inc dword [0x418568]
pop ecx
push 0x415530
call fcn.00403a10
pop ecx
test eax, eax
jne 0x401b38
cmp dword [0x418544], eax
je 0x401b76
push 0x410440
call fcn.00401c83
inc dword [0x418568]
pop ecx
cmp dword [0x418544], 0
je 0x401b76
push 0x4103e8
call fcn.00401c83
inc dword [0x418568]
mov esi, 0x4101d0
push esi
push ebx
call fcn.00403910
push esi
push 0x415840
call fcn.00403910
push esi
push 0x418fe0
call fcn.00403910
add esp, 0x1c
cmp dword [0x418558], 0
je 0x401ba8
push dword [0x418568]
push dword [0x418564]
push ebx
push str._n_s____i_error_s____i_warning_s___
call fcn.00401c83
push str.Run__MakeSFX.exe_____for_help._n
call fcn.00401c83
add esp, 0x14
jmp 0x401996
mov esi, dword [sym.imp.KERNEL32.dll_QueryPerformanceCounter]
lea eax, [ebp - 0x70]
push eax
call esi
push 0
call fcn.00401268
lea eax, [ebp - 0x68]
push eax
call esi
push dword [0x418568]
push dword [0x418564]
push ebx
push 0x41037c
call fcn.00401c83
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x64]
add esp, 0x10
sub eax, dword [ebp - 0x70]
sbb ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], ecx
fild qword [ebp - 0x58]
xor ebx, ebx
fild qword [ebp - 0x80]
push ebx
push ebx
push 3
fdivp st(1)
push ebx
push edi
push 0x80000000
push 0x415318
fstp qword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x401c4c
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
test eax, eax
jge 0x401c2f
fadd dword [0x410378]
fld qword [ebp - 0x60]
push esi
fstp dword [ebp - 0x54]
fdiv dword [ebp - 0x54]
fld qword [0x410370]
fmul st(1), st(0)
fmulp st(1)
fstp qword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
fld qword [ebp - 0x78]
sub esp, 0x10
fstp qword [esp + 8]
fld qword [ebp - 0x60]
fstp qword [esp]
push str.Build_time:__1.2f_seconds___.2f_MB_S__n
call fcn.00401c83
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp + 0x3b4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401d48
add ebp, 0x3b8
leave
ret