Function at 0x4067d5
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 0x4067be
call fcn.0041b750
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 0x40770d
cmp dword [ebp - 0x214], 2
jne 0x40770d
cmp dword [ebp - 0x220], 5
jb 0x40770d
lea ecx, [ebp - 0x38]
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
call fcn.0041158b
lea ecx, [ebp - 0xb8]
call fcn.0041158b
lea ecx, [ebp - 0x64]
call fcn.0041158b
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.004116bd
lea eax, [ebp - 0x64]
push eax
call fcn.00405174
mov edi, dword [ebp - 0x64]
xor ebx, ebx
inc ebx
push ebx
push 0x426d50
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 0x427b94
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 0x406948
cmp word [eax], cx
jne 0x406948
add eax, 2
push eax
call fcn.0041b200
pop ecx
test eax, eax
jle 0x40693d
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 0x406940
push str.sfxversion
push edi
call fcn.00405c24
pop ecx
pop ecx
test eax, eax
je 0x406965
call fcn.0040648f
xor ebx, ebx
jmp 0x4076eb
push str.sfxwaitall
push edi
call fcn.00405c24
pop ecx
pop ecx
test eax, eax
je 0x406983
push eax
call fcn.00401e60
mov ebx, eax
jmp 0x4076ea
push str.sfxelevation
xor ebx, ebx
push edi
mov byte [ebp - 1], bl
call fcn.00405c24
pop ecx
pop ecx
test eax, eax
je 0x40699f
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 0x4069cd
xor ebx, ebx
inc ebx
push 6
push ebx
call fcn.00409be6
pop ecx
jmp 0x4076ea
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 0x406bb5
push 0x3a
pop edx
cmp word [esi], dx
jne 0x406adf
movzx ecx, word [esi + 2]
push 0x20
mov eax, ecx
pop edi
or eax, edi
sub eax, 0x61
je 0x406b2c
dec eax
sub eax, 1
je 0x406b1d
sub eax, 1
je 0x406a99
sub eax, 0xb
je 0x406a44
sub eax, 7
jne 0x406adf
mov ebx, 0x4f3c
jmp 0x4076eb
cmp word [esi + 4], dx
jne 0x4076eb
movzx eax, word [esi + 6]
sub eax, 0x31
je 0x406a91
sub eax, 1
je 0x406a87
sub eax, 1
je 0x406a80
sub eax, 1
je 0x406a76
sub eax, 1
jne 0x4076eb
push 7
jmp 0x406cb7
mov ebx, 0x3eff
jmp 0x4076eb
push 0x1f
jmp 0x406cb7
mov ebx, 0xc0
jmp 0x4076eb
xor ebx, ebx
inc ebx
jmp 0x4076eb
cmp ecx, 0x44
jne 0x406ae6
cmp word [esi + 4], dx
jne 0x406adf
add esi, 6
movzx eax, word [esi]
cmp ax, di
jbe 0x406ad6
push 0x3a
mov ecx, eax
pop ebx
cmp cx, bx
je 0x406ad1
push ecx
mov ecx, 0x431014
call fcn.004018e1
add esi, 2
movzx eax, word [esi]
mov ecx, eax
cmp ax, di
ja 0x406ab4
push 0x3a
xor ebx, ebx
pop edx
cmp dword [0x431018], 0
jne 0x406ae9
push 0x64
jmp 0x406cb7
add esi, 4
mov dword [0x43100c], ebx
cmp word [esi], dx
jne 0x406b0e
lea eax, [esi + 2]
push eax
call fcn.0041b200
mov dword [0x43100c], eax
pop ecx
cmp eax, 0xe10
ja 0x406b0e
test eax, eax
jne 0x406b18
mov dword [0x43100c], 0xa
xor eax, eax
inc eax
jmp 0x406b2f
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, 3
jmp 0x406b2f
push 2
pop eax
mov dword [0x431010], eax
jmp 0x406b39
add esi, 2
cmp word [esi], di
ja 0x406b36
push str.sfxconfig
push esi
mov edi, esi
call fcn.00405c24
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x406bb5
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x406b66
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x406b85
push 0x20
movzx ecx, ax
pop ebx
cmp cx, bx
ja 0x406b83
add edx, 2
movzx eax, word [edx]
mov ecx, eax
test ax, ax
jne 0x406b71
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 0x406bb5
lea eax, [ebp - 0x38]
mov ecx, 0x430fbc
push eax
call fcn.00411656
push 0x430fbc
mov ecx, 0x430ed8
call fcn.00411656
push 0x430fbc
mov ecx, 0x430ee4
call fcn.00411656
push 0x430fbc
call fcn.004040ff
mov esi, eax
pop ecx
test esi, esi
js 0x406c7f
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.004116bd
mov eax, dword [0x430fbc]
lea eax, [eax + esi*2]
mov esi, 0x430efc
add eax, 2
mov ecx, esi
push eax
call fcn.004116bd
push 0x2e
mov ecx, esi
call fcn.00411cc7
test eax, eax
jle 0x406c46
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.00411656
push 4
call fcn.004041e0
pop ecx
push eax
mov ecx, esi
call fcn.0041185b
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.004116bd
push dword [0x430fbc]
mov ecx, 0x430f30
call fcn.00401468
test al, al
jne 0x406cbd
push dword [0x430fbc]
push 7
push 1
call fcn.00409be6
add esp, 0xc
push 2
pop ebx
jmp 0x4076eb
lea ecx, [ebp - 0x7c]
call fcn.00411436
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 0x406de2
mov eax, dword [0x431010]
test eax, eax
jne 0x406d79
push str.sfxconfig
push edi
call fcn.00405c24
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x406d74
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x406d1d
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x4076e2
push 0x20
movzx ecx, ax
pop ebx
movzx esi, cx
cmp cx, bx
ja 0x406d43
add edx, 2
movzx eax, word [edx]
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x406d2c
push 0
pop ebx
test si, si
je 0x4076e2
lea eax, [ebp - 0x7c]
push eax
push edx
call fcn.00405f70
pop ecx
pop ecx
test al, al
jne 0x4076e2
push 0xa
push ebx
call fcn.00409be6
pop ecx
pop ecx
push 4
jmp 0x4072ec
mov eax, dword [0x431010]
cmp eax, 4
je 0x4076e2
mov eax, dword [0x4300c0]
mov esi, 0x4300c0
jmp 0x406dc2
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 0x406d8e
mov esi, 0x430f30
push edi
mov ecx, esi
call fcn.00406080
call fcn.0040197d
mov dword [ebp - 0x40], eax
test eax, eax
jne 0x406de9
push 0x20
pop eax
mov ebx, eax
jmp 0x4076e2
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 0x406f63
test byte [0x430e9c], 4
je 0x406f63
call fcn.0040493f
test eax, eax
jne 0x406f63
lea ecx, [ebp - 0x10]
call fcn.0041158b
lea ecx, [ebp - 0x4c]
call fcn.0041158b
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.00411554
push str.sfxelevation
push 0x426a40
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x58]
push 0x4269ac
push eax
call fcn.0041178d
add esp, 0xc
push eax
lea eax, [ebp - 0x88]
push eax
call fcn.00411768
add esp, 0xc
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00411768
add esp, 0xc
lea ecx, [ebp - 0x94]
push 0x20
push eax
call fcn.00411458
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.00411748
add esp, 0xc
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.004116bd
push dword [ebp - 0xa0]
call fcn.00419a19
push dword [ebp - 0x94]
call fcn.00419a19
push dword [ebp - 0xac]
call fcn.00419a19
push dword [ebp - 0x88]
call fcn.00419a19
push dword [ebp - 0x58]
call fcn.00419a19
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.00419a19
push dword [ebp - 0x4c]
call fcn.00419a19
push dword [ebp - 0x10]
call fcn.00419a19
add esp, 0x18
jmp 0x4076e2
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 0x406fc6
push esi
lea ecx, [ebp - 0x10]
call fcn.00411554
push 0x3d
push dword [ebp - 0x10]
call fcn.00411945
pop ecx
pop ecx
test eax, eax
jle 0x406fce
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.00419a19
lea eax, [ebp - 0x14]
push eax
push edi
call fcn.0040476f
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x406f79
jmp 0x406fd7
push dword [ebp - 0x10]
call fcn.00419a19
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 0x407059
push ebx
push str.HelpText
call fcn.0040476f
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x407015
push 0x18
call fcn.004041e0
pop ecx
mov esi, eax
lea ecx, [ebp - 0x10c]
call fcn.00407d35
push ebx
push esi
push dword [0x430e78]
lea ecx, [ebp - 0x10c]
mov dword [ebp - 0x10c], 0x4279cc
push 0x11
mov dword [ebp - 0xd4], 0x7d6
call fcn.00409d31
lea ecx, [ebp - 0x10c]
call fcn.00407d96
jmp 0x4076e2
cmp byte [0x430f41], cl
je 0x40706b
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 0x407097
push eax
mov ecx, esi
call fcn.004116bd
mov byte [0x430ea1], 1
push esi
call fcn.00405f17
push ebx
push str.BeginPromptTimeout
call fcn.0040476f
add esp, 0xc
test eax, eax
je 0x4070bb
push eax
call fcn.0041b200
pop ecx
mov dword [0x430ea4], eax
cmp dword [0x431018], 0
je 0x4070ce
call fcn.0040a0ce
jmp 0x406de2
cmp dword [0x431010], 3
jne 0x4070e1
call fcn.0040a387
jmp 0x406de2
push ebx
push 0x426a18
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 0x40716e
cmp byte [0x430f42], 0
jne 0x40716e
mov ecx, 0x430f14
call fcn.00407a88
push ebx
push dword [0x430f18]
push str.SfxVarApiPath
call fcn.0040575f
add esp, 0xc
call fcn.00406323
push 0x426a18
lea ecx, [ebp - 0x2c]
call fcn.00411554
mov ecx, 0x430f14
call fcn.00407a88
mov ecx, 0x426a18
lea eax, [ebp - 0x2c]
push ecx
push eax
push ecx
push dword [0x430f18]
push esi
call fcn.00401edc
push dword [ebp - 0x2c]
call fcn.00419a19
add esp, 0x18
mov ecx, 0x430f68
call fcn.00408567
push ebx
push str.BeginPrompt
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x4071da
cmp byte [0x430f41], 0
jne 0x4071da
push eax
push dword [0x430e78]
call fcn.00409af5
pop ecx
pop ecx
test eax, eax
je 0x4072ea
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x4071c7
xor eax, eax
inc eax
mov byte [0x430f40], al
mov byte [0x430f41], al
cmp dword [0x430fe4], 0
je 0x4071da
and dword [0x4303b4], 0xffffff7f
lea ecx, [ebp - 0x20]
call fcn.0041158b
cmp byte [0x430f40], 0
je 0x407251
mov esi, dword [0x430f3c]
push str.AutoInstall
lea ecx, [ebp - 0x20]
call fcn.004116bd
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 0x4072f2
add esi, 2
movzx eax, word [esi]
cmp eax, 0x30
jb 0x40722d
cmp eax, 0x39
jbe 0x4071f1
push 0x61
pop ecx
cmp ax, cx
jb 0x40723a
cmp eax, 0x7a
jbe 0x4071f1
cmp eax, 0x41
jb 0x407244
cmp eax, 0x5a
jbe 0x4071f1
push str.AutoInstall
lea ecx, [ebp - 0x20]
call fcn.004116bd
cmp dword [ebp - 0x1c], 0
mov byte [ebp - 0x3c], bl
jne 0x4072a0
push ebx
push str.ExecuteFile
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x40727c
push str.ExecuteFile
lea ecx, [ebp - 0x20]
call fcn.004116bd
mov byte [ebp - 0x3c], 1
cmp dword [ebp - 0x1c], 0
jne 0x4072a0
push ebx
push str.RunProgram
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x4072a0
push str.RunProgram
lea ecx, [ebp - 0x20]
call fcn.004116bd
cmp byte [0x430f40], 0
jne 0x40730c
cmp byte [0x430f41], 0
jne 0x40730c
mov eax, dword [0x4303b4]
and al, 0xc0
cmp al, 0x80
jne 0x40730c
push dword [0x430e8c]
push dword [0x430e88]
call fcn.00409cdf
pop ecx
pop ecx
test eax, eax
jne 0x40730c
cmp byte [0x430ea0], al
je 0x407304
push dword [ebp - 0x20]
call fcn.00419a19
pop ecx
jmp 0x407178
push 5
pop ebx
jmp 0x4076e2
push dword [ebp - 0x20]
push 0xe
push ebx
call fcn.00409be6
add esp, 0xc
push 6
jmp 0x407306
push 5
pop ebx
jmp 0x4076d9
cmp dword [0x430ed0], 0
jne 0x407340
lea eax, [ebp - 0x58]
push str.7ZipSfx._03x
push eax
call fcn.00403be2
pop ecx
pop ecx
push eax
mov ecx, 0x430ecc
call fcn.00411656
push dword [ebp - 0x58]
call fcn.00419a19
mov byte [0x430ea1], bl
jmp 0x407378
mov esi, 0x430ecc
lea ecx, [ebp - 0x10]
push esi
call fcn.00411523
lea eax, [ebp - 0x10]
push eax
call fcn.00405f17
cmp dword [ebp - 0xc], 0
pop ecx
je 0x407369
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.00411656
push dword [ebp - 0x10]
mov byte [0x430ea1], 1
call fcn.00419a19
mov edx, dword [0x430ed0]
pop ecx
mov ecx, dword [0x430ecc]
movzx eax, word [ecx + edx*2 - 2]
cmp eax, 0x5c
je 0x407394
cmp eax, 0x2f
jne 0x4073a2
lea eax, [edx - 1]
xor edx, edx
mov dword [0x430ed0], eax
mov word [ecx + eax*2], dx
cmp byte [0x430f41], 0
je 0x4073b2
or dword [0x430e9c], 3
push str.PreExtract
lea ecx, [ebp - 0x70]
call fcn.00411554
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 0x40744d
cmp byte [0x430f42], 0
jne 0x40744d
mov ecx, 0x430f14
call fcn.00407a88
push ebx
push dword [0x430f18]
push str.SfxVarApiPath
call fcn.0040575f
add esp, 0xc
call fcn.00406323
push 0x426a18
lea ecx, [ebp - 0x2c]
call fcn.00411554
mov esi, dword [0x430f3c]
mov ecx, 0x430f14
call fcn.00407a88
push 0x426a18
lea eax, [ebp - 0x2c]
push eax
push esi
push dword [0x430f18]
push str.PreExtract
call fcn.00401edc
push dword [ebp - 0x2c]
call fcn.00419a19
add esp, 0x18
cmp dword [0x43100c], 0
jne 0x407463
push 0x430ecc
call fcn.00402a11
pop ecx
jmp 0x407471
call fcn.004084be
test eax, eax
jne 0x407481
mov eax, 0x80004005
test eax, eax
je 0x407481
call fcn.0040637a
push 8
jmp 0x40754f
call fcn.00406323
cmp byte [0x430f42], 0
je 0x40749c
cmp byte [0x430ea1], 0
jne 0x40760a
lea ecx, [ebp - 0x10]
call fcn.0041158b
lea ecx, [ebp - 0x4c]
call fcn.0041158b
cmp byte [0x430f40], 0
jne 0x4074bf
lea eax, [ebp - 0x10]
push eax
call fcn.004022b6
pop ecx
cmp dword [ebp - 0x1c], 0
jne 0x407589
cmp byte [0x430ea1], 0
jne 0x4075a7
push str.setup.exe
push 0x426bd8
lea eax, [ebp - 0x88]
push 0x430ecc
push eax
call fcn.00411768
add esp, 0xc
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.00411768
add esp, 0xc
lea ecx, [ebp - 0x4c]
push dword [eax]
call fcn.004116bd
push dword [ebp - 0x58]
call fcn.00419a19
push dword [ebp - 0x88]
call fcn.00419a19
pop ecx
pop ecx
push dword [ebp - 0x4c]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, edi
jne 0x407555
call fcn.0040637a
push 0xf
push ebx
call fcn.00409be6
push dword [ebp - 0x4c]
call fcn.00419a19
push dword [ebp - 0x10]
call fcn.00419a19
add esp, 0x10
push 7
pop ebx
jmp 0x4076d0
mov esi, dword [0x430ecc]
lea ecx, [ebp - 0x2c]
push str.setup.exe
call fcn.00411554
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.00419a19
add esp, 0x18
jmp 0x4075a7
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 0x4075f8
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.00419a19
push dword [ebp - 0x10]
call fcn.00419a19
pop ecx
pop ecx
mov eax, dword [0x4303c0]
cmp eax, edi
jne 0x407624
cmp byte [0x430f41], 0
jne 0x407690
xor eax, eax
inc eax
mov dword [0x4303c0], eax
test eax, eax
jle 0x407690
push ebx
push str.FinishMessage
call fcn.0040476f
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x407690
mov ecx, dword [0x4303c0]
mov eax, 0x3e7
cmp ecx, eax
cmovg ecx, eax
mov dword [0x4303c0], ecx
lea ecx, [ebp - 0x108]
call fcn.00407d35
push ebx
push esi
push dword [0x430e78]
lea ecx, [ebp - 0x108]
mov dword [ebp - 0x108], 0x42799c
push 0x11
mov dword [ebp - 0xd0], 0x7d5
call fcn.00409d31
lea ecx, [ebp - 0x108]
call fcn.00407d96
cmp byte [0x430f42], 0
jne 0x4076d0
cmp dword [0x431010], 0
jne 0x4076d0
push ebx
push str.SelfDelete
call fcn.0040476f
pop ecx
pop ecx
test eax, eax
je 0x4076d0
cmp word [eax], 0x31
jne 0x4076d0
sub esp, 0xc
mov ecx, esp
push 0x430fbc
call fcn.00411523
call fcn.00405a7a
add esp, 0xc
push dword [ebp - 0x70]
call fcn.00419a19
pop ecx
push dword [ebp - 0x20]
call fcn.00419a19
pop ecx
push dword [ebp - 0x7c]
call fcn.00419a19
pop ecx
push dword [ebp - 0x64]
call fcn.00419a19
push dword [ebp - 0xb8]
call fcn.00419a19
push dword [ebp - 0x38]
call fcn.00419a19
add esp, 0xc
mov eax, ebx
jmp 0x407724
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