Function at 0x1f6fb9
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 0x1f6fa2
call fcn.0020d2b8
pop ecx
call dword [sym.imp.KERNEL32.dll_GetTickCount]
cmp eax, 0x1a2890
je 0x1f7f86
cmp eax, 0x7a33
je 0x1f7f86
call dword [sym.imp.KERNEL32.dll_FreeConsole]
call fcn.001f3c44
lea eax, [ebp - 0x224]
mov dword [ebp - 0x224], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x1f7f6d
cmp dword [ebp - 0x214], 2
jne 0x1f7f6d
cmp dword [ebp - 0x220], 5
jb 0x1f7f6d
lea ecx, [ebp - 0x40]
mov byte [str.___IyySXZGZzy__], 0x3b
mov byte [str.___GhWUQPj__MlRNE_], 0x3b
call fcn.001f1374
lea ecx, [ebp - 0xb8]
call fcn.001f1374
lea ecx, [ebp - 0x58]
call fcn.001f1374
call fcn.001f6c7c
mov esi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
lea eax, [ebp - 0x40]
push eax
call esi
push eax
call fcn.001f53fe
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x58]
call fcn.001f141b
lea eax, [ebp - 0x58]
push eax
call fcn.001f58b0
pop ecx
lea ecx, [ebp - 0x58]
call fcn.001f1430
xor ebx, ebx
mov edi, eax
inc ebx
push ebx
push 0x217d9c
push str.SfxVarModulePlatform
call fcn.001f5eb3
add esp, 0xc
push ebx
call fcn.001f4a92
push eax
push str.SfxVarSystemPlatform
call fcn.001f5eb3
add esp, 0xc
push ebx
call esi
push eax
push str.SfxVarCmdLine0
call fcn.001f5eb3
movzx eax, word [0x221e68]
lea ecx, [ebp - 0x40]
add esp, 0xc
push eax
push 0x218bd8
push 0x20
pop esi
push esi
call fcn.001f4678
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea ecx, [ebp - 0x40]
call fcn.001f5897
push ebx
lea ecx, [ebp - 0x40]
call fcn.001f1430
push eax
push str.SfxVarSystemLanguage
call fcn.001f5eb3
push str.sfxlang
push edi
call fcn.001f6494
add esp, 0x14
push 0x3a
pop ecx
test eax, eax
je 0x1f7152
cmp word [eax], cx
jne 0x1f7152
add eax, 2
push eax
call fcn.0020cdfd
pop ecx
test eax, eax
jle 0x1f714a
movzx edx, word [0x221e68]
cmp eax, 0xffff
movzx ecx, ax
cmovle edx, ecx
mov word [0x221e68], dx
add edi, 2
cmp word [edi], si
ja 0x1f714a
push str.sfxversion
push edi
call fcn.001f6494
pop ecx
pop ecx
test eax, eax
je 0x1f716f
call fcn.001f6d7b
xor ebx, ebx
jmp 0x1f7f4e
push str.sfxwaitall
push edi
call fcn.001f6494
pop ecx
pop ecx
test eax, eax
je 0x1f718e
push eax
call fcn.001f2197
pop ecx
mov ebx, eax
jmp 0x1f7f4e
push str.sfxelevation
xor ebx, ebx
push edi
mov byte [ebp - 1], bl
call fcn.001f6494
pop ecx
pop ecx
test eax, eax
je 0x1f71aa
mov byte [ebp - 1], 1
mov edi, eax
mov eax, 0x208
mov esi, 0x221fbc
push eax
push eax
mov ecx, esi
call fcn.001f4678
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x1f71db
xor ebx, ebx
inc ebx
push 6
push ebx
call fcn.001fa586
pop ecx
pop ecx
jmp 0x1f7f4e
mov ecx, esi
call fcn.001f5897
push str.sfxtest
push edi
call fcn.001f6494
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1f73b3
push 0x3a
pop edx
cmp word [esi], dx
jne 0x1f72dd
movzx ecx, word [esi + 2]
push 0x20
mov eax, ecx
pop edi
or eax, edi
sub eax, 0x61
je 0x1f732f
dec eax
sub eax, 1
je 0x1f7320
sub eax, 1
je 0x1f7295
sub eax, 0xb
je 0x1f7240
sub eax, 7
jne 0x1f72dd
mov ebx, 0x4f3c
jmp 0x1f7f4e
cmp word [esi + 4], dx
jne 0x1f7f4e
movzx eax, word [esi + 6]
sub eax, 0x31
je 0x1f728d
sub eax, 1
je 0x1f7283
sub eax, 1
je 0x1f727c
sub eax, 1
je 0x1f7272
sub eax, 1
jne 0x1f7f4e
push 7
jmp 0x1f74c6
mov ebx, 0x3eff
jmp 0x1f7f4e
push 0x1f
jmp 0x1f74c6
mov ebx, 0xc0
jmp 0x1f7f4e
xor ebx, ebx
inc ebx
jmp 0x1f7f4e
cmp ecx, 0x44
jne 0x1f72e4
cmp word [esi + 4], dx
jne 0x1f72dd
add esi, 6
movzx eax, word [esi]
cmp ax, di
jbe 0x1f72cf
push 0x3a
mov ecx, eax
pop ebx
cmp cx, bx
je 0x1f72cd
push ecx
mov ecx, 0x222014
call fcn.001f1b20
add esi, 2
movzx eax, word [esi]
mov ecx, eax
cmp ax, di
ja 0x1f72b0
xor ebx, ebx
mov ecx, 0x222014
call fcn.001f4f15
test al, al
je 0x1f72e9
push 0x64
jmp 0x1f74c6
add esi, 4
jmp 0x1f72ec
push 0x3a
pop edx
mov dword [0x22200c], ebx
cmp word [esi], dx
jne 0x1f7311
lea eax, [esi + 2]
push eax
call fcn.0020cdfd
mov dword [0x22200c], eax
pop ecx
cmp eax, 0xe10
ja 0x1f7311
test eax, eax
jne 0x1f731b
mov dword [0x22200c], 0xa
xor eax, eax
inc eax
jmp 0x1f7332
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, 3
jmp 0x1f7332
push 2
pop eax
mov dword [0x222010], eax
jmp 0x1f733c
add esi, 2
cmp word [esi], di
ja 0x1f7339
push str.sfxconfig
push esi
mov edi, esi
call fcn.001f6494
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1f73b3
movzx ecx, word [esi]
push 0x3a
pop edx
mov eax, ecx
cmp cx, dx
jne 0x1f7369
add esi, 2
movzx eax, word [esi]
test ax, ax
je 0x1f7386
push 0x20
movzx ecx, ax
pop edx
cmp cx, dx
ja 0x1f7386
add esi, 2
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x1f7374
lea ecx, [ebp - 0x40]
call fcn.001f2213
lea eax, [ebp - 0x40]
push eax
push esi
call fcn.001f53fe
cmp dword [0x222010], 2
mov edi, eax
pop ecx
pop ecx
je 0x1f73b3
lea eax, [ebp - 0x40]
mov ecx, 0x221fbc
push eax
call fcn.001f216c
push 0x221fbc
mov ecx, 0x221ed8
call fcn.001f216c
push 0x221fbc
mov ecx, 0x221ee4
call fcn.001f216c
push 0x221fbc
call fcn.001f475c
mov esi, eax
pop ecx
test esi, esi
js 0x1f7482
push esi
mov ecx, 0x221ed8
call fcn.001f2112
mov ecx, 0x221fbc
call fcn.001f1430
mov ecx, 0x221ee4
lea eax, [eax + esi*2]
add eax, 2
push eax
call fcn.001f141b
mov ecx, 0x221fbc
call fcn.001f1430
lea eax, [eax + esi*2]
mov esi, 0x221efc
add eax, 2
mov ecx, esi
push eax
call fcn.001f141b
push 0x2e
mov ecx, esi
call fcn.002035cf
test eax, eax
jle 0x1f743e
push eax
mov ecx, esi
call fcn.001f2112
push esi
mov esi, 0x221ef0
mov ecx, esi
call fcn.001f216c
push 4
call fcn.001f483d
pop ecx
push eax
mov ecx, esi
call fcn.0020312d
mov ecx, 0x221efc
call fcn.001f1430
mov esi, eax
mov ecx, 0x221ef0
mov dword [0x221e78], esi
call fcn.001f1430
mov dword [0x221e7c], eax
mov dword [0x221ea8], esi
call fcn.001f4a92
push eax
mov ecx, 0x221f08
call fcn.001f141b
mov ecx, 0x221fbc
call fcn.001f1430
mov esi, 0x221f30
push eax
mov ecx, esi
call fcn.001f162b
test al, al
jne 0x1f74cc
mov ecx, 0x221fbc
call fcn.001f1430
push eax
push 7
push 1
call fcn.001fa586
add esp, 0xc
push 2
pop ebx
jmp 0x1f7f4e
lea ecx, [ebp - 0x70]
call fcn.001f38a4
mov ecx, 0x221fc8
call fcn.001f626c
lea eax, [ebp - 0x70]
mov ecx, esi
push eax
push ebx
call fcn.001f6484
push eax
call fcn.001f509b
add esp, 0xc
test eax, eax
jne 0x1f75f3
mov eax, dword [0x222010]
test eax, eax
jne 0x1f758a
push str.sfxconfig
push edi
call fcn.001f6494
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x1f7585
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x1f752e
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x1f7f46
push 0x20
movzx ecx, ax
pop ebx
movzx esi, cx
cmp cx, bx
ja 0x1f7554
add edx, 2
movzx eax, word [edx]
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x1f753d
push 0
pop ebx
test si, si
je 0x1f7f46
lea eax, [ebp - 0x70]
push eax
push edx
call fcn.001f683d
pop ecx
pop ecx
test al, al
jne 0x1f7f46
push 0xa
push ebx
call fcn.001fa586
pop ecx
pop ecx
push 4
jmp 0x1f7b28
mov eax, dword [0x222010]
cmp eax, 4
je 0x1f7f46
mov eax, dword [0x2210c0]
mov esi, 0x2210c0
jmp 0x1f75d3
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.001f483d
pop ecx
push eax
lea eax, [ebp - 0x110]
push eax
call fcn.001f5eb3
lea esi, [esi + 0x10]
add esp, 0xc
mov eax, dword [esi]
test eax, eax
jne 0x1f759f
mov esi, 0x221f30
push edi
mov ecx, esi
call fcn.001f694b
call fcn.001f1bdf
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x1f75fa
push 0x20
pop eax
mov ebx, eax
jmp 0x1f7f46
call fcn.001f696d
mov ecx, esi
call fcn.001f179b
mov ecx, 0x221fc8
call fcn.001f626c
push ebx
push ebx
mov ecx, esi
call fcn.001f6484
push eax
call fcn.001f509b
add esp, 0xc
call fcn.001f696d
mov ecx, esi
call fcn.001f1670
call fcn.001f1bdf
call fcn.001f696d
cmp byte [ebp - 1], 0
jne 0x1f777d
test byte [0x221e9c], 4
je 0x1f777d
call fcn.001f4ff5
test eax, eax
jne 0x1f777d
lea ecx, [ebp - 0x10]
call fcn.001f1374
lea ecx, [ebp - 0x4c]
call fcn.001f1374
lea eax, [ebp - 0x10]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.001f53fe
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x88]
call fcn.001f1b0b
lea eax, [ebp - 0x88]
push eax
push 0x20
pop eax
push eax
push str.sfxelevation
push 0x217a74
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x2c]
push 0x2179e0
push eax
call fcn.00203062
add esp, 0xc
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00203033
add esp, 0xc
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00203033
add esp, 0xc
push eax
lea eax, [ebp - 0xa0]
push eax
call fcn.001f2181
add esp, 0xc
push eax
lea eax, [ebp - 0x94]
push eax
call fcn.00202fff
add esp, 0xc
mov ecx, eax
call fcn.001f1430
push eax
lea ecx, [ebp - 0x4c]
call fcn.001f141b
lea ecx, [ebp - 0x94]
call fcn.001f13e8
lea ecx, [ebp - 0xa0]
call fcn.001f13e8
lea ecx, [ebp - 0xac]
call fcn.001f13e8
lea ecx, [ebp - 0x7c]
call fcn.001f13e8
lea ecx, [ebp - 0x2c]
call fcn.001f13e8
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
lea ecx, [ebp - 0x4c]
call fcn.001f1430
push eax
call fcn.001f2935
add esp, 0xc
lea ecx, [ebp - 0x88]
neg eax
sbb ebx, ebx
and ebx, 0xfffffff5
add ebx, 0xb
call fcn.001f13e3
lea ecx, [ebp - 0x4c]
call fcn.001f13e3
lea ecx, [ebp - 0x10]
jmp 0x1f7f41
mov dword [ebp - 0x14], ebx
jmp 0x1f77c8
push esi
lea ecx, [ebp - 0x10]
call fcn.001f1b0b
push 0x3d
lea ecx, [ebp - 0x10]
call fcn.001f45b3
mov edi, eax
lea ecx, [ebp - 0x10]
test edi, edi
jle 0x1f77e0
push edi
call fcn.001f2112
lea eax, [esi + 2]
push ebx
lea eax, [eax + edi*2]
push eax
lea ecx, [ebp - 0x10]
call fcn.001f1430
push eax
call fcn.001f5eb3
add esp, 0xc
lea ecx, [ebp - 0x10]
inc dword [ebp - 0x14]
call fcn.001f13e3
lea eax, [ebp - 0x14]
push eax
push str.SetEnvironment
call fcn.001f4e1d
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1f7782
jmp 0x1f77e5
call fcn.001f13e3
call fcn.001f6bf2
mov esi, dword [0x2213b4]
xor eax, eax
or edi, 0xffffffff
mov ecx, 0x221f30
cmp esi, edi
cmove esi, eax
mov dword [0x2213b4], esi
call fcn.001f6480
test al, al
je 0x1f785b
push ebx
push str.HelpText
call fcn.001f4e1d
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1f782b
push 0x18
call fcn.001f483d
pop ecx
mov esi, eax
lea ecx, [ebp - 0x10c]
call fcn.001f6165
push ebx
push esi
push dword [0x221e78]
lea ecx, [ebp - 0x10c]
push 0x11
call fcn.001fa6c3
lea ecx, [ebp - 0x10c]
call fcn.001f6223
jmp 0x1f7f46
mov ecx, 0x221f30
call fcn.001f645f
test al, al
je 0x1f7875
and esi, 0xfffffeff
mov dword [0x2213b4], esi
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
push str.InstallPath
call fcn.001f4e1d
mov esi, 0x221ecc
pop ecx
pop ecx
test eax, eax
je 0x1f78a1
push eax
mov ecx, esi
call fcn.001f141b
mov byte [0x221ea1], 1
push esi
call fcn.001f67e4
push ebx
push str.BeginPromptTimeout
call fcn.001f4e1d
add esp, 0xc
test eax, eax
je 0x1f78c5
push eax
call fcn.0020cdfd
pop ecx
mov dword [0x221ea4], eax
mov ecx, 0x222014
call fcn.001f4f15
test al, al
jne 0x1f78dd
call fcn.001faa56
jmp 0x1f75f3
cmp dword [0x222010], 3
jne 0x1f78f0
call fcn.001facf7
jmp 0x1f75f3
push ebx
push 0x217a4c
push str.SfxVarApiPath
call fcn.001f5eb3
call fcn.001f6bf2
push ebx
mov esi, str.ExecuteOnLoad
push esi
call fcn.001f4e1d
add esp, 0x14
test eax, eax
je 0x1f7975
mov ecx, 0x221f30
call fcn.001f647c
test al, al
jne 0x1f7975
push ebx
mov ecx, 0x221f14
call fcn.001f646b
push eax
push str.SfxVarApiPath
call fcn.001f5eb3
add esp, 0xc
call fcn.001f6bf2
mov eax, 0x217a4c
lea ecx, [ebp - 0x2c]
push eax
push eax
call fcn.001f1b0b
push eax
push 0x217a4c
mov ecx, 0x221f14
call fcn.001f646b
push eax
push esi
call fcn.001f221f
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.001f13e3
mov ecx, 0x221f30
call fcn.001f648c
push ebx
push str.BeginPrompt
call fcn.001f4e1d
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1f79f2
mov ecx, 0x221f30
call fcn.001f645f
test al, al
jne 0x1f79f2
push esi
push dword [0x221e78]
call fcn.001fa4aa
pop ecx
pop ecx
test eax, eax
je 0x1f7b26
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1f79df
mov esi, 0x221f30
push 1
mov ecx, esi
call fcn.001f2128
push 1
mov ecx, esi
call fcn.001f211b
call fcn.001f651f
test eax, eax
je 0x1f79f2
and dword [0x2213b4], 0xffffff7f
lea ecx, [ebp - 0x20]
call fcn.001f1374
mov esi, 0x221f30
mov ecx, esi
call fcn.001f6463
test al, al
je 0x1f7a7e
mov ecx, esi
call fcn.001f6467
mov esi, eax
push str.AutoInstall
lea ecx, [ebp - 0x20]
call fcn.001f141b
movzx ecx, word [esi]
push ecx
lea ecx, [ebp - 0x20]
call fcn.001f1b20
push ebx
lea ecx, [ebp - 0x20]
call fcn.001f1430
push eax
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7b2e
add esi, 2
movzx eax, word [esi]
cmp eax, 0x30
jb 0x1f7a55
cmp eax, 0x39
jbe 0x1f7a13
push 0x61
pop ecx
cmp ax, cx
jb 0x1f7a62
cmp eax, 0x7a
jbe 0x1f7a13
cmp eax, 0x41
jb 0x1f7a6c
cmp eax, 0x5a
jbe 0x1f7a13
push str.AutoInstall
lea ecx, [ebp - 0x20]
call fcn.001f141b
mov esi, 0x221f30
lea ecx, [ebp - 0x20]
mov byte [ebp - 0x30], bl
call fcn.001f4f15
test al, al
je 0x1f7aaf
push ebx
push str.ExecuteFile
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7aaf
push str.ExecuteFile
lea ecx, [ebp - 0x20]
call fcn.001f141b
mov byte [ebp - 0x30], 1
lea ecx, [ebp - 0x20]
call fcn.001f4f15
test al, al
je 0x1f7ad9
push ebx
push str.RunProgram
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7ad9
push str.RunProgram
lea ecx, [ebp - 0x20]
call fcn.001f141b
mov ecx, esi
call fcn.001f6463
test al, al
jne 0x1f7b4e
mov ecx, esi
call fcn.001f645f
test al, al
jne 0x1f7b4e
mov eax, dword [0x2213b4]
and al, 0xc0
cmp al, 0x80
jne 0x1f7b4e
push dword [0x221e8c]
push dword [0x221e88]
call fcn.001fa67f
pop ecx
pop ecx
test eax, eax
jne 0x1f7b4e
cmp byte [0x221ea0], al
je 0x1f7b46
lea ecx, [ebp - 0x20]
call fcn.001f13e3
jmp 0x1f797f
push 5
pop ebx
jmp 0x1f7f46
lea ecx, [ebp - 0x20]
call fcn.001f1430
push eax
push 0xe
push ebx
call fcn.001fa586
add esp, 0xc
push 6
jmp 0x1f7b48
push 5
pop ebx
jmp 0x1f7f3e
mov esi, 0x221ecc
mov ecx, esi
call fcn.001f4f15
test al, al
je 0x1f7b86
lea eax, [ebp - 0x2c]
push str.7ZipSfx._03x
push eax
call fcn.001f41c3
pop ecx
pop ecx
push eax
mov ecx, esi
call fcn.001f216c
lea ecx, [ebp - 0x2c]
call fcn.001f13e3
mov byte [0x221ea1], bl
jmp 0x1f7bbf
push esi
lea ecx, [ebp - 0x10]
call fcn.001f2b2d
lea eax, [ebp - 0x10]
push eax
call fcn.001f67e4
pop ecx
lea ecx, [ebp - 0x10]
call fcn.001f4f15
test al, al
jne 0x1f7bb0
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.001f216c
lea ecx, [ebp - 0x10]
mov byte [0x221ea1], 1
call fcn.001f13e3
mov ecx, esi
call fcn.001f15ba
mov ecx, 0x221ecc
mov esi, eax
call fcn.001f1430
movzx ecx, word [eax + esi*2 - 2]
cmp ecx, 0x5c
je 0x1f7be1
cmp ecx, 0x2f
jne 0x1f7bef
lea eax, [esi - 1]
mov ecx, 0x221ecc
push eax
call fcn.001f2112
mov esi, 0x221f30
mov ecx, esi
call fcn.001f645f
test al, al
je 0x1f7c06
or dword [0x221e9c], 3
push str.PreExtract
lea ecx, [ebp - 0x64]
call fcn.001f1b0b
mov ecx, esi
call fcn.001f6467
lea ecx, [ebp - 0x64]
movzx eax, word [eax]
push eax
call fcn.001f1b20
push ebx
lea ecx, [ebp - 0x64]
call fcn.001f1430
push eax
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7c9c
mov ecx, esi
call fcn.001f647c
test al, al
jne 0x1f7c9c
push ebx
mov ecx, 0x221f14
call fcn.001f646b
push eax
push str.SfxVarApiPath
call fcn.001f5eb3
add esp, 0xc
call fcn.001f6bf2
mov eax, 0x217a4c
lea ecx, [ebp - 0x2c]
push eax
push eax
call fcn.001f1b0b
push eax
mov ecx, esi
call fcn.001f6467
push eax
mov ecx, 0x221f14
call fcn.001f646b
push eax
push str.PreExtract
call fcn.001f221f
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.001f13e3
cmp dword [0x22200c], 0
jne 0x1f7cb2
push 0x221ecc
call fcn.001f2edd
pop ecx
jmp 0x1f7cc0
call fcn.001f8e64
test eax, eax
jne 0x1f7cd0
mov eax, 0x80004005
test eax, eax
je 0x1f7cd0
call fcn.001f6c61
push 8
jmp 0x1f7dab
call fcn.001f6bf2
mov ecx, esi
call fcn.001f647c
test al, al
je 0x1f7ced
cmp byte [0x221ea1], 0
jne 0x1f7e7b
lea ecx, [ebp - 0x10]
call fcn.001f1374
lea ecx, [ebp - 0x4c]
call fcn.001f1374
mov ecx, esi
call fcn.001f6463
test al, al
jne 0x1f7d12
lea eax, [ebp - 0x10]
push eax
call fcn.001f2616
pop ecx
lea ecx, [ebp - 0x20]
call fcn.001f4f15
test al, al
je 0x1f7de6
cmp byte [0x221ea1], 0
jne 0x1f7e11
push str.setup.exe
push 0x217c24
lea eax, [ebp - 0x7c]
push 0x221ecc
push eax
call fcn.00203033
add esp, 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00203033
add esp, 0xc
mov ecx, eax
call fcn.001f1430
push eax
lea ecx, [ebp - 0x4c]
call fcn.001f141b
lea ecx, [ebp - 0x2c]
call fcn.001f13e8
lea ecx, [ebp - 0x7c]
call fcn.001f13e8
lea ecx, [ebp - 0x4c]
call fcn.001f1430
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, edi
jne 0x1f7db1
call fcn.001f6c61
push 0xf
push ebx
call fcn.001fa586
pop ecx
pop ecx
lea ecx, [ebp - 0x4c]
call fcn.001f13e3
lea ecx, [ebp - 0x10]
call fcn.001f13e3
push 7
pop ebx
jmp 0x1f7f36
push dword [ebp - 0x34]
lea eax, [ebp - 0x10]
mov ecx, 0x221ecc
push eax
push dword [ebp - 0x30]
call fcn.001f1430
push eax
push str.setup.exe
lea ecx, [ebp - 0x2c]
call fcn.001f1b0b
push eax
call fcn.001f22e7
add esp, 0x14
lea ecx, [ebp - 0x2c]
call fcn.001f13e3
jmp 0x1f7e11
push dword [ebp - 0x34]
lea eax, [ebp - 0x10]
mov ecx, esi
push eax
call fcn.001f6467
push eax
mov ecx, 0x221ecc
call fcn.001f1430
push eax
lea ecx, [ebp - 0x20]
call fcn.001f1430
push eax
call fcn.001f221f
add esp, 0x14
cmp dword [0x222010], 0
jne 0x1f7e6b
call fcn.001f6bf2
push edi
mov ecx, esi
call fcn.001f6467
push eax
push str.Shortcut
push 0x1f6561
call fcn.001f6663
add esp, 0x10
mov ecx, 0x221ed8
call fcn.001f1430
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push edi
mov ecx, esi
call fcn.001f6467
push eax
push str.Delete
push 0x1f652d
call fcn.001f6663
add esp, 0x10
call fcn.001f6c61
lea ecx, [ebp - 0x4c]
call fcn.001f13e3
lea ecx, [ebp - 0x10]
call fcn.001f13e3
mov eax, dword [0x2213c0]
cmp eax, edi
jne 0x1f7e97
mov ecx, esi
call fcn.001f645f
test al, al
jne 0x1f7ef4
xor eax, eax
inc eax
mov dword [0x2213c0], eax
test eax, eax
jle 0x1f7ef4
push ebx
push str.FinishMessage
call fcn.001f4e1d
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1f7eef
mov ecx, dword [0x2213c0]
mov eax, 0x3e7
cmp ecx, eax
cmovg ecx, eax
mov dword [0x2213c0], ecx
lea ecx, [ebp - 0x108]
call fcn.001f614c
push ebx
push esi
push dword [0x221e78]
lea ecx, [ebp - 0x108]
push 0x11
call fcn.001fa6c3
lea ecx, [ebp - 0x108]
call fcn.001f6223
mov esi, 0x221f30
mov ecx, esi
call fcn.001f647c
test al, al
jne 0x1f7f36
cmp dword [0x222010], 0
jne 0x1f7f36
push ebx
push str.SelfDelete
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7f36
cmp word [eax], 0x31
jne 0x1f7f36
sub esp, 0xc
mov ecx, esp
push 0x221fbc
call fcn.001f2b2d
call fcn.001f629f
add esp, 0xc
lea ecx, [ebp - 0x64]
call fcn.001f13e3
lea ecx, [ebp - 0x20]
call fcn.001f13e3
lea ecx, [ebp - 0x70]
call fcn.001f13e3
lea ecx, [ebp - 0x58]
call fcn.001f13e3
lea ecx, [ebp - 0xb8]
call fcn.001f13e3
lea ecx, [ebp - 0x40]
call fcn.001f13e3
mov eax, ebx
jmp 0x1f7f88
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
jmp 0x1f7f88
xor eax, eax
pop edi
pop esi
pop ebx
leave
ret