Function at 0x4065a7
Capabilities:
Accept command line arguments
Check for time delay via gettickcount
Check if file exists
Check os version
Get file attributes
Log keystrokes via polling
Resolve function by parsing pe exports
Set current directory

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x20c
push ebx
push esi
push edi
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
call esi
cmp eax, 0x1a2890
je 0x4065dd
call esi
cmp eax, 0x7a33
je 0x4065dd
call esi
cmp eax, 0xf4240
jne 0x4065df
jmp 0x4065dd
push 0x406590
call fcn.0041c6f2
pop ecx
call fcn.00404b82
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
lea eax, [esp + 0x100]
push eax
mov dword [esp + 0x104], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x407587
cmp dword [esp + 0x110], 2
jne 0x407587
cmp dword [esp + 0x104], 5
jb 0x407587
lea eax, [esp + 0x54]
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
call fcn.00401000
lea eax, [esp + 0x84]
call fcn.00401000
lea eax, [esp + 0x6c]
call fcn.00401000
call fcn.00405bda
mov edi, dword [sym.imp.KERNEL32.dll_GetCommandLineW]
call edi
mov ecx, eax
lea eax, [esp + 0x54]
call fcn.004036d6
push eax
lea eax, [esp + 0x70]
call fcn.0040100c
lea eax, [esp + 0x6c]
push eax
call fcn.00403d00
pop ecx
lea eax, [esp + 0x6c]
call fcn.0040bbc2
xor esi, esi
inc esi
push esi
mov ebx, eax
push 0x426c70
push str.SfxVarModulePlatform
mov dword [esp + 0x1c], ebx
call fcn.00403591
add esp, 0xc
push esi
call fcn.00405498
push eax
push str.SfxVarSystemPlatform
call fcn.00403591
add esp, 0xc
push esi
call edi
push eax
push str.SfxVarCmdLine0
call fcn.00403591
movzx eax, word [0x42f280]
add esp, 0xc
push eax
push 0x427ec8
push 0x20
lea eax, [esp + 0x60]
call fcn.004034b3
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
lea eax, [esp + 0x54]
push eax
call fcn.00403495
push esi
lea eax, [esp + 0x58]
call fcn.0040bbc2
push eax
push str.SfxVarSystemLanguage
call fcn.00403591
add esp, 0xc
push str.sfxlang
mov eax, ebx
call fcn.00406012
pop ecx
test eax, eax
je 0x406778
cmp word [eax], 0x3a
jne 0x406778
add eax, 2
push eax
call fcn.0041bee2
pop ecx
lea ecx, [eax - 1]
cmp ecx, 0xfffe
ja 0x40675e
mov word [0x42f280], ax
add ebx, 2
cmp word [ebx], 0x20
mov dword [esp + 0x10], ebx
jbe 0x406778
add ebx, 2
cmp word [ebx], 0x20
ja 0x40676b
mov dword [esp + 0x10], ebx
push str.sfxversion
mov eax, ebx
call fcn.00406012
pop ecx
test eax, eax
je 0x4067b5
call fcn.00406491
xor esi, esi
lea eax, [esp + 0x6c]
call fcn.004017d0
lea eax, [esp + 0x84]
call fcn.004017d0
lea eax, [esp + 0x54]
call fcn.004017d0
mov eax, esi
jmp 0x40759e
push str.sfxwaitall
mov eax, ebx
call fcn.00406012
pop ecx
test eax, eax
je 0x4067cf
call fcn.00402037
mov esi, eax
jmp 0x406790
push str.sfxelevation
mov eax, ebx
mov byte [esp + 0x13], 0
call fcn.00406012
pop ecx
test eax, eax
je 0x4067f0
mov ebx, eax
mov byte [esp + 0xf], 1
mov dword [esp + 0x10], ebx
mov eax, 0x208
push eax
push eax
mov edi, 0x42f3dc
mov eax, edi
call fcn.004034b3
push eax
push 0
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x40681f
push 6
push esi
call fcn.00409eb8
pop ecx
pop ecx
jmp 0x406790
push edi
call fcn.00403495
push str.sfxtest
mov eax, ebx
call fcn.00406012
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4069ca
cmp word [ebx], 0x3a
je 0x40684a
push 0x64
pop esi
jmp 0x406790
movzx ecx, word [ebx + 2]
mov eax, ecx
or eax, 0x20
sub eax, 0x61
je 0x406959
dec eax
dec eax
je 0x406945
dec eax
je 0x4068bf
sub eax, 0xb
je 0x40687b
sub eax, 7
jne 0x406842
mov esi, 0x4f3d
jmp 0x406790
cmp word [ebx + 4], 0x3a
jne 0x40678e
movzx eax, word [ebx + 6]
sub eax, 0x31
je 0x406790
dec eax
je 0x4068b5
dec eax
je 0x4068b1
dec eax
je 0x4068a7
dec eax
jne 0x40678e
push 7
jmp 0x406844
mov esi, 0x3eff
jmp 0x406790
push 0x1f
jmp 0x406844
mov esi, 0x4fe
jmp 0x406790
cmp ecx, 0x44
jne 0x406909
cmp word [ebx + 4], 0x3a
jne 0x406842
add ebx, 6
jmp 0x4068ee
cmp ax, 0x3a
je 0x4068f6
movzx eax, ax
push eax
mov esi, 0x42f404
call fcn.00401d07
xor esi, esi
add ebx, 2
inc esi
movzx eax, word [ebx]
cmp eax, 0x20
ja 0x4068d4
mov ecx, 0x42f404
call fcn.00405a47
test al, al
je 0x40690c
jmp 0x406842
add ebx, 4
and dword [0x42f2c4], 0
cmp word [ebx], 0x3a
jne 0x406933
lea eax, [ebx + 2]
push eax
call fcn.0041bee2
pop ecx
mov dword [0x42f2c4], eax
cmp eax, 0xe10
ja 0x406933
test eax, eax
jne 0x40693d
mov dword [0x42f2c4], 0xa
mov dword [0x42f2c8], esi
jmp 0x406968
xor eax, eax
cmp word [ebx + 4], 0x63
sete al
add eax, 3
mov dword [0x42f2c8], eax
jmp 0x406968
mov dword [0x42f2c8], 2
jmp 0x406968
add ebx, 2
cmp word [ebx], 0x20
ja 0x406965
push str.sfxconfig
mov eax, ebx
mov dword [esp + 0x14], ebx
call fcn.00406012
mov ebx, eax
pop ecx
test ebx, ebx
je 0x4069ca
cmp word [ebx], 0x3a
jne 0x406996
jmp 0x406993
cmp ax, 0x20
ja 0x40699e
add ebx, 2
movzx eax, word [ebx]
test ax, ax
jne 0x40698d
lea eax, [esp + 0x54]
call fcn.00402649
lea eax, [esp + 0x54]
mov ecx, ebx
call fcn.004036d6
cmp dword [0x42f2c8], 2
mov dword [esp + 0x10], eax
je 0x4069ca
lea ebx, [esp + 0x54]
mov eax, edi
call fcn.0040255c
mov esi, 0x42f2f8
mov ebx, edi
mov eax, esi
call fcn.0040255c
mov eax, 0x42f304
call fcn.0040255c
push edi
call fcn.00404b5b
mov ebx, eax
pop ecx
test ebx, ebx
js 0x406a7b
mov ecx, esi
call fcn.004017ea
mov eax, edi
lea esi, [ebx + ebx]
call fcn.0040bbc2
lea eax, [eax + esi + 2]
push eax
mov eax, 0x42f304
call fcn.0040100c
mov eax, edi
call fcn.0040bbc2
lea eax, [eax + esi + 2]
push eax
mov ebx, 0x42f31c
mov eax, ebx
call fcn.0040100c
push 0x2e
pop edx
mov ecx, ebx
call fcn.004127a4
test eax, eax
jle 0x406a40
mov ecx, ebx
call fcn.004017ea
mov esi, 0x42f310
mov eax, esi
call fcn.0040255c
push 4
call fcn.00405280
pop ecx
push eax
call fcn.00412685
mov eax, ebx
call fcn.0040bbc2
mov ebx, eax
mov eax, esi
mov dword [0x42cf08], ebx
call fcn.0040bbc2
mov dword [0x42cf10], eax
mov dword [0x42f284], ebx
call fcn.00405498
push eax
mov eax, 0x42f328
call fcn.0040100c
mov eax, edi
call fcn.0040bbc2
push eax
call fcn.004013d0
test al, al
jne 0x406ab7
mov eax, edi
call fcn.0040bbc2
push eax
push 7
push 1
call fcn.00409eb8
add esp, 0xc
push 2
jmp 0x406844
lea eax, [esp + 0x24]
call fcn.004033f2
call fcn.00407769
lea eax, [esp + 0x24]
push eax
xor ebx, ebx
push ebx
call fcn.00405b49
mov esi, eax
call fcn.0040581b
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x406aef
lea eax, [esp + 0x24]
call fcn.004017d0
jmp 0x406790
cmp dword [0x42f2c8], ebx
jne 0x406b68
mov eax, dword [esp + 0x10]
push str.sfxconfig
call fcn.00406012
pop ecx
cmp eax, ebx
je 0x406b68
cmp word [eax], 0x3a
jne 0x406b13
add eax, 2
movzx ecx, word [eax]
cmp cx, bx
je 0x406d77
cmp cx, 0x20
ja 0x406b30
add eax, 2
movzx ecx, word [eax]
cmp cx, bx
jne 0x406b1f
cmp word [eax], bx
je 0x406d77
lea ecx, [esp + 0x24]
push ecx
push eax
call fcn.00405e75
pop ecx
pop ecx
test al, al
jne 0x406d77
push 0xa
push ebx
call fcn.00409eb8
pop ecx
pop ecx
lea eax, [esp + 0x24]
call fcn.004017d0
push 4
jmp 0x406844
cmp dword [0x42f2c8], 4
je 0x406d77
mov eax, dword [0x42bdd0]
mov esi, 0x42bdd0
jmp 0x406bb7
push eax
lea eax, [esp + 0xac]
push str.SfxString_d
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
push ebx
push dword [esi]
call fcn.00405280
pop ecx
push eax
lea eax, [esp + 0xb0]
push eax
call fcn.00403591
add esp, 0xc
add esi, 0x10
mov eax, dword [esi]
cmp eax, ebx
jne 0x406b81
push dword [esp + 0x10]
call fcn.00405b71
call fcn.00401971
mov dword [esp + 0x10], eax
cmp eax, ebx
jne 0x406be1
lea eax, [esp + 0x24]
call fcn.004017d0
push 0x20
jmp 0x406844
call fcn.0040608a
call fcn.0040140d
call fcn.00407769
push ebx
push ebx
call fcn.00405b49
mov esi, eax
call fcn.0040581b
pop ecx
pop ecx
call fcn.0040608a
call fcn.004014a6
call fcn.00401971
call fcn.0040608a
cmp byte [esp + 0xf], bl
jne 0x406d85
test byte [0x42f290], 4
je 0x406d85
call fcn.004054f2
test eax, eax
jne 0x406d85
lea eax, [esp + 0x48]
call fcn.00401000
lea eax, [esp + 0x30]
call fcn.00401000
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov ecx, eax
lea eax, [esp + 0x48]
call fcn.004036d6
push eax
lea eax, [esp + 0x64]
push eax
call fcn.004017d5
lea eax, [esp + 0x60]
push eax
push 0x20
push str.sfxelevation
push 0x42694c
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x50]
push eax
call fcn.0041253c
pop ecx
pop ecx
push eax
lea eax, [esp + 0x8c]
push eax
call fcn.0041250b
add esp, 0xc
push eax
lea eax, [esp + 0xa0]
push eax
call fcn.0041250b
add esp, 0xc
push eax
lea eax, [esp + 0xa8]
push eax
call fcn.00402633
add esp, 0xc
push eax
lea eax, [esp + 0x1c]
push eax
call fcn.004124d4
add esp, 0xc
call fcn.0040bbc2
push eax
lea eax, [esp + 0x34]
call fcn.0040100c
lea eax, [esp + 0x14]
call fcn.00401d42
lea eax, [esp + 0x9c]
call fcn.00401d42
lea eax, [esp + 0x90]
call fcn.00401d42
lea eax, [esp + 0x78]
call fcn.00401d42
lea eax, [esp + 0x3c]
call fcn.00401d42
push 0xffffffffffffffff
push 0xffffffffffffffff
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_SetProcessWorkingSetSize]
push ebx
push 2
lea eax, [esp + 0x38]
call fcn.0040bbc2
push eax
call fcn.00402120
add esp, 0xc
test eax, eax
lea eax, [esp + 0x60]
jne 0x406d60
call fcn.004017d0
lea eax, [esp + 0x30]
call fcn.004017d0
lea eax, [esp + 0x48]
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
push 0xb
jmp 0x406844
call fcn.004017d0
lea eax, [esp + 0x30]
call fcn.004017d0
lea eax, [esp + 0x48]
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
jmp 0x40678e
lea eax, [esp + 0x20]
push eax
mov edi, str.SetEnvironment
push edi
mov dword [esp + 0x28], ebx
call fcn.004041a9
mov esi, eax
pop ecx
pop ecx
cmp esi, ebx
je 0x406e0a
push esi
lea eax, [esp + 0x18]
push eax
call fcn.004017d5
lea eax, [esp + 0x14]
call fcn.004059d1
mov ebx, eax
test ebx, ebx
jle 0x406dff
lea ecx, [esp + 0x14]
call fcn.004017ea
push 0
lea eax, [esi + ebx*2 + 2]
push eax
lea eax, [esp + 0x1c]
call fcn.0040bbc2
push eax
call fcn.00403591
add esp, 0xc
inc dword [esp + 0x20]
lea eax, [esp + 0x14]
call fcn.004017d0
lea eax, [esp + 0x20]
push eax
push edi
call fcn.004041a9
mov esi, eax
pop ecx
pop ecx
test esi, esi
jne 0x406da1
jmp 0x406e08
lea eax, [esp + 0x14]
call fcn.004017d0
xor ebx, ebx
call fcn.00405d1a
cmp dword [0x42bd98], 0xffffffff
jne 0x406e1e
mov dword [0x42bd98], ebx
call fcn.00405b6b
test al, al
je 0x406e6d
push ebx
push str.HelpText
call fcn.004041a9
mov edi, eax
pop ecx
pop ecx
cmp edi, ebx
jne 0x406e44
push 0x18
call fcn.00405280
pop ecx
mov edi, eax
lea esi, [esp + 0xa8]
call fcn.00405ab2
push ebx
push edi
push dword [0x42cf08]
mov eax, esi
push 0x11
call fcn.004088c1
mov ecx, esi
call fcn.004083ad
jmp 0x406d77
call fcn.00405b5f
test al, al
je 0x406e80
and dword [0x42bd98], 0xfffffeff
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
push str.InstallPath
call fcn.004041a9
pop ecx
pop ecx
mov esi, 0x42f2ec
cmp eax, ebx
je 0x406eac
push eax
mov eax, esi
call fcn.0040100c
mov byte [0x42ceec], 1
call fcn.00405ce0
push ebx
push str.BeginPromptTimeout
call fcn.004041a9
pop ecx
pop ecx
cmp eax, ebx
je 0x406ece
push eax
call fcn.0041bee2
pop ecx
mov dword [0x42f29c], eax
mov ecx, 0x42f404
call fcn.00405a47
test al, al
jne 0x406ee8
call fcn.0040a1ec
mov esi, eax
jmp 0x406ae1
cmp dword [0x42f2c8], 3
jne 0x406ef8
call fcn.0040a47d
jmp 0x406ee1
push 0
mov edi, 0x426924
push edi
mov ebx, str.SfxVarApiPath
push ebx
call fcn.00403591
add esp, 0xc
call fcn.00405d1a
push 0
push str.ExecuteOnLoad
call fcn.004041a9
pop ecx
pop ecx
mov esi, 0x42f334
test eax, eax
je 0x406f78
call fcn.00405b65
test al, al
jne 0x406f78
push 0
mov ecx, esi
call fcn.00405b0d
push eax
push ebx
call fcn.00403591
add esp, 0xc
call fcn.00405d1a
push edi
push edi
lea eax, [esp + 0x44]
push eax
call fcn.004017d5
push eax
mov ecx, esi
call fcn.00405b0d
push eax
push str.ExecuteOnLoad
mov eax, edi
call fcn.00402568
add esp, 0x10
lea eax, [esp + 0x3c]
call fcn.004017d0
call fcn.00405b93
push 0
push str.BeginPrompt
call fcn.004041a9
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x406fd8
call fcn.00405b5f
test al, al
jne 0x406fd8
push esi
call fcn.00409cf2
pop ecx
test eax, eax
je 0x407129
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
mov ecx, 0x8000
test cx, ax
je 0x406fc5
call fcn.004017f5
call fcn.004017fd
call fcn.00405a5a
test eax, eax
je 0x406fd8
and dword [0x42bd98], 0xffffff7f
lea eax, [esp + 0x14]
call fcn.00401000
call fcn.00405b59
test al, al
je 0x407057
call fcn.00405b53
mov ebx, eax
push str.AutoInstall
lea eax, [esp + 0x18]
call fcn.0040100c
movzx eax, word [ebx]
push eax
lea esi, [esp + 0x18]
call fcn.00401d07
push 0
mov eax, esi
call fcn.0040bbc2
push eax
call fcn.004041a9
pop ecx
pop ecx
test eax, eax
je 0x4070f5
add ebx, 2
movzx eax, word [ebx]
cmp eax, 0x30
jb 0x407035
cmp eax, 0x39
jbe 0x406ff1
cmp eax, 0x61
jb 0x40703f
cmp eax, 0x7a
jbe 0x406ff1
cmp eax, 0x41
jb 0x407049
cmp eax, 0x5a
jbe 0x406ff1
push str.AutoInstall
lea eax, [esp + 0x18]
call fcn.0040100c
lea ecx, [esp + 0x14]
mov byte [esp + 0x20], 0
call fcn.00405a47
test al, al
je 0x40708b
push 0
mov esi, str.ExecuteFile
push esi
call fcn.004041a9
pop ecx
pop ecx
test eax, eax
je 0x40708b
push esi
lea eax, [esp + 0x18]
call fcn.0040100c
mov byte [esp + 0x20], 1
lea ecx, [esp + 0x14]
call fcn.00405a47
test al, al
je 0x4070b5
push 0
mov esi, str.RunProgram
push esi
call fcn.004041a9
pop ecx
pop ecx
test eax, eax
je 0x4070b5
push esi
lea eax, [esp + 0x18]
call fcn.0040100c
call fcn.00405b59
test al, al
jne 0x407139
call fcn.00405b5f
test al, al
jne 0x407139
mov eax, dword [0x42bd98]
and eax, 0xc0
cmp al, 0x80
jne 0x407139
call fcn.00409d7d
test eax, eax
jne 0x407139
cmp byte [0x42f269], 0
lea eax, [esp + 0x14]
je 0x407124
call fcn.004017d0
jmp 0x406f7d
lea eax, [esp + 0x14]
call fcn.0040bbc2
push eax
push 0xe
push 0
call fcn.00409eb8
add esp, 0xc
lea eax, [esp + 0x14]
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
push 6
jmp 0x406844
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
push 5
jmp 0x406844
mov ecx, 0x42f2ec
call fcn.00405a47
test al, al
je 0x407177
push str.7ZipSfx._03x
lea esi, [esp + 0x40]
call fcn.00403608
mov ebx, eax
pop ecx
mov eax, 0x42f2ec
call fcn.0040255c
mov eax, esi
call fcn.004017d0
mov byte [0x42ceec], 0
mov esi, 0x42f2ec
jmp 0x4071b7
lea eax, [esp + 0x30]
push eax
mov ebx, 0x42f2ec
call fcn.00402655
lea esi, [esp + 0x30]
call fcn.00405ce0
mov ecx, esi
call fcn.00405a47
mov esi, ebx
test al, al
jne 0x4071a7
lea ebx, [esp + 0x30]
mov eax, esi
call fcn.0040255c
lea eax, [esp + 0x30]
mov byte [0x42ceec], 1
call fcn.004017d0
mov eax, esi
call fcn.0040b9c5
mov ebx, eax
mov eax, esi
call fcn.0040bbc2
movzx eax, word [eax + ebx*2 - 2]
cmp eax, 0x5c
je 0x4071d6
cmp eax, 0x2f
jne 0x4071e0
lea eax, [ebx - 1]
mov ecx, esi
call fcn.004017ea
call fcn.00405b5f
test al, al
je 0x4071f0
or dword [0x42f290], 3
mov ebx, str.PreExtract
push ebx
lea eax, [esp + 0x34]
push eax
call fcn.004017d5
call fcn.00405b53
movzx eax, word [eax]
push eax
lea esi, [esp + 0x34]
call fcn.00401d07
xor esi, esi
push esi
lea eax, [esp + 0x34]
call fcn.0040bbc2
push eax
call fcn.004041a9
pop ecx
pop ecx
test eax, eax
je 0x407285
call fcn.00405b65
test al, al
jne 0x407285
push esi
mov esi, 0x42f334
mov ecx, esi
call fcn.00405b0d
push eax
push str.SfxVarApiPath
call fcn.00403591
add esp, 0xc
call fcn.00405d1a
push edi
push edi
lea eax, [esp + 0x44]
push eax
call fcn.004017d5
push eax
call fcn.00405b53
mov ecx, esi
mov edi, eax
call fcn.00405b0d
push eax
push ebx
mov eax, edi
call fcn.00402568
add esp, 0x10
lea eax, [esp + 0x3c]
call fcn.004017d0
xor esi, esi
cmp dword [0x42f2c4], esi
jne 0x407294
call fcn.00402efb
jmp 0x4072a2
call fcn.00409fb5
test eax, eax
jne 0x4072cd
mov eax, 0x80004005
cmp eax, esi
je 0x4072cd
call fcn.00406573
lea eax, [esp + 0x30]
call fcn.004017d0
lea eax, [esp + 0x14]
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
push 8
jmp 0x406844
call fcn.00405d1a
call fcn.00405b65
test al, al
je 0x4072e8
cmp byte [0x42ceec], 0
jne 0x40749c
lea eax, [esp + 0x48]
call fcn.00401000
lea eax, [esp + 0x60]
call fcn.00401000
call fcn.00405b59
test al, al
jne 0x40730c
lea eax, [esp + 0x48]
call fcn.00401d4b
lea ecx, [esp + 0x14]
call fcn.00405a47
test al, al
je 0x407404
cmp byte [0x42ceec], 0
jne 0x407433
mov edi, str.setup.exe
push edi
push 0x426af8
mov ebx, 0x42f2ec
lea eax, [esp + 0x80]
push ebx
push eax
call fcn.0041250b
add esp, 0xc
push eax
lea eax, [esp + 0x44]
push eax
call fcn.0041250b
add esp, 0xc
call fcn.0040bbc2
push eax
lea eax, [esp + 0x64]
call fcn.0040100c
lea eax, [esp + 0x3c]
call fcn.00401d42
lea eax, [esp + 0x78]
call fcn.00401d42
lea eax, [esp + 0x60]
call fcn.0040bbc2
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x4073d0
call fcn.00406573
push 0xf
push esi
call fcn.00409eb8
pop ecx
pop ecx
lea eax, [esp + 0x60]
call fcn.004017d0
lea eax, [esp + 0x48]
call fcn.004017d0
lea eax, [esp + 0x30]
call fcn.004017d0
lea eax, [esp + 0x14]
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
jmp 0x4068a3
push dword [esp + 0x10]
lea eax, [esp + 0x4c]
push eax
push dword [esp + 0x28]
mov eax, ebx
call fcn.0040bbc2
push eax
push edi
lea eax, [esp + 0x50]
push eax
call fcn.004017d5
push eax
call fcn.00402237
add esp, 0x14
lea eax, [esp + 0x3c]
call fcn.004017d0
jmp 0x407433
push dword [esp + 0x10]
lea eax, [esp + 0x4c]
push eax
call fcn.00405b53
mov edi, eax
mov eax, 0x42f2ec
call fcn.0040bbc2
push eax
lea eax, [esp + 0x20]
call fcn.0040bbc2
push eax
mov eax, edi
call fcn.00402568
add esp, 0x10
cmp dword [0x42f2c8], esi
jne 0x40748a
call fcn.00405d1a
push 0xffffffffffffffff
call fcn.00405b53
push eax
push str.Shortcut
push 0x4062c2
call fcn.004063cf
add esp, 0x10
mov eax, 0x42f2f8
call fcn.0040bbc2
push eax
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
push 0xffffffffffffffff
call fcn.00405b53
push eax
push 0x426a74
push 0x40639a
call fcn.004063cf
add esp, 0x10
call fcn.00406573
lea eax, [esp + 0x60]
call fcn.004017d0
lea eax, [esp + 0x48]
call fcn.004017d0
cmp dword [0x42bda4], 0xffffffff
jne 0x4074b8
call fcn.00405b5f
test al, al
jne 0x40750c
mov dword [0x42bda4], 1
cmp dword [0x42bda4], esi
jle 0x40750c
push esi
push str.FinishMessage
call fcn.004041a9
mov edi, eax
pop ecx
pop ecx
cmp edi, esi
je 0x40750c
mov eax, 0x3e7
cmp dword [0x42bda4], eax
jle 0x4074e5
mov dword [0x42bda4], eax
lea esi, [esp + 0xa8]
call fcn.00405a6a
push 0
push edi
push dword [0x42cf08]
mov eax, esi
push 0x11
call fcn.004088c1
mov ecx, esi
call fcn.004083ad
xor esi, esi
call fcn.00405b65
test al, al
jne 0x40754a
cmp dword [0x42f2c8], esi
jne 0x40754a
push esi
push str.SelfDelete
call fcn.004041a9
pop ecx
pop ecx
cmp eax, esi
je 0x40754a
cmp word [eax], 0x31
jne 0x40754a
sub esp, 0xc
push esp
mov ebx, 0x42f3dc
call fcn.00402655
call fcn.004075a5
add esp, 0xc
lea eax, [esp + 0x30]
call fcn.004017d0
lea eax, [esp + 0x14]
call fcn.004017d0
lea eax, [esp + 0x24]
call fcn.004017d0
lea eax, [esp + 0x6c]
call fcn.004017d0
lea eax, [esp + 0x84]
call fcn.004017d0
lea eax, [esp + 0x54]
call fcn.004017d0
xor eax, eax
jmp 0x40759e
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
mov esp, ebp
pop ebp
ret