Function at 0x8006654
Capabilities:
Accept command line arguments
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 ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0xf4240
jne 0x8006686
push str.pokliu.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.ClowWinsk
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
push 0x800663d
call fcn.0801b4b0
pop ecx
call fcn.080036c9
lea eax, [ebp - 0x1ec]
mov dword [ebp - 0x1ec], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x800745c
cmp dword [ebp - 0x1dc], 2
jne 0x800745c
cmp dword [ebp - 0x1e8], 5
jb 0x800745c
lea ecx, [ebp - 0x28]
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
call fcn.080112e2
lea ecx, [ebp - 0x80]
call fcn.080112e2
lea ecx, [ebp - 0x50]
call fcn.080112e2
call fcn.0800633a
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea eax, [ebp - 0x28]
push eax
call esi
push eax
call fcn.08004ca0
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x50]
call fcn.08011414
lea eax, [ebp - 0x50]
push eax
call fcn.0800511e
mov edi, dword [ebp - 0x50]
xor ebx, ebx
inc ebx
push ebx
push 0x8025d30
push str.SfxVarModulePlatform
call fcn.08005709
add esp, 0x10
push ebx
call fcn.08004435
push eax
push str.SfxVarSystemPlatform
call fcn.08005709
add esp, 0xc
push ebx
call esi
push eax
push str.SfxVarCmdLine0
call fcn.08005709
movzx eax, word [0x802fe68]
lea ecx, [ebp - 0x28]
add esp, 0xc
push eax
push 0x8026b6c
push 0x20
pop eax
push eax
call fcn.08004031
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
mov esi, dword [ebp - 0x28]
push esi
call fcn.08004e55
xor ecx, ecx
mov dword [ebp - 0x24], eax
push ebx
mov word [esi + eax*2], cx
push dword [ebp - 0x28]
push str.SfxVarSystemLanguage
call fcn.08005709
push str.sfxlang
push edi
call fcn.08005bce
add esp, 0x24
push 0x3a
pop ecx
test eax, eax
je 0x80067ea
cmp word [eax], cx
jne 0x80067ea
add eax, 2
push eax
call fcn.0801af60
pop ecx
test eax, eax
jle 0x80067df
movzx edx, word [0x802fe68]
cmp eax, 0xffff
movzx ecx, ax
cmovle edx, ecx
mov word [0x802fe68], dx
push 0x20
pop eax
add edi, 2
cmp word [edi], ax
ja 0x80067e2
push str.sfxversion
push edi
call fcn.08005bce
pop ecx
pop ecx
test eax, eax
je 0x8006807
call fcn.08006414
xor ebx, ebx
jmp 0x800743d
push str.sfxwaitall
push edi
call fcn.08005bce
pop ecx
pop ecx
test eax, eax
je 0x8006825
push eax
call fcn.08001e60
mov ebx, eax
jmp 0x800743c
push str.sfxelevation
push edi
call fcn.08005bce
test eax, eax
pop ecx
pop ecx
cmovne edi, eax
mov ecx, 0x802ffbc
mov eax, 0x208
push eax
push eax
call fcn.08004031
push eax
xor ebx, ebx
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x8006865
inc ebx
push 6
push ebx
call fcn.0800993d
pop ecx
jmp 0x800743c
mov esi, dword [0x802ffbc]
push esi
call fcn.08004e55
xor ecx, ecx
mov dword [0x802ffc0], eax
mov dword [esp], str.sfxtest
push edi
mov word [esi + eax*2], cx
call fcn.08005bce
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x8006a4b
push 0x3a
pop edx
cmp word [esi], dx
jne 0x8006977
movzx ecx, word [esi + 2]
push 0x20
mov eax, ecx
pop edi
or eax, edi
sub eax, 0x61
je 0x80069c4
dec eax
sub eax, 1
je 0x80069b5
sub eax, 1
je 0x8006931
sub eax, 0xb
je 0x80068dc
sub eax, 7
jne 0x8006977
mov ebx, 0x4f3c
jmp 0x800743d
cmp word [esi + 4], dx
jne 0x800743d
movzx eax, word [esi + 6]
sub eax, 0x31
je 0x8006929
sub eax, 1
je 0x800691f
sub eax, 1
je 0x8006918
sub eax, 1
je 0x800690e
sub eax, 1
jne 0x800743d
push 7
jmp 0x8006b4d
mov ebx, 0x3eff
jmp 0x800743d
push 0x1f
jmp 0x8006b4d
mov ebx, 0xc0
jmp 0x800743d
xor ebx, ebx
inc ebx
jmp 0x800743d
cmp ecx, 0x44
jne 0x800697e
cmp word [esi + 4], dx
jne 0x8006977
add esi, 6
movzx eax, word [esi]
cmp ax, di
jbe 0x800696e
push 0x3a
mov ecx, eax
pop ebx
cmp cx, bx
je 0x8006969
push ecx
mov ecx, 0x8030014
call fcn.080018e1
add esi, 2
movzx eax, word [esi]
mov ecx, eax
cmp ax, di
ja 0x800694c
push 0x3a
xor ebx, ebx
pop edx
cmp dword [0x8030018], 0
jne 0x8006981
push 0x64
jmp 0x8006b4d
add esi, 4
mov dword [0x803000c], ebx
cmp word [esi], dx
jne 0x80069a6
lea eax, [esi + 2]
push eax
call fcn.0801af60
mov dword [0x803000c], eax
pop ecx
cmp eax, 0xe10
ja 0x80069a6
test eax, eax
jne 0x80069b0
mov dword [0x803000c], 0xa
xor eax, eax
inc eax
jmp 0x80069c7
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, 3
jmp 0x80069c7
push 2
pop eax
mov dword [0x8030010], eax
jmp 0x80069d1
add esi, 2
cmp word [esi], di
ja 0x80069ce
push str.sfxconfig
push esi
mov edi, esi
call fcn.08005bce
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x8006a4b
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x80069fe
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x8006a1b
push 0x20
movzx ecx, ax
pop esi
cmp cx, si
ja 0x8006a1b
add edx, 2
movzx eax, word [edx]
mov ecx, eax
test ax, ax
jne 0x8006a09
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov dword [ebp - 0x24], ebx
mov word [eax], cx
lea eax, [ebp - 0x28]
push eax
push edx
call fcn.08004ca0
cmp dword [0x8030010], 2
mov edi, eax
pop ecx
pop ecx
je 0x8006a4b
lea eax, [ebp - 0x28]
mov ecx, 0x802ffbc
push eax
call fcn.080113ad
push 0x802ffbc
mov ecx, 0x802fed8
call fcn.080113ad
push 0x802ffbc
mov ecx, 0x802fee4
call fcn.080113ad
push 0x802ffbc
call fcn.080040ff
mov esi, eax
pop ecx
test esi, esi
js 0x8006b15
mov edx, dword [0x802fed8]
xor eax, eax
mov dword [0x802fedc], esi
mov ecx, 0x802fee4
mov word [edx + esi*2], ax
mov eax, dword [0x802ffbc]
lea eax, [eax + esi*2]
add eax, 2
push eax
call fcn.08011414
mov eax, dword [0x802ffbc]
lea eax, [eax + esi*2]
mov esi, 0x802fefc
add eax, 2
mov ecx, esi
push eax
call fcn.08011414
push 0x2e
mov ecx, esi
call fcn.08011a1e
test eax, eax
jle 0x8006adc
mov ecx, dword [0x802fefc]
xor edx, edx
mov dword [0x802ff00], eax
mov word [ecx + eax*2], dx
push esi
mov esi, 0x802fef0
mov ecx, esi
call fcn.080113ad
push 4
call fcn.080041e0
pop ecx
push eax
mov ecx, esi
call fcn.080115b2
mov ecx, dword [0x802fefc]
mov eax, dword [0x802fef0]
mov dword [0x802fe78], ecx
mov dword [0x802fe7c], eax
mov dword [0x802fea8], ecx
call fcn.08004435
push eax
mov ecx, 0x802ff08
call fcn.08011414
push dword [0x802ffbc]
mov ecx, 0x802ff30
call fcn.08001468
test al, al
jne 0x8006b53
push dword [0x802ffbc]
push 7
push 1
call fcn.0800993d
add esp, 0xc
push 2
pop ebx
jmp 0x800743d
lea ecx, [ebp - 0x68]
call fcn.0801118d
mov ecx, 0x802ffc8
call fcn.08005a00
lea eax, [ebp - 0x68]
push eax
push ebx
push dword [0x802ff34]
call fcn.08004979
add esp, 0xc
test eax, eax
jne 0x8006c77
mov eax, dword [0x8030010]
test eax, eax
jne 0x8006c0f
push str.sfxconfig
push edi
call fcn.08005bce
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x8006c0a
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x8006bb3
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x8007434
push 0x20
movzx ecx, ax
pop ebx
movzx esi, cx
cmp cx, bx
ja 0x8006bd9
add edx, 2
movzx eax, word [edx]
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x8006bc2
push 0
pop ebx
test si, si
je 0x8007434
lea eax, [ebp - 0x68]
push eax
push edx
call fcn.08005f1a
pop ecx
pop ecx
test al, al
jne 0x8007434
push 0xa
push ebx
call fcn.0800993d
pop ecx
pop ecx
push 4
jmp 0x8007044
mov eax, dword [0x8030010]
cmp eax, 4
je 0x8007434
mov eax, dword [0x802f0c0]
mov esi, 0x802f0c0
jmp 0x8006c58
push eax
lea eax, [ebp - 0xd8]
push str.SfxString_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
push dword [esi]
call fcn.080041e0
pop ecx
push eax
lea eax, [ebp - 0xd8]
push eax
call fcn.08005709
lea esi, [esi + 0x10]
add esp, 0xc
mov eax, dword [esi]
test eax, eax
jne 0x8006c24
mov esi, 0x802ff30
push edi
mov ecx, esi
call fcn.0800602a
call fcn.0800197d
mov edi, eax
test edi, edi
jne 0x8006c7e
push 0x20
pop eax
mov ebx, eax
jmp 0x8007434
call fcn.0800604c
mov ecx, esi
call fcn.080015a9
mov ecx, 0x802ffc8
call fcn.08005a00
push ebx
push ebx
push dword [0x802ff34]
call fcn.08004979
add esp, 0xc
call fcn.0800604c
mov ecx, esi
call fcn.0800149d
call fcn.0800197d
call fcn.0800604c
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], ebx
push eax
push str.SetEnvironment
call fcn.0800476f
pop ecx
pop ecx
jmp 0x8006d20
push esi
lea ecx, [ebp - 0xc]
call fcn.080112ab
push 0x3d
push dword [ebp - 0xc]
call fcn.0801169c
pop ecx
pop ecx
test eax, eax
jle 0x8006d28
mov ecx, dword [ebp - 0xc]
add esi, 2
mov dword [ebp - 8], eax
xor edx, edx
push ebx
mov word [ecx + eax*2], dx
lea eax, [esi + eax*2]
push eax
push dword [ebp - 0xc]
call fcn.08005709
push dword [ebp - 0xc]
inc dword [ebp - 0x10]
call fcn.08019779
lea eax, [ebp - 0x10]
push eax
push str.SetEnvironment
call fcn.0800476f
add esp, 0x18
mov esi, eax
test esi, esi
jne 0x8006ccf
jmp 0x8006d31
push dword [ebp - 0xc]
call fcn.08019779
pop ecx
call fcn.080062cd
mov eax, dword [0x802f3b4]
xor ecx, ecx
cmp eax, 0xffffffff
cmove eax, ecx
mov dword [0x802f3b4], eax
cmp byte [0x802ff43], cl
je 0x8006db1
push ebx
push str.HelpText
call fcn.0800476f
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x8006d6d
push 0x18
call fcn.080041e0
pop ecx
mov esi, eax
lea ecx, [ebp - 0xd4]
call fcn.08007a8c
push ebx
push esi
push dword [0x802fe78]
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0xd4], 0x80269ac
push 0x11
mov dword [ebp - 0x9c], 0x7d6
call fcn.08009a88
lea ecx, [ebp - 0xd4]
call fcn.08007aed
jmp 0x8007434
cmp byte [0x802ff41], cl
je 0x8006dc3
and eax, 0xfffffeff
mov dword [0x802f3b4], eax
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
push str.InstallPath
call fcn.0800476f
mov esi, 0x802fecc
pop ecx
pop ecx
test eax, eax
je 0x8006def
push eax
mov ecx, esi
call fcn.08011414
mov byte [0x802fea1], 1
push esi
call fcn.08005ec1
push ebx
push str.BeginPromptTimeout
call fcn.0800476f
add esp, 0xc
test eax, eax
je 0x8006e13
push eax
call fcn.0801af60
pop ecx
mov dword [0x802fea4], eax
cmp dword [0x8030018], 0
je 0x8006e26
call fcn.08009e25
jmp 0x8006c77
cmp dword [0x8030010], 3
jne 0x8006e39
call fcn.0800a0de
jmp 0x8006c77
push ebx
push 0x80259f8
push str.SfxVarApiPath
call fcn.08005709
call fcn.080062cd
push ebx
mov esi, str.ExecuteOnLoad
push esi
call fcn.0800476f
add esp, 0x14
test eax, eax
je 0x8006ec6
cmp byte [0x802ff42], 0
jne 0x8006ec6
mov ecx, 0x802ff14
call fcn.080077df
push ebx
push dword [0x802ff18]
push str.SfxVarApiPath
call fcn.08005709
add esp, 0xc
call fcn.080062cd
push 0x80259f8
lea ecx, [ebp - 0x34]
call fcn.080112ab
mov ecx, 0x802ff14
call fcn.080077df
mov ecx, 0x80259f8
lea eax, [ebp - 0x34]
push ecx
push eax
push ecx
push dword [0x802ff18]
push esi
call fcn.08001edc
push dword [ebp - 0x34]
call fcn.08019779
add esp, 0x18
mov ecx, 0x802ff68
call fcn.080082be
push ebx
push str.BeginPrompt
call fcn.0800476f
pop ecx
pop ecx
test eax, eax
je 0x8006f32
cmp byte [0x802ff41], 0
jne 0x8006f32
push eax
push dword [0x802fe78]
call fcn.0800984c
pop ecx
pop ecx
test eax, eax
je 0x8007042
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x8006f1f
xor eax, eax
inc eax
mov byte [0x802ff40], al
mov byte [0x802ff41], al
cmp dword [0x802ffe4], 0
je 0x8006f32
and dword [0x802f3b4], 0xffffff7f
lea ecx, [ebp - 0x1c]
call fcn.080112e2
cmp byte [0x802ff40], 0
je 0x8006fa9
mov esi, dword [0x802ff3c]
push str.AutoInstall
lea ecx, [ebp - 0x1c]
call fcn.08011414
movzx eax, word [esi]
lea ecx, [ebp - 0x1c]
push eax
call fcn.080018e1
push ebx
push dword [ebp - 0x1c]
call fcn.0800476f
pop ecx
pop ecx
test eax, eax
je 0x800704a
add esi, 2
movzx eax, word [esi]
cmp eax, 0x30
jb 0x8006f85
cmp eax, 0x39
jbe 0x8006f49
push 0x61
pop ecx
cmp ax, cx
jb 0x8006f92
cmp eax, 0x7a
jbe 0x8006f49
cmp eax, 0x41
jb 0x8006f9c
cmp eax, 0x5a
jbe 0x8006f49
push str.AutoInstall
lea ecx, [ebp - 0x1c]
call fcn.08011414
cmp dword [ebp - 0x18], 0
mov byte [ebp - 0x38], bl
jne 0x8006ff8
push ebx
push str.ExecuteFile
call fcn.0800476f
pop ecx
pop ecx
test eax, eax
je 0x8006fd4
push str.ExecuteFile
lea ecx, [ebp - 0x1c]
call fcn.08011414
mov byte [ebp - 0x38], 1
cmp dword [ebp - 0x18], 0
jne 0x8006ff8
push ebx
push str.RunProgram
call fcn.0800476f
pop ecx
pop ecx
test eax, eax
je 0x8006ff8
push str.RunProgram
lea ecx, [ebp - 0x1c]
call fcn.08011414
cmp byte [0x802ff40], 0
jne 0x8007064
cmp byte [0x802ff41], 0
jne 0x8007064
mov eax, dword [0x802f3b4]
and al, 0xc0
cmp al, 0x80
jne 0x8007064
push dword [0x802fe8c]
push dword [0x802fe88]
call fcn.08009a36
pop ecx
pop ecx
test eax, eax
jne 0x8007064
cmp byte [0x802fea0], al
je 0x800705c
push dword [ebp - 0x1c]
call fcn.08019779
pop ecx
jmp 0x8006ed0
push 5
pop ebx
jmp 0x8007434
push dword [ebp - 0x1c]
push 0xe
push ebx
call fcn.0800993d
add esp, 0xc
push 6
jmp 0x800705e
push 5
pop ebx
jmp 0x800742b
cmp dword [0x802fed0], 0
jne 0x8007098
lea eax, [ebp - 0x44]
push str.7ZipSfx._03x
push eax
call fcn.08003be2
pop ecx
pop ecx
push eax
mov ecx, 0x802fecc
call fcn.080113ad
push dword [ebp - 0x44]
call fcn.08019779
mov byte [0x802fea1], bl
jmp 0x80070d0
mov esi, 0x802fecc
lea ecx, [ebp - 0xc]
push esi
call fcn.0801127a
lea eax, [ebp - 0xc]
push eax
call fcn.08005ec1
cmp dword [ebp - 8], 0
pop ecx
je 0x80070c1
lea eax, [ebp - 0xc]
mov ecx, esi
push eax
call fcn.080113ad
push dword [ebp - 0xc]
mov byte [0x802fea1], 1
call fcn.08019779
mov edx, dword [0x802fed0]
pop ecx
mov ecx, dword [0x802fecc]
movzx eax, word [ecx + edx*2 - 2]
cmp eax, 0x5c
je 0x80070ec
cmp eax, 0x2f
jne 0x80070fa
lea eax, [edx - 1]
xor edx, edx
mov dword [0x802fed0], eax
mov word [ecx + eax*2], dx
cmp byte [0x802ff41], 0
je 0x800710a
or dword [0x802fe9c], 3
push str.PreExtract
lea ecx, [ebp - 0x5c]
call fcn.080112ab
mov eax, dword [0x802ff3c]
lea ecx, [ebp - 0x5c]
movzx eax, word [eax]
push eax
call fcn.080018e1
push ebx
push dword [ebp - 0x5c]
call fcn.0800476f
pop ecx
pop ecx
test eax, eax
je 0x80071a5
cmp byte [0x802ff42], 0
jne 0x80071a5
mov ecx, 0x802ff14
call fcn.080077df
push ebx
push dword [0x802ff18]
push str.SfxVarApiPath
call fcn.08005709
add esp, 0xc
call fcn.080062cd
push 0x80259f8
lea ecx, [ebp - 0x34]
call fcn.080112ab
mov esi, dword [0x802ff3c]
mov ecx, 0x802ff14
call fcn.080077df
push 0x80259f8
lea eax, [ebp - 0x34]
push eax
push esi
push dword [0x802ff18]
push str.PreExtract
call fcn.08001edc
push dword [ebp - 0x34]
call fcn.08019779
add esp, 0x18
cmp dword [0x803000c], 0
jne 0x80071bb
push 0x802fecc
call fcn.08002a11
pop ecx
jmp 0x80071c9
call fcn.08008215
test eax, eax
jne 0x80071d9
mov eax, 0x80004005
test eax, eax
je 0x80071d9
call fcn.08006324
push 8
jmp 0x80072a2
call fcn.080062cd
cmp byte [0x802ff42], 0
je 0x80071f4
cmp byte [0x802fea1], 0
jne 0x800735b
lea ecx, [ebp - 0xc]
call fcn.080112e2
lea ecx, [ebp - 0x34]
call fcn.080112e2
cmp byte [0x802ff40], 0
jne 0x8007217
lea eax, [ebp - 0xc]
push eax
call fcn.080022b6
pop ecx
cmp dword [ebp - 0x18], 0
jne 0x80072da
cmp byte [0x802fea1], 0
jne 0x80072f6
push str.setup.exe
push 0x8025bb8
lea eax, [ebp - 0x74]
push 0x802fecc
push eax
call fcn.080114bf
add esp, 0xc
push eax
lea eax, [ebp - 0x44]
push eax
call fcn.080114bf
add esp, 0xc
lea ecx, [ebp - 0x34]
push dword [eax]
call fcn.08011414
push dword [ebp - 0x44]
call fcn.08019779
push dword [ebp - 0x74]
call fcn.08019779
pop ecx
pop ecx
push dword [ebp - 0x34]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x80072a8
call fcn.08006324
push 0xf
push ebx
call fcn.0800993d
push dword [ebp - 0x34]
call fcn.08019779
push dword [ebp - 0xc]
call fcn.08019779
add esp, 0x10
push 7
pop ebx
jmp 0x8007422
mov esi, dword [0x802fecc]
lea ecx, [ebp - 0x44]
push str.setup.exe
call fcn.080112ab
push edi
lea eax, [ebp - 0xc]
push eax
push dword [ebp - 0x38]
lea eax, [ebp - 0x44]
push esi
push eax
call fcn.08001fa8
push dword [ebp - 0x44]
call fcn.08019779
add esp, 0x18
jmp 0x80072f6
push edi
lea eax, [ebp - 0xc]
push eax
push dword [0x802ff3c]
push dword [0x802fecc]
push dword [ebp - 0x1c]
call fcn.08001edc
add esp, 0x14
cmp dword [0x8030010], 0
jne 0x8007349
call fcn.080062cd
push 0xffffffffffffffff
push dword [0x802ff3c]
push str.Shortcut
push 0x8005c94
call fcn.08005d71
add esp, 0x10
push dword [0x802fed8]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0xffffffffffffffff
push dword [0x802ff3c]
push str.Delete
push 0x8005c65
call fcn.08005d71
add esp, 0x10
call fcn.08006324
push dword [ebp - 0x34]
call fcn.08019779
push dword [ebp - 0xc]
call fcn.08019779
pop ecx
pop ecx
mov eax, dword [0x802f3c0]
cmp eax, 0xffffffff
jne 0x8007376
cmp byte [0x802ff41], 0
jne 0x80073e2
xor eax, eax
inc eax
mov dword [0x802f3c0], eax
test eax, eax
jle 0x80073e2
push ebx
push str.FinishMessage
call fcn.0800476f
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x80073e2
mov ecx, dword [0x802f3c0]
mov eax, 0x3e7
cmp ecx, eax
cmovg ecx, eax
mov dword [0x802f3c0], ecx
lea ecx, [ebp - 0xd0]
call fcn.08007a8c
push ebx
push esi
push dword [0x802fe78]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xd0], 0x802697c
push 0x11
mov dword [ebp - 0x98], 0x7d5
call fcn.08009a88
lea ecx, [ebp - 0xd0]
call fcn.08007aed
cmp byte [0x802ff42], 0
jne 0x8007422
cmp dword [0x8030010], 0
jne 0x8007422
push ebx
push str.SelfDelete
call fcn.0800476f
pop ecx
pop ecx
test eax, eax
je 0x8007422
cmp word [eax], 0x31
jne 0x8007422
sub esp, 0xc
mov ecx, esp
push 0x802ffbc
call fcn.0801127a
call fcn.08005a24
add esp, 0xc
push dword [ebp - 0x5c]
call fcn.08019779
pop ecx
push dword [ebp - 0x1c]
call fcn.08019779
pop ecx
push dword [ebp - 0x68]
call fcn.08019779
pop ecx
push dword [ebp - 0x50]
call fcn.08019779
push dword [ebp - 0x80]
call fcn.08019779
push dword [ebp - 0x28]
call fcn.08019779
add esp, 0xc
mov eax, ebx
jmp 0x8007473
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