Function at 0x407b50
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, 0x220
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, 0x1a2890
je 0x407b83
call esi
cmp eax, 0x7a33
je 0x407b83
call esi
cmp eax, 0xf4240
jne 0x407b85
jmp 0x407b83
push 0x4072f0
call fcn.00422038
add esp, 4
call fcn.004043b0
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
push str.FreeConsole
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
lea eax, [ebp - 0x220]
push eax
mov dword [ebp - 0x220], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x408dfd
cmp dword [ebp - 0x210], 2
jne 0x408dfd
cmp dword [ebp - 0x21c], 5
jb 0x408dfd
mov al, 0x3b
lea ecx, [ebp - 0xc]
mov byte [str.___InstallEnd__], al
mov byte [str.___Install__UTF_8_], al
call fcn.004013d0
lea ecx, [ebp - 0x28]
call fcn.004013d0
lea ecx, [ebp - 0x1c]
call fcn.004013d0
call fcn.00406bf0
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea ecx, [ebp - 0xc]
push ecx
call esi
push eax
call fcn.00403e30
add esp, 8
push eax
lea ecx, [ebp - 0x1c]
call fcn.00401000
lea edx, [ebp - 0x1c]
push edx
call fcn.00405b80
add esp, 4
lea ecx, [ebp - 0x1c]
call fcn.00414870
push 1
push 0x429c14
push str.SfxVarModulePlatform
mov edi, eax
call fcn.00406530
add esp, 0xc
push 1
call fcn.00404b00
push eax
push str.SfxVarSystemPlatform
call fcn.00406530
add esp, 0xc
push 1
call esi
push eax
push str.SfxVarCmdLine0
call fcn.00406530
movzx eax, word [0x43124c]
add esp, 0xc
push eax
push 0x42ac64
push 0x20
lea ecx, [ebp - 0xc]
call fcn.00405710
mov ebx, dword [sym.imp.USER32.dll_wsprintfW]
push eax
call ebx
add esp, 0xc
lea ecx, [ebp - 0xc]
call fcn.004056f0
push 1
lea ecx, [ebp - 0xc]
call fcn.00414870
push eax
push str.SfxVarSystemLanguage
call fcn.00406530
push str.sfxlang
push edi
call fcn.00406f60
add esp, 0x14
test eax, eax
je 0x407d09
cmp word [eax], 0x3a
jne 0x407d09
add eax, 2
push eax
call fcn.00421418
lea ecx, [eax - 1]
add esp, 4
cmp ecx, 0xfffe
ja 0x407cf6
mov word [0x43124c], ax
add edi, 2
cmp word [edi], 0x20
jbe 0x407d09
nop
add edi, 2
cmp word [edi], 0x20
ja 0x407d00
push str.sfxversion
push edi
call fcn.00406f60
add esp, 8
test eax, eax
je 0x407d41
call fcn.004076f0
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.sfxwaitall
push edi
call fcn.00406f60
add esp, 8
test eax, eax
je 0x407d7f
push eax
call fcn.00402bb0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.sfxelevation
push edi
mov byte [ebp - 0xd], 0
call fcn.00406f60
add esp, 8
test eax, eax
je 0x407d9b
mov byte [ebp - 0xd], 1
mov edi, eax
push 0x208
push 0x208
mov ecx, 0x4313a4
call fcn.00405710
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x407dec
push 6
push 1
call fcn.0040bf20
add esp, 8
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x4313a4
call fcn.004056f0
push str.sfxtest
push edi
call fcn.00406f60
mov esi, eax
add esp, 8
test esi, esi
je 0x407f80
mov edi, 0x3a
cmp word [esi], di
jne case.0x407e30.98
movzx ecx, word [esi + 2]
mov eax, ecx
or eax, 0x20
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x407e30.98
movzx edx, byte [eax + 0x408e38]
jmp dword [edx*4 + 0x408e20]
cmp ecx, 0x44
jne 0x407ea1
cmp word [esi + 4], di
jne case.0x407e30.98
movzx eax, word [esi + 6]
add esi, 6
cmp eax, 0x20
jbe 0x407e6f
mov edi, edi
cmp ax, di
je 0x407e6f
movzx eax, ax
push eax
mov ecx, 0x4313fc
call fcn.00401b30
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
ja 0x407e50
mov ecx, 0x4313fc
call fcn.0040ffd0
test al, al
je 0x407ea4
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 0x64
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add esi, 4
mov dword [0x4313f4], 0
cmp word [esi], di
jne 0x407ecf
lea eax, [esi + 2]
push eax
call fcn.00421418
add esp, 4
mov dword [0x4313f4], eax
cmp eax, 0xe10
ja 0x407ecf
test eax, eax
jne 0x407ed9
mov dword [0x4313f4], 0xa
mov dword [0x4313f8], 1
jmp 0x407f04
mov dword [0x4313f8], 2
jmp 0x407f04
xor ecx, ecx
cmp word [esi + 4], 0x63
sete cl
add ecx, 3
mov dword [0x4313f8], ecx
cmp word [esi], 0x20
jbe 0x407f19
lea ebx, [ebx]
add esi, 2
cmp word [esi], 0x20
ja 0x407f10
push str.sfxconfig
push esi
mov edi, esi
call fcn.00406f60
mov esi, eax
add esp, 8
test esi, esi
je 0x407f80
cmp word [esi], 0x3a
jne 0x407f38
add esi, 2
movzx eax, word [esi]
test ax, ax
je 0x407f52
cmp ax, 0x20
ja 0x407f52
movzx eax, word [esi + 2]
add esi, 2
test ax, ax
jne 0x407f40
lea ecx, [ebp - 0xc]
call fcn.004021d0
lea edx, [ebp - 0xc]
push edx
push esi
call fcn.00403e30
add esp, 8
cmp dword [0x4313f8], 2
mov edi, eax
je 0x407f80
lea eax, [ebp - 0xc]
push eax
mov ecx, 0x4313a4
call fcn.00402310
push 0x4313a4
mov ecx, 0x4312bc
call fcn.00402310
push 0x4313a4
mov ecx, 0x4312c8
call fcn.00402310
push 0x4313a4
call fcn.00404380
mov esi, eax
add esp, 4
test esi, esi
js 0x408058
push esi
mov ecx, 0x4312bc
call fcn.00401bf0
mov ecx, 0x4313a4
call fcn.00414870
lea ecx, [eax + esi*2 + 2]
push ecx
mov ecx, 0x4312c8
call fcn.00401000
mov ecx, 0x4313a4
call fcn.00414870
lea edx, [eax + esi*2 + 2]
push edx
mov ecx, 0x4312e0
call fcn.00401000
push 0x2e
mov ecx, 0x4312e0
call fcn.00415f30
test eax, eax
jle 0x40800d
push eax
mov ecx, 0x4312e0
call fcn.00401bf0
push 0x4312e0
mov ecx, 0x4312d4
call fcn.00402310
push 4
call fcn.004048c0
add esp, 4
push eax
mov ecx, 0x4312d4
call fcn.00416460
mov ecx, 0x4312e0
call fcn.00414870
mov esi, eax
mov ecx, 0x4312d4
mov dword [0x431278], esi
call fcn.00414870
mov dword [0x431280], eax
mov dword [0x431284], esi
call fcn.00404b00
push eax
mov ecx, 0x4312ec
call fcn.00401000
mov ecx, 0x4313a4
call fcn.00414870
push eax
mov ecx, 0x431318
call fcn.004015e0
test al, al
jne 0x408171
mov ecx, 0x4313a4
call fcn.00414870
push eax
push 7
push 1
call fcn.0040bf20
add esp, 0xc
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 2
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp word [esi + 4], di
jne case.default.0x4080da
movzx eax, word [esi + 6]
add eax, 0xffffffcf
cmp eax, 4
ja case.default.0x4080da
jmp dword [eax*4 + 0x408e50]
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 0x4fe
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 0x1f
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 0x3eff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 0x4f3d
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [ebp - 0x34]
call fcn.00404de0
mov ecx, 0x4313b0
call fcn.004079e0
lea eax, [ebp - 0x34]
push eax
push 0
mov ecx, 0x431318
call fcn.004073d0
push eax
call fcn.00406a50
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x40864c
cmp dword [0x4313f8], eax
jne 0x408256
push str.sfxconfig
push edi
call fcn.00406f60
add esp, 8
test eax, eax
je 0x408256
cmp word [eax], 0x3a
jne 0x4081d1
add eax, 2
movzx ecx, word [eax]
test cx, cx
je 0x4084b8
lea ecx, [ecx]
cmp cx, 0x20
ja 0x4081ff
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
jne 0x4081e0
lea ecx, [ebp - 0x34]
call fcn.00412b60
jmp case.default.0x4080da
cmp word [eax], 0
je 0x4084b8
lea ecx, [ebp - 0x34]
push ecx
push eax
call fcn.00407a20
add esp, 8
test al, al
jne 0x4084b8
push 0xa
push 0
call fcn.0040bf20
add esp, 8
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x4313f8], 4
je 0x4084b8
mov eax, dword [0x4300c0]
mov esi, 0x4300c0
test eax, eax
je 0x4082aa
push eax
lea edx, [ebp - 0x10c]
push str.SfxString_d
push edx
call ebx
mov eax, dword [esi]
add esp, 0xc
push 0
push eax
call fcn.004048c0
add esp, 4
push eax
lea ecx, [ebp - 0x10c]
push ecx
call fcn.00406530
mov eax, dword [esi + 0x10]
add esi, 0x10
add esp, 0xc
test eax, eax
jne 0x408271
push edi
mov ecx, 0x431318
call fcn.00406bb0
call fcn.00401da0
mov ebx, eax
test ebx, ebx
jne 0x4082ea
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
lea eax, [ebx + 0x20]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00406ff0
mov ecx, 0x431318
call fcn.00401920
mov ecx, 0x4313b0
call fcn.004079e0
push 0
push 0
mov ecx, 0x431318
call fcn.004073d0
push eax
call fcn.00406a50
add esp, 0xc
call fcn.00406ff0
mov ecx, 0x431318
call fcn.004019a0
call fcn.00401da0
call fcn.00406ff0
cmp byte [ebp - 0xd], 0
jne 0x4084c5
test byte [0x431290], 4
je 0x4084c5
call fcn.00404b20
test eax, eax
jne 0x4084c5
lea ecx, [ebp - 0x58]
call fcn.004013d0
lea ecx, [ebp - 0x4c]
call fcn.004013d0
lea edx, [ebp - 0x58]
push edx
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.00403e30
add esp, 8
push eax
lea ecx, [ebp - 0x90]
call fcn.00401bd0
lea eax, [ebp - 0x90]
push eax
push 0x20
push str.sfxelevation
push 0x429a34
lea ecx, [ebp - 0x58]
push ecx
lea edx, [ebp - 0x68]
push 0x42997c
push edx
call fcn.00416370
add esp, 0xc
push eax
lea eax, [ebp - 0x84]
push eax
call fcn.00416330
add esp, 0xc
push eax
lea ecx, [ebp - 0xa8]
push ecx
call fcn.00416330
add esp, 0xc
push eax
lea edx, [ebp - 0xb4]
push edx
call fcn.00402330
add esp, 0xc
push eax
lea eax, [ebp - 0x9c]
push eax
call fcn.004162f0
add esp, 0xc
mov ecx, eax
call fcn.00414870
push eax
lea ecx, [ebp - 0x4c]
call fcn.00401000
lea ecx, [ebp - 0x9c]
call fcn.0040c810
lea ecx, [ebp - 0xb4]
call fcn.0040c810
lea ecx, [ebp - 0xa8]
call fcn.0040c810
lea ecx, [ebp - 0x84]
call fcn.0040c810
lea ecx, [ebp - 0x68]
call fcn.0040c810
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
push 0
push 2
lea ecx, [ebp - 0x4c]
call fcn.00414870
push eax
call fcn.00402610
add esp, 0xc
lea ecx, [ebp - 0x90]
test eax, eax
jne 0x4084a3
call fcn.00412b60
lea ecx, [ebp - 0x4c]
call fcn.00412b60
lea ecx, [ebp - 0x58]
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00412b60
lea ecx, [ebp - 0x4c]
call fcn.00412b60
lea ecx, [ebp - 0x58]
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
jmp case.default.0x4080da
lea ecx, [ebp - 0x5c]
push ecx
push str.SetEnvironment
mov dword [ebp - 0x5c], 0
call fcn.00404fe0
mov esi, eax
add esp, 8
test esi, esi
je 0x408546
push esi
lea ecx, [ebp - 0x4c]
call fcn.00401bd0
push 0x3d
lea ecx, [ebp - 0x4c]
call fcn.00403dd0
mov edi, eax
lea ecx, [ebp - 0x4c]
test edi, edi
jle 0x408541
push edi
call fcn.00401bf0
push 0
lea edx, [esi + edi*2 + 2]
push edx
lea ecx, [ebp - 0x4c]
call fcn.00414870
push eax
call fcn.00406530
inc dword [ebp - 0x5c]
add esp, 0xc
lea ecx, [ebp - 0x4c]
call fcn.00412b60
lea eax, [ebp - 0x5c]
push eax
push str.SetEnvironment
call fcn.00404fe0
mov esi, eax
add esp, 8
test esi, esi
jne 0x4084e3
jmp 0x408546
call fcn.00412b60
call fcn.00407420
cmp dword [0x4303b4], 0xffffffff
jne 0x40855e
mov dword [0x4303b4], 0
mov ecx, 0x431318
call fcn.00406ba0
test al, al
je 0x4085c7
push 0
push str.HelpText
call fcn.00404fe0
mov esi, eax
add esp, 8
test esi, esi
jne 0x40858d
push 0x18
call fcn.004048c0
add esp, 4
mov esi, eax
lea ecx, [ebp - 0x108]
call fcn.00406b40
mov ecx, dword [0x431278]
push 0
push esi
push ecx
push 0x11
lea ecx, [ebp - 0x108]
call fcn.0040a790
lea ecx, [ebp - 0x108]
call fcn.0040bbf0
lea ecx, [ebp - 0x34]
call fcn.00412b60
jmp case.default.0x4080da
mov ecx, 0x431318
call fcn.00406b80
test al, al
je 0x4085df
and dword [0x4303b4], 0xfffffeff
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
push 0
push str.InstallPath
call fcn.00404fe0
add esp, 8
test eax, eax
je 0x40860c
push eax
mov ecx, 0x4312b0
call fcn.00401000
mov byte [0x43125c], 1
push 0x4312b0
call fcn.00406d00
push 0
push str.BeginPromptTimeout
call fcn.00404fe0
add esp, 0xc
test eax, eax
je 0x408637
push eax
call fcn.00421418
add esp, 4
mov dword [0x43129c], eax
mov ecx, 0x4313fc
call fcn.0040ffd0
test al, al
jne 0x408659
call fcn.0040c150
mov esi, eax
lea ecx, [ebp - 0x34]
call fcn.00412b60
jmp 0x407d5e
cmp dword [0x4313f8], 3
jne 0x408676
call fcn.0040c040
lea ecx, [ebp - 0x34]
mov esi, eax
call fcn.00412b60
jmp 0x407d5e
push 0
push 0x4299a8
push str.SfxVarApiPath
call fcn.00406530
call fcn.00407420
push 0
push str.ExecuteOnLoad
call fcn.00404fe0
add esp, 0x14
test eax, eax
je 0x408704
mov ecx, 0x431318
call fcn.00406b90
test al, al
jne 0x408704
push 0
mov ecx, 0x4312f8
call fcn.00407380
push eax
push str.SfxVarApiPath
call fcn.00406530
add esp, 0xc
call fcn.00407420
push 0x4299a8
push 0x4299a8
lea ecx, [ebp - 0x68]
call fcn.00401bd0
push eax
push 0x4299a8
mov ecx, 0x4312f8
call fcn.00407380
push eax
push str.ExecuteOnLoad
call fcn.00402ad0
add esp, 0x14
lea ecx, [ebp - 0x68]
call fcn.00412b60
mov ecx, 0x431318
call fcn.00406be0
mov edi, dword [sym.imp.USER32.dll_GetKeyState]
push 0
push str.BeginPrompt
call fcn.00404fe0
mov esi, eax
add esp, 8
test esi, esi
je 0x408788
mov ecx, 0x431318
call fcn.00406b80
test al, al
jne 0x408788
mov edx, dword [0x431278]
push esi
push edx
call fcn.0040bae0
add esp, 8
test eax, eax
je 0x40892d
push 0x10
call edi
mov ecx, 0x8000
test cx, ax
je 0x408775
push 1
mov ecx, 0x431318
call fcn.00401b10
push 1
mov ecx, 0x431318
call fcn.00401b20
call fcn.00406b00
test eax, eax
je 0x408788
and dword [0x4303b4], 0xffffff7f
lea ecx, [ebp - 0x40]
call fcn.004013d0
mov ecx, 0x431318
call fcn.00406b70
test al, al
je 0x408816
mov ecx, 0x431318
call fcn.00406b60
mov esi, eax
lea ebx, [ebx]
push str.AutoInstall
lea ecx, [ebp - 0x40]
call fcn.00401000
movzx edx, word [esi]
push edx
lea ecx, [ebp - 0x40]
call fcn.00401b30
push 0
lea ecx, [ebp - 0x40]
call fcn.00414870
push eax
call fcn.00404fe0
add esp, 8
test eax, eax
je 0x4088df
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x30
jb 0x4087f5
cmp eax, 0x39
jbe 0x4087b0
cmp eax, 0x61
jb 0x4087ff
cmp eax, 0x7a
jbe 0x4087b0
cmp eax, 0x41
jb 0x408809
cmp eax, 0x5a
jbe 0x4087b0
push str.AutoInstall
lea ecx, [ebp - 0x40]
call fcn.00401000
lea ecx, [ebp - 0x40]
mov byte [ebp - 0x6c], 0
call fcn.0040ffd0
test al, al
je 0x40884a
push 0
push str.ExecuteFile
call fcn.00404fe0
add esp, 8
test eax, eax
je 0x40884a
push str.ExecuteFile
lea ecx, [ebp - 0x40]
call fcn.00401000
mov byte [ebp - 0x6c], 1
lea ecx, [ebp - 0x40]
call fcn.0040ffd0
test al, al
je 0x408876
push 0
push str.RunProgram
call fcn.00404fe0
add esp, 8
test eax, eax
je 0x408876
push str.RunProgram
lea ecx, [ebp - 0x40]
call fcn.00401000
mov ecx, 0x431318
call fcn.00406b70
test al, al
jne 0x408959
mov ecx, 0x431318
call fcn.00406b80
test al, al
jne 0x408959
mov eax, dword [0x4303b4]
and eax, 0xc0
cmp al, 0x80
jne 0x408959
mov ecx, dword [0x43126c]
mov edx, dword [0x431270]
push ecx
push edx
call fcn.0040bb80
add esp, 8
test eax, eax
jne 0x408959
lea ecx, [ebp - 0x40]
cmp byte [0x4312a0], al
je 0x408928
call fcn.00412b60
jmp 0x408714
lea ecx, [ebp - 0x40]
call fcn.00414870
push eax
push 0xe
push 0
call fcn.0040bf20
add esp, 0xc
lea ecx, [ebp - 0x40]
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 6
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, 0x4312b0
call fcn.0040ffd0
test al, al
je 0x408994
lea eax, [ebp - 0x68]
push str.7ZipSfx._03x
push eax
call fcn.004057f0
add esp, 8
push eax
mov ecx, 0x4312b0
call fcn.00402310
lea ecx, [ebp - 0x68]
call fcn.00412b60
mov byte [0x43125c], 0
jmp 0x4089d6
push 0x4312b0
lea ecx, [ebp - 0x58]
call fcn.00402f00
lea ecx, [ebp - 0x58]
push ecx
call fcn.00406d00
add esp, 4
lea ecx, [ebp - 0x58]
call fcn.0040ffd0
test al, al
jne 0x4089c7
lea edx, [ebp - 0x58]
push edx
mov ecx, 0x4312b0
call fcn.00402310
lea ecx, [ebp - 0x58]
mov byte [0x43125c], 1
call fcn.00412b60
mov ecx, 0x4312b0
call fcn.0040e180
mov ecx, 0x4312b0
mov esi, eax
call fcn.00414870
movzx eax, word [eax + esi*2 - 2]
cmp eax, 0x5c
je 0x4089fb
cmp eax, 0x2f
jne 0x408a07
dec esi
push esi
mov ecx, 0x4312b0
call fcn.00401bf0
mov ecx, 0x431318
call fcn.00406b80
test al, al
je 0x408a1c
or dword [0x431290], 3
push str.PreExtract
lea ecx, [ebp - 0x78]
call fcn.00401bd0
mov ecx, 0x431318
call fcn.00406b60
movzx eax, word [eax]
push eax
lea ecx, [ebp - 0x78]
call fcn.00401b30
push 0
lea ecx, [ebp - 0x78]
call fcn.00414870
push eax
call fcn.00404fe0
add esp, 8
test eax, eax
je 0x408ac1
mov ecx, 0x431318
call fcn.00406b90
test al, al
jne 0x408ac1
push 0
mov ecx, 0x4312f8
call fcn.00407380
push eax
push str.SfxVarApiPath
call fcn.00406530
add esp, 0xc
call fcn.00407420
push 0x4299a8
push 0x4299a8
lea ecx, [ebp - 0x68]
call fcn.00401bd0
push eax
mov ecx, 0x431318
call fcn.00406b60
push eax
mov ecx, 0x4312f8
call fcn.00407380
push eax
push str.PreExtract
call fcn.00402ad0
add esp, 0x14
lea ecx, [ebp - 0x68]
call fcn.00412b60
cmp dword [0x4313f4], 0
jne 0x408b1c
push 0x4312b0
call fcn.00403630
add esp, 4
test eax, eax
je 0x408b25
call fcn.004072d0
lea ecx, [ebp - 0x78]
call fcn.00412b60
lea ecx, [ebp - 0x40]
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
call fcn.0040bc30
test eax, eax
je 0x408adb
call fcn.00407420
mov ecx, 0x431318
call fcn.00406b90
test al, al
je 0x408b45
cmp byte [0x43125c], 0
jne 0x408d1d
lea ecx, [ebp - 0x4c]
call fcn.004013d0
lea ecx, [ebp - 0x58]
call fcn.004013d0
mov ecx, 0x431318
call fcn.00406b70
test al, al
jne 0x408b6f
lea ecx, [ebp - 0x4c]
push ecx
call fcn.004021e0
add esp, 4
lea ecx, [ebp - 0x40]
call fcn.0040ffd0
test al, al
je 0x408c7f
cmp byte [0x43125c], 0
jne 0x408cab
push str.setup.exe
push 0x429ca4
lea edx, [ebp - 0x84]
push 0x4312b0
push edx
call fcn.00416330
add esp, 0xc
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00416330
add esp, 0xc
mov ecx, eax
call fcn.00414870
push eax
lea ecx, [ebp - 0x58]
call fcn.00401000
lea ecx, [ebp - 0x68]
call fcn.0040c810
lea ecx, [ebp - 0x84]
call fcn.0040c810
lea ecx, [ebp - 0x58]
call fcn.00414870
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x408c4b
call fcn.004072d0
push 0xf
push 0
call fcn.0040bf20
add esp, 8
lea ecx, [ebp - 0x58]
call fcn.00412b60
lea ecx, [ebp - 0x4c]
call fcn.00412b60
lea ecx, [ebp - 0x78]
call fcn.00412b60
lea ecx, [ebp - 0x40]
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
lea ecx, [ebp - 0x1c]
call fcn.00412b60
lea ecx, [ebp - 0x28]
call fcn.00412b60
lea ecx, [ebp - 0xc]
call fcn.00412b60
mov eax, 7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x6c]
push ebx
lea ecx, [ebp - 0x4c]
push ecx
push edx
mov ecx, 0x4312b0
call fcn.00414870
push eax
push str.setup.exe
lea ecx, [ebp - 0x68]
call fcn.00401bd0
push eax
call fcn.00402740
add esp, 0x14
lea ecx, [ebp - 0x68]
call fcn.00412b60
jmp 0x408cab
push ebx
lea eax, [ebp - 0x4c]
push eax
mov ecx, 0x431318
call fcn.00406b60
push eax
mov ecx, 0x4312b0
call fcn.00414870
push eax
lea ecx, [ebp - 0x40]
call fcn.00414870
push eax
call fcn.00402ad0
add esp, 0x14
cmp dword [0x4313f8], 0
jne 0x408d0d
call fcn.00407420
push 0xffffffffffffffff
mov ecx, 0x431318
call fcn.00406b60
push eax
push str.Shortcut
push 0x4074a0
call fcn.004075f0
add esp, 0x10
mov ecx, 0x4312bc
call fcn.00414870
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0xffffffffffffffff
mov ecx, 0x431318
call fcn.00406b60
push eax
push str.Delete
push 0x4075b0
call fcn.004075f0
add esp, 0x10
call fcn.004072d0
lea ecx, [ebp - 0x58]
call fcn.00412b60
lea ecx, [ebp - 0x4c]
call fcn.00412b60
mov eax, dword [0x4303c0]
cmp eax, 0xffffffff
jne 0x408d41
mov ecx, 0x431318
call fcn.00406b80
test al, al
jne 0x408d99
mov dword [0x4303c0], 1
jmp 0x408d45
test eax, eax
jle 0x408d99
push 0
push str.FinishMessage
call fcn.00404fe0
mov esi, eax
add esp, 8
test esi, esi
je 0x408d99
mov eax, 0x3e7
cmp dword [0x4303c0], eax
jle 0x408d6c
mov dword [0x4303c0], eax
lea ecx, [ebp - 0x104]
call fcn.00407320
mov ecx, dword [0x431278]
push 0
push esi
push ecx
push 0x11
lea ecx, [ebp - 0x104]
call fcn.0040a790
lea ecx, [ebp - 0x104]
call fcn.0040bbf0
mov ecx, 0x431318
call fcn.00406b90
test al, al
jne 0x408de0
cmp dword [0x4313f8], 0
jne 0x408de0
push 0
push str.SelfDelete
call fcn.00404fe0
add esp, 8
test eax, eax
je 0x408de0
cmp word [eax], 0x31
jne 0x408de0
sub esp, 0xc
mov ecx, esp
push 0x4313a4
call fcn.00402f00
call fcn.004077d0
add esp, 0xc
lea ecx, [ebp - 0x78]
call fcn.00412b60
lea ecx, [ebp - 0x40]
call fcn.00412b60
lea ecx, [ebp - 0x34]
call fcn.00412b60
jmp case.default.0x4080da
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]
pop edi
pop esi
mov eax, 0x14
pop ebx
mov esp, ebp
pop ebp
ret