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 0x1f6fd0
push str.kernel32.dll
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push str.FreeConsole
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
call eax
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 0x1f7f71
cmp dword [ebp - 0x214], 2
jne 0x1f7f71
cmp dword [ebp - 0x220], 5
jb 0x1f7f71
lea ecx, [ebp - 0x40]
mov byte [str.___kEYJGdQGWk__], 0x3b
mov byte [str.___ibZMGMo__eTmiV_], 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 0x218c00
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 0x1f7156
cmp word [eax], cx
jne 0x1f7156
add eax, 2
push eax
call fcn.0020cdfd
pop ecx
test eax, eax
jle 0x1f714e
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 0x1f714e
push str.sfxversion
push edi
call fcn.001f6494
pop ecx
pop ecx
test eax, eax
je 0x1f7173
call fcn.001f6d7b
xor ebx, ebx
jmp 0x1f7f52
push str.sfxwaitall
push edi
call fcn.001f6494
pop ecx
pop ecx
test eax, eax
je 0x1f7192
push eax
call fcn.001f2197
pop ecx
mov ebx, eax
jmp 0x1f7f52
push str.sfxelevation
xor ebx, ebx
push edi
mov byte [ebp - 1], bl
call fcn.001f6494
pop ecx
pop ecx
test eax, eax
je 0x1f71ae
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 0x1f71df
xor ebx, ebx
inc ebx
push 6
push ebx
call fcn.001fa588
pop ecx
pop ecx
jmp 0x1f7f52
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 0x1f73b7
push 0x3a
pop edx
cmp word [esi], dx
jne 0x1f72e1
movzx ecx, word [esi + 2]
push 0x20
mov eax, ecx
pop edi
or eax, edi
sub eax, 0x61
je 0x1f7333
dec eax
sub eax, 1
je 0x1f7324
sub eax, 1
je 0x1f7299
sub eax, 0xb
je 0x1f7244
sub eax, 7
jne 0x1f72e1
mov ebx, 0x4f3c
jmp 0x1f7f52
cmp word [esi + 4], dx
jne 0x1f7f52
movzx eax, word [esi + 6]
sub eax, 0x31
je 0x1f7291
sub eax, 1
je 0x1f7287
sub eax, 1
je 0x1f7280
sub eax, 1
je 0x1f7276
sub eax, 1
jne 0x1f7f52
push 7
jmp 0x1f74ca
mov ebx, 0x3eff
jmp 0x1f7f52
push 0x1f
jmp 0x1f74ca
mov ebx, 0xc0
jmp 0x1f7f52
xor ebx, ebx
inc ebx
jmp 0x1f7f52
cmp ecx, 0x44
jne 0x1f72e8
cmp word [esi + 4], dx
jne 0x1f72e1
add esi, 6
movzx eax, word [esi]
cmp ax, di
jbe 0x1f72d3
push 0x3a
mov ecx, eax
pop ebx
cmp cx, bx
je 0x1f72d1
push ecx
mov ecx, 0x222014
call fcn.001f1b20
add esi, 2
movzx eax, word [esi]
mov ecx, eax
cmp ax, di
ja 0x1f72b4
xor ebx, ebx
mov ecx, 0x222014
call fcn.001f4f15
test al, al
je 0x1f72ed
push 0x64
jmp 0x1f74ca
add esi, 4
jmp 0x1f72f0
push 0x3a
pop edx
mov dword [0x22200c], ebx
cmp word [esi], dx
jne 0x1f7315
lea eax, [esi + 2]
push eax
call fcn.0020cdfd
mov dword [0x22200c], eax
pop ecx
cmp eax, 0xe10
ja 0x1f7315
test eax, eax
jne 0x1f731f
mov dword [0x22200c], 0xa
xor eax, eax
inc eax
jmp 0x1f7336
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, 3
jmp 0x1f7336
push 2
pop eax
mov dword [0x222010], eax
jmp 0x1f7340
add esi, 2
cmp word [esi], di
ja 0x1f733d
push str.sfxconfig
push esi
mov edi, esi
call fcn.001f6494
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1f73b7
movzx ecx, word [esi]
push 0x3a
pop edx
mov eax, ecx
cmp cx, dx
jne 0x1f736d
add esi, 2
movzx eax, word [esi]
test ax, ax
je 0x1f738a
push 0x20
movzx ecx, ax
pop edx
cmp cx, dx
ja 0x1f738a
add esi, 2
movzx eax, word [esi]
mov ecx, eax
test ax, ax
jne 0x1f7378
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 0x1f73b7
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 0x1f7486
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.002035d1
test eax, eax
jle 0x1f7442
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.0020312f
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 0x1f74d0
mov ecx, 0x221fbc
call fcn.001f1430
push eax
push 7
push 1
call fcn.001fa588
add esp, 0xc
push 2
pop ebx
jmp 0x1f7f52
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 0x1f75f7
mov eax, dword [0x222010]
test eax, eax
jne 0x1f758e
push str.sfxconfig
push edi
call fcn.001f6494
mov edx, eax
pop ecx
pop ecx
test edx, edx
je 0x1f7589
movzx ecx, word [edx]
push 0x3a
pop esi
mov eax, ecx
cmp cx, si
jne 0x1f7532
add edx, 2
movzx eax, word [edx]
test ax, ax
je 0x1f7f4a
push 0x20
movzx ecx, ax
pop ebx
movzx esi, cx
cmp cx, bx
ja 0x1f7558
add edx, 2
movzx eax, word [edx]
mov ecx, eax
mov esi, eax
test ax, ax
jne 0x1f7541
push 0
pop ebx
test si, si
je 0x1f7f4a
lea eax, [ebp - 0x70]
push eax
push edx
call fcn.001f683d
pop ecx
pop ecx
test al, al
jne 0x1f7f4a
push 0xa
push ebx
call fcn.001fa588
pop ecx
pop ecx
push 4
jmp 0x1f7b2c
mov eax, dword [0x222010]
cmp eax, 4
je 0x1f7f4a
mov eax, dword [0x2210c0]
mov esi, 0x2210c0
jmp 0x1f75d7
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 0x1f75a3
mov esi, 0x221f30
push edi
mov ecx, esi
call fcn.001f694b
call fcn.001f1bdf
mov dword [ebp - 0x34], eax
test eax, eax
jne 0x1f75fe
push 0x20
pop eax
mov ebx, eax
jmp 0x1f7f4a
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 0x1f7781
test byte [0x221e9c], 4
je 0x1f7781
call fcn.001f4ff5
test eax, eax
jne 0x1f7781
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.00203064
add esp, 0xc
push eax
lea eax, [ebp - 0x7c]
push eax
call fcn.00203035
add esp, 0xc
push eax
lea eax, [ebp - 0xac]
push eax
call fcn.00203035
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.00203001
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 0x1f7f45
mov dword [ebp - 0x14], ebx
jmp 0x1f77cc
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 0x1f77e4
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 0x1f7786
jmp 0x1f77e9
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 0x1f785f
push ebx
push str.HelpText
call fcn.001f4e1d
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x1f782f
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.001fa6c5
lea ecx, [ebp - 0x10c]
call fcn.001f6223
jmp 0x1f7f4a
mov ecx, 0x221f30
call fcn.001f645f
test al, al
je 0x1f7879
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 0x1f78a5
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 0x1f78c9
push eax
call fcn.0020cdfd
pop ecx
mov dword [0x221ea4], eax
mov ecx, 0x222014
call fcn.001f4f15
test al, al
jne 0x1f78e1
call fcn.001faa58
jmp 0x1f75f7
cmp dword [0x222010], 3
jne 0x1f78f4
call fcn.001facf9
jmp 0x1f75f7
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 0x1f7979
mov ecx, 0x221f30
call fcn.001f647c
test al, al
jne 0x1f7979
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 0x1f79f6
mov ecx, 0x221f30
call fcn.001f645f
test al, al
jne 0x1f79f6
push esi
push dword [0x221e78]
call fcn.001fa4ac
pop ecx
pop ecx
test eax, eax
je 0x1f7b2a
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x1f79e3
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 0x1f79f6
and dword [0x2213b4], 0xffffff7f
lea ecx, [ebp - 0x20]
call fcn.001f1374
mov esi, 0x221f30
mov ecx, esi
call fcn.001f6463
test al, al
je 0x1f7a82
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 0x1f7b32
add esi, 2
movzx eax, word [esi]
cmp eax, 0x30
jb 0x1f7a59
cmp eax, 0x39
jbe 0x1f7a17
push 0x61
pop ecx
cmp ax, cx
jb 0x1f7a66
cmp eax, 0x7a
jbe 0x1f7a17
cmp eax, 0x41
jb 0x1f7a70
cmp eax, 0x5a
jbe 0x1f7a17
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 0x1f7ab3
push ebx
push str.ExecuteFile
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7ab3
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 0x1f7add
push ebx
push str.RunProgram
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7add
push str.RunProgram
lea ecx, [ebp - 0x20]
call fcn.001f141b
mov ecx, esi
call fcn.001f6463
test al, al
jne 0x1f7b52
mov ecx, esi
call fcn.001f645f
test al, al
jne 0x1f7b52
mov eax, dword [0x2213b4]
and al, 0xc0
cmp al, 0x80
jne 0x1f7b52
push dword [0x221e8c]
push dword [0x221e88]
call fcn.001fa681
pop ecx
pop ecx
test eax, eax
jne 0x1f7b52
cmp byte [0x221ea0], al
je 0x1f7b4a
lea ecx, [ebp - 0x20]
call fcn.001f13e3
jmp 0x1f7983
push 5
pop ebx
jmp 0x1f7f4a
lea ecx, [ebp - 0x20]
call fcn.001f1430
push eax
push 0xe
push ebx
call fcn.001fa588
add esp, 0xc
push 6
jmp 0x1f7b4c
push 5
pop ebx
jmp 0x1f7f42
mov esi, 0x221ecc
mov ecx, esi
call fcn.001f4f15
test al, al
je 0x1f7b8a
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 0x1f7bc3
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 0x1f7bb4
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 0x1f7be5
cmp ecx, 0x2f
jne 0x1f7bf3
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 0x1f7c0a
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 0x1f7ca0
mov ecx, esi
call fcn.001f647c
test al, al
jne 0x1f7ca0
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 0x1f7cb6
push 0x221ecc
call fcn.001f2edd
pop ecx
jmp 0x1f7cc4
call fcn.001f8e64
test eax, eax
jne 0x1f7cd4
mov eax, 0x80004005
test eax, eax
je 0x1f7cd4
call fcn.001f6c61
push 8
jmp 0x1f7daf
call fcn.001f6bf2
mov ecx, esi
call fcn.001f647c
test al, al
je 0x1f7cf1
cmp byte [0x221ea1], 0
jne 0x1f7e7f
lea ecx, [ebp - 0x10]
call fcn.001f1374
lea ecx, [ebp - 0x4c]
call fcn.001f1374
mov ecx, esi
call fcn.001f6463
test al, al
jne 0x1f7d16
lea eax, [ebp - 0x10]
push eax
call fcn.001f2616
pop ecx
lea ecx, [ebp - 0x20]
call fcn.001f4f15
test al, al
je 0x1f7dea
cmp byte [0x221ea1], 0
jne 0x1f7e15
push str.setup.exe
push 0x217c24
lea eax, [ebp - 0x7c]
push 0x221ecc
push eax
call fcn.00203035
add esp, 0xc
push eax
lea eax, [ebp - 0x2c]
push eax
call fcn.00203035
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 0x1f7db5
call fcn.001f6c61
push 0xf
push ebx
call fcn.001fa588
pop ecx
pop ecx
lea ecx, [ebp - 0x4c]
call fcn.001f13e3
lea ecx, [ebp - 0x10]
call fcn.001f13e3
push 7
pop ebx
jmp 0x1f7f3a
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 0x1f7e15
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 0x1f7e6f
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 0x1f7e9b
mov ecx, esi
call fcn.001f645f
test al, al
jne 0x1f7ef8
xor eax, eax
inc eax
mov dword [0x2213c0], eax
test eax, eax
jle 0x1f7ef8
push ebx
push str.FinishMessage
call fcn.001f4e1d
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1f7ef3
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.001fa6c5
lea ecx, [ebp - 0x108]
call fcn.001f6223
mov esi, 0x221f30
mov ecx, esi
call fcn.001f647c
test al, al
jne 0x1f7f3a
cmp dword [0x222010], 0
jne 0x1f7f3a
push ebx
push str.SelfDelete
call fcn.001f4e1d
pop ecx
pop ecx
test eax, eax
je 0x1f7f3a
cmp word [eax], 0x31
jne 0x1f7f3a
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
pop edi
pop esi
pop ebx
leave
ret