Function at 0x4066cf
Capabilities:
Accept command line arguments
Check os version
Get file attributes
Log keystrokes via polling
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x224
push ebx
push esi
push edi
push 0x4066b8
call fcn.0041b640
pop ecx
call fcn.004036c9
lea eax, [ebp - 0x224]
mov dword [ebp - 0x224], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x407607
cmp dword [ebp - 0x214], 2
jne 0x407607
cmp dword [ebp - 0x220], 5
jb 0x407607
lea ecx, [ebp - 0x38]
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
call fcn.00411480
lea ecx, [ebp - 0xb8]
call fcn.00411480
lea ecx, [ebp - 0x64]
call fcn.00411480
call fcn.00406390
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea eax, [ebp - 0x38]
push eax
call esi
push eax
call fcn.00404cf6
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x64]
call fcn.004115b2
lea eax, [ebp - 0x64]
push eax
call fcn.00405174
mov edi, dword [ebp - 0x64]
xor ebx, ebx
inc ebx
push ebx
push 0x426d40
push str.SfxVarModulePlatform
call fcn.0040575f
add esp, 0x10
push ebx
call fcn.00404435
push eax
push str.SfxVarSystemPlatform
call fcn.0040575f
add esp, 0xc
push ebx
call esi
push eax
push str.SfxVarCmdLine0
call fcn.0040575f
movzx eax, word [0x430e68]
lea ecx, [ebp - 0x38]
add esp, 0xc
push eax
push 0x427b50
push 0x20
pop eax
push eax
call fcn.00404031
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [ebp - 0x38]
push esi
call fcn.00404eab
xor ecx, ecx
mov dword [ebp - 0x34], eax
push ebx
mov word [esi + eax*2], cx
push dword [ebp - 0x38]
push str.SfxVarSystemLanguage
call fcn.0040575f
push str.sfxlang
push edi
call fcn.00405c24
add esp, 0x24
push 0x3a
pop ecx
test eax, eax
je 0x406842
cmp word [eax], cx
jne 0x406842
add eax, 2
push eax
call fcn.0041b0f0
pop ecx
test eax, eax
jle 0x406837
movzx edx, word [0x430e68]
cmp eax, 0xffff
movzx ecx, ax
cmovle edx, ecx
mov word [0x430e68], dx
push 0x20
pop eax
add edi, 2
cmp word [edi], ax
ja 0x40683a
push str.sfxversion
push edi
call fcn.00405c24
pop ecx
pop ecx
test eax, eax
je 0x40685f
call fcn.0040648f
xor ebx, ebx
jmp 0x4075e5
push str.sfxwaitall
push edi
call fcn.00405c24
pop ecx
pop ecx
test eax, eax
je 0x40687d
push eax
call fcn.00401e60
mov ebx, eax
jmp 0x4075e4
push str.sfxelevation
xor ebx, ebx
push edi
mov byte [ebp - 1], bl
call fcn.00405c24
pop ecx
pop ecx
test eax, eax
je 0x406899
mov byte [ebp - 1], 1
mov edi, eax
mov eax, 0x208
mov ecx, 0x430fbc
push eax
push eax
call fcn.00404031
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x4068c7
xor ebx, ebx
inc ebx
push 6
push ebx
call fcn.00409adb
pop ecx
jmp 0x4075e4
mov esi, dword [0x430fbc]
push esi
call fcn.00404eab
xor ecx, ecx
mov dword [0x430fc0], eax
mov dword [esp], str.sfxtest
push edi
mov word [esi + eax*2], cx
call fcn.00405c24
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x406aaf
push 0x3a
pop edx
cmp word [esi], dx
jne 0x4069d9
movzx ecx, word [esi + 2]
push 0x20
mov eax, ecx
pop edi
or eax, edi
sub eax, 0x61
je 0x406a26
dec eax
sub eax, 1
je 0x406a17
sub eax, 1
je 0x406993
sub eax, 0xb
je 0x40693e
sub eax, 7
jne 0x4069d9
mov ebx, 0x4f3c
jmp 0x4075e5
cmp word [esi + 4], dx
jne 0x4075e5
movzx eax, word [esi + 6]
sub eax, 0x31
je 0x40698b
sub eax, 1
je 0x406981
sub eax, 1
je 0x40697a
sub eax, 1
je 0x406970
sub eax, 1
jne 0x4075e5
push 7
jmp 0x406bb1
mov ebx, 0x3eff
jmp 0x4075e5
push 0x1f
jmp 0x406bb1
mov ebx, 0xc0
jmp 0x4075e5
xor ebx, ebx
inc ebx
jmp 0x4075e5
cmp ecx, 0x44
jne 0x4069e0
cmp word [esi + 4], dx
jne 0x4069d9
add esi, 6
movzx eax, word [esi]
cmp ax, di
jbe 0x4069d0
push 0x3a
mov ecx, eax
pop ebx
cmp cx, bx
je 0x4069cb
push ecx
mov ecx, 0x431014
call fcn.004018e1
add esi, 2
movzx eax, word [esi]
mov ecx, eax
cmp ax, di
ja 0x4069ae
push 0x3a
xor ebx, ebx
pop edx
cmp dword [0x431018], 0
jne 0x4069e3
push 0x64
jmp 0x406bb1
add esi, 4
mov dword [0x43100c], ebx
cmp word [esi], dx
jne 0x406a08
lea eax, [esi + 2]
push eax
call fcn.0041b0f0
mov dword [0x43100c], eax
pop ecx
cmp eax, 0xe10
ja 0x406a08
test eax, eax
jne 0x406a12
mov dword [0x43100c], 0xa
xor eax, eax
inc eax
jmp 0x406a29
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, 3
jmp 0x406a29
push 2
pop eax
mov dword [0x431010], eax
jmp 0x406a33
add esi, 2
cmp word [esi], di
ja 0x406a30
push str.sfxconfig
push esi
mov edi, esi
call fcn.00405c24
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x406aaf
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x406a60
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x406a7f
push 0x20
movzx ecx, ax
pop ebx
cmp cx, bx
ja 0x406a7d
add edx, 2
movzx eax, word [edx]
mov ecx, eax
test ax, ax
jne 0x406a6b
xor ebx, ebx
mov eax, dword [ebp - 0x38]
xor ecx, ecx
mov dword [ebp - 0x34], ebx
mov word [eax], cx
lea eax, [ebp - 0x38]
push eax
push edx
call fcn.00404cf6
cmp dword [0x431010], 2
mov edi, eax
pop ecx
pop ecx
je 0x406aaf
lea eax, [ebp - 0x38]
mov ecx, 0x430fbc
push eax
call fcn.0041154b
push 0x430fbc
mov ecx, 0x430ed8
call fcn.0041154b
push 0x430fbc
mov ecx, 0x430ee4
call fcn.0041154b
push 0x430fbc
call fcn.004040ff
mov esi, eax
pop ecx
test esi, esi
js 0x406b79
mov edx, dword [0x430ed8]
xor eax, eax
mov dword [0x430edc], esi
mov ecx, 0x430ee4
mov word [edx + esi*2], ax
mov eax, dword [0x430fbc]
lea eax, [eax + esi*2]
add eax, 2
push eax
call fcn.004115b2
mov eax, dword [0x430fbc]
lea eax, [eax + esi*2]
mov esi, 0x430efc
add eax, 2
mov ecx, esi
push eax
call fcn.004115b2
push 0x2e
mov ecx, esi
call fcn.00411bbc
test eax, eax
jle 0x406b40
mov ecx, dword [0x430efc]
xor edx, edx
mov dword [0x430f00], eax
mov word [ecx + eax*2], dx
push esi
mov esi, 0x430ef0
mov ecx, esi
call fcn.0041154b
push 4
call fcn.004041e0
pop ecx
push eax
mov ecx, esi
call fcn.00411750
mov ecx, dword [0x430efc]
mov eax, dword [0x430ef0]
mov dword [0x430e78], ecx
mov dword [0x430e7c], eax
mov dword [0x430ea8], ecx
call fcn.00404435
push eax
mov ecx, 0x430f08
call fcn.004115b2
push dword [0x430fbc]
mov ecx, 0x430f30
call fcn.00401468
test al, al
jne 0x406bb7
push dword [0x430fbc]
push 7
push 1
call fcn.00409adb
add esp, 0xc
push 2
pop ebx
jmp 0x4075e5
lea ecx, [ebp - 0x7c]
call fcn.0041132b
mov ecx, 0x430fc8
call fcn.00405a56
lea eax, [ebp - 0x7c]
push eax
push ebx
push dword [0x430f34]
call fcn.004049cf
add esp, 0xc
test eax, eax
jne 0x406cdc
mov eax, dword [0x431010]
test eax, eax
jne 0x406c73
push str.sfxconfig
push edi
call fcn.00405c24
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x406c6e
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x406c17
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x4075dc
push 0x20
movzx ecx, ax
pop ebx
movzx esi, cx
cmp cx, bx
ja 0x406c3d
add edx, 2
movzx eax, word [edx]
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x406c26
push 0
pop ebx
test si, si
je 0x4075dc
lea eax, [ebp - 0x7c]
push eax
push edx
call fcn.00405f70
pop ecx
pop ecx
test al, al
jne 0x4075dc
push 0xa
push ebx
call fcn.00409adb
pop ecx
pop ecx
push 4
jmp 0x4071e6
mov eax, dword [0x431010]
cmp eax, 4
je 0x4075dc
mov eax, dword [0x4300c0]
mov esi, 0x4300c0
jmp 0x406cbc
push eax
lea eax, [ebp - 0x110]
push str.SfxString_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
push dword [esi]
call fcn.004041e0
pop ecx
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.0040575f
lea esi, [esi + 0x10]
add esp, 0xc
mov eax, dword [esi]
test eax, eax
jne 0x406c88
mov esi, 0x430f30
push edi
mov ecx, esi
call fcn.00406080
call fcn.0040197d
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x406ce3
push 0x20
pop eax
mov ebx, eax
jmp 0x4075dc
call fcn.004060a2
mov ecx, esi
call fcn.004015a9
mov ecx, 0x430fc8
call fcn.00405a56
push ebx
push ebx
push dword [0x430f34]
call fcn.004049cf
add esp, 0xc
call fcn.004060a2
mov ecx, esi
call fcn.0040149d
call fcn.0040197d
call fcn.004060a2
cmp byte [ebp - 1], 0
jne 0x406e5d
test byte [0x430e9c], 4
je 0x406e5d
call fcn.0040493f
test eax, eax
jne 0x406e5d
lea ecx, [ebp - 0x10]
call fcn.00411480
lea ecx, [ebp - 0x4c]
call fcn.00411480
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.00404cf6
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x2c]
call fcn.00411449
push str.sfxelevation
push 0x426a30
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x58]
push 0x42699c
push eax
call fcn.00411682
add esp, 0xc
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.0041165d
add esp, 0xc
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.0041165d
add esp, 0xc
lea ecx, [ebp - 0x94]
push 0x20
push eax
call fcn.0041134d
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.0041163d
add esp, 0xc
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.004115b2
push dword [ebp - 0xa0]
call fcn.00419909
push dword [ebp - 0x94]
call fcn.00419909
push dword [ebp - 0xac]
call fcn.00419909
push dword [ebp - 0x88]
call fcn.00419909
push dword [ebp - 0x58]
call fcn.00419909
add esp, 0x14
or edi, 0xffffffff
push edi
push edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
push ebx
push 2
push dword [ebp - 0x4c]
call fcn.004025a9
push dword [ebp - 0x2c]
neg eax
sbb ebx, ebx
and ebx, 0xfffffff5
add ebx, 0xb
call fcn.00419909
push dword [ebp - 0x4c]
call fcn.00419909
push dword [ebp - 0x10]
call fcn.00419909
add esp, 0x18
jmp 0x4075dc
lea eax, [ebp - 0x14]
mov dword [ebp - 0x14], ebx
push eax
mov edi, str.SetEnvironment
push edi
call fcn.0040476f
pop ecx
pop ecx
jmp 0x406ec0
push esi
lea ecx, [ebp - 0x10]
call fcn.00411449
push 0x3d
push dword [ebp - 0x10]
call fcn.0041183a
pop ecx
pop ecx
test eax, eax
jle 0x406ec8
mov ecx, dword [ebp - 0x10]
add esi, 2
mov dword [ebp - 0xc], eax
xor edx, edx
push ebx
mov word [ecx + eax*2], dx
lea eax, [esi + eax*2]
push eax
push dword [ebp - 0x10]
call fcn.0040575f
push dword [ebp - 0x10]
inc dword [ebp - 0x14]
call fcn.00419909
lea eax, [ebp - 0x14]
push eax
push edi
call fcn.0040476f
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x406e73
jmp 0x406ed1
push dword [ebp - 0x10]
call fcn.00419909
pop ecx
call fcn.00406323
mov eax, dword [0x4303b4]
xor ecx, ecx
or edi, 0xffffffff
cmp eax, edi
cmove eax, ecx
mov dword [0x4303b4], eax
cmp byte [0x430f43], cl
je 0x406f53
push ebx
push str.HelpText
call fcn.0040476f
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x406f0f
push 0x18
call fcn.004041e0
pop ecx
mov esi, eax
lea ecx, [ebp - 0x10c]
call fcn.00407c2a
push ebx
push esi
push dword [0x430e78]
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0x4279bc
push 0x11
mov dword [ebp - 0xd4], 0x7d6
call fcn.00409c26
lea ecx, [ebp - 0x10c]
call fcn.00407c8b
jmp 0x4075dc
cmp byte [0x430f41], cl
je 0x406f65
and eax, 0xfffffeff
mov dword [0x4303b4], eax
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
push str.InstallPath
call fcn.0040476f
mov esi, 0x430ecc
pop ecx
pop ecx
test eax, eax
je 0x406f91
push eax
mov ecx, esi
call fcn.004115b2
mov byte [0x430ea1], 1
push esi
call fcn.00405f17
push ebx
push str.BeginPromptTimeout
call fcn.0040476f
add esp, 0xc
test eax, eax
je 0x406fb5
push eax
call fcn.0041b0f0
pop ecx
mov dword [0x430ea4], eax
cmp dword [0x431018], 0
je 0x406fc8
call fcn.00409fc3
jmp 0x406cdc
cmp dword [0x431010], 3
jne 0x406fdb
call fcn.0040a27c
jmp 0x406cdc
push ebx
push 0x426a08
push str.SfxVarApiPath
call fcn.0040575f
call fcn.00406323
push ebx
mov esi, str.ExecuteOnLoad
push esi
call fcn.0040476f
add esp, 0x14
test eax, eax
je 0x407068
cmp byte [0x430f42], 0
jne 0x407068
mov ecx, 0x430f14
call fcn.0040797d
push ebx
push dword [0x430f18]
push str.SfxVarApiPath
call fcn.0040575f
add esp, 0xc
call fcn.00406323
push 0x426a08
lea ecx, [ebp - 0x2c]
call fcn.00411449
mov ecx, 0x430f14
call fcn.0040797d
mov ecx, 0x426a08
lea eax, [ebp - 0x2c]
push ecx
push eax
push ecx
push dword [0x430f18]
push esi
call fcn.00401edc
push dword [ebp - 0x2c]
call fcn.00419909
add esp, 0x18
mov ecx, 0x430f68
call fcn.0040845c
push ebx
push str.BeginPrompt
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x4070d4
cmp byte [0x430f41], 0
jne 0x4070d4
push eax
push dword [0x430e78]
call fcn.004099ea
pop ecx
pop ecx
test eax, eax
je 0x4071e4
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x4070c1
xor eax, eax
inc eax
mov byte [0x430f40], al
mov byte [0x430f41], al
cmp dword [0x430fe4], 0
je 0x4070d4
and dword [0x4303b4], 0xffffff7f
lea ecx, [ebp - 0x20]
call fcn.00411480
cmp byte [0x430f40], 0
je 0x40714b
mov esi, dword [0x430f3c]
push str.AutoInstall
lea ecx, [ebp - 0x20]
call fcn.004115b2
movzx eax, word [esi]
lea ecx, [ebp - 0x20]
push eax
call fcn.004018e1
push ebx
push dword [ebp - 0x20]
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x4071ec
add esi, 2
movzx eax, word [esi]
cmp eax, 0x30
jb 0x407127
cmp eax, 0x39
jbe 0x4070eb
push 0x61
pop ecx
cmp ax, cx
jb 0x407134
cmp eax, 0x7a
jbe 0x4070eb
cmp eax, 0x41
jb 0x40713e
cmp eax, 0x5a
jbe 0x4070eb
push str.AutoInstall
lea ecx, [ebp - 0x20]
call fcn.004115b2
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 0x3c], bl
jne 0x40719a
push ebx
push str.ExecuteFile
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x407176
push str.ExecuteFile
lea ecx, [ebp - 0x20]
call fcn.004115b2
mov byte [ebp - 0x3c], 1
cmp dword [ebp - 0x1c], 0
jne 0x40719a
push ebx
push str.RunProgram
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x40719a
push str.RunProgram
lea ecx, [ebp - 0x20]
call fcn.004115b2
cmp byte [0x430f40], 0
jne 0x407206
cmp byte [0x430f41], 0
jne 0x407206
mov eax, dword [0x4303b4]
and al, 0xc0
cmp al, 0x80
jne 0x407206
push dword [0x430e8c]
push dword [0x430e88]
call fcn.00409bd4
pop ecx
pop ecx
test eax, eax
jne 0x407206
cmp byte [0x430ea0], al
je 0x4071fe
push dword [ebp - 0x20]
call fcn.00419909
pop ecx
jmp 0x407072
push 5
pop ebx
jmp 0x4075dc
push dword [ebp - 0x20]
push 0xe
push ebx
call fcn.00409adb
add esp, 0xc
push 6
jmp 0x407200
push 5
pop ebx
jmp 0x4075d3
cmp dword [0x430ed0], 0
jne 0x40723a
lea eax, [ebp - 0x58]
push str.7ZipSfx._03x
push eax
call fcn.00403be2
pop ecx
pop ecx
push eax
mov ecx, 0x430ecc
call fcn.0041154b
push dword [ebp - 0x58]
call fcn.00419909
mov byte [0x430ea1], bl
jmp 0x407272
mov esi, 0x430ecc
lea ecx, [ebp - 0x10]
push esi
call fcn.00411418
lea eax, [ebp - 0x10]
push eax
call fcn.00405f17
cmp dword [ebp - 0xc], 0
pop ecx
je 0x407263
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.0041154b
push dword [ebp - 0x10]
mov byte [0x430ea1], 1
call fcn.00419909
mov edx, dword [0x430ed0]
pop ecx
mov ecx, dword [0x430ecc]
movzx eax, word [ecx + edx*2 - 2]
cmp eax, 0x5c
je 0x40728e
cmp eax, 0x2f
jne 0x40729c
lea eax, [edx - 1]
xor edx, edx
mov dword [0x430ed0], eax
mov word [ecx + eax*2], dx
cmp byte [0x430f41], 0
je 0x4072ac
or dword [0x430e9c], 3
push str.PreExtract
lea ecx, [ebp - 0x70]
call fcn.00411449
mov eax, dword [0x430f3c]
lea ecx, [ebp - 0x70]
movzx eax, word [eax]
push eax
call fcn.004018e1
push ebx
push dword [ebp - 0x70]
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x407347
cmp byte [0x430f42], 0
jne 0x407347
mov ecx, 0x430f14
call fcn.0040797d
push ebx
push dword [0x430f18]
push str.SfxVarApiPath
call fcn.0040575f
add esp, 0xc
call fcn.00406323
push 0x426a08
lea ecx, [ebp - 0x2c]
call fcn.00411449
mov esi, dword [0x430f3c]
mov ecx, 0x430f14
call fcn.0040797d
push 0x426a08
lea eax, [ebp - 0x2c]
push eax
push esi
push dword [0x430f18]
push str.PreExtract
call fcn.00401edc
push dword [ebp - 0x2c]
call fcn.00419909
add esp, 0x18
cmp dword [0x43100c], 0
jne 0x40735d
push 0x430ecc
call fcn.00402a11
pop ecx
jmp 0x40736b
call fcn.004083b3
test eax, eax
jne 0x40737b
mov eax, 0x80004005
test eax, eax
je 0x40737b
call fcn.0040637a
push 8
jmp 0x407449
call fcn.00406323
cmp byte [0x430f42], 0
je 0x407396
cmp byte [0x430ea1], 0
jne 0x407504
lea ecx, [ebp - 0x10]
call fcn.00411480
lea ecx, [ebp - 0x4c]
call fcn.00411480
cmp byte [0x430f40], 0
jne 0x4073b9
lea eax, [ebp - 0x10]
push eax
call fcn.004022b6
pop ecx
cmp dword [ebp - 0x1c], 0
jne 0x407483
cmp byte [0x430ea1], 0
jne 0x4074a1
push str.setup.exe
push 0x426bc8
lea eax, [ebp - 0x88]
push 0x430ecc
push eax
call fcn.0041165d
add esp, 0xc
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.0041165d
add esp, 0xc
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.004115b2
push dword [ebp - 0x58]
call fcn.00419909
push dword [ebp - 0x88]
call fcn.00419909
pop ecx
pop ecx
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, edi
jne 0x40744f
call fcn.0040637a
push 0xf
push ebx
call fcn.00409adb
push dword [ebp - 0x4c]
call fcn.00419909
push dword [ebp - 0x10]
call fcn.00419909
add esp, 0x10
push 7
pop ebx
jmp 0x4075ca
mov esi, dword [0x430ecc]
lea ecx, [ebp - 0x2c]
push str.setup.exe
call fcn.00411449
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push eax
push dword [ebp - 0x3c]
lea eax, [ebp - 0x2c]
push esi
push eax
call fcn.00401fa8
push dword [ebp - 0x2c]
call fcn.00419909
add esp, 0x18
jmp 0x4074a1
push dword [ebp - 0x40]
lea eax, [ebp - 0x10]
push eax
push dword [0x430f3c]
push dword [0x430ecc]
push dword [ebp - 0x20]
call fcn.00401edc
add esp, 0x14
cmp dword [0x431010], 0
jne 0x4074f2
call fcn.00406323
push edi
push dword [0x430f3c]
push str.Shortcut
push 0x405cea
call fcn.00405dc7
add esp, 0x10
push dword [0x430ed8]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push edi
push dword [0x430f3c]
push str.Delete
push 0x405cbb
call fcn.00405dc7
add esp, 0x10
call fcn.0040637a
push dword [ebp - 0x4c]
call fcn.00419909
push dword [ebp - 0x10]
call fcn.00419909
pop ecx
pop ecx
mov eax, dword [0x4303c0]
cmp eax, edi
jne 0x40751e
cmp byte [0x430f41], 0
jne 0x40758a
xor eax, eax
inc eax
mov dword [0x4303c0], eax
test eax, eax
jle 0x40758a
push ebx
push str.FinishMessage
call fcn.0040476f
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x40758a
mov ecx, dword [0x4303c0]
mov eax, 0x3e7
cmp ecx, eax
cmovg ecx, eax
mov dword [0x4303c0], ecx
lea ecx, [ebp - 0x108]
call fcn.00407c2a
push ebx
push esi
push dword [0x430e78]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x108], 0x42798c
push 0x11
mov dword [ebp - 0xd0], 0x7d5
call fcn.00409c26
lea ecx, [ebp - 0x108]
call fcn.00407c8b
cmp byte [0x430f42], 0
jne 0x4075ca
cmp dword [0x431010], 0
jne 0x4075ca
push ebx
push str.SelfDelete
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x4075ca
cmp word [eax], 0x31
jne 0x4075ca
sub esp, 0xc
mov ecx, esp
push 0x430fbc
call fcn.00411418
call fcn.00405a7a
add esp, 0xc
push dword [ebp - 0x70]
call fcn.00419909
pop ecx
push dword [ebp - 0x20]
call fcn.00419909
pop ecx
push dword [ebp - 0x7c]
call fcn.00419909
pop ecx
push dword [ebp - 0x64]
call fcn.00419909
push dword [ebp - 0xb8]
call fcn.00419909
push dword [ebp - 0x38]
call fcn.00419909
add esp, 0xc
mov eax, ebx
jmp 0x40761e
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 0x10