Function at 0x4069f1
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, 0x228
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 0x406a24
call esi
cmp eax, 0x7a33
je 0x406a24
call esi
cmp eax, 0xf4240
jne 0x406a26
jmp 0x406a24
push 0x406275
call fcn.0041d348
call fcn.0040398d
mov dword [esp], str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.FreeConsole
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
lea eax, [ebp - 0x228]
push eax
mov dword [ebp - 0x228], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x4079f1
cmp dword [ebp - 0x218], 2
jne 0x4079f1
cmp dword [ebp - 0x224], 5
jb 0x4079f1
lea ecx, [ebp - 0x50]
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
call fcn.00401274
lea ecx, [ebp - 0xb0]
call fcn.00401274
lea ecx, [ebp - 0x74]
call fcn.00401274
call fcn.00405c5f
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea eax, [ebp - 0x50]
push eax
call esi
push eax
call fcn.0040356e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x74]
call fcn.00401000
lea eax, [ebp - 0x74]
push eax
call fcn.00404ed6
pop ecx
lea ecx, [ebp - 0x74]
call fcn.0040a9b3
xor ebx, ebx
inc ebx
push ebx
mov edi, eax
push 0x424c04
push str.SfxVarModulePlatform
mov dword [ebp - 8], edi
call fcn.0040576e
add esp, 0xc
push ebx
call fcn.00404041
push eax
push str.SfxVarSystemPlatform
call fcn.0040576e
add esp, 0xc
push ebx
call esi
push eax
push str.SfxVarCmdLine0
call fcn.0040576e
movzx eax, word [0x42c24c]
add esp, 0xc
push eax
push 0x425c54
push 0x20
lea ecx, [ebp - 0x50]
call fcn.00404ae6
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x50]
call fcn.00404acd
push ebx
lea ecx, [ebp - 0x50]
call fcn.0040a9b3
push eax
push str.SfxVarSystemLanguage
call fcn.0040576e
push str.sfxlang
push edi
call fcn.00405f56
add esp, 0x14
test eax, eax
je 0x406bae
cmp word [eax], 0x3a
jne 0x406bae
add eax, 2
push eax
call fcn.0041c727
pop ecx
lea ecx, [eax - 1]
cmp ecx, 0xfffe
ja 0x406b96
mov word [0x42c24c], ax
add edi, 2
cmp word [edi], 0x20
mov dword [ebp - 8], edi
jbe 0x406bae
add edi, 2
cmp word [edi], 0x20
ja 0x406ba2
mov dword [ebp - 8], edi
push str.sfxversion
push edi
call fcn.00405f56
pop ecx
pop ecx
test eax, eax
je 0x406be8
call fcn.004065e0
xor esi, esi
lea ecx, [ebp - 0x74]
call fcn.00401894
lea ecx, [ebp - 0xb0]
call fcn.00401894
lea ecx, [ebp - 0x50]
call fcn.00401894
mov eax, esi
jmp 0x407a08
push str.sfxwaitall
push edi
call fcn.00405f56
pop ecx
pop ecx
test eax, eax
je 0x406c04
push eax
call fcn.00402686
pop ecx
mov esi, eax
jmp 0x406bc6
push str.sfxelevation
push edi
mov byte [ebp - 1], 0
call fcn.00405f56
pop ecx
pop ecx
test eax, eax
je 0x406c22
mov edi, eax
mov byte [ebp - 1], 1
mov dword [ebp - 8], edi
mov eax, 0x208
push eax
mov ebx, 0x42c3a4
push eax
mov ecx, ebx
call fcn.00404ae6
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x406c54
xor esi, esi
inc esi
push 6
push esi
call fcn.0040a397
pop ecx
pop ecx
jmp 0x406bc6
mov ecx, ebx
call fcn.00404acd
push str.sfxtest
push edi
call fcn.00405f56
mov esi, eax
pop ecx
pop ecx
mov edi, 0x42c3fc
test esi, esi
je 0x406e02
cmp word [esi], 0x3a
je 0x406c85
push 0x64
pop esi
jmp 0x406bc6
movzx ecx, word [esi + 2]
mov eax, ecx
or eax, 0x20
sub eax, 0x61
je 0x406d93
dec eax
dec eax
je 0x406d7f
dec eax
je 0x406cfe
sub eax, 0xb
je 0x406cb6
sub eax, 7
jne 0x406c7d
mov esi, 0x4f3d
jmp 0x406bc6
cmp word [esi + 4], 0x3a
jne 0x406bc4
movzx eax, word [esi + 6]
sub eax, 0x31
je 0x406cf6
dec eax
je 0x406cec
dec eax
je 0x406ce8
dec eax
je 0x406cde
dec eax
jne 0x406bc4
push 7
jmp 0x406c7f
mov esi, 0x3eff
jmp 0x406bc6
push 0x1f
jmp 0x406c7f
mov esi, 0x4fe
jmp 0x406bc6
xor esi, esi
inc esi
jmp 0x406bc6
cmp ecx, 0x44
jne 0x406d3f
cmp word [esi + 4], 0x3a
jne 0x406c7d
add esi, 6
jmp 0x406d27
cmp ax, 0x3a
je 0x406d2f
movzx eax, ax
push eax
mov ecx, edi
call fcn.0040181b
add esi, 2
movzx eax, word [esi]
cmp eax, 0x20
ja 0x406d13
mov ecx, edi
call fcn.004034fd
test al, al
je 0x406d42
jmp 0x406c7d
add esi, 4
and dword [0x42c3f4], 0
cmp word [esi], 0x3a
jne 0x406d69
lea eax, [esi + 2]
push eax
call fcn.0041c727
pop ecx
mov dword [0x42c3f4], eax
cmp eax, 0xe10
ja 0x406d69
test eax, eax
jne 0x406d73
mov dword [0x42c3f4], 0xa
mov dword [0x42c3f8], 1
jmp 0x406da2
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, 3
mov dword [0x42c3f8], eax
jmp 0x406da2
mov dword [0x42c3f8], 2
jmp 0x406da2
add esi, 2
cmp word [esi], 0x20
ja 0x406d9f
push str.sfxconfig
push esi
mov dword [ebp - 8], esi
call fcn.00405f56
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x406e02
cmp word [esi], 0x3a
jne 0x406dcf
jmp 0x406dcc
cmp ax, 0x20
ja 0x406dd7
add esi, 2
movzx eax, word [esi]
test ax, ax
jne 0x406dc6
lea ecx, [ebp - 0x50]
call fcn.00401db5
lea eax, [ebp - 0x50]
push eax
push esi
call fcn.0040356e
cmp dword [0x42c3f8], 2
pop ecx
pop ecx
mov dword [ebp - 8], eax
je 0x406e02
lea eax, [ebp - 0x50]
push eax
mov ecx, ebx
call fcn.00401ebd
push ebx
mov ecx, 0x42c2bc
call fcn.00401ebd
mov edi, 0x42c2c8
push ebx
mov ecx, edi
call fcn.00401ebd
push ebx
call fcn.00403968
mov esi, eax
pop ecx
test esi, esi
js 0x406eb6
push esi
mov ecx, 0x42c2bc
call fcn.004018ae
mov ecx, ebx
add esi, esi
call fcn.0040a9b3
lea eax, [eax + esi + 2]
push eax
mov ecx, edi
call fcn.00401000
mov ecx, ebx
call fcn.0040a9b3
lea eax, [eax + esi + 2]
mov esi, 0x42c2e0
push eax
mov ecx, esi
call fcn.00401000
push 0x2e
mov ecx, esi
call fcn.00412a4b
test eax, eax
jle 0x406e78
push eax
mov ecx, esi
call fcn.004018ae
mov edi, 0x42c2d4
push esi
mov ecx, edi
call fcn.00401ebd
push 4
call fcn.00403e28
pop ecx
push eax
mov ecx, edi
call fcn.00412e74
mov ecx, esi
call fcn.0040a9b3
mov esi, eax
mov ecx, edi
mov dword [0x42c278], esi
call fcn.0040a9b3
mov dword [0x42c280], eax
mov dword [0x42c284], esi
call fcn.00404041
push eax
mov ecx, 0x42c2ec
call fcn.00401000
mov ecx, ebx
call fcn.0040a9b3
mov esi, 0x42c318
push eax
mov ecx, esi
call fcn.00401401
test al, al
jne 0x406ef9
mov ecx, ebx
call fcn.0040a9b3
push eax
push 7
push 1
call fcn.0040a397
add esp, 0xc
push 2
jmp 0x406c7f
lea ecx, [ebp - 0x18]
call fcn.004042d4
mov ecx, 0x42c3b0
call fcn.004068a4
lea eax, [ebp - 0x18]
push eax
xor ebx, ebx
push ebx
mov ecx, esi
call fcn.00406311
push eax
call fcn.00405b67
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x406f37
lea ecx, [ebp - 0x18]
call fcn.00401894
mov esi, edi
jmp 0x406bc6
cmp dword [0x42c3f8], ebx
jne 0x406fae
push str.sfxconfig
push dword [ebp - 8]
call fcn.00405f56
pop ecx
pop ecx
cmp eax, ebx
je 0x406fae
cmp word [eax], 0x3a
jne 0x406f5b
add eax, 2
movzx ecx, word [eax]
cmp cx, bx
je 0x4071ca
cmp cx, 0x20
ja 0x406f78
add eax, 2
movzx ecx, word [eax]
cmp cx, bx
jne 0x406f67
cmp word [eax], bx
je 0x4071ca
lea ecx, [ebp - 0x18]
push ecx
push eax
call fcn.004068d2
pop ecx
pop ecx
test al, al
jne 0x4071ca
push 0xa
push ebx
call fcn.0040a397
pop ecx
pop ecx
lea ecx, [ebp - 0x18]
call fcn.00401894
push 4
jmp 0x406c7f
cmp dword [0x42c3f8], 4
je 0x4071ca
mov eax, dword [0x42b0c0]
mov edi, 0x42b0c0
jmp 0x406ffb
push eax
lea eax, [ebp - 0x114]
push str.SfxString_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
push dword [edi]
call fcn.00403e28
pop ecx
push eax
lea eax, [ebp - 0x114]
push eax
call fcn.0040576e
add esp, 0xc
add edi, 0x10
mov eax, dword [edi]
cmp eax, ebx
jne 0x406fc7
push dword [ebp - 8]
mov ecx, esi
call fcn.00405c35
call fcn.00401a0b
mov dword [ebp - 8], eax
cmp eax, ebx
jne 0x407024
lea ecx, [ebp - 0x18]
call fcn.00401894
push 0x20
jmp 0x406c7f
call fcn.00405fcf
mov ecx, esi
call fcn.0040165d
mov ecx, 0x42c3b0
call fcn.004068a4
push ebx
push ebx
mov ecx, esi
call fcn.00406311
push eax
call fcn.00405b67
add esp, 0xc
call fcn.00405fcf
mov ecx, esi
call fcn.004016cf
call fcn.00401a0b
call fcn.00405fcf
cmp byte [ebp - 1], bl
jne 0x4071d7
test byte [0x42c290], 4
je 0x4071d7
call fcn.00404056
test eax, eax
jne 0x4071d7
lea ecx, [ebp - 0x5c]
call fcn.00401274
lea ecx, [ebp - 0x8c]
call fcn.00401274
lea eax, [ebp - 0x5c]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.0040356e
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x98]
call fcn.00401899
lea eax, [ebp - 0x98]
push eax
push 0x20
push str.sfxelevation
push 0x424a24
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x44]
push 0x42496c
push eax
call fcn.00412dba
add esp, 0xc
push eax
lea eax, [ebp - 0xa4]
push eax
call fcn.00412d8b
add esp, 0xc
push eax
lea eax, [ebp - 0xbc]
push eax
call fcn.00412d8b
add esp, 0xc
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00401ed2
add esp, 0xc
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00412d57
add esp, 0xc
mov ecx, eax
call fcn.0040a9b3
push eax
lea ecx, [ebp - 0x8c]
call fcn.00401000
lea ecx, [ebp - 0x68]
call fcn.0040cb8d
lea ecx, [ebp - 0x38]
call fcn.0040cb8d
lea ecx, [ebp - 0xbc]
call fcn.0040cb8d
lea ecx, [ebp - 0xa4]
call fcn.0040cb8d
lea ecx, [ebp - 0x44]
call fcn.0040cb8d
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
push ebx
push 2
lea ecx, [ebp - 0x8c]
call fcn.0040a9b3
push eax
call fcn.00402174
add esp, 0xc
lea ecx, [ebp - 0x98]
test eax, eax
jne 0x4071b2
call fcn.00401894
lea ecx, [ebp - 0x8c]
call fcn.00401894
lea ecx, [ebp - 0x5c]
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
push 0xb
jmp 0x406c7f
call fcn.00401894
lea ecx, [ebp - 0x8c]
call fcn.00401894
lea ecx, [ebp - 0x5c]
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
jmp 0x406bc4
mov dword [ebp - 0x28], ebx
mov ebx, str.SetEnvironment
jmp 0x40722a
push edi
lea ecx, [ebp - 0x38]
call fcn.00401899
push 0x3d
lea ecx, [ebp - 0x38]
call fcn.00403521
mov dword [ebp - 0x2c], eax
lea ecx, [ebp - 0x38]
test eax, eax
jle 0x40723e
push eax
call fcn.004018ae
mov eax, dword [ebp - 0x2c]
push 0
lea eax, [edi + eax*2 + 2]
push eax
lea ecx, [ebp - 0x38]
call fcn.0040a9b3
push eax
call fcn.0040576e
add esp, 0xc
inc dword [ebp - 0x28]
lea ecx, [ebp - 0x38]
call fcn.00401894
lea eax, [ebp - 0x28]
push eax
push ebx
call fcn.0040445a
mov edi, eax
pop ecx
pop ecx
test edi, edi
jne 0x4071e1
jmp 0x407243
call fcn.00401894
call fcn.0040634d
cmp dword [0x42b3b4], 0xffffffff
jne 0x407258
and dword [0x42b3b4], 0
mov ecx, esi
call fcn.00405c31
test al, al
je 0x4072b2
push 0
push str.HelpText
call fcn.0040445a
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x407281
push 0x18
call fcn.00403e28
pop ecx
mov esi, eax
lea ecx, [ebp - 0x110]
call fcn.00405c08
push 0
push esi
push dword [0x42c278]
lea ecx, [ebp - 0x110]
push 0x11
call fcn.00408f87
lea ecx, [ebp - 0x110]
call fcn.0040a105
jmp 0x4071ca
mov ecx, esi
call fcn.00405c29
test al, al
je 0x4072c7
and dword [0x42b3b4], 0xfffffeff
xor edi, edi
push edi
call dword [sym.imp.ole32.dll_CoInitialize]
push edi
push str.InstallPath
call fcn.0040445a
pop ecx
pop ecx
mov ebx, 0x42c2b0
cmp eax, edi
je 0x4072f5
push eax
mov ecx, ebx
call fcn.00401000
mov byte [0x42c25c], 1
push ebx
call fcn.00405d5e
push edi
push str.BeginPromptTimeout
call fcn.0040445a
add esp, 0xc
cmp eax, edi
je 0x407319
push eax
call fcn.0041c727
pop ecx
mov dword [0x42c29c], eax
mov ecx, 0x42c3fc
call fcn.004034fd
test al, al
jne 0x40733b
call fcn.0040a584
lea ecx, [ebp - 0x18]
mov esi, eax
call fcn.00401894
jmp 0x406bc6
cmp dword [0x42c3f8], 3
jne 0x40734b
call fcn.0040a49b
jmp 0x40732c
push 0
mov edi, 0x424998
push edi
push str.SfxVarApiPath
call fcn.0040576e
call fcn.0040634d
push 0
push str.ExecuteOnLoad
call fcn.0040445a
add esp, 0x14
test eax, eax
je 0x4073cb
mov ecx, esi
call fcn.00405c2d
test al, al
jne 0x4073cb
push 0
mov ecx, 0x42c2f8
call fcn.004062e1
push eax
push str.SfxVarApiPath
call fcn.0040576e
add esp, 0xc
call fcn.0040634d
push edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00401899
push eax
push edi
mov ecx, 0x42c2f8
call fcn.004062e1
push eax
push str.ExecuteOnLoad
call fcn.004025be
add esp, 0x14
lea ecx, [ebp - 0x44]
call fcn.00401894
mov ecx, esi
call fcn.00405c57
push 0
push str.BeginPrompt
call fcn.0040445a
pop ecx
pop ecx
mov dword [ebp - 0xc], eax
test eax, eax
je 0x407441
mov ecx, esi
call fcn.00405c29
test al, al
jne 0x407441
push dword [ebp - 0xc]
push dword [0x42c278]
call fcn.0040a01a
pop ecx
pop ecx
test eax, eax
je 0x4075ac
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x40742e
push 1
mov ecx, esi
call fcn.00401801
push 1
mov ecx, esi
call fcn.0040180e
call fcn.00405be8
test eax, eax
je 0x407441
and dword [0x42b3b4], 0xffffff7f
lea ecx, [ebp - 0x24]
call fcn.00401274
mov ecx, esi
call fcn.00405c25
test al, al
je 0x4074c9
mov ecx, esi
call fcn.00405c21
mov dword [ebp - 0xc], eax
push str.AutoInstall
lea ecx, [ebp - 0x24]
call fcn.00401000
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
push eax
lea ecx, [ebp - 0x24]
call fcn.0040181b
push 0
lea ecx, [ebp - 0x24]
call fcn.0040a9b3
push eax
call fcn.0040445a
pop ecx
pop ecx
test eax, eax
je 0x40757b
add dword [ebp - 0xc], 2
mov eax, dword [ebp - 0xc]
movzx eax, word [eax]
cmp eax, 0x30
jb 0x4074a8
cmp eax, 0x39
jbe 0x40745e
cmp eax, 0x61
jb 0x4074b2
cmp eax, 0x7a
jbe 0x40745e
cmp eax, 0x41
jb 0x4074bc
cmp eax, 0x5a
jbe 0x40745e
push str.AutoInstall
lea ecx, [ebp - 0x24]
call fcn.00401000
lea ecx, [ebp - 0x24]
mov byte [ebp - 0x2c], 0
call fcn.004034fd
test al, al
je 0x4074fc
push 0
push str.ExecuteFile
call fcn.0040445a
pop ecx
pop ecx
test eax, eax
je 0x4074fc
push str.ExecuteFile
lea ecx, [ebp - 0x24]
call fcn.00401000
mov byte [ebp - 0x2c], 1
lea ecx, [ebp - 0x24]
call fcn.004034fd
test al, al
je 0x407527
push 0
push str.RunProgram
call fcn.0040445a
pop ecx
pop ecx
test eax, eax
je 0x407527
push str.RunProgram
lea ecx, [ebp - 0x24]
call fcn.00401000
mov ecx, esi
call fcn.00405c25
test al, al
jne 0x4075bb
mov ecx, esi
call fcn.00405c29
test al, al
jne 0x4075bb
mov eax, dword [0x42b3b4]
and eax, 0xc0
cmp al, 0x80
jne 0x4075bb
push dword [0x42c26c]
push dword [0x42c270]
call fcn.0040a0a0
pop ecx
pop ecx
test eax, eax
jne 0x4075bb
lea ecx, [ebp - 0x24]
cmp byte [0x42c2a0], al
je 0x4075a7
call fcn.00401894
jmp 0x4073d2
lea ecx, [ebp - 0x24]
call fcn.0040a9b3
push eax
push 0xe
push 0
call fcn.0040a397
add esp, 0xc
lea ecx, [ebp - 0x24]
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
push 6
jmp 0x406c7f
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
push 5
jmp 0x406c7f
mov ecx, ebx
call fcn.004034fd
test al, al
je 0x4075ef
lea eax, [ebp - 0x44]
push str.7ZipSfx._03x
push eax
call fcn.00404b9e
pop ecx
pop ecx
push eax
mov ecx, ebx
call fcn.00401ebd
lea ecx, [ebp - 0x44]
call fcn.00401894
mov byte [0x42c25c], 0
jmp 0x407628
push ebx
lea ecx, [ebp - 0x5c]
call fcn.00402920
lea eax, [ebp - 0x5c]
push eax
call fcn.00405d5e
pop ecx
lea ecx, [ebp - 0x5c]
call fcn.004034fd
test al, al
jne 0x407619
lea eax, [ebp - 0x5c]
push eax
mov ecx, ebx
call fcn.00401ebd
lea ecx, [ebp - 0x5c]
mov byte [0x42c25c], 1
call fcn.00401894
mov ecx, ebx
call fcn.0040102e
mov ecx, ebx
mov dword [ebp - 0xc], eax
call fcn.0040a9b3
mov ecx, dword [ebp - 0xc]
movzx eax, word [eax + ecx*2 - 2]
cmp eax, 0x5c
je 0x40764b
cmp eax, 0x2f
jne 0x407657
mov eax, dword [ebp - 0xc]
dec eax
push eax
mov ecx, ebx
call fcn.004018ae
mov ecx, esi
call fcn.00405c29
test al, al
je 0x407669
or dword [0x42c290], 3
push str.PreExtract
lea ecx, [ebp - 0x80]
call fcn.00401899
mov ecx, esi
call fcn.00405c21
movzx eax, word [eax]
push eax
lea ecx, [ebp - 0x80]
call fcn.0040181b
push 0
lea ecx, [ebp - 0x80]
call fcn.0040a9b3
push eax
call fcn.0040445a
pop ecx
pop ecx
test eax, eax
je 0x4076fc
mov ecx, esi
call fcn.00405c2d
test al, al
jne 0x4076fc
push 0
mov ecx, 0x42c2f8
call fcn.004062e1
push eax
push str.SfxVarApiPath
call fcn.0040576e
add esp, 0xc
call fcn.0040634d
push edi
push edi
lea ecx, [ebp - 0x44]
call fcn.00401899
push eax
mov ecx, esi
call fcn.00405c21
push eax
mov ecx, 0x42c2f8
call fcn.004062e1
push eax
push str.PreExtract
call fcn.004025be
add esp, 0x14
lea ecx, [ebp - 0x44]
call fcn.00401894
xor edi, edi
cmp dword [0x42c3f4], edi
jne 0x40770f
push ebx
call fcn.00402e19
pop ecx
jmp 0x40771d
call fcn.0040a10a
test eax, eax
jne 0x407745
mov eax, 0x80004005
cmp eax, edi
je 0x407745
call fcn.0040625a
lea ecx, [ebp - 0x80]
call fcn.00401894
lea ecx, [ebp - 0x24]
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
push 8
jmp 0x406c7f
call fcn.0040634d
mov ecx, esi
call fcn.00405c2d
test al, al
je 0x407762
cmp byte [0x42c25c], 0
jne 0x407903
lea ecx, [ebp - 0x38]
call fcn.00401274
lea ecx, [ebp - 0x68]
call fcn.00401274
mov ecx, esi
call fcn.00405c25
test al, al
jne 0x407787
lea eax, [ebp - 0x38]
push eax
call fcn.00401dc1
pop ecx
lea ecx, [ebp - 0x24]
call fcn.004034fd
test al, al
je 0x407870
cmp byte [0x42c25c], 0
jne 0x407898
mov edi, str.setup.exe
push edi
push 0x424c94
lea eax, [ebp - 0xa4]
push ebx
push eax
call fcn.00412d8b
add esp, 0xc
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.00412d8b
add esp, 0xc
mov ecx, eax
call fcn.0040a9b3
push eax
lea ecx, [ebp - 0x68]
call fcn.00401000
lea ecx, [ebp - 0x44]
call fcn.0040cb8d
lea ecx, [ebp - 0xa4]
call fcn.0040cb8d
lea ecx, [ebp - 0x68]
call fcn.0040a9b3
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x407840
call fcn.0040625a
push 0xf
push 0
call fcn.0040a397
pop ecx
pop ecx
lea ecx, [ebp - 0x68]
call fcn.00401894
lea ecx, [ebp - 0x38]
call fcn.00401894
lea ecx, [ebp - 0x80]
call fcn.00401894
lea ecx, [ebp - 0x24]
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
jmp 0x406cda
push dword [ebp - 8]
lea eax, [ebp - 0x38]
push eax
push dword [ebp - 0x2c]
mov ecx, ebx
call fcn.0040a9b3
push eax
push edi
lea ecx, [ebp - 0x44]
call fcn.00401899
push eax
call fcn.0040228e
add esp, 0x14
lea ecx, [ebp - 0x44]
call fcn.00401894
xor edi, edi
jmp 0x407898
push dword [ebp - 8]
lea eax, [ebp - 0x38]
push eax
mov ecx, esi
call fcn.00405c21
push eax
mov ecx, ebx
call fcn.0040a9b3
push eax
lea ecx, [ebp - 0x24]
call fcn.0040a9b3
push eax
call fcn.004025be
add esp, 0x14
cmp dword [0x42c3f8], edi
jne 0x4078f3
call fcn.0040634d
push 0xffffffffffffffff
mov ecx, esi
call fcn.00405c21
push eax
push str.Shortcut
push 0x4063bc
call fcn.004064f8
add esp, 0x10
mov ecx, 0x42c2bc
call fcn.0040a9b3
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0xffffffffffffffff
mov ecx, esi
call fcn.00405c21
push eax
push str.Delete
push 0x4064c4
call fcn.004064f8
add esp, 0x10
call fcn.0040625a
lea ecx, [ebp - 0x68]
call fcn.00401894
lea ecx, [ebp - 0x38]
call fcn.00401894
cmp dword [0x42b3c0], 0xffffffff
jne 0x407921
mov ecx, esi
call fcn.00405c29
test al, al
jne 0x407979
mov dword [0x42b3c0], 1
cmp dword [0x42b3c0], edi
jle 0x407979
push edi
push str.FinishMessage
call fcn.0040445a
mov ebx, eax
pop ecx
pop ecx
cmp ebx, edi
je 0x407979
mov eax, 0x3e7
cmp dword [0x42b3c0], eax
jle 0x40794e
mov dword [0x42b3c0], eax
lea ecx, [ebp - 0x10c]
call fcn.0040628c
push edi
push ebx
push dword [0x42c278]
lea ecx, [ebp - 0x10c]
push 0x11
call fcn.00408f87
lea ecx, [ebp - 0x10c]
call fcn.0040a105
mov ecx, esi
call fcn.00405c2d
test al, al
jne 0x4079ba
cmp dword [0x42c3f8], edi
jne 0x4079ba
push edi
push str.SelfDelete
call fcn.0040445a
pop ecx
pop ecx
cmp eax, edi
je 0x4079ba
cmp word [eax], 0x31
jne 0x4079ba
sub esp, 0xc
mov ecx, esp
push 0x42c3a4
call fcn.00402920
call fcn.004066b2
add esp, 0xc
lea ecx, [ebp - 0x80]
call fcn.00401894
lea ecx, [ebp - 0x24]
call fcn.00401894
lea ecx, [ebp - 0x18]
call fcn.00401894
lea ecx, [ebp - 0x74]
call fcn.00401894
lea ecx, [ebp - 0xb0]
call fcn.00401894
lea ecx, [ebp - 0x50]
call fcn.00401894
xor eax, eax
jmp 0x407a08
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]
push 0x14
pop eax
pop edi
pop esi
pop ebx
leave
ret