Function at 0x4079b0
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check if file exists
Check os version
Get file attributes
Log keystrokes via polling
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1ec
push esi
push 0x407330
call fcn.0041b9e8
add esp, 4
call fcn.00404440
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, 0x1a2890
je 0x4079f3
call esi
cmp eax, 0x7a33
je 0x4079f3
call esi
cmp eax, 0xf4240
jne 0x4079f5
jmp 0x4079f3
lea eax, [ebp - 0x1ec]
push eax
mov dword [ebp - 0x1ec], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x408a4c
cmp dword [ebp - 0x1dc], 2
jne 0x408a4c
cmp dword [ebp - 0x1e8], 5
jb 0x408a4c
push ebx
mov al, 0x3b
push edi
lea ecx, [ebp - 0xc]
mov byte [str.___InstallEnd__], al
mov byte [str.___Install__UTF_8_], al
call fcn.00401420
lea ecx, [ebp - 0x24]
call fcn.00401420
lea ecx, [ebp - 0x18]
call fcn.00401420
call fcn.00406c20
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0xc]
push ecx
call esi
push eax
call fcn.00403ec0
add esp, 8
push eax
lea ecx, [ebp - 0x18]
call fcn.00401000
lea edx, [ebp - 0x18]
push edx
call fcn.00405bb0
add esp, 4
lea ecx, [ebp - 0x18]
call fcn.0040dd70
push 1
push 0x423bdc
push str.SfxVarModulePlatform
mov edi, eax
call fcn.00406560
add esp, 0xc
push 1
call fcn.00404b90
push eax
push str.SfxVarSystemPlatform
call fcn.00406560
add esp, 0xc
push 1
call esi
push eax
push str.SfxVarCmdLine0
call fcn.00406560
movzx eax, word [0x42a1ec]
add esp, 0xc
push eax
push 0x424ba4
push 0x20
lea ecx, [ebp - 0xc]
call fcn.00405740
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
push eax
call ebx
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.00405720
push 1
lea ecx, [ebp - 0xc]
call fcn.0040dd70
push eax
push str.SfxVarSystemLanguage
call fcn.00406560
push str.sfxlang
push edi
call fcn.00406fa0
add esp, 0x14
test eax, eax
je 0x407b4f
cmp word [eax], 0x3a
jne 0x407b4f
add eax, 2
push eax
call fcn.0041adc8
lea ecx, [eax - 1]
add esp, 4
cmp ecx, 0xfffe
ja 0x407b3d
mov word [0x42a1ec], ax
add edi, 2
cmp word [edi], 0x20
jbe 0x407b4f
add edi, 2
cmp word [edi], 0x20
ja 0x407b46
push str.sfxversion
push edi
call fcn.00406fa0
add esp, 8
test eax, eax
je 0x407b6b
call fcn.00407720
jmp case.default.0x407eda
push str.sfxwaitall
push edi
call fcn.00406fa0
add esp, 8
test eax, eax
je 0x407b8d
push eax
call fcn.00402cb0
add esp, 4
mov esi, eax
jmp 0x4082c9
push str.sfxelevation
push edi
call fcn.00406fa0
add esp, 8
test eax, eax
je 0x407ba1
mov edi, eax
push 0x208
push 0x208
mov ecx, 0x42a344
call fcn.00405740
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x407bf2
push 6
push 1
call fcn.0040bb20
add esp, 8
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 1
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x42a344
call fcn.00405720
push str.sfxtest
push edi
call fcn.00406fa0
mov esi, eax
add esp, 8
test esi, esi
je 0x407d80
mov edi, 0x3a
cmp word [esi], di
jne case.0x407c36.98
movzx ecx, word [esi + 2]
mov eax, ecx
or eax, 0x20
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x407c36.98
movzx edx, byte [eax + 0x408a84]
jmp dword [edx*4 + 0x408a6c]
cmp ecx, 0x44
jne 0x407ca5
cmp word [esi + 4], di
jne case.0x407c36.98
movzx eax, word [esi + 6]
add esi, 6
cmp eax, 0x20
jbe 0x407c73
cmp ax, di
je 0x407c73
movzx eax, ax
push eax
mov ecx, 0x42a39c
call fcn.00401c20
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
ja 0x407c54
mov ecx, 0x42a39c
call fcn.0040fb80
test al, al
je 0x407ca8
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 0x64
pop esi
mov esp, ebp
pop ebp
ret
add esi, 4
mov dword [0x42a394], 0
cmp word [esi], di
jne 0x407cd3
lea eax, [esi + 2]
push eax
call fcn.0041adc8
add esp, 4
mov dword [0x42a394], eax
cmp eax, 0xe10
ja 0x407cd3
test eax, eax
jne 0x407cdd
mov dword [0x42a394], 0xa
mov dword [0x42a398], 1
jmp 0x407d08
mov dword [0x42a398], 2
jmp 0x407d08
xor ecx, ecx
cmp word [esi + 4], 0x63
sete cl
add ecx, 3
mov dword [0x42a398], ecx
cmp word [esi], 0x20
jbe 0x407d19
mov edi, edi
add esi, 2
cmp word [esi], 0x20
ja 0x407d10
push str.sfxconfig
push esi
mov edi, esi
call fcn.00406fa0
mov esi, eax
add esp, 8
test esi, esi
je 0x407d80
cmp word [esi], 0x3a
jne 0x407d38
add esi, 2
movzx eax, word [esi]
test ax, ax
je 0x407d52
cmp ax, 0x20
ja 0x407d52
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x407d40
lea ecx, [ebp - 0xc]
call fcn.004022d0
lea edx, [ebp - 0xc]
push edx
push esi
call fcn.00403ec0
add esp, 8
cmp dword [0x42a398], 2
mov edi, eax
je 0x407d80
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x42a344
call fcn.00402410
push 0x42a344
mov ecx, 0x42a25c
call fcn.00402410
push 0x42a344
mov ecx, 0x42a268
call fcn.00402410
push 0x42a344
call fcn.00404410
mov esi, eax
add esp, 4
test esi, esi
js 0x407e58
push esi
mov ecx, 0x42a25c
call fcn.00401cf0
mov ecx, 0x42a344
call fcn.0040dd70
lea ecx, [eax + esi*2 + 2]
push ecx
mov ecx, 0x42a268
call fcn.00401000
mov ecx, 0x42a344
call fcn.0040dd70
lea edx, [eax + esi*2 + 2]
push edx
mov ecx, 0x42a280
call fcn.00401000
push 0x2e
mov ecx, 0x42a280
call fcn.004159e0
test eax, eax
jle 0x407e0d
push eax
mov ecx, 0x42a280
call fcn.00401cf0
push 0x42a280
mov ecx, 0x42a274
call fcn.00402410
push 4
call fcn.00404950
add esp, 4
push eax
mov ecx, 0x42a274
call fcn.00415f10
mov ecx, 0x42a280
call fcn.0040dd70
mov esi, eax
mov ecx, 0x42a274
mov dword [0x42a218], esi
call fcn.0040dd70
mov dword [0x42a220], eax
mov dword [0x42a224], esi
call fcn.00404b90
push eax
mov ecx, 0x42a28c
call fcn.00401000
mov ecx, 0x42a344
call fcn.0040dd70
push eax
mov ecx, 0x42a2b8
call fcn.00401660
test al, al
jne 0x407f71
mov ecx, 0x42a344
call fcn.0040dd70
push eax
push 7
push 1
call fcn.0040bb20
add esp, 0xc
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 2
pop esi
mov esp, ebp
pop ebp
ret
cmp word [esi + 4], di
jne case.default.0x407eda
movzx eax, word [esi + 6]
add eax, 0xffffffcf
cmp eax, 4
ja case.default.0x407eda
jmp dword [eax*4 + 0x408a9c]
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 0xc0
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 0x1f
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 0x3eff
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 0x4f3c
pop esi
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x3c]
call fcn.00404e10
mov ecx, 0x42a350
call fcn.00407840
lea eax, [ebp - 0x3c]
push eax
push 0
mov ecx, 0x42a2b8
call fcn.00407400
push eax
call fcn.00406a80
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x4082c1
cmp dword [0x42a398], eax
jne 0x40804e
push str.sfxconfig
push edi
call fcn.00406fa0
add esp, 8
test eax, eax
je 0x40804e
cmp word [eax], 0x3a
jne 0x407fd1
add eax, 2
movzx ecx, word [eax]
test cx, cx
je 0x408a23
lea ecx, [ecx]
cmp cx, 0x20
ja 0x407ff7
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x407fe0
jmp 0x408a23
cmp word [eax], 0
je 0x408a23
lea ecx, [ebp - 0x3c]
push ecx
push eax
call fcn.00407880
add esp, 8
test al, al
jne 0x408a23
push 0xa
push 0
call fcn.0040bb20
add esp, 8
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 4
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [0x42a398], 4
je 0x408a23
mov eax, dword [0x4290c0]
mov esi, 0x4290c0
test eax, eax
je 0x4080a9
lea esp, [esp]
push eax
lea edx, [ebp - 0xd8]
push str.SfxString_d
push edx
call ebx
mov eax, dword [esi]
add esp, 0xc
push 0
push eax
call fcn.00404950
add esp, 4
push eax
lea ecx, [ebp - 0xd8]
push ecx
call fcn.00406560
mov eax, dword [esi + 0x10]
add esi, 0x10
add esp, 0xc
test eax, eax
jne 0x408070
push edi
mov ecx, 0x42a2b8
call fcn.00406be0
call fcn.00401ea0
mov ebx, eax
test ebx, ebx
jne 0x4080e9
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
lea eax, [ebx + 0x20]
pop ebx
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00407030
mov ecx, 0x42a2b8
call fcn.004019f0
mov ecx, 0x42a350
call fcn.00407840
push 0
push 0
mov ecx, 0x42a2b8
call fcn.00407400
push eax
call fcn.00406a80
add esp, 0xc
call fcn.00407030
mov ecx, 0x42a2b8
call fcn.00401a70
call fcn.00401ea0
call fcn.00407030
lea edx, [ebp - 0x4c]
push edx
push str.SetEnvironment
mov dword [ebp - 0x4c], 0
call fcn.00405010
mov esi, eax
add esp, 8
test esi, esi
je 0x4081b3
push esi
lea ecx, [ebp - 0x48]
call fcn.00401cd0
push 0x3d
lea ecx, [ebp - 0x48]
call fcn.00403e60
mov edi, eax
lea ecx, [ebp - 0x48]
test edi, edi
jle 0x4081ae
push edi
call fcn.00401cf0
push 0
lea eax, [esi + edi*2 + 2]
push eax
lea ecx, [ebp - 0x48]
call fcn.0040dd70
push eax
call fcn.00406560
inc dword [ebp - 0x4c]
add esp, 0xc
lea ecx, [ebp - 0x48]
call fcn.00401cc0
lea ecx, [ebp - 0x4c]
push ecx
push str.SetEnvironment
call fcn.00405010
mov esi, eax
add esp, 8
test esi, esi
jne 0x408150
jmp 0x4081b3
call fcn.00401cc0
call fcn.00407450
cmp dword [0x4293b4], 0xffffffff
jne 0x4081cb
mov dword [0x4293b4], 0
mov ecx, 0x42a2b8
call fcn.00406bd0
test al, al
je 0x40822c
push 0
push str.HelpText
call fcn.00405010
mov esi, eax
add esp, 8
test esi, esi
jne 0x4081fa
push 0x18
call fcn.00404950
add esp, 4
mov esi, eax
lea ecx, [ebp - 0xd4]
call fcn.00406b70
mov edx, dword [0x42a218]
push 0
push esi
push edx
push 0x11
lea ecx, [ebp - 0xd4]
call fcn.0040a3c0
lea ecx, [ebp - 0xd4]
call fcn.0040add0
jmp 0x408a23
mov ecx, 0x42a2b8
call fcn.00406bb0
test al, al
je 0x408244
and dword [0x4293b4], 0xfffffeff
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push str.InstallPath
call fcn.00405010
add esp, 8
test eax, eax
je 0x408271
push eax
mov ecx, 0x42a250
call fcn.00401000
mov byte [0x42a1fc], 1
push 0x42a250
call fcn.00406d40
push 0
push str.BeginPromptTimeout
call fcn.00405010
add esp, 0xc
test eax, eax
je 0x40829c
push eax
call fcn.0041adc8
add esp, 4
mov dword [0x42a23c], eax
mov ecx, 0x42a39c
call fcn.0040fb80
test al, al
jne 0x4082b1
call fcn.0040bd50
jmp 0x4082bf
cmp dword [0x42a398], 3
jne 0x4082ea
call fcn.0040bc40
mov esi, eax
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, esi
pop esi
mov esp, ebp
pop ebp
ret
push 0
push 0x423970
push str.SfxVarApiPath
call fcn.00406560
call fcn.00407450
push 0
push str.ExecuteOnLoad
call fcn.00405010
add esp, 0x14
test eax, eax
je 0x408378
mov ecx, 0x42a2b8
call fcn.00406bc0
test al, al
jne 0x408378
push 0
mov ecx, 0x42a298
call fcn.004073b0
push eax
push str.SfxVarApiPath
call fcn.00406560
add esp, 0xc
call fcn.00407450
push 0x423970
push 0x423970
lea ecx, [ebp - 0x58]
call fcn.00401cd0
push eax
push 0x423970
mov ecx, 0x42a298
call fcn.004073b0
push eax
push str.ExecuteOnLoad
call fcn.00402bd0
add esp, 0x14
lea ecx, [ebp - 0x58]
call fcn.00401cc0
mov ecx, 0x42a2b8
call fcn.00406c10
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
jmp 0x408390
push 0
push str.BeginPrompt
call fcn.00405010
mov esi, eax
add esp, 8
test esi, esi
je 0x408403
mov ecx, 0x42a2b8
call fcn.00406bb0
test al, al
jne 0x408403
mov eax, dword [0x42a218]
push esi
push eax
call fcn.0040b730
add esp, 8
test eax, eax
je 0x4085ad
push 0x10
call edi
mov ecx, 0x8000
test cx, ax
je 0x4083f0
push 1
mov ecx, 0x42a2b8
call fcn.00401c00
push 1
mov ecx, 0x42a2b8
call fcn.00401c10
call fcn.00406b30
test eax, eax
je 0x408403
and dword [0x4293b4], 0xffffff7f
lea ecx, [ebp - 0x30]
call fcn.00401420
mov ecx, 0x42a2b8
call fcn.00406ba0
test al, al
je 0x408496
mov ecx, 0x42a2b8
call fcn.00406b90
mov esi, eax
lea esp, [esp]
push str.AutoInstall
lea ecx, [ebp - 0x30]
call fcn.00401000
movzx edx, word [esi]
push edx
lea ecx, [ebp - 0x30]
call fcn.00401c20
push 0
lea ecx, [ebp - 0x30]
call fcn.0040dd70
push eax
call fcn.00405010
add esp, 8
test eax, eax
je 0x40855f
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x30
jb 0x408475
cmp eax, 0x39
jbe 0x408430
cmp eax, 0x61
jb 0x40847f
cmp eax, 0x7a
jbe 0x408430
cmp eax, 0x41
jb 0x408489
cmp eax, 0x5a
jbe 0x408430
push str.AutoInstall
lea ecx, [ebp - 0x30]
call fcn.00401000
lea ecx, [ebp - 0x30]
mov byte [ebp - 0x5c], 0
call fcn.0040fb80
test al, al
je 0x4084ca
push 0
push str.ExecuteFile
call fcn.00405010
add esp, 8
test eax, eax
je 0x4084ca
push str.ExecuteFile
lea ecx, [ebp - 0x30]
call fcn.00401000
mov byte [ebp - 0x5c], 1
lea ecx, [ebp - 0x30]
call fcn.0040fb80
test al, al
je 0x4084f6
push 0
push str.RunProgram
call fcn.00405010
add esp, 8
test eax, eax
je 0x4084f6
push str.RunProgram
lea ecx, [ebp - 0x30]
call fcn.00401000
mov ecx, 0x42a2b8
call fcn.00406ba0
test al, al
jne 0x4085d9
mov ecx, 0x42a2b8
call fcn.00406bb0
test al, al
jne 0x4085d9
mov eax, dword [0x4293b4]
and eax, 0xc0
cmp al, 0x80
jne 0x4085d9
mov ecx, dword [0x42a20c]
mov edx, dword [0x42a210]
push ecx
push edx
call fcn.0040b7d0
add esp, 8
test eax, eax
jne 0x4085d9
lea ecx, [ebp - 0x30]
cmp byte [0x42a240], al
je 0x4085a8
call fcn.00401cc0
jmp 0x408390
lea ecx, [ebp - 0x30]
call fcn.0040dd70
push eax
push 0xe
push 0
call fcn.0040bb20
add esp, 0xc
lea ecx, [ebp - 0x30]
call fcn.00401cc0
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 6
pop esi
mov esp, ebp
pop ebp
ret
call fcn.00401cc0
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 5
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, 0x42a250
call fcn.0040fb80
test al, al
je 0x408614
lea eax, [ebp - 0x58]
push str.7ZipSfx._03x
push eax
call fcn.00405820
add esp, 8
push eax
mov ecx, 0x42a250
call fcn.00402410
lea ecx, [ebp - 0x58]
call fcn.00401cc0
mov byte [0x42a1fc], 0
jmp 0x408656
push 0x42a250
lea ecx, [ebp - 0x48]
call fcn.00402fd0
lea ecx, [ebp - 0x48]
push ecx
call fcn.00406d40
add esp, 4
lea ecx, [ebp - 0x48]
call fcn.0040fb80
test al, al
jne 0x408647
lea edx, [ebp - 0x48]
push edx
mov ecx, 0x42a250
call fcn.00402410
lea ecx, [ebp - 0x48]
mov byte [0x42a1fc], 1
call fcn.00401cc0
mov ecx, 0x42a250
call fcn.0040c490
mov ecx, 0x42a250
mov esi, eax
call fcn.0040dd70
movzx eax, word [eax + esi*2 - 2]
cmp eax, 0x5c
je 0x40867b
cmp eax, 0x2f
jne 0x408687
dec esi
push esi
mov ecx, 0x42a250
call fcn.00401cf0
mov ecx, 0x42a2b8
call fcn.00406bb0
test al, al
je 0x40869c
or dword [0x42a230], 3
push str.PreExtract
lea ecx, [ebp - 0x68]
call fcn.00401cd0
mov ecx, 0x42a2b8
call fcn.00406b90
movzx eax, word [eax]
push eax
lea ecx, [ebp - 0x68]
call fcn.00401c20
push 0
lea ecx, [ebp - 0x68]
call fcn.0040dd70
push eax
call fcn.00405010
add esp, 8
test eax, eax
je 0x408741
mov ecx, 0x42a2b8
call fcn.00406bc0
test al, al
jne 0x408741
push 0
mov ecx, 0x42a298
call fcn.004073b0
push eax
push str.SfxVarApiPath
call fcn.00406560
add esp, 0xc
call fcn.00407450
push 0x423970
push 0x423970
lea ecx, [ebp - 0x58]
call fcn.00401cd0
push eax
mov ecx, 0x42a2b8
call fcn.00406b90
push eax
mov ecx, 0x42a298
call fcn.004073b0
push eax
push str.PreExtract
call fcn.00402bd0
add esp, 0x14
lea ecx, [ebp - 0x58]
call fcn.00401cc0
cmp dword [0x42a394], 0
jne 0x40879c
push 0x42a250
call fcn.004036c0
add esp, 4
test eax, eax
je 0x4087a5
call fcn.00407310
lea ecx, [ebp - 0x68]
call fcn.00401cc0
lea ecx, [ebp - 0x30]
call fcn.00401cc0
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 8
pop esi
mov esp, ebp
pop ebp
ret
call fcn.0040b870
test eax, eax
je 0x40875b
call fcn.00407450
mov ecx, 0x42a2b8
call fcn.00406bc0
test al, al
je 0x4087c5
cmp byte [0x42a1fc], 0
jne 0x408997
lea ecx, [ebp - 0x48]
call fcn.00401420
lea ecx, [ebp - 0x58]
call fcn.00401420
mov ecx, 0x42a2b8
call fcn.00406ba0
test al, al
jne 0x4087ef
lea ecx, [ebp - 0x48]
push ecx
call fcn.004022e0
add esp, 4
lea ecx, [ebp - 0x30]
call fcn.0040fb80
test al, al
je 0x4088f9
cmp byte [0x42a1fc], 0
jne 0x408925
push str.setup.exe
push 0x423c6c
lea edx, [ebp - 0x74]
push 0x42a250
push edx
call fcn.00415de0
add esp, 0xc
push eax
lea eax, [ebp - 0x80]
push eax
call fcn.00415de0
add esp, 0xc
mov ecx, eax
call fcn.0040dd70
push eax
lea ecx, [ebp - 0x58]
call fcn.00401000
lea ecx, [ebp - 0x80]
call fcn.00401bc0
lea ecx, [ebp - 0x74]
call fcn.00401bc0
lea ecx, [ebp - 0x58]
call fcn.0040dd70
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4088c5
call fcn.00407310
push 0xf
push 0
call fcn.0040bb20
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00401cc0
lea ecx, [ebp - 0x48]
call fcn.00401cc0
lea ecx, [ebp - 0x68]
call fcn.00401cc0
lea ecx, [ebp - 0x30]
call fcn.00401cc0
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
mov eax, 7
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x5c]
push ebx
lea ecx, [ebp - 0x48]
push ecx
push edx
mov ecx, 0x42a250
call fcn.0040dd70
push eax
push str.setup.exe
lea ecx, [ebp - 0x74]
call fcn.00401cd0
push eax
call fcn.00402840
add esp, 0x14
lea ecx, [ebp - 0x74]
call fcn.00401cc0
jmp 0x408925
push ebx
lea eax, [ebp - 0x48]
push eax
mov ecx, 0x42a2b8
call fcn.00406b90
push eax
mov ecx, 0x42a250
call fcn.0040dd70
push eax
lea ecx, [ebp - 0x30]
call fcn.0040dd70
push eax
call fcn.00402bd0
add esp, 0x14
cmp dword [0x42a398], 0
jne 0x408987
call fcn.00407450
push 0xffffffffffffffff
mov ecx, 0x42a2b8
call fcn.00406b90
push eax
push str.Shortcut
push 0x4074d0
call fcn.00407620
add esp, 0x10
mov ecx, 0x42a25c
call fcn.0040dd70
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0xffffffffffffffff
mov ecx, 0x42a2b8
call fcn.00406b90
push eax
push str.Delete
push 0x4075e0
call fcn.00407620
add esp, 0x10
call fcn.00407310
lea ecx, [ebp - 0x58]
call fcn.00401cc0
lea ecx, [ebp - 0x48]
call fcn.00401cc0
mov eax, dword [0x4293c0]
cmp eax, 0xffffffff
jne 0x4089bb
mov ecx, 0x42a2b8
call fcn.00406bb0
test al, al
jne 0x408a13
mov dword [0x4293c0], 1
jmp 0x4089bf
test eax, eax
jle 0x408a13
push 0
push str.FinishMessage
call fcn.00405010
mov esi, eax
add esp, 8
test esi, esi
je 0x408a13
mov eax, 0x3e7
cmp dword [0x4293c0], eax
jle 0x4089e6
mov dword [0x4293c0], eax
lea ecx, [ebp - 0xd0]
call fcn.00407350
mov ecx, dword [0x42a218]
push 0
push esi
push ecx
push 0x11
lea ecx, [ebp - 0xd0]
call fcn.0040a3c0
lea ecx, [ebp - 0xd0]
call fcn.0040add0
lea ecx, [ebp - 0x68]
call fcn.00401cc0
lea ecx, [ebp - 0x30]
call fcn.00401cc0
lea ecx, [ebp - 0x3c]
call fcn.00401cc0
lea ecx, [ebp - 0x18]
call fcn.00401cc0
lea ecx, [ebp - 0x24]
call fcn.00401cc0
lea ecx, [ebp - 0xc]
call fcn.00401cc0
pop edi
pop ebx
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
push 0x10
push str.7_Zip_SFX
push str.Sorry__this_program_requires_Microsoft_Windows_2000_or_later.
push 0
call dword [sym.imp.USER32.dll_MessageBoxA]
mov eax, 0x14
pop esi
mov esp, ebp
pop ebp
ret