Function at 0x403af4
Capabilities:
Accept command line arguments
Check if file exists
Check os version
Create process on windows
Get file attributes
Identify system language via api
Log keystrokes via polling
Self delete
Set current directory

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x254
push ebx
push esi
push edi
call fcn.00402c42
lea eax, [ebp - 0x254]
mov dword [ebp - 0x254], 0x114
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x40549a
cmp dword [ebp - 0x244], 2
jne 0x40549a
cmp dword [ebp - 0x250], 5
jb 0x40549a
call fcn.004032f6
push 3
xor ebx, ebx
pop edi
lea ecx, [ebp - 0xb0]
push edi
mov byte [str.___InstallEnd__], 0x3b
mov byte [str.___Install__UTF_8_], 0x3b
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xac], ebx
mov dword [ebp - 0xa8], ebx
call fcn.00401789
push edi
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xbc], ebx
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], ebx
call fcn.00401789
or dword [ebp - 0x98], 0xffffffff
push edi
lea ecx, [ebp - 0x84]
mov dword [ebp - 0x6c], 0x4192dc
mov byte [ebp - 0xa], bl
mov byte [ebp - 1], bl
mov byte [ebp - 0xc], bl
mov byte [ebp - 0xb], bl
mov dword [ebp - 0x84], ebx
mov dword [ebp - 0x80], ebx
mov dword [ebp - 0x7c], ebx
call fcn.00401789
push edi
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0xc8], ebx
mov dword [ebp - 0xc4], ebx
mov dword [ebp - 0xc0], ebx
call fcn.00401789
push edi
lea ecx, [ebp - 0xe0]
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xdc], ebx
mov dword [ebp - 0xd8], ebx
call fcn.00401789
lea eax, [ebp - 0xc8]
push eax
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
call fcn.004037a7
push str.sfxversion
push eax
mov dword [ebp - 8], eax
call fcn.004039c5
add esp, 0x10
test eax, eax
je 0x403ccd
lea ecx, [ebp - 0x11c]
mov dword [0x4189c4], 8
call fcn.004055be
push 1
mov dword [ebp - 0x11c], 0x414340
call fcn.00403120
pop ecx
push eax
lea ecx, [ebp - 0x30]
call fcn.00402cc6
cmp dword [0x419400], ebx
mov dword [ebp - 0x44], ebx
jbe 0x403c9d
mov edi, 0x419300
mov esi, edi
cmp esi, edi
je 0x403c7f
push 0x418e68
lea ecx, [ebp - 0x30]
call fcn.00402d27
mov eax, dword [esi]
lea ecx, [ebp - 0x30]
push dword [eax + 0x10]
call fcn.00402d27
inc dword [ebp - 0x44]
mov eax, dword [ebp - 0x44]
add esi, 4
cmp eax, dword [0x419400]
jb 0x403c6e
push ebx
lea ecx, [ebp - 0x11c]
push dword [ebp - 0x30]
push dword [0x4192cc]
push 0x11
call fcn.004061dd
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
lea ecx, [ebp - 0x11c]
call fcn.00405cf2
jmp 0x4047d9
mov esi, 0x208
cmp dword [ebp - 0x7c], esi
jg 0x403ce3
push esi
lea ecx, [ebp - 0x84]
call fcn.00401789
push esi
push dword [ebp - 0x84]
push ebx
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
test eax, eax
jne 0x403d07
push 6
push 1
pop ebx
push ebx
call fcn.00407563
pop ecx
pop ecx
jmp 0x40545c
push dword [ebp - 0x84]
call fcn.00405c88
mov ecx, dword [ebp - 0x84]
mov dword [esp], str.sfxtest
push dword [ebp - 8]
mov word [ecx + eax*2], bx
mov dword [ebp - 0x80], eax
call fcn.004039c5
mov esi, eax
pop ecx
cmp esi, ebx
pop ecx
je 0x403e99
cmp word [esi], 0x3a
je 0x403d48
push 0x64
pop ebx
jmp 0x40545c
mov cx, word [esi + 2]
movzx eax, cx
or al, 0x20
sub eax, 0x61
je 0x403e0d
dec eax
dec eax
je 0x403dfa
dec eax
je 0x403d82
dec eax
dec eax
je 0x403d78
sub eax, 0x10
jne 0x403d40
mov ebx, 0x451b
jmp 0x40545c
mov ebx, 0x2033
jmp 0x40545c
cmp cx, 0x44
jne 0x403dba
cmp word [esi + 4], 0x3a
jne 0x403d40
add esi, 6
mov ax, word [esi]
cmp ax, 0x20
jbe 0x403db0
cmp ax, 0x3a
je 0x403db0
inc esi
push eax
mov ecx, 0x4192e8
inc esi
call fcn.00401718
jmp 0x403d92
cmp dword [0x4192ec], ebx
jne 0x403dbd
jmp 0x403d40
add esi, 4
mov dword [0x4192f4], ebx
cmp word [esi], 0x3a
jne 0x403de4
lea eax, [esi + 2]
push eax
call dword [sym.imp.MSVCRT.dll__wtol]
cmp eax, 0xe10
pop ecx
mov dword [0x4192f4], eax
ja 0x403de4
cmp eax, ebx
jne 0x403dee
mov dword [0x4192f4], 0xa
mov dword [0x4192f8], 1
jmp 0x403e17
xor eax, eax
cmp word [esi + 4], 0x63
sete al
add eax, edi
mov dword [0x4192f8], eax
jmp 0x403e17
mov dword [0x4192f8], 2
cmp word [esi], 0x20
jbe 0x403e21
inc esi
inc esi
jmp 0x403e17
mov ax, word [esi]
cmp ax, bx
je 0x403e33
cmp ax, 0x20
ja 0x403e33
inc esi
inc esi
jmp 0x403e21
push str.sfxconfig
push esi
mov dword [ebp - 8], esi
call fcn.004039c5
pop ecx
cmp eax, ebx
pop ecx
je 0x403e99
cmp word [eax], 0x3a
jne 0x403e4f
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
je 0x403e5d
cmp cx, 0x20
jbe 0x403e4d
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xc4], ebx
mov word [ecx], bx
lea ecx, [ebp - 0xc8]
push ecx
push eax
call fcn.004037a7
cmp dword [0x4192f8], 2
pop ecx
pop ecx
mov dword [ebp - 8], eax
je 0x403e99
lea eax, [ebp - 0xc8]
lea ecx, [ebp - 0x84]
push eax
call fcn.004016da
lea eax, [ebp - 0x84]
mov ecx, 0x419298
push eax
call fcn.004016da
lea eax, [ebp - 0x84]
push eax
call fcn.00402be1
cmp eax, ebx
pop ecx
jl 0x403f59
mov ecx, dword [0x419298]
mov word [ecx + eax*2], bx
mov ecx, dword [ebp - 0x84]
mov dword [0x41929c], eax
lea eax, [ecx + eax*2 + 2]
lea ecx, [ebp - 0xbc]
push eax
call fcn.00401631
mov eax, dword [ebp - 0xb8]
cmp eax, ebx
je 0x403f1d
mov ecx, dword [ebp - 0xbc]
lea eax, [ecx + eax*2 - 2]
cmp word [eax], 0x2e
je 0x403f06
cmp eax, ecx
je 0x403f0c
dec eax
dec eax
jmp 0x403ef8
sub eax, ecx
sar eax, 1
jmp 0x403f0f
or eax, 0xffffffff
cmp eax, ebx
jle 0x403f1d
mov word [ecx + eax*2], bx
mov dword [ebp - 0xb8], eax
lea eax, [ebp - 0xbc]
lea ecx, [ebp - 0xb0]
push eax
call fcn.004016da
push 4
call fcn.00403120
pop ecx
push eax
lea ecx, [ebp - 0xb0]
call fcn.00402d27
mov eax, dword [ebp - 0xbc]
mov dword [0x4192cc], eax
mov eax, dword [ebp - 0xb0]
mov dword [0x4192d0], eax
push 0x10
call sub.MSVCRT.dll_void____cdecl_operator_new_unsigned_int_
cmp eax, ebx
pop ecx
je 0x403f70
mov ecx, eax
call fcn.004054d0
mov edi, eax
jmp 0x403f72
xor edi, edi
cmp edi, ebx
mov dword [ebp - 0x10], edi
je 0x403f7f
mov eax, dword [edi]
push edi
call dword [eax + 4]
push dword [ebp - 0x84]
mov ecx, edi
call fcn.0040e08a
test al, al
jne 0x403fbf
sub esp, 0xc
lea esi, [ebp - 0x84]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 7
push 1
movsd dword es:[edi], dword [esi]
call fcn.00407563
add esp, 0x14
cmp dword [ebp - 0x10], ebx
je 0x403fb8
mov eax, dword [ebp - 0x10]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
push 2
jmp 0x403d42
push 3
lea ecx, [ebp - 0x50]
pop esi
mov dword [ebp - 0x50], ebx
push esi
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x48], ebx
call fcn.0040303d
push esi
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x68], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x60], ebx
call fcn.0040303d
push esi
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x58], ebx
mov dword [ebp - 0x54], ebx
call fcn.0040303d
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x68]
push ecx
push eax
call fcn.00403a31
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x68]
push edi
call fcn.00401b5e
add esp, 0x1c
test al, al
jne 0x4040d1
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x68]
movzx eax, ax
push ecx
push eax
call fcn.00403a31
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x68]
push edi
call fcn.00401b5e
add esp, 0x1c
test al, al
jne 0x4040d1
call fcn.00402c04
lea ecx, [ebp - 0x5c]
push ecx
lea ecx, [ebp - 0x68]
movzx eax, ax
push ecx
push eax
call fcn.00403a31
lea eax, [ebp - 0x50]
push eax
push dword [ebp - 0x5c]
push dword [ebp - 0x68]
push edi
call fcn.00401b5e
add esp, 0x1c
test al, al
jne 0x4040d1
lea eax, [ebp - 0x50]
push eax
push str.___InstallEnd__
push str.___Install__UTF_8_
push edi
call fcn.00401b5e
add esp, 0x10
test al, al
jne 0x4040d1
push 9
push ebx
call fcn.00407563
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x14
cmp edi, ebx
je 0x4040ca
mov eax, dword [edi]
push edi
call dword [eax + 8]
mov ebx, esi
jmp 0x40545c
cmp dword [0x4192f8], ebx
jne 0x404175
push str.sfxconfig
push dword [ebp - 8]
call fcn.004039c5
pop ecx
cmp eax, ebx
pop ecx
je 0x404175
cmp word [eax], 0x3a
jne 0x4040fc
inc eax
inc eax
mov cx, word [eax]
cmp cx, bx
je 0x40410a
cmp cx, 0x20
jbe 0x4040fa
cmp word [eax], bx
je 0x404147
lea ecx, [ebp - 0x50]
push ecx
push eax
call fcn.00403807
pop ecx
test al, al
pop ecx
jne 0x404147
push 0xa
push ebx
call fcn.00407563
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x14
jmp 0x4041cb
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0xc
cmp edi, ebx
je 0x40545c
mov eax, dword [edi]
push edi
call dword [eax + 8]
jmp 0x40545c
lea ecx, [ebp - 0x24]
call fcn.00405b5c
cmp dword [ebp - 0x4c], ebx
mov esi, 0x414338
mov dword [ebp - 0x24], esi
je 0x4041dc
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00401d8e
pop ecx
test al, al
pop ecx
jne 0x4041dc
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0xc
cmp edi, ebx
je 0x4041d5
mov eax, dword [edi]
push edi
call dword [eax + 8]
push 4
jmp 0x403d42
cmp dword [0x4192f8], 4
jne 0x4041fd
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], esi
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
jmp 0x404147
lea eax, [ebp - 0x94]
mov dword [ebp - 0x94], ebx
push eax
lea eax, [ebp - 0x24]
push str.SetEnvironment
push eax
call fcn.004021a3
add esp, 0xc
mov edi, eax
cmp edi, ebx
je 0x4042dd
push edi
lea ecx, [ebp - 0x30]
call fcn.00402cc6
push ebx
push 0x3d
lea ecx, [ebp - 0x30]
call fcn.00402f09
mov esi, eax
cmp esi, ebx
jle 0x4042d4
mov eax, dword [ebp - 0x30]
lea ecx, [ebp - 0x134]
mov word [eax + esi*2], bx
mov dword [ebp - 0x2c], esi
call fcn.00402cae
lea ecx, [ebp - 0x128]
call fcn.00402cae
lea eax, [ebp - 0x30]
lea ecx, [ebp - 0x134]
push eax
call fcn.004016da
lea eax, [edi + esi*2 + 2]
lea ecx, [ebp - 0x128]
push eax
call fcn.00401631
lea eax, [ebp - 0x134]
mov ecx, 0x419280
push eax
call fcn.00402e86
push dword [ebp - 0x128]
inc dword [ebp - 0x94]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x134]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebp - 0x94]
push eax
lea eax, [ebp - 0x24]
push str.SetEnvironment
push eax
call fcn.004021a3
add esp, 0x18
jmp 0x40421b
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
call fcn.004035d9
push ebx
lea eax, [ebp - 0x24]
push str.Title
push eax
call fcn.004021a3
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x40432b
push esi
lea ecx, [ebp - 0xb0]
call fcn.00401631
push 4
call fcn.00403120
pop ecx
push eax
lea ecx, [ebp - 0xb0]
call fcn.00402d27
mov eax, dword [ebp - 0xb0]
mov dword [0x4192cc], esi
mov dword [0x4192d0], eax
push ebx
lea eax, [ebp - 0x24]
push str.ErrorTitle
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x404346
mov dword [0x4192d0], eax
push ebx
lea eax, [ebp - 0x24]
push str.ExtractTitle
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x404361
mov dword [0x4192c8], eax
push ebx
lea eax, [ebp - 0x24]
push str.Progress
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x404391
push 0x418de8
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x404391
mov dword [0x4192d4], 2
push ebx
lea eax, [ebp - 0x24]
push str.GUIMode
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x4043c1
mov ax, word [eax]
cmp ax, 0x31
je 0x4043b6
cmp ax, 0x32
jne 0x4043c1
movzx eax, ax
sub eax, 0x30
mov dword [0x4192d4], eax
push ebx
lea eax, [ebp - 0x24]
push str.OverwriteMode
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x404401
movzx eax, word [eax]
sub eax, 0x30
dec eax
je 0x4043f7
dec eax
je 0x4043eb
mov dword [0x4192d8], ebx
jmp 0x404401
mov dword [0x4192d8], 2
jmp 0x404401
mov dword [0x4192d8], 1
push ebx
lea eax, [ebp - 0x24]
push str.GUIFlags
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x40441e
push eax
call fcn.004036cb
pop ecx
push ebx
lea eax, [ebp - 0x24]
push str.ExtractCancelText
push eax
call fcn.004021a3
mov dword [0x4192b8], eax
push ebx
lea eax, [ebp - 0x24]
push str.ExtractDialogText
push eax
call fcn.004021a3
mov dword [0x4192b4], eax
push ebx
lea eax, [ebp - 0x24]
push str.ExtractDialogWidth
push eax
call fcn.004021a3
add esp, 0x24
cmp eax, ebx
je 0x404469
push eax
call dword [sym.imp.MSVCRT.dll__wtol]
pop ecx
mov dword [0x4189c8], eax
push ebx
lea eax, [ebp - 0x24]
push str.ExtractPathWidth
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x40448c
push eax
call dword [sym.imp.MSVCRT.dll__wtol]
pop ecx
mov dword [0x4189cc], eax
push ebx
lea eax, [ebp - 0x24]
push str.ExtractPathTitle
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x4044a7
mov dword [0x4192c4], eax
push ebx
lea eax, [ebp - 0x24]
push str.ExtractPathText
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x4044c2
mov dword [0x4192c0], eax
push ebx
lea eax, [ebp - 0x24]
push str.CancelPrompt
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x4044dd
mov dword [0x4192bc], eax
mov edi, dword [ebp - 8]
dec edi
dec edi
mov dword [ebp - 8], edi
cmp word [edi], 0x20
jbe 0x4044ef
inc edi
inc edi
jmp 0x4044e5
mov ax, word [edi]
cmp ax, bx
je 0x404504
cmp ax, 0x20
ja 0x404504
inc edi
inc edi
mov dword [ebp - 8], edi
jmp 0x4044ef
mov ax, word [edi]
cmp ax, 0x2f
je 0x404517
cmp ax, 0x2d
jne 0x404728
cmp word [edi + 2], 0x21
lea esi, [edi + 2]
jne 0x40452c
cmp word [edi + 4], 0x20
jbe 0x404710
push 0x418cac
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x40458b
mov ax, word [edi + 6]
lea ecx, [edi + 6]
cmp ax, 0x30
jb 0x404550
cmp ax, 0x39
jbe 0x404568
cmp ax, 0x61
jb 0x40455c
cmp ax, 0x7a
jbe 0x404568
cmp ax, 0x41
jb 0x404578
cmp ax, 0x5a
ja 0x404578
mov dword [ebp - 0x6c], ecx
mov byte [ebp - 0xa], 1
mov byte [ebp - 1], 1
jmp 0x4044e5
cmp ax, 0x20
ja 0x404728
mov dword [ebp - 0x6c], 0x4192dc
jmp 0x40456b
push 0x418ca4
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x4045cf
mov ax, word [edi + 6]
cmp ax, 0x30
jb 0x404728
cmp ax, 0x32
ja 0x404728
cmp word [edi + 8], 0x20
ja 0x404728
movzx eax, ax
sub eax, 0x30
mov dword [0x4192d8], eax
jmp 0x4044e5
push 0x418c9c
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x404613
mov ax, word [edi + 6]
cmp ax, 0x30
jb 0x404728
cmp ax, 0x32
ja 0x404728
cmp word [edi + 8], 0x20
ja 0x404728
movzx eax, ax
sub eax, 0x30
mov dword [0x4192d4], eax
jmp 0x4044e5
push 0x418c94
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x404633
lea eax, [edi + 6]
push eax
call fcn.004036cb
pop ecx
jmp 0x4044e5
push 0x418c8c
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x404674
mov ax, word [edi + 6]
cmp ax, 0x30
je 0x404658
cmp ax, 0x31
jne 0x404728
cmp word [edi + 8], 0x20
ja 0x404728
movzx eax, ax
sub eax, 0x30
mov dword [ebp - 0x98], eax
jmp 0x4044e5
push 0x418c84
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x404699
cmp word [edi + 6], 0x20
ja 0x404728
mov byte [ebp - 0xc], 1
jmp 0x4044e5
push 0x418c7c
push esi
call fcn.0040364a
pop ecx
test eax, eax
pop ecx
je 0x4046cf
mov cx, word [edi + 6]
lea eax, [edi + 6]
cmp cx, 0x30
jb 0x404728
cmp cx, 0x39
ja 0x404728
push eax
call dword [sym.imp.MSVCRT.dll__wtol]
pop ecx
mov dword [0x4189d0], eax
jmp 0x4044e5
mov si, word [esi]
cmp si, 0x79
je 0x4046de
cmp si, 0x59
jne 0x4046ee
cmp word [edi + 4], 0x20
ja 0x4046ee
mov byte [ebp - 0xa], 1
jmp 0x4044e5
cmp si, 0x3f
je 0x404700
cmp si, 0x68
je 0x404700
cmp si, 0x48
jne 0x404728
cmp word [edi + 4], 0x20
ja 0x404728
mov byte [ebp - 0xb], 1
jmp 0x4044e5
add edi, 4
mov ax, word [edi]
mov dword [ebp - 8], edi
cmp ax, bx
je 0x40472b
cmp ax, 0x20
ja 0x40472b
inc edi
inc edi
jmp 0x404713
mov dword [ebp - 8], edi
cmp dword [0x4189c4], 0xffffffff
jne 0x40473a
mov dword [0x4189c4], ebx
cmp byte [ebp - 0xb], bl
je 0x40481a
push ebx
lea eax, [ebp - 0x24]
push str.HelpText
push eax
call fcn.004021a3
mov esi, eax
add esp, 0xc
cmp esi, ebx
jne 0x404765
push 0x18
call fcn.00403120
pop ecx
mov esi, eax
lea ecx, [ebp - 0x11c]
call fcn.004055be
push ebx
push esi
push dword [0x4192cc]
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x11c], 0x414314
push 0x11
call fcn.004061dd
lea ecx, [ebp - 0x11c]
call fcn.00405cf2
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x414338
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x4047d9
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0xe0]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xc8]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x84]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xbc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xb0]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x14
xor eax, eax
jmp 0x4054b1
cmp byte [ebp - 0xa], bl
je 0x404826
and byte [0x4189c5], 0xfe
push ebx
call dword [sym.imp.ole32.dll_CoInitialize]
push ebx
lea eax, [ebp - 0x24]
push str.InstallPath
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x40484e
push eax
mov ecx, 0x4192a8
call fcn.00401631
push 0x4192a8
call fcn.004035a3
cmp dword [0x4192ec], ebx
pop ecx
je 0x40486c
lea eax, [ebp - 0x24]
push eax
call fcn.0040774a
jmp 0x40487e
cmp dword [0x4192f8], 3
jne 0x4048c9
lea eax, [ebp - 0x24]
push eax
call fcn.00407999
pop ecx
mov esi, eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x414338
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x4040ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x4040ca
push ebx
lea eax, [ebp - 0x24]
push str.BeginPrompt
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x40490b
cmp byte [ebp - 0xa], bl
jne 0x40490b
push eax
push dword [0x4192cc]
call fcn.0040745b
pop ecx
test eax, eax
pop ecx
je 0x404a8d
push 0x10
call dword [sym.imp.USER32.dll_GetKeyState]
test ah, 0x80
je 0x40490b
mov byte [ebp - 1], 1
push 3
lea ecx, [ebp - 0x40]
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.00401789
cmp byte [ebp - 1], bl
mov edi, str.AutoInstall
je 0x404a05
mov esi, dword [ebp - 0x6c]
push edi
lea ecx, [ebp - 0x40]
call fcn.00401631
mov eax, esi
mov ax, word [eax]
push eax
lea ecx, [ebp - 0x40]
call fcn.00401718
push ebx
lea eax, [ebp - 0x24]
push dword [ebp - 0x40]
push eax
call fcn.004021a3
add esp, 0xc
test eax, eax
je 0x404991
inc esi
inc esi
mov ax, word [esi]
cmp ax, 0x30
jb 0x40496b
cmp ax, 0x39
jbe 0x404983
cmp ax, 0x61
jb 0x404977
cmp ax, 0x7a
jbe 0x404983
cmp ax, 0x41
jb 0x4049ed
cmp ax, 0x5a
ja 0x4049ed
push edi
lea ecx, [ebp - 0x40]
call fcn.00401631
mov ax, word [esi]
jmp 0x40493d
push dword [ebp - 0x40]
push 0xe
push ebx
call fcn.00407563
push dword [ebp - 0x40]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x10
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x414338
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x4049e6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 6
jmp 0x403d42
push edi
lea ecx, [ebp - 0x40]
call fcn.00401631
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x40]
mov ax, word [eax]
push eax
call fcn.00401718
cmp dword [ebp - 0x3c], ebx
mov byte [ebp - 0xb], bl
jne 0x404a56
mov esi, str.ExecuteFile
push ebx
lea eax, [ebp - 0x24]
push esi
push eax
call fcn.004021a3
add esp, 0xc
test eax, eax
je 0x404a31
push esi
lea ecx, [ebp - 0x40]
call fcn.00401631
mov byte [ebp - 0xb], 1
cmp dword [ebp - 0x3c], ebx
jne 0x404a56
mov esi, str.RunProgram
push ebx
lea eax, [ebp - 0x24]
push esi
push eax
call fcn.004021a3
add esp, 0xc
test eax, eax
je 0x404a56
push esi
lea ecx, [ebp - 0x40]
call fcn.00401631
cmp byte [ebp - 1], bl
jne 0x404ad3
cmp byte [ebp - 0xa], bl
jne 0x404ad3
mov eax, dword [0x4189c4]
and ax, 0xc0
cmp al, 0x80
jne 0x404ad3
push dword [0x4192c0]
push dword [0x4192c4]
call fcn.00407509
pop ecx
test eax, eax
pop ecx
jne 0x404ad3
push dword [ebp - 0x40]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x414338
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x404acc
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 5
jmp 0x403d42
cmp dword [0x4192ac], ebx
jne 0x404b04
lea eax, [ebp - 0x30]
push str.7ZipSfx._03x
push eax
call fcn.00403484
pop ecx
pop ecx
push eax
mov ecx, 0x4192a8
call fcn.004016da
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov byte [ebp - 9], bl
jmp 0x404b3b
push 0x4192a8
lea ecx, [ebp - 0x30]
call fcn.004015ee
lea eax, [ebp - 0x30]
push eax
call fcn.004035a3
cmp dword [ebp - 0x2c], ebx
pop ecx
jne 0x404b2e
lea eax, [ebp - 0x30]
mov ecx, 0x4192a8
push eax
call fcn.004016da
push dword [ebp - 0x30]
mov byte [ebp - 9], 1
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov ecx, dword [0x4192ac]
mov eax, dword [0x4192a8]
mov dx, word [eax + ecx*2 - 2]
cmp dx, 0x5c
je 0x404b57
cmp dx, 0x2f
jne 0x404b62
dec ecx
mov word [eax + ecx*2], bx
mov dword [0x4192ac], ecx
cmp dword [0x4192f4], ebx
jne 0x404b7b
push 0x4192a8
push dword [ebp - 0x10]
call fcn.004055d0
pop ecx
pop ecx
jmp 0x404b89
call fcn.00407695
test eax, eax
jne 0x404bed
mov eax, 0x80004005
cmp eax, ebx
je 0x404bed
cmp byte [ebp - 9], bl
jne 0x404b9e
push dword [0x4192a8]
call fcn.0040246e
pop ecx
push dword [ebp - 0x40]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov dword [ebp - 0x24], 0x414338
lea ecx, [ebp - 0x24]
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x404be6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 8
jmp 0x403d42
call fcn.004035d9
cmp byte [ebp - 0xc], bl
je 0x404c00
cmp byte [ebp - 9], bl
jne 0x405333
push 3
lea ecx, [ebp - 0xd4]
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0xd4], ebx
mov dword [ebp - 0xd0], ebx
mov dword [ebp - 0xcc], ebx
call fcn.00401789
cmp byte [ebp - 1], bl
jne 0x404c39
lea eax, [ebp - 0xd4]
push eax
lea eax, [ebp - 0x24]
push eax
call fcn.00403751
pop ecx
pop ecx
mov byte [ebp - 0x31], bl
push 3
lea ecx, [ebp - 0x78]
mov byte [ebp - 1], bl
mov byte [ebp - 0x32], bl
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
call fcn.00401789
push 3
lea ecx, [ebp - 0xa4]
mov dword [ebp - 0xa4], ebx
mov dword [ebp - 0xa0], ebx
mov dword [ebp - 0x9c], ebx
call fcn.00401789
cmp dword [ebp - 0x3c], ebx
jne 0x404d2a
cmp byte [ebp - 9], bl
jne 0x40508a
mov esi, str.setup.exe
lea eax, [ebp - 0x128]
push esi
push 0x4180b8
push 0x4192a8
push eax
call fcn.00405c2e
add esp, 0xc
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.00405c2e
add esp, 0xc
lea ecx, [ebp - 0x78]
push eax
call fcn.004016da
push dword [ebp - 0x140]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x128]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
pop ecx
push dword [ebp - 0x78]
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x405008
mov byte [ebp - 0x31], 1
push esi
lea ecx, [ebp - 0xa4]
call fcn.00401631
lea eax, [ebp - 0xa4]
push eax
call fcn.004035be
mov esi, dword [ebp - 0xa4]
pop ecx
push ebx
push str.hidcon
push esi
call fcn.00403684
add esp, 0xc
cmp eax, ebx
je 0x404dac
mov esi, eax
mov byte [ebp - 1], 1
jmp 0x404d0b
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x24]
push dword [ebp - 0x40]
push eax
call fcn.004021a3
mov esi, eax
add esp, 0xc
cmp esi, ebx
jne 0x404cec
mov esi, dword [ebp - 0x6c]
inc esi
inc esi
mov dword [ebp - 0x6c], esi
mov ax, word [esi]
cmp ax, 0x30
jb 0x404d5a
cmp ax, 0x39
jbe 0x404d7a
cmp ax, 0x61
jb 0x404d66
cmp ax, 0x7a
jbe 0x404d7a
cmp ax, 0x41
jb 0x40508a
cmp ax, 0x5a
ja 0x40508a
push edi
lea ecx, [ebp - 0x40]
call fcn.00401631
mov ax, word [esi]
lea ecx, [ebp - 0x40]
push eax
call fcn.00401718
push dword [ebp - 0xa4]
mov dword [ebp - 0x44], ebx
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
pop ecx
jmp 0x404c3c
push ebx
push 0x418ba0
push esi
call fcn.00403684
add esp, 0xc
cmp eax, ebx
je 0x404dcc
mov esi, eax
mov al, byte [ebp - 9]
mov byte [ebp - 0x32], al
jmp 0x404d0b
push 1
push 0x418c7c
push esi
call fcn.00403684
mov edi, eax
add esp, 0xc
cmp edi, ebx
je 0x404e02
cmp dword [0x4189d0], 0xffffffff
jne 0x404dfb
add esi, 4
push esi
call dword [sym.imp.MSVCRT.dll__wtol]
pop ecx
mov dword [0x4189d0], eax
mov esi, edi
jmp 0x404d0b
cmp byte [ebp - 0xb], bl
je 0x404e5f
cmp word [esi], 0x22
je 0x404e2f
mov edi, 0x418b9c
lea ecx, [ebp - 0x78]
push edi
call fcn.00401631
push esi
lea ecx, [ebp - 0x78]
call fcn.00402d27
push edi
lea ecx, [ebp - 0x78]
call fcn.00402d27
jmp 0x404e38
push esi
lea ecx, [ebp - 0x78]
call fcn.00401631
push ebx
lea eax, [ebp - 0x24]
push 0x418b78
push eax
call fcn.004021a3
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x404e77
push 0x418b74
lea ecx, [ebp - 0x78]
call fcn.00402d27
jmp 0x404e6e
lea eax, [ebp - 0xd4]
lea ecx, [ebp - 0x78]
push eax
call fcn.004016da
push esi
lea ecx, [ebp - 0x78]
call fcn.00402d27
push 3
lea ecx, [ebp - 0x30]
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
call fcn.00401789
push 3
lea ecx, [ebp - 0x90]
mov dword [ebp - 0x90], ebx
mov dword [ebp - 0x8c], ebx
mov dword [ebp - 0x88], ebx
call fcn.00401789
push 0x3c
lea eax, [ebp - 0x11c]
pop esi
push esi
push ebx
push eax
call sub.MSVCRT.dll_memset
mov eax, dword [0x4192a8]
add esp, 0xc
cmp byte [ebp - 1], bl
mov dword [ebp - 0x11c], esi
mov dword [ebp - 0x104], eax
mov dword [ebp - 0x118], 0x740
mov dword [ebp - 0x100], 1
je 0x404ef7
mov dword [ebp - 0x100], ebx
mov dword [ebp - 0x118], 0x8740
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x78]
call fcn.004037a7
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x90]
call fcn.00401631
mov esi, dword [ebp - 8]
cmp word [esi], bx
je 0x404f41
push 0x20
lea ecx, [ebp - 0x90]
call fcn.00401718
push esi
lea ecx, [ebp - 0x90]
call fcn.00402d27
cmp word [esi], bx
je 0x404f41
inc esi
inc esi
cmp word [esi], bx
jne 0x404f37
mov dword [ebp - 8], esi
lea eax, [ebp - 0x30]
push eax
call fcn.004035be
lea eax, [ebp - 0x90]
push eax
call fcn.004035be
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x8c], ebx
pop ecx
mov dword [ebp - 0x10c], eax
pop ecx
je 0x404f75
mov eax, dword [ebp - 0x90]
mov dword [ebp - 0x108], eax
cmp dword [0x4192f8], ebx
jne 0x404fb1
lea eax, [ebp - 0x11c]
push eax
call dword [sym.imp.SHELL32.dll_ShellExecuteExW]
test eax, eax
je 0x4050a4
cmp byte [ebp - 0x32], bl
jne 0x404fa5
push 0xffffffffffffffff
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
push dword [ebp - 0xe4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp byte [ebp - 0xb], bl
jne 0x40518b
cmp byte [ebp - 0x31], bl
jne 0x40518b
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], ebx
mov word [eax], bx
push dword [ebp - 0x90]
inc dword [ebp - 0x44]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xa4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x10
mov edi, str.AutoInstall
jmp 0x404c3c
push dword [0x4192a8]
call fcn.0040246e
push 0xf
push ebx
call fcn.00407563
push dword [ebp - 0xa4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xd4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x40]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x1c
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x414338
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x405083
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 7
jmp 0x405149
push dword [ebp - 0xa4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
pop ecx
jmp 0x4051b4
sub esp, 0xc
lea esi, [ebp - 0x78]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
push 0x10
push 1
movsd dword es:[edi], dword [esi]
call fcn.00407563
add esp, 0x14
cmp byte [ebp - 9], bl
jne 0x4050cc
push dword [0x4192a8]
call fcn.0040246e
pop ecx
push dword [ebp - 0x90]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xa4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xd4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x40]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x18
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x24], 0x414338
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x405147
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push 9
pop esi
push dword [ebp - 0xe0]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xc8]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x84]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xbc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xb0]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x14
mov eax, esi
jmp 0x4054b1
push dword [ebp - 0x90]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xa4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x78]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x10
cmp dword [0x4192f8], ebx
jne 0x405327
lea eax, [ebp - 8]
mov dword [ebp - 8], ebx
push eax
lea eax, [ebp - 0x24]
push str.Shortcut
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x4052b5
mov edi, 0x419298
push eax
lea ecx, [ebp - 0x90]
call fcn.00402cc6
lea eax, [ebp - 0x90]
push 0x4192a8
push eax
call fcn.0040291c
lea eax, [ebp - 0x90]
push edi
push eax
call fcn.00402a13
add esp, 0x10
xor esi, esi
cmp dword [0x419288], ebx
jle 0x40527f
mov eax, dword [0x41928c]
lea ecx, [ebp - 0x30]
mov eax, dword [eax + esi*4]
add eax, 0xc
push eax
call fcn.004015ee
lea eax, [ebp - 0x30]
push eax
call fcn.00401ab1
lea eax, [ebp - 0x30]
mov dword [esp], 0x4192a8
push eax
call fcn.0040291c
lea eax, [ebp - 0x30]
push edi
push eax
call fcn.00402a13
lea eax, [ebp - 0x30]
push eax
mov eax, dword [0x41928c]
push dword [eax + esi*4]
lea eax, [ebp - 0x90]
push eax
call fcn.0040395f
push dword [ebp - 0x30]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x20
inc esi
cmp esi, dword [0x419288]
jl 0x40521c
push dword [ebp - 0x90]
call fcn.00402546
push dword [ebp - 0x90]
inc dword [ebp - 8]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
push str.Shortcut
push eax
call fcn.004021a3
add esp, 0x14
cmp eax, ebx
jne 0x4051e5
push dword [0x419298]
call dword [sym.imp.KERNEL32.dll_SetCurrentDirectoryW]
lea eax, [ebp - 8]
mov esi, str.Delete
push eax
lea eax, [ebp - 0x24]
push esi
push eax
mov dword [ebp - 8], ebx
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x405316
push eax
lea ecx, [ebp - 0x30]
call fcn.00402cc6
lea eax, [ebp - 0x30]
push eax
call fcn.004035be
push dword [ebp - 0x30]
call fcn.0040246e
push dword [ebp - 0x30]
inc dword [ebp - 8]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x24]
push esi
push eax
call fcn.004021a3
add esp, 0x18
jmp 0x4052da
cmp byte [ebp - 9], bl
jne 0x405327
push dword [0x4192a8]
call fcn.0040246e
pop ecx
push dword [ebp - 0xd4]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
cmp dword [0x4189d0], 0xffffffff
jne 0x40534b
cmp byte [ebp - 0xa], bl
jne 0x4053b2
mov dword [0x4189d0], 1
cmp dword [0x4189d0], ebx
jle 0x4053b2
push ebx
lea eax, [ebp - 0x24]
push str.FinishMessage
push eax
call fcn.004021a3
mov esi, eax
add esp, 0xc
cmp esi, ebx
je 0x4053b2
mov eax, 0x3e7
cmp dword [0x4189d0], eax
jle 0x40537d
mov dword [0x4189d0], eax
lea ecx, [ebp - 0x118]
call fcn.00405cb8
push ebx
push esi
push dword [0x4192cc]
lea ecx, [ebp - 0x118]
mov dword [ebp - 0x118], 0x4142f0
push 0x11
call fcn.004061dd
lea ecx, [ebp - 0x118]
call fcn.00405cf2
cmp byte [ebp - 0xc], bl
jne 0x405414
cmp dword [0x4192f8], ebx
jne 0x405414
mov eax, dword [ebp - 0x98]
sub eax, ebx
je 0x405414
dec eax
je 0x4053f5
push ebx
lea eax, [ebp - 0x24]
push str.SelfDelete
push eax
call fcn.004021a3
add esp, 0xc
cmp eax, ebx
je 0x405414
cmp word [eax], 0x31
jne 0x405414
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x98], esp
jmp 0x405400
sub esp, 0xc
mov ecx, esp
mov dword [ebp - 0x98], esp
lea eax, [ebp - 0x84]
push eax
call fcn.004015ee
call fcn.004057ab
add esp, 0xc
push dword [ebp - 0x40]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
pop ecx
mov dword [ebp - 0x24], 0x414338
lea ecx, [ebp - 0x24]
call fcn.0040ed26
lea ecx, [ebp - 0x24]
call fcn.0040ecfd
push dword [ebp - 0x5c]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x68]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x50]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x10]
add esp, 0xc
cmp eax, ebx
je 0x40545c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp - 0xe0]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xc8]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0x84]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xbc]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
push dword [ebp - 0xb0]
call sub.MSVCRT.dll_void___cdecl_operator_delete_void__
add esp, 0x14
mov eax, ebx
jmp 0x4054b1
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