Function at 0x40162f
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 0x4019ad
mov esi, 0x411524
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 0x401816
push str._title
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x4016ce
push 0x415638
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._exec
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x4016ec
push 0x415738
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._website
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x40170a
push 0x415840
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._intro
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401728
push 0x418fe0
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._defaultpath
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401743
push 0x415530
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._zip
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x40175e
push 0x415210
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._sfx
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401779
push 0x415318
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._osversion
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401794
push 0x41541c
jmp 0x4017b3
lea eax, [ebp - 0x4c]
push str._icon
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x4017c3
mov dword [0x418548], edi
push 0x415428
push edi
push esi
push ebx
call fcn.004010cf
add esp, 0x10
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._shortcut
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x40199e
cmp dword [ebp - 0x50], 0x10
jge 0x40199e
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 0x40199e
push str._runelevated
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401832
mov dword [0x415314], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._subsystem64
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401851
mov dword [0x41552c], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._autoextract
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401870
mov dword [0x415634], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._noautoextract
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401893
mov dword [0x415634], 2
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._openexplorerwindow
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x4018b2
mov dword [0x41583c], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._overwrite
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x4018d1
mov dword [0x41855c], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._delete
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x4018f0
mov dword [0x418540], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._debug
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x40190f
mov dword [0x41854c], edi
jmp 0x40199e
lea eax, [ebp - 0x4c]
push str._nogui
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401948
push str._GUI_less_archive_
push 0x415638
mov dword [0x415634], edi
mov dword [0x418550], edi
mov dword [0x418544], edi
call fcn.00403960
pop ecx
pop ecx
jmp 0x40199e
lea eax, [ebp - 0x4c]
push 0x411424
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
je 0x401998
lea eax, [ebp - 0x4c]
push 0x411420
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
je 0x401998
lea eax, [ebp - 0x4c]
push str._help
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
je 0x401998
lea eax, [ebp - 0x4c]
push 0x411410
push eax
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x40199e
mov dword [0x418560], edi
cmp dword [ebp + 0x3c0], 0
jne 0x401685
xor esi, esi
mov eax, dword [ebp - 0x5c]
mov byte [eax], 0
cmp dword [0x418560], esi
je 0x4019ef
push str.MakeSFX_v1.55_n_nConverts_a_zip_file_into_a_32_bit_GUI_Windows_self_extractor._n_n
call fcn.00403429
call fcn.00403c83
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.00403429
call fcn.00403c83
mov dword [esp], 0x410788
call fcn.00403429
pop ecx
mov eax, edi
jmp 0x401cbd
mov ebx, 0x415638
push ebx
call fcn.00403a60
pop ecx
test eax, eax
jne 0x401a14
cmp dword [0x418544], esi
jne 0x401a14
push 0x410778
push ebx
call fcn.00403960
pop ecx
pop ecx
push ebx
cmp dword [0x41854c], esi
je 0x401a37
push str.________________Compiling:__s__Debug___________________n
call fcn.00401cd5
push str.__DEBUG_
push ebx
call fcn.00403970
add esp, 0x10
jmp 0x401a43
push str.____________________Compiling:__s______________________n
call fcn.00401cd5
pop ecx
pop ecx
mov esi, 0x415210
push esi
call fcn.00403a60
pop ecx
test eax, eax
jne 0x401a5a
push 0x4106c8
jmp 0x401a6a
push esi
call fcn.004011ad
pop ecx
test eax, eax
jne 0x401a7c
push 0x410694
call fcn.00401cd5
inc dword [0x418564]
mov dword [0x418558], edi
pop ecx
mov esi, 0x415318
push esi
call fcn.00403a60
pop ecx
test eax, eax
jne 0x401a93
push 0x410650
jmp 0x401aac
cmp dword [0x41855c], 0
jne 0x401abe
push esi
call fcn.004011ad
pop ecx
test eax, eax
je 0x401abe
push 0x4105f8
call fcn.00401cd5
inc dword [0x418564]
mov dword [0x418558], edi
pop ecx
xor eax, eax
cmp dword [0x418548], eax
je 0x401b30
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 0x401b02
push 0x4105c4
call fcn.00401cd5
inc dword [0x418564]
pop ecx
mov dword [0x418558], edi
jmp 0x401b30
push 0
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0x8be
je 0x401b29
push 0x410550
call fcn.00401cd5
inc dword [0x418564]
pop ecx
mov dword [0x418558], edi
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push 0x410778
push ebx
call fcn.00405f36
pop ecx
pop ecx
test eax, eax
jne 0x401b62
cmp dword [0x418544], eax
jne 0x401b62
cmp dword [0x418558], eax
jne 0x401b62
push 0x410500
call fcn.00401cd5
inc dword [0x418568]
pop ecx
push 0x415530
call fcn.00403a60
pop ecx
test eax, eax
jne 0x401b8a
cmp dword [0x418544], eax
je 0x401bc8
push 0x410498
call fcn.00401cd5
inc dword [0x418568]
pop ecx
cmp dword [0x418544], 0
je 0x401bc8
push 0x410440
call fcn.00401cd5
inc dword [0x418568]
mov esi, 0x4101cf
push esi
push ebx
call fcn.00403960
push esi
push 0x415840
call fcn.00403960
push esi
push 0x418fe0
call fcn.00403960
add esp, 0x1c
cmp dword [0x418558], 0
je 0x401bfa
push dword [0x418568]
push dword [0x418564]
push ebx
push str._n_s____i_error_s____i_warning_s___
call fcn.00401cd5
push str.Run__MakeSFX.exe_____for_help._n
call fcn.00401cd5
add esp, 0x14
jmp 0x4019e8
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 0x4103d4
call fcn.00401cd5
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 0x401c9e
push ebx
push esi
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov dword [ebp - 0x54], eax
fild dword [ebp - 0x54]
test eax, eax
jge 0x401c81
fadd dword [0x4103d0]
fld qword [ebp - 0x60]
push esi
fstp dword [ebp - 0x54]
fdiv dword [ebp - 0x54]
fld qword [0x4103c8]
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.00401cd5
add esp, 0x14
xor eax, eax
mov ecx, dword [ebp + 0x3b4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00401d9a
add ebp, 0x3b8
leave
ret