Function at 0x405530
Capabilities:
Create shortcut via ishelllink
Delete directory
Delete file
Persist via lnk shortcut
Read file on windows
Resolve function by parsing pe exports
Set file attributes
Timestomp file
Write file on windows

Disassembly:
sub esp, 0x5d0
lea ecx, [esp + 0x18]
push ebx
push ebp
push esi
push edi
xor esi, esi
push 0x40d99c
mov dword [0x40db58], esi
call fcn.00401730
lea ecx, [esp + 0x28]
call fcn.00402090
cmp al, 0x5c
je 0x405568
mov dl, 0x5c
lea ecx, [esp + 0x28]
call fcn.00401ee0
cmp dword [0x40c128], esi
jne 0x4058b7
mov ecx, dword [0x40c124]
xor edx, edx
mov dword [0x40db50], edx
mov dword [0x40db54], esi
mov eax, 0x40da00
add ecx, 6
mov bl, byte [ecx - 1]
test bl, bl
jne 0x4055a4
cmp byte [ecx], 0
je 0x4055a4
add edx, dword [eax]
mov dword [0x40db50], edx
add eax, 0x10
add ecx, 0xc
cmp eax, 0x40da30
jl 0x405590
cmp edx, esi
jle 0x405897
push str.Proceeding_uninstallation_of_the_Peter_application_parts_...
push 0x40d090
call fcn.00402be0
mov edx, dword [0x40db04]
add esp, 8
push eax
push edx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov eax, dword [0x40c124]
mov edi, 0x40da00
mov dword [esp + 0x24], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x30], edi
mov cl, byte [esi + eax + 5]
test cl, cl
jne 0x405874
mov cl, byte [esi + eax + 6]
test cl, cl
je 0x405874
lea ecx, [esp + 0x64]
call fcn.00401710
mov eax, dword [esp + 0x24]
lea ecx, [esp + 0x64]
push eax
call fcn.00402250
push ecx
mov ecx, esp
push 0x30
call fcn.00401740
push ecx
lea edx, [esp + 0x6c]
mov ecx, esp
push edx
mov edx, str.Group
call fcn.00403d10
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
mov eax, dword [0x40c124]
add esp, 0xc
mov byte [esi + eax + 6], 0
mov ecx, dword [0x40c124]
mov eax, dword [edi]
mov ebx, dword [esi + ecx + 8]
test eax, eax
jle 0x405866
mov dword [esp + 0x50], eax
mov ebp, dword [ebx]
xor edx, edx
mov dl, byte [ebx + 8]
lea eax, [ebx + 9]
push edx
push eax
lea ecx, [esp + 0x1c]
call fcn.004017e0
xor ecx, ecx
lea edx, [esp + 0x14]
mov cl, byte [ebx + 8]
lea eax, [esp + 0x28]
push edx
push eax
lea ebx, [ebx + ecx + 9]
lea ecx, [esp + 0x68]
call fcn.00401850
lea edx, [esp + 0x60]
lea ecx, [esp + 0x14]
call fcn.00401f10
lea ecx, [esp + 0x60]
call fcn.00401ad0
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0xa0]
add edx, 8
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
je 0x405813
mov edx, dword [0x40db08]
lea ecx, [esp + 0x14]
call fcn.00402110
lea eax, [esp + 0x6c]
lea ecx, [esp + 0xb4]
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_FileTimeToLocalFileTime]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
mov edx, eax
mov esi, ecx
add edx, 0x61c46800
mov edi, 0x40d9f8
adc esi, 8
sub eax, 0x61c46800
sbb ecx, 8
mov dword [esp + 0x78], esi
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov ecx, 2
lea esi, [esp + 0x6c]
xor eax, eax
mov dword [esp + 0x74], edx
repe cmpsd dword [esi], dword es:[edi]
je 0x405773
mov ecx, 2
mov edi, 0x40d9f8
lea esi, [esp + 0x74]
xor edx, edx
repe cmpsd dword [esi], dword es:[edi]
je 0x405773
mov ecx, 2
mov edi, 0x40d9f8
lea esi, [esp + 0x8c]
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
jne 0x405804
cmp dword [esp + 0xc0], ebp
jne 0x405804
test byte [esp + 0xa0], 1
je 0x40579d
mov ecx, dword [esp + 0x14]
push 0x80
add ecx, 8
push ecx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov edx, dword [esp + 0x14]
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [esp + 0x14]
mov edx, dword [0x40d99c]
mov ecx, dword [eax + 4]
mov eax, dword [edx + 4]
cmp ecx, eax
jle 0x405804
mov esi, dword [sym.imp.KERNEL32.dll_RemoveDirectoryA]
mov dl, 0x5c
lea ecx, [esp + 0x14]
call fcn.00401ba0
test eax, eax
jl 0x405804
push 0x7fffffff
push eax
lea ecx, [esp + 0x1c]
call fcn.00401cd0
mov eax, dword [esp + 0x14]
add eax, 8
push eax
call esi
test eax, eax
je 0x405804
mov ecx, dword [esp + 0x14]
mov eax, dword [0x40d99c]
mov edx, dword [ecx + 4]
mov ecx, dword [eax + 4]
cmp edx, ecx
jg 0x4057c5
mov ecx, dword [esp + 0x18]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov esi, dword [esp + 0x68]
mov eax, dword [0x40db54]
mov edx, dword [0x40db50]
push 0
inc eax
push edx
push 0x80
push eax
mov dword [0x40db54], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
mov eax, dword [0x40db00]
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.00403eb0
lea ecx, [esp + 0x14]
call fcn.00401ad0
mov eax, dword [esp + 0x50]
dec eax
mov dword [esp + 0x50], eax
jne 0x405671
mov edi, dword [esp + 0x30]
lea ecx, [esp + 0x64]
call fcn.00401ad0
mov eax, dword [0x40c124]
mov ebp, dword [esp + 0x24]
add edi, 0x10
inc ebp
add esi, 0xc
cmp edi, 0x40da30
mov dword [esp + 0x24], ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x30], edi
jl 0x4055ef
push str.Proceeding_add_installation_of_the_Peter_application_parts_...
push 0x40d020
call fcn.00402be0
mov ecx, dword [0x40db04]
add esp, 8
push eax
push ecx
call dword [sym.imp.USER32.dll_SetWindowTextA]
mov edx, dword [0x40c124]
xor edi, edi
mov dword [0x40db50], edi
mov dword [0x40db54], edi
mov esi, 0x40da00
lea ecx, [edx + 6]
mov al, byte [ecx - 1]
test al, al
je 0x405900
cmp byte [ecx], 0
jne 0x405900
mov edx, dword [esi]
mov eax, dword [ecx + 2]
test edx, edx
jle 0x405900
mov ebp, edx
mov ebx, dword [eax]
xor edx, edx
add edi, ebx
dec ebp
mov dword [0x40db50], edi
mov dl, byte [eax + 8]
lea eax, [eax + edx + 9]
jne 0x4058ea
add esi, 0x10
add ecx, 0xc
cmp esi, 0x40da30
jl 0x4058d3
test edi, edi
jne 0x405921
push 6
call fcn.004095a0
add esp, 4
jmp 0x406dae
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
or edi, 0xffffffff
mov eax, dword [0x40d9c4]
push 0
push 0x27
push 3
push 0
push 1
add eax, 8
push 0x80000000
push eax
call esi
cmp eax, edi
mov dword [0x40db28], eax
jne 0x405972
push ecx
mov ecx, esp
push str.PETRLITE.EXE
call fcn.00401780
call fcn.00403f20
add esp, 4
test eax, eax
jne 0x406dd2
cmp dword [0x40db28], edi
je 0x40592a
mov ecx, 0x8400
call fcn.0040a890
mov ecx, 0x12400
mov dword [esp + 0x1c], eax
call fcn.0040a890
mov ecx, dword [0x40db38]
mov dword [esp + 0x20], eax
mov eax, dword [0x40c128]
mov dword [esp + 0x60], ecx
test eax, eax
je 0x405ba1
push ecx
mov ecx, esp
push 0x40d99c
call fcn.00401730
call fcn.00405070
add esp, 4
lea ecx, [esp + 0x24]
call fcn.00401710
lea edx, [esp + 0x28]
push str.Uninstal.exe
push edx
lea ecx, [esp + 0x58]
call fcn.00401970
lea edx, [esp + 0x50]
lea ecx, [esp + 0x24]
call fcn.00401f10
lea ecx, [esp + 0x50]
call fcn.00401ad0
mov eax, dword [esp + 0x24]
push 0x80
add eax, 8
xor ebp, ebp
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov ecx, dword [esp + 0x24]
push ebp
push 0x80
push 2
push ebp
push ebp
add ecx, 8
push 0x40000000
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov ebx, eax
cmp ebx, edi
je 0x405b93
mov edx, dword [0x40db38]
lea esi, [edx + 0x1ff]
and esi, 0xfffffe00
cmp esi, 0x8000
mov edi, esi
jle 0x405a49
mov edi, 0x8000
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x40db28]
lea eax, [esp + 0x34]
push 0
push eax
push edi
push ecx
push edx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x405b55
cmp edi, dword [esp + 0x34]
jne 0x405b55
mov eax, dword [0x40db30]
mov edx, dword [0x40db40]
mov ecx, esi
push 0
sub ecx, eax
mov eax, dword [esp + 0x20]
add ecx, 0x1ff
and ecx, 0xfffffe00
mov dword [edx + eax], ecx
mov edx, dword [0x40db30]
mov ecx, esi
sub ecx, edx
mov edx, dword [0x40db3c]
lea ecx, [ecx + edx + 0x1fff]
mov edx, dword [0x40db44]
and ecx, 0xffffe000
mov dword [edx + eax], ecx
mov edx, dword [0x40db30]
mov ecx, esi
sub ecx, edx
mov edx, dword [0x40db48]
mov dword [edx + eax], ecx
mov ecx, dword [0x40db4c]
lea edx, [esp + 0x38]
push edx
push edi
push eax
push ebx
mov word [ecx + eax], 2
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x405b55
cmp edi, dword [esp + 0x34]
jne 0x405b55
sub esi, edi
test esi, esi
jle 0x405b5a
cmp esi, 0x8000
mov edi, esi
jle 0x405b0b
mov edi, 0x8000
mov ecx, dword [esp + 0x1c]
mov edx, dword [0x40db28]
lea eax, [esp + 0x34]
push 0
push eax
push edi
push ecx
push edx
sub esi, edi
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x405b55
cmp edi, dword [esp + 0x34]
jne 0x405b55
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0x34]
push 0
push eax
push edi
push ecx
push ebx
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x405b55
cmp edi, dword [esp + 0x34]
jne 0x405b55
test esi, esi
jg 0x405afc
jmp 0x405b5a
mov ebp, 1
lea edx, [esp + 0x6c]
push edx
push 0x40d9f8
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea eax, [esp + 0x6c]
push eax
push 0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
test ebp, ebp
je 0x405b93
mov ecx, dword [esp + 0x24]
add ecx, 8
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
call fcn.00403eb0
lea ecx, [esp + 0x24]
call fcn.00401ad0
mov eax, dword [0x40c124]
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x405bb2
mov ecx, dword [esp + 0x24]
lea ecx, [ecx + ecx*2]
shl ecx, 2
mov dword [esp + 0x18], ecx
mov dl, byte [ecx + eax + 5]
test dl, dl
je 0x4064a5
mov dl, byte [ecx + eax + 6]
test dl, dl
jne 0x4064a5
mov eax, dword [esp + 0x24]
shl eax, 4
mov dword [esp + 0x50], eax
mov eax, dword [eax + 0x40da0c]
cmp eax, 0x8000
mov esi, eax
jle 0x405bf3
mov esi, 0x8000
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [sym.imp.KERNEL32.dll_SetFilePointer]
sub eax, esi
mov dword [esp + 0x68], eax
mov edx, dword [0x40db28]
push 0
push 0
push ebx
push edx
call ebp
test esi, esi
jle 0x405c5e
mov ecx, dword [0x40db28]
lea eax, [esp + 0x34]
push 0
push eax
push esi
push edi
push ecx
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x405c5e
cmp esi, dword [esp + 0x34]
jne 0x405c5e
cmp byte [edi], 0x1b
jne 0x405c5e
cmp byte [edi + 1], 0x58
jne 0x405c5e
cmp byte [edi + 2], 0x43
jne 0x405c5e
cmp byte [edi + 3], 0x44
jne 0x405c5e
mov al, byte [edi + 4]
test al, al
jne 0x405c5e
mov al, byte [edi + 5]
test al, al
je 0x405c7d
push ecx
mov ecx, esp
push str.PETRLITE.EXE
call fcn.00401780
call fcn.00403f20
add esp, 4
test eax, eax
jne 0x406dc2
jmp 0x405c07
mov eax, dword [esp + 0x20]
lea edx, [esi + ebx]
mov dword [esp + 0x30], edx
mov word [esp + 0x4c], 0
lea ecx, [eax + 0x9000]
add eax, 0x11c00
cmp esi, 0x8000
mov dword [esp + 0x94], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x8c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jne 0x405cc8
lea edx, [edi + 0x7fe0]
mov dword [esp + 0x44], edx
jmp 0x405cce
add esi, edi
mov dword [esp + 0x44], esi
add edi, 6
cmp ecx, eax
mov dword [esp + 0x48], edi
jae 0x405e69
jmp 0x405ce3
mov edi, dword [esp + 0x48]
cmp edi, dword [esp + 0x44]
jae 0x405e69
mov eax, dword [esp + 0x4c]
and eax, 1
shr word [esp + 0x4c], 1
jne 0x405d1c
mov dx, word [edi]
add edi, 2
mov word [esp + 0x4c], dx
mov eax, dword [esp + 0x4c]
shr dx, 1
and eax, 1
or dh, 0x80
mov dword [esp + 0x48], edi
mov word [esp + 0x4c], dx
test eax, eax
jne 0x405d3b
mov al, byte [edi]
mov byte [ecx], al
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
inc ecx
inc eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
jmp 0x405e5f
lea ecx, [esp + 0x38]
xor bl, bl
call fcn.004070b0
mov esi, eax
lea ecx, [esp + 0x38]
add esi, 2
call fcn.004070b0
test eax, eax
je 0x405d72
cmp esi, 0x16
jge 0x405d6f
lea ecx, [esp + 0x38]
add esi, 2
call fcn.004070b0
test eax, eax
jne 0x405d58
jmp 0x405d72
add esi, 2
cmp esi, 7
jl 0x405d9a
jne 0x405d99
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov esi, ecx
mov dword [esp + 0x48], eax
cmp esi, 0xff
je 0x405e69
add esi, 0x19
jmp 0x405d9a
dec esi
cmp esi, 2
je 0x405e23
lea ecx, [esp + 0x38]
call fcn.004070b0
test eax, eax
jne 0x405e23
lea ecx, [esp + 0x38]
call fcn.004070b0
shl al, 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x2f], al
call fcn.004070b0
mov ebx, eax
mov al, byte [esp + 0x2f]
or bl, al
lea ecx, [esp + 0x38]
shl bl, 1
call fcn.004070b0
or bl, al
cmp bl, 1
jbe 0x405e21
lea ecx, [esp + 0x38]
call fcn.004070b0
shl bl, 1
or al, bl
dec al
mov bl, al
cmp bl, 6
jbe 0x405e23
lea ecx, [esp + 0x38]
call fcn.004070b0
shl bl, 1
or al, bl
sub al, 7
mov bl, al
cmp bl, 0xd
jbe 0x405e23
lea ecx, [esp + 0x38]
call fcn.004070b0
shl bl, 1
or al, bl
sub al, 0xe
mov bl, al
jmp 0x405e23
inc bl
mov ecx, dword [esp + 0x48]
xor dx, dx
mov dl, bl
mov al, byte [ecx]
inc ecx
movzx ax, al
shl edx, 8
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x40]
add edx, eax
mov eax, ecx
and edx, 0xffff
sub eax, edx
test esi, esi
jle 0x405e5f
mov dl, byte [eax]
mov byte [ecx], dl
mov ecx, dword [esp + 0x40]
inc ecx
inc eax
dec esi
mov dword [esp + 0x40], ecx
jne 0x405e4e
cmp ecx, dword [esp + 0x3c]
jb 0x405cdf
mov eax, dword [0x40c124]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x50]
mov edi, dword [ecx + eax + 8]
mov ecx, dword [edx + 0x40da00]
mov dword [esp + 0x7c], edi
test ecx, ecx
mov dword [esp + 0x18], ecx
jle 0x4064a5
mov ebp, dword [edi]
mov eax, dword [edi + 4]
mov esi, dword [sym.imp.KERNEL32.dll_CreateFileA]
xor ecx, ecx
mov cl, byte [edi + 8]
lea edx, [edi + 9]
push ecx
push edx
lea ecx, [esp + 0x18]
mov dword [esp + 0x58], 0
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x7c], eax
call fcn.004017e0
xor eax, eax
lea ecx, [esp + 0x10]
mov al, byte [edi + 8]
lea edx, [esp + 0x28]
push ecx
push edx
lea edi, [edi + eax + 9]
lea ecx, [esp + 0x90]
mov dword [esp + 0x84], edi
call fcn.00401850
lea edx, [esp + 0x88]
lea ecx, [esp + 0x10]
call fcn.00401f10
lea ecx, [esp + 0x88]
call fcn.00401ad0
mov edx, dword [0x40db08]
lea ecx, [esp + 0x10]
call fcn.00402110
mov eax, dword [esp + 0x10]
push 0
push 0x80
push 2
push 0
push 0
add eax, 8
push 0x40000000
push eax
call esi
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x14], ebx
jne 0x405fb2
mov dl, 0x5c
lea ecx, [esp + 0x10]
call fcn.00401ba0
push ecx
lea ecx, [esp + 0x14]
mov edx, esp
push eax
call fcn.00401c10
call fcn.00405070
mov ecx, dword [esp + 0x14]
add esp, 4
add ecx, 8
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push ecx
call esi
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [esp + 0x14], ebx
jne 0x405fb2
mov edx, dword [esp + 0x10]
push 0x80
add edx, 8
push edx
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
mov eax, dword [esp + 0x10]
push 0
push 0x80
push 2
push 0
push 0
add eax, 8
push 0x40000000
push eax
call esi
mov ebx, eax
mov dword [esp + 0x14], ebx
call fcn.00403eb0
cmp ebx, 0xffffffff
je 0x406dde
test ebp, ebp
jle 0x406351
jmp 0x405fce
mov ebp, dword [esp + 0x64]
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
sub esi, eax
test esi, esi
jg 0x4062ab
mov eax, dword [esp + 0x68]
test eax, eax
jg 0x405ffb
mov ecx, dword [esp + 0x30]
mov eax, 0x400
sub ecx, eax
mov dword [esp + 0x68], eax
mov dword [esp + 0x30], ecx
mov ebp, dword [esp + 0x1c]
mov esi, dword [esp + 0x48]
mov ebx, ebp
sub ebx, esi
add ebx, 0x8000
jns 0x406011
xor ebx, ebx
mov ecx, ebx
mov edi, ebp
mov edx, ecx
mov eax, 0x8000
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
sub eax, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x68]
cmp ecx, eax
mov esi, ecx
jle 0x406036
mov esi, eax
sub ecx, esi
lea edi, [ebx + ebp]
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0x30]
mov ecx, dword [0x40db28]
push 0
push 0
push eax
push ecx
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov eax, dword [0x40db28]
lea edx, [esp + 0x34]
push 0
push edx
push esi
push edi
push eax
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x406074
cmp esi, dword [esp + 0x34]
je 0x406093
push ecx
mov ecx, esp
push str.PETRLITE.EXE
call fcn.00401780
call fcn.00403f20
add esp, 4
test eax, eax
jne 0x406e96
jmp 0x40603f
mov edx, dword [esp + 0x30]
lea eax, [ebx + esi]
add edx, esi
cmp eax, 0x8000
mov dword [esp + 0x30], edx
jne 0x4060b3
lea ecx, [ebp + 0x7fe0]
mov dword [esp + 0x44], ecx
jmp 0x4060b9
add eax, ebp
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0x40]
mov edi, dword [esp + 0x20]
mov edx, dword [esp + 0x94]
sub ecx, edi
sub ecx, 0x9000
mov esi, edx
sub edi, ecx
mov eax, ecx
add edi, 0x9000
mov dword [esp + 0x48], ebp
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x8c]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, edx
mov dword [esp + 0x38], edx
cmp ecx, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jae 0x40629b
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
cmp esi, eax
jae 0x40629b
mov eax, dword [esp + 0x4c]
and eax, 1
shr word [esp + 0x4c], 1
jne 0x406148
mov dx, word [esi]
add esi, 2
mov word [esp + 0x4c], dx
mov eax, dword [esp + 0x4c]
shr dx, 1
and eax, 1
or dh, 0x80
mov dword [esp + 0x48], esi
mov word [esp + 0x4c], dx
test eax, eax
jne 0x406167
mov dl, byte [esi]
mov byte [ecx], dl
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
inc ecx
inc eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x48], eax
jmp 0x40628b
lea ecx, [esp + 0x38]
xor bl, bl
call fcn.004070b0
mov esi, eax
lea ecx, [esp + 0x38]
add esi, 2
call fcn.004070b0
test eax, eax
je 0x40619e
cmp esi, 0x16
jge 0x40619b
lea ecx, [esp + 0x38]
add esi, 2
call fcn.004070b0
test eax, eax
jne 0x406184
jmp 0x40619e
add esi, 2
cmp esi, 7
jl 0x4061c6
jne 0x4061c5
mov eax, dword [esp + 0x48]
xor ecx, ecx
mov cl, byte [eax]
inc eax
mov esi, ecx
mov dword [esp + 0x48], eax
cmp esi, 0xff
je 0x406297
add esi, 0x19
jmp 0x4061c6
dec esi
cmp esi, 2
je 0x40624f
lea ecx, [esp + 0x38]
call fcn.004070b0
test eax, eax
jne 0x40624f
lea ecx, [esp + 0x38]
call fcn.004070b0
shl al, 1
lea ecx, [esp + 0x38]
mov byte [esp + 0x2f], al
call fcn.004070b0
mov ebx, eax
mov al, byte [esp + 0x2f]
or bl, al
lea ecx, [esp + 0x38]
shl bl, 1
call fcn.004070b0
or bl, al
cmp bl, 1
jbe 0x40624d
lea ecx, [esp + 0x38]
call fcn.004070b0
shl bl, 1
or al, bl
dec al
mov bl, al
cmp bl, 6
jbe 0x40624f
lea ecx, [esp + 0x38]
call fcn.004070b0
shl bl, 1
or al, bl
sub al, 7
mov bl, al
cmp bl, 0xd
jbe 0x40624f
lea ecx, [esp + 0x38]
call fcn.004070b0
shl bl, 1
or al, bl
sub al, 0xe
mov bl, al
jmp 0x40624f
inc bl
mov ecx, dword [esp + 0x48]
xor dx, dx
mov dl, bl
mov al, byte [ecx]
inc ecx
movzx ax, al
shl edx, 8
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x40]
add edx, eax
mov eax, ecx
and edx, 0xffff
sub eax, edx
test esi, esi
jle 0x40628b
mov dl, byte [eax]
mov byte [ecx], dl
mov ecx, dword [esp + 0x40]
inc ecx
inc eax
dec esi
mov dword [esp + 0x40], ecx
jne 0x40627a
cmp ecx, dword [esp + 0x3c]
jb 0x406109
jmp 0x40629b
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x64]
sub ecx, eax
mov esi, ecx
cmp esi, ebp
jle 0x4062b1
mov esi, ebp
lea ecx, [esp + 0x34]
push 0
push ecx
push esi
sub ebp, esi
push eax
push ebx
mov dword [esp + 0x78], ebp
call dword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
je 0x406eb6
cmp esi, dword [esp + 0x34]
jne 0x406eb6
mov eax, dword [esp + 0x38]
mov edx, dword [0x40db50]
mov edi, eax
add eax, esi
mov dword [esp + 0x38], eax
mov eax, dword [0x40db54]
push 0
add eax, esi
push edx
push 0x80
push eax
mov dword [0x40db54], eax
call dword [sym.imp.KERNEL32.dll_MulDiv]
push eax
mov eax, dword [0x40db00]
push 0x402
push eax
call dword [sym.imp.USER32.dll_SendMessageA]
call fcn.00403eb0
test esi, esi
jle 0x40633d
mov eax, dword [esp + 0x50]
xor ecx, ecx
mov cl, byte [edi]
add eax, ecx
jns 0x406333
lea eax, [eax + eax + 1]
jmp 0x406335
add eax, eax
inc edi
dec esi
jne 0x406325
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x14]
test eax, eax
jg 0x405fca
mov edi, dword [esp + 0x7c]
lea edx, [esp + 0x98]
push edx
push 0x40d9f8
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
lea eax, [esp + 0x98]
push eax
push 0
push 0
push ebx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x50]
cmp ecx, eax
jne 0x406f82
call fcn.00403eb0
mov eax, dword [0x40db58]
test eax, eax
je 0x40647c
push 0x40d99c
push str.There_will_remain_already_installed_files_in_folder
lea ecx, [esp + 0x60]
call fcn.004018e0
lea edx, [esp + 0x58]
push str._nif_you_break_installation._You_can_delete_those_files_by_File_Explorer._n_nDo_you_really_want_to_break_the_installation_
push edx
lea ecx, [esp + 0x64]
call fcn.00401970
push 0x40d99c
push 0x40cf34
lea ecx, [esp + 0x5c]
call fcn.004018e0
lea eax, [esp + 0x54]
push 0x40ced0
push eax
lea ecx, [esp + 0x88]
call fcn.00401970
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x80]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
call fcn.00402c00
mov esi, dword [eax]
add esp, 0xc
add esi, 8
push 0x34
push str.Installation_Break
push 0x40cea8
call fcn.00402be0
mov ecx, dword [0x40da54]
add esp, 8
push eax
push esi
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
cmp eax, 6
lea ecx, [esp + 0x6c]
sete bl
call fcn.00401ad0
lea ecx, [esp + 0x80]
call fcn.00401ad0
lea ecx, [esp + 0x54]
call fcn.00401ad0
lea ecx, [esp + 0x5c]
call fcn.00401ad0
lea ecx, [esp + 0x58]
call fcn.00401ad0
test bl, bl
jne 0x407089
push 0x32de
call fcn.00404510
add esp, 4
lea ecx, [esp + 0x10]
mov dword [0x40db58], 0
call fcn.00401ad0
mov eax, dword [esp + 0x18]
dec eax
test eax, eax
mov dword [esp + 0x18], eax
jg 0x405e90
mov eax, dword [0x40c124]
mov ecx, dword [esp + 0x24]
mov edi, dword [esp + 0x60]
mov edx, ecx
shl edx, 4
mov edx, dword [edx + 0x40da0c]
add edi, edx
inc ecx
cmp ecx, 3
mov dword [esp + 0x60], edi
mov dword [esp + 0x24], ecx
jl 0x405bae
mov edx, dword [0x40db08]
mov ecx, 0x40d84c
call fcn.00402110
mov ecx, dword [esp + 0x1c]
call fcn.0040ab60
mov ecx, dword [esp + 0x20]
call fcn.0040ab60
push ecx
mov ecx, esp
push 0x40d99c
call fcn.00401730
push ecx
mov ecx, esp
push str.LastPath
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9d0
call fcn.00401730
call fcn.00405360
add esp, 8
mov ecx, esp
push 0x40d99c
call fcn.00401730
push ecx
mov ecx, esp
push str.Path
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
push 0x40c504
push 0x40c514
call fcn.00402be0
add esp, 0x10
mov ecx, esp
push eax
call fcn.00401780
push ecx
mov ecx, esp
push str.SetupLang
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9d0
call fcn.00401730
call fcn.00405360
push 0x40c504
push 0x40c514
call fcn.00402be0
add esp, 0x10
mov ecx, esp
push eax
call fcn.00401780
push ecx
mov ecx, esp
push str.SetupLang
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
add esp, 0xc
lea ecx, [esp + 0x84]
call fcn.00401710
xor edi, edi
xor esi, esi
push edi
lea ecx, [esp + 0x88]
call fcn.00402250
mov eax, dword [0x40c124]
push ecx
mov ecx, esp
mov dl, byte [esi + eax + 5]
test dl, dl
setne dl
add edx, 0x30
push edx
call fcn.00401740
push ecx
lea eax, [esp + 0x8c]
mov ecx, esp
push eax
mov edx, str.Group
call fcn.00403d10
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
add esp, 0xc
add esi, 0xc
inc edi
cmp esi, 0x24
jl 0x4065cd
mov eax, dword [0x40c128]
test eax, eax
je 0x406d98
mov edx, dword [0x40d990]
lea ecx, [esp + 0x6c]
push ecx
push 1
add edx, 8
push 0
push edx
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4066ef
mov eax, dword [esp + 0x6c]
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push str.2.41_Lite
lea ecx, [esp + 0x78]
call fcn.00401780
push str.Peter
push str.Petr
mov esi, eax
call fcn.00402be0
add esp, 4
mov ecx, esp
push esi
push eax
call fcn.004018e0
push ecx
mov ecx, esp
push str.DisplayName
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d98c
call fcn.00401730
call fcn.00405360
add esp, 0xc
lea ecx, [esp + 0x74]
call fcn.00401ad0
push ecx
lea edx, [esp + 0x2c]
mov ecx, esp
push str.Uninstal.exe
push edx
call fcn.00401970
push ecx
mov ecx, esp
push str.UninstallString
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d98c
call fcn.00401730
call fcn.00405360
add esp, 0xc
lea ecx, [esp + 0x1c]
call fcn.00401710
lea eax, [esp + 0x74]
push str.Personal
push eax
call fcn.00405450
add esp, 8
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.00401f10
lea ecx, [esp + 0x74]
call fcn.00401ad0
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx + 4]
test eax, eax
jne 0x406746
push str.C:Dokuments
push str.C:Dokumenty
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x1c]
call fcn.00401f30
lea ecx, [esp + 0x1c]
call fcn.00402090
cmp al, 0x5c
je 0x40675e
mov dl, 0x5c
lea ecx, [esp + 0x1c]
call fcn.00401ee0
mov edx, 0x40ce48
lea ecx, [esp + 0x1c]
call fcn.00401e90
push ecx
lea edx, [esp + 0x20]
mov ecx, esp
push edx
call fcn.00401730
call fcn.00405070
lea eax, [esp + 0x20]
mov ecx, esp
push eax
call fcn.00401730
push ecx
mov ecx, esp
push str.User
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
add esp, 0xc
lea ecx, [esp + 0x60]
call fcn.00401710
lea ecx, [esp + 0x1c]
push 0x40ce34
push ecx
lea ecx, [esp + 0x20]
call fcn.00401970
lea edx, [esp + 0x18]
lea ecx, [esp + 0x60]
call fcn.00401f10
lea ecx, [esp + 0x18]
call fcn.00401ad0
mov edx, dword [esp + 0x60]
push 0
push 0x80
push 2
push 0
push 0
add edx, 8
push 0x40000000
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov esi, eax
cmp esi, 0xffffffff
je 0x406905
push str._Global_
lea ecx, [esp + 0x14]
call fcn.00401780
mov dl, 0xd
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov dl, 0xa
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov edx, str.Language
lea ecx, [esp + 0x10]
call fcn.00401e90
mov dl, 0x22
lea ecx, [esp + 0x10]
call fcn.00401ee0
push str.English
push str.Czech
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x10]
call fcn.00401e90
mov dl, 0x22
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov dl, 0xd
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov dl, 0xa
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov edx, str.LangPrev
lea ecx, [esp + 0x10]
call fcn.00401e90
mov dl, 0x22
lea ecx, [esp + 0x10]
call fcn.00401ee0
push str.Czech
push str.English
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x10]
call fcn.00401e90
mov dl, 0x22
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov dl, 0xd
lea ecx, [esp + 0x10]
call fcn.00401ee0
mov dl, 0xa
lea ecx, [esp + 0x10]
call fcn.00401ee0
lea eax, [esp + 0x74]
push 0
push eax
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
add eax, 8
push ecx
push eax
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea ecx, [esp + 0x10]
call fcn.00401ad0
lea ecx, [esp + 0x20]
call fcn.00401710
lea edx, [esp + 0x74]
push str.Programs
push edx
call fcn.00405450
add esp, 8
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.00401f10
lea ecx, [esp + 0x74]
call fcn.00401ad0
lea ecx, [esp + 0x20]
call fcn.00402090
cmp al, 0x5c
je 0x40694c
mov dl, 0x5c
lea ecx, [esp + 0x20]
call fcn.00401ee0
push str.Peter
push str.Petr
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x20]
call fcn.00401e90
mov edx, str.2.41_Lite
lea ecx, [esp + 0x20]
call fcn.00401e90
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
push eax
call fcn.00401730
call fcn.00405070
lea edx, [esp + 0x24]
mov ecx, esp
push edx
call fcn.00401730
push ecx
mov ecx, esp
push str.Menu
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
add esp, 0xc
mov dl, 0x5c
lea ecx, [esp + 0x20]
call fcn.00401ee0
lea ecx, [esp + 0x24]
call fcn.00401710
lea eax, [esp + 0x74]
push str.Desktop
push eax
call fcn.00405450
add esp, 8
mov edx, eax
lea ecx, [esp + 0x24]
call fcn.00401f10
lea ecx, [esp + 0x74]
call fcn.00401ad0
push ecx
lea edx, [esp + 0x28]
mov ecx, esp
push edx
call fcn.00401730
push ecx
mov ecx, esp
push str.Desktop
call fcn.00401780
push ecx
mov ecx, esp
push 0x40d9e8
call fcn.00401730
call fcn.00405360
add esp, 0xc
lea ecx, [esp + 0x24]
call fcn.00402090
cmp al, 0x5c
je 0x406a38
mov dl, 0x5c
lea ecx, [esp + 0x24]
call fcn.00401ee0
lea ecx, [esp + 0x14]
call fcn.00401710
push 0
call dword [sym.imp.ole32.dll_CoInitialize]
test eax, eax
jne 0x406d6b
lea eax, [esp + 0x10]
push eax
push 0x40b200
push 1
push 0
push 0x40b1f0
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
jne 0x406d65
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x30]
push edx
push 0x40b210
mov ecx, dword [eax]
push eax
call dword [ecx]
test eax, eax
jne 0x406d5b
lea eax, [esp + 0x28]
push str.Peter.exe
push eax
lea ecx, [esp + 0x20]
call fcn.00401970
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add edx, 8
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [esp + 0x18]
call fcn.00401ad0
mov eax, dword [esp + 0x10]
push 0x40ce48
push 0x40cdd0
mov esi, dword [eax]
call fcn.00402be0
mov ecx, dword [esp + 0x18]
add esp, 8
push eax
push ecx
call dword [esi + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 8
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x24]
lea edx, [esp + 0x24]
lea ecx, [esp + 0x14]
call fcn.00401f10
push str.Peter_Lite.lnk
push str.Petr_Lite.lnk
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.00401e90
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x14]
push edx
call fcn.00401b40
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1e0]
push 1
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
lea eax, [esp + 0x28]
push str.Peter.exe
push eax
lea ecx, [esp + 0x20]
call fcn.00401970
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add edx, 8
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [esp + 0x18]
call fcn.00401ad0
mov eax, dword [esp + 0x10]
push 0x40ce48
push 0x40cdd0
mov esi, dword [eax]
call fcn.00402be0
mov ecx, dword [esp + 0x18]
add esp, 8
push eax
push ecx
call dword [esi + 0x1c]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
add ecx, 8
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x24]
lea edx, [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.00401f10
push str.Peter.lnk
push str.Petr.lnk
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.00401e90
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x14]
push edx
call fcn.00401b40
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1e0]
push 1
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
lea eax, [esp + 0x28]
push str.Peter.exe
push eax
lea ecx, [esp + 0x20]
call fcn.00401970
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
add edx, 8
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [esp + 0x18]
call fcn.00401ad0
mov eax, dword [esp + 0x10]
push str.Peter_with_modification_of_example_library
push str.Petr_s_modifikac
mov esi, dword [eax]
call fcn.00402be0
mov ecx, dword [esp + 0x18]
add esp, 8
push eax
push ecx
call dword [esi + 0x1c]
mov ecx, dword [0x40d99c]
mov eax, dword [esp + 0x10]
add ecx, 8
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x24]
lea edx, [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.00401f10
push str.Peter_with_modification_of_example_library.lnk
push 0x40ccf0
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.00401e90
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x14]
push edx
call fcn.00401b40
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1e0]
push 1
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
lea eax, [esp + 0x28]
push str.Uninstal.exe
push eax
lea ecx, [esp + 0x20]
call fcn.00401970
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ecx, dword [eax]
add edx, 8
push edx
push eax
call dword [ecx + 0x50]
lea ecx, [esp + 0x18]
call fcn.00401ad0
mov eax, dword [esp + 0x10]
push str.Uninstall
push str.Odinstalov
mov esi, dword [eax]
call fcn.00402be0
mov ecx, dword [esp + 0x18]
add esp, 8
push eax
push ecx
call dword [esi + 0x1c]
mov ecx, dword [0x40d99c]
mov eax, dword [esp + 0x10]
add ecx, 8
mov edx, dword [eax]
push ecx
push eax
call dword [edx + 0x24]
lea edx, [esp + 0x20]
lea ecx, [esp + 0x14]
call fcn.00401f10
push str.Uninstall.lnk
push 0x40ccb0
call fcn.00402be0
add esp, 8
mov edx, eax
lea ecx, [esp + 0x14]
call fcn.00401e90
lea edx, [esp + 0x1e0]
lea ecx, [esp + 0x14]
push edx
call fcn.00401b40
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x1e0]
push 1
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x18]
mov eax, dword [esp + 0x30]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov eax, dword [esp + 0x10]
push eax
mov edx, dword [eax]
call dword [edx + 8]
call dword [sym.imp.ole32.dll_CoUninitialize]
lea ecx, [esp + 0x14]
call fcn.00401ad0
lea ecx, [esp + 0x24]
call fcn.00401ad0
lea ecx, [esp + 0x20]
call fcn.00401ad0
lea ecx, [esp + 0x60]
call fcn.00401ad0
lea ecx, [esp + 0x1c]
call fcn.00401ad0
push 6
call fcn.004095a0
add esp, 4
lea ecx, [esp + 0x84]
call fcn.00401ad0
lea ecx, [esp + 0x28]
call fcn.00401ad0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x5d0
ret
mov ecx, edi
call fcn.0040ab60
mov ecx, dword [esp + 0x20]
call fcn.0040ab60
push 2
call fcn.004095a0
add esp, 4
jmp 0x406dae
lea eax, [esp + 0x10]
lea ecx, [esp + 0x54]
push eax
push str.Error___could_not_create_destination_file_n_n
call fcn.004018e0
lea ecx, [esp + 0x54]
push str._n_nInstallation_cant_continue_and_will_be_interrupted._It_can_be_caused_by:_n_____overwriten_destination_EXE_program_is_running_n_____overwriten_destination_file_is_opened_by_some_other_program_n_____wrongly_entered_destination_folder__e.g._invalid_disk__n_____destination_disk_is_full_or_it_is_write_protected
push ecx
lea ecx, [esp + 0x64]
call fcn.00401970
lea edx, [esp + 0x10]
lea ecx, [esp + 0x58]
push edx
push str.Chyba___nelze_vytvo
call fcn.004018e0
lea eax, [esp + 0x58]
push str._n_nInstalace_nem
push eax
lea ecx, [esp + 0x20]
call fcn.00401970
lea ecx, [esp + 0x5c]
lea edx, [esp + 0x18]
push ecx
lea eax, [esp + 0x70]
push edx
push eax
call fcn.00402c00
mov esi, dword [eax]
add esp, 0xc
add esi, 8
push 0x10
push str.Write_Error
push str.Chyba_z
call fcn.00402be0
mov ecx, dword [0x40da54]
add esp, 8
push eax
push esi
push ecx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x6c]
call fcn.00401ad0
lea ecx, [esp + 0x18]
call fcn.00401ad0
lea ecx, [esp + 0x58]
call fcn.00401ad0
lea ecx, [esp + 0x5c]
call fcn.00401ad0
lea ecx, [esp + 0x54]
jmp 0x407084
mov edx, dword [esp + 0x14]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov eax, dword [esp + 0x10]
add eax, 8
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov ecx, ebp
jmp 0x40708d
push ebx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov ecx, dword [esp + 0x10]
add ecx, 8
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x10]
lea ecx, [esp + 0x54]
push edx
push str.Error_writing_destination_file_n_n
call fcn.004018e0
lea eax, [esp + 0x54]
push str._n_nDestination_disk_is_maybe_full._nInstallation_cant_continue_and_will_be_interrupted.
push eax
lea ecx, [esp + 0x64]
call fcn.00401970
lea ecx, [esp + 0x10]
push ecx
push 0x40c94c
lea ecx, [esp + 0x60]
call fcn.004018e0
lea edx, [esp + 0x58]
push 0x40c8f8
push edx
lea ecx, [esp + 0x20]
call fcn.00401970
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x18]
push eax
lea edx, [esp + 0x70]
push ecx
push edx
call fcn.00402c00
mov esi, dword [eax]
add esp, 0xc
add esi, 8
push 0x10
push str.Write_Error
push str.Chyba_z
call fcn.00402be0
add esp, 8
push eax
mov eax, dword [0x40da54]
push esi
push eax
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x6c]
call fcn.00401ad0
lea ecx, [esp + 0x18]
call fcn.00401ad0
lea ecx, [esp + 0x58]
call fcn.00401ad0
lea ecx, [esp + 0x5c]
call fcn.00401ad0
lea ecx, [esp + 0x54]
jmp 0x407084
mov ecx, dword [esp + 0x10]
add ecx, 8
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea edx, [esp + 0x10]
lea ecx, [esp + 0x7c]
push edx
push str.Installation_error_of_the_file_n_n
call fcn.004018e0
lea eax, [esp + 0x7c]
push str._n_nInstallation_program_PETRLITE.EXE_is_damaged.
push eax
lea ecx, [esp + 0x88]
call fcn.00401970
lea ecx, [esp + 0x80]
push str._nInstallation_cant_continue_and_will_be_interrupted.
push ecx
lea ecx, [esp + 0x5c]
call fcn.00401970
lea edx, [esp + 0x10]
lea ecx, [esp + 0x5c]
push edx
push str.Chyba_instalace_souboru_n_n
call fcn.004018e0
lea eax, [esp + 0x5c]
push str._n_nInstala
push eax
lea ecx, [esp + 0x60]
call fcn.00401970
lea ecx, [esp + 0x58]
push str._nInstalace_nem
push ecx
lea ecx, [esp + 0x20]
call fcn.00401970
lea edx, [esp + 0x54]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x70]
push eax
push ecx
call fcn.00402c00
mov esi, dword [eax]
add esp, 0xc
add esi, 8
push 0x10
push str.Installation_Error
push str.Chyba_instalace
call fcn.00402be0
mov edx, dword [0x40da54]
add esp, 8
push eax
push esi
push edx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x6c]
call fcn.00401ad0
lea ecx, [esp + 0x18]
call fcn.00401ad0
lea ecx, [esp + 0x58]
call fcn.00401ad0
lea ecx, [esp + 0x5c]
call fcn.00401ad0
lea ecx, [esp + 0x54]
call fcn.00401ad0
lea ecx, [esp + 0x80]
call fcn.00401ad0
lea ecx, [esp + 0x7c]
call fcn.00401ad0
mov ecx, dword [esp + 0x1c]
call fcn.0040ab60
mov ecx, dword [esp + 0x20]
call fcn.0040ab60
push 2
call fcn.004095a0
add esp, 4
lea ecx, [esp + 0x10]
jmp 0x406da9