Function at 0x406195
Capabilities:
Clear file content
Create directory
Extract resource via kernel32 functions
Get common file path
Get installed programs
Hide graphical window
Read file via mapping
Set current directory
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffef4
push dword [0x40bc0a]
pop dword [ebp - 4]
push dword [ebp - 4]
call sub.KERNEL32.DLL_lstrlenA
or eax, eax
je 0x4061dd
inc dword [0x40bc2c]
add eax, dword [ebp - 4]
inc eax
cmp dword [eax], 0
je 0x4061d5
add eax, 6
xor ecx, ecx
mov cx, word [eax - 2]
dec cx
je 0x4061d5
add dword [0x40bc2c], ecx
add eax, 4
mov dword [ebp - 4], eax
jmp 0x4061a7
xor ecx, ecx
mov eax, 0x40acfb
inc ecx
cmp byte [ecx + eax], 0x5c
jne 0x406206
push ecx
inc ecx
push ecx
push eax
lea eax, [ebp - 0x10c]
push eax
call sub.KERNEL32.DLL_lstrcpynA
push 0
push eax
call sub.KERNEL32.DLL_CreateDirectoryA
pop ecx
jmp 0x4061df
cmp byte [ecx + eax], 0
jne 0x4061df
push 0
push eax
call sub.KERNEL32.DLL_CreateDirectoryA
push 0x40acfb
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrcpyA
push eax
call sub.KERNEL32.DLL_lstrlenA
inc eax
add dword [0x40bbc4], eax
push 0x40acfb
call sub.KERNEL32.DLL_SetCurrentDirectoryA
push 0x108000
push 8
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapAlloc
mov dword [0x40bbbc], eax
push 0x100000
push 8
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapAlloc
mov dword [0x40bbc0], eax
push 0x40a952
push 1
push 0
call sub.KERNEL32.DLL_FindResourceA
push eax
push 0
call sub.KERNEL32.DLL_LoadResource
push eax
call sub.KERNEL32.DLL_LockResource
mov dword [ebp - 8], eax
push 0
push 0x40a944
call sub.KERNEL32.DLL__lcreat
mov dword [0x40bc41], eax
push 0x2198
push dword [ebp - 8]
push eax
call sub.KERNEL32.DLL__hwrite
cmp byte [0x40bc5e], 0
jne 0x4062cd
push str.Copying_File:
push dword [0x40bb40]
call sub.user32.dll_SetWindowTextA
push 5
push dword [0x40bb78]
call sub.user32.dll_ShowWindow
push 0x40acfb
lea eax, [ebp - 0x10c]
push eax
call sub.KERNEL32.DLL_lstrcpyA
push eax
call sub.KERNEL32.DLL_lstrlenA
lea eax, [eax + ebp - 0x10c]
cmp byte [eax - 1], 0x5c
je 0x4062f6
mov word [eax], 0x5c
lea eax, [ebp - 0x10c]
push eax
push 0x40adff
call sub.KERNEL32.DLL_lstrcpyA
push dword [0x40bc0a]
push eax
call sub.KERNEL32.DLL_lstrcatA
push eax
call sub.KERNEL32.DLL_lstrlenA
cmp eax, 0x50
jle 0x406372
mov edx, 0x40adff
inc edx
cmp byte [edx], 0x5c
jne 0x406323
mov dword [edx + 1], 0x2e2e2e
add eax, 0x40adff
sub eax, 0x4c
xor ecx, ecx
cmp byte [ecx + eax], 0x5c
je 0x406365
inc ecx
cmp ecx, 0x4c
jne 0x40633a
lea eax, [ebp - 0x10c]
push eax
push 0x40adff
call sub.KERNEL32.DLL_lstrcpyA
push dword [0x40bc0a]
push eax
call sub.KERNEL32.DLL_lstrcatA
jmp 0x406372
add eax, ecx
push eax
push 0x40adff
call sub.KERNEL32.DLL_lstrcatA
mov byte [0x40bc19], 0
cmp byte [0x40bc5e], 0
jne 0x406392
push 0x40adff
push dword [0x40bb78]
call sub.user32.dll_SetWindowTextA
push 0
push dword [0x40bc0a]
call sub.KERNEL32.DLL__lcreat
mov dword [0x40bc1e], eax
cmp eax, 0xffffffff
jne 0x406442
cmp byte [0x40bc19], 1
jne 0x40640a
push str.Error_creatig_file:_r_n
push 0x40adff
call sub.KERNEL32.DLL_lstrcpyA
lea eax, [ebp - 0x10c]
push eax
push 0x40adff
call sub.KERNEL32.DLL_lstrcatA
push dword [0x40bc0a]
push eax
call sub.KERNEL32.DLL_lstrcatA
push 0x12
push 0x40a053
push eax
push dword [0x40bb34]
call sub.user32.dll_MessageBoxA
cmp eax, 4
je 0x4062f6
cmp eax, 5
je 0x406442
push 0
call sub.KERNEL32.DLL_ExitProcess
inc byte [0x40bc19]
xor eax, eax
inc eax
mov ecx, dword [0x40bc0a]
cmp byte [eax + ecx], 0
je 0x406392
cmp byte [eax + ecx], 0x5c
jne 0x406412
push eax
inc eax
push eax
push ecx
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcpynA
push 0
push eax
call sub.KERNEL32.DLL_CreateDirectoryA
pop eax
jmp 0x406412
push dword [0x40bc0a]
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrcpyA
push eax
call sub.KERNEL32.DLL_lstrlenA
inc eax
add dword [0x40bbc4], eax
add dword [0x40bc0a], eax
mov esi, dword [0x40bc0a]
lodsd eax, dword [esi]
add dword [0x40bc0a], 4
or eax, eax
jne 0x4064b9
cmp byte [0x40bc5e], 0
jne 0x406672
inc dword [0x40bc28]
mov eax, dword [0x40bc28]
mov ebx, 0x64
mul ebx
xor edx, edx
mov ebx, dword [0x40bc2c]
div ebx
push 0
push eax
push 0x402
push dword [0x40bb74]
call sub.user32.dll_SendMessageA
jmp 0x406672
push 0
push eax
add dword [0x40bc0a], 2
lodsw ax, word [esi]
mov word [0x40bc22], ax
lodsd eax, dword [esi]
mov dword [0x40bba8], eax
add dword [0x40bc0a], 4
mov dword [0x40bc4e], 1
push dword [0x40bb9c]
call sub.KERNEL32.DLL__llseek
push 4
push 0x40bba4
push dword [0x40bb9c]
call sub.KERNEL32.DLL__hread
push str.BZh91AYSY
push dword [0x40bbbc]
call sub.KERNEL32.DLL_lstrcpyA
mov ecx, dword [0x40bba4]
sub ecx, 0xa
push ecx
add eax, 0xa
push eax
push ecx
push eax
push dword [0x40bb9c]
call sub.KERNEL32.DLL__hread
push 0x40bc4e
call fcn.004073e7
push dword [0x40bbbc]
pop dword [0x40b99a]
push dword [0x40bbc0]
pop dword [0x40b9aa]
push dword [0x40bba4]
pop dword [0x40b99e]
mov dword [0x40b9ae], 0x100000
mov dword [0x40b9be], 0x4072e5
mov dword [0x40b9c2], 0x40730d
push 0
push 0
push 0x40b99a
call fcn.00401006
push 0x40b99a
call fcn.004010f3
push 0x40b99a
call fcn.00401d2b
push dword [0x40b9b2]
push dword [0x40bbc0]
push dword [0x40bc1e]
call sub.KERNEL32.DLL__hwrite
cmp byte [0x40bc5e], 0
jne 0x4065e7
inc dword [0x40bc28]
mov eax, dword [0x40bc28]
mov ebx, 0x64
mul ebx
xor edx, edx
mov ebx, dword [0x40bc2c]
div ebx
push 0
push eax
push 0x402
push dword [0x40bb74]
call sub.user32.dll_SendMessageA
dec word [0x40bc22]
cmp word [0x40bc22], 0
jne 0x4064ed
mov eax, dword [0x40bc4e]
cmp dword [0x40bba8], eax
je 0x406672
push 0x40adff
push str._s_r_n_r_nFile_integrity_check_has_failed._Do_you_want_to_continue_
push 0x40a9ef
call sub.user32.dll_wsprintfA
add esp, 0xc
push 0x34
push 0x40a053
push 0x40a9ef
push dword [0x40bb34]
call sub.user32.dll_MessageBoxA
cmp eax, 6
je 0x406672
push dword [0x40bbbc]
push 0
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapFree
push dword [0x40bbc0]
push 0
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapFree
push dword [0x40bc1e]
call sub.KERNEL32.DLL__lclose
jmp 0x406e66
push dword [0x40bc1e]
call sub.KERNEL32.DLL__lclose
mov eax, dword [0x40bbc4]
sub eax, dword [0x40bbb4]
cmp eax, 0x7b0c
jbe 0x406694
call fcn.004072ab
mov eax, dword [0x40bc0a]
cmp byte [eax], 0
jne 0x4062f6
push dword [0x40bbbc]
push 0
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapFree
push dword [0x40bbc0]
push 0
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapFree
inc dword [0x40bbc4]
mov eax, dword [0x40bbc4]
sub eax, dword [0x40bbb4]
cmp eax, 0x7b0c
jbe 0x4066e5
call fcn.004072ab
inc dword [0x40bc0a]
mov esi, dword [0x40bc0a]
inc dword [0x40bc0a]
inc dword [0x40bbc4]
lodsb al, byte [esi]
cmp al, 0x51
jne 0x406734
push 0x40bba4
push 0x1a
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
push 0x40a9ef
push dword [0x40bba4]
call sub.shell32.dll_SHGetPathFromIDListA
push str.MicrosoftInternet_ExplorerQuick_Launch_
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcatA
jmp 0x406860
cmp al, 0x44
jne 0x40673f
mov eax, 0x10
jmp 0x40678f
cmp al, 0x4d
jne 0x40674a
mov eax, 0xb
jmp 0x40678f
cmp al, 0x50
jne 0x406762
mov eax, 2
cmp byte [0x40bc17], 2
je 0x406851
jmp 0x40678f
cmp al, 0x53
jne 0x40676d
mov eax, 7
jmp 0x40678f
cmp al, 0x47
jne 0x40698f
mov eax, 2
mov byte [0x40bc17], 1
cmp dword [0x40b8e4], 6
jl 0x40678f
mov eax, 0x17
push 0x40bba4
push eax
push 0
call sub.shell32.dll_SHGetSpecialFolderLocation
push 0x40a9ef
push dword [0x40bba4]
call sub.shell32.dll_SHGetPathFromIDListA
push 0x40a957
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcatA
cmp byte [0x40bc17], 1
jne 0x406860
mov eax, dword [0x40bc0a]
xor ecx, ecx
inc ecx
cmp byte [ecx + eax], 0
je 0x4067dc
cmp byte [ecx + eax], 0x5c
jne 0x4067cf
push eax
push ecx
inc ecx
push ecx
push eax
push 0x40aaf3
call sub.KERNEL32.DLL_lstrcpynA
push eax
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcatA
push 0
push eax
call sub.KERNEL32.DLL_CreateDirectoryA
pop ecx
pop eax
add eax, ecx
cmp byte [eax], 0
jne 0x4067cd
mov eax, dword [0x40bbc4]
dec eax
push dword [0x40bc0a]
push eax
call sub.KERNEL32.DLL_lstrcpyA
push eax
call sub.KERNEL32.DLL_lstrlenA
add dword [0x40bc0a], eax
dec eax
add dword [0x40bbc4], eax
push 0x40a957
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcatA
push eax
push 0x40aaf3
call sub.KERNEL32.DLL_lstrcpyA
inc byte [0x40bc17]
jmp 0x4066ce
push 0x40aaf3
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcpyA
push dword [0x40bc0a]
call sub.KERNEL32.DLL_lstrlenA
add eax, dword [0x40bc0a]
dec eax
cmp byte [eax], 0
je 0x40688a
cmp byte [eax], 0x5c
jne 0x406871
inc eax
push eax
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcatA
jmp 0x40689a
push dword [0x40bc0a]
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcatA
push eax
call sub.KERNEL32.DLL_lstrlenA
lea edx, [eax + 0x40a9ef]
mov ecx, edx
cmp byte [ecx], 0x2e
je 0x4068b3
dec ecx
dec eax
jne 0x4068a8
mov ecx, edx
push ecx
push str..pif
push ecx
call sub.KERNEL32.DLL_lstrcpyA
push 0x40a9ef
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrcpyA
pop ecx
push str..lnk
push ecx
call sub.KERNEL32.DLL_lstrcpyA
push 0x40b9f2
push dword [0x40bbc4]
call sub.KERNEL32.DLL_FindFirstFileA
mov dword [0x40bba4], eax
cmp eax, 0xffffffff
je 0x4068fb
push eax
call sub.KERNEL32.DLL_FindClose
push 0x40abf7
push 0x104
call sub.KERNEL32.DLL_GetCurrentDirectoryA
push 0x40a957
push 0x40abf7
call sub.KERNEL32.DLL_lstrcatA
push dword [0x40bc0a]
push eax
call sub.KERNEL32.DLL_lstrcatA
push 0x40a9ef
push 0x40abf7
call fcn.00407170
push 0x40b9f2
push dword [0x40bbc4]
call sub.KERNEL32.DLL_FindFirstFileA
cmp eax, 0xffffffff
je 0x406958
push eax
call sub.KERNEL32.DLL_FindClose
cmp dword [0x40bba4], 0xffffffff
je 0x406968
push 0x40a9ef
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrcpyA
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrlenA
add dword [0x40bbc4], eax
push dword [0x40bc0a]
call sub.KERNEL32.DLL_lstrlenA
add dword [0x40bc0a], eax
jmp 0x4066ce
mov eax, dword [0x40bbc4]
sub eax, dword [0x40bbb4]
cmp eax, 0x7b0c
jbe 0x4069a6
call fcn.004072ab
inc dword [0x40bbc4]
mov esi, dword [0x40bc0a]
add dword [0x40bc0a], 4
lodsd eax, dword [esi]
mov dword [0x40bc12], eax
cmp eax, 0x80000000
je 0x4069fc
cmp eax, 0x80000001
je 0x4069fc
cmp eax, 0x80000002
je 0x4069fc
cmp eax, 0x80000003
je 0x4069fc
cmp eax, 0x80000004
je 0x4069fc
cmp eax, 0x80000005
je 0x4069fc
cmp eax, 0x80000006
je 0x4069fc
sub dword [0x40bc0a], 4
jmp 0x406c74
mov esi, dword [0x40bc0a]
lodsb al, byte [esi]
mov byte [0x40bc19], al
inc dword [0x40bc0a]
push 0x40bba4
push 0xf003f
push 0
push dword [0x40bc0a]
push eax
call sub.advapi32.dll_RegOpenKeyExA
mov ebx, dword [0x40bbc4]
mov byte [ebx], 0x4f
or eax, eax
je 0x406a61
push 0
push 0x40bba4
push 0
push 0xf003f
push 0
push 0
push 0
push dword [0x40bc0a]
push dword [0x40bc12]
call sub.advapi32.dll_RegCreateKeyExA
mov ebx, dword [0x40bbc4]
mov byte [ebx], 0x43
inc dword [0x40bbc4]
mov eax, dword [0x40bbc4]
mov edx, dword [0x40bc12]
mov dword [eax], edx
add dword [0x40bbc4], 4
push dword [0x40bc0a]
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrcpyA
push eax
call sub.KERNEL32.DLL_lstrlenA
inc eax
add dword [0x40bc0a], eax
add dword [0x40bbc4], eax
mov esi, dword [0x40bc0a]
mov dword [0x40bbac], esi
lodsb al, byte [esi]
cmp al, 0
je 0x406c45
cmp al, 1
jne 0x406ac6
mov dword [0x40bbac], 0
xor eax, eax
jmp 0x406ad1
push dword [0x40bc0a]
call sub.KERNEL32.DLL_lstrlenA
inc eax
add dword [0x40bc0a], eax
cmp byte [0x40bc19], 0
jne 0x406c18
cmp dword [0x40bbac], 0
je 0x406b5c
push str._SetupPath_
push dword [0x40bbac]
call sub.KERNEL32.DLL_lstrcmpA
or eax, eax
jne 0x406b0e
mov dword [0x40bbac], 0x40acfb
jmp 0x406b5c
push str._SetupPath_
push dword [0x40bbac]
push 1
call fcn.00408610
or eax, eax
je 0x406b5c
cmp eax, 0xffffffff
je 0x406b5c
push eax
push eax
push dword [0x40bbac]
push 0x40a9ef
call sub.KERNEL32.DLL_lstrcpynA
push 0x40acfb
push eax
call sub.KERNEL32.DLL_lstrcatA
pop ecx
add ecx, dword [0x40bbac]
add ecx, 0xa
push ecx
push eax
call sub.KERNEL32.DLL_lstrcatA
mov dword [0x40bbac], eax
cmp dword [0x40bbac], 0
je 0x406b85
push dword [0x40bbac]
push dword [0x40bbc4]
call sub.KERNEL32.DLL_lstrcpyA
push eax
call sub.KERNEL32.DLL_lstrlenA
inc eax
add dword [0x40bbc4], eax
jmp 0x406b93
mov eax, dword [0x40bbc4]
mov byte [eax], 1
inc dword [0x40bbc4]
mov esi, dword [0x40bc0a]
lodsb al, byte [esi]
or al, al
je 0x406bd4
push str._SetupPath_
push dword [0x40bc0a]
call sub.KERNEL32.DLL_lstrcmpA
or eax, eax
jne 0x406bb9
mov eax, 0x40acfb
jmp 0x406c09
push str._SetupPath_
push dword [0x40bc0a]
push 1
call fcn.00408610
or eax, eax
je 0x406bd4
cmp eax, 0xffffffff
jne 0x406bdb
mov eax, dword [0x40bc0a]
jmp 0x406c09
push eax
push eax
push dword [0x40bc0a]
push 0x40aaf3
call sub.KERNEL32.DLL_lstrcpynA
push 0x40acfb
push eax
call sub.KERNEL32.DLL_lstrcatA
pop ecx
add ecx, dword [0x40bc0a]
add ecx, 0xa
push ecx
push eax
call sub.KERNEL32.DLL_lstrcatA
push eax
push eax
call sub.KERNEL32.DLL_lstrlenA
pop edx
mov ecx, 1
jmp 0x406c2f
mov ecx, 4
mov edx, dword [0x40bc0a]
mov eax, 4
add dword [0x40bc0a], 4
push eax
push edx
push ecx
push 0
push dword [0x40bbac]
push dword [0x40bba4]
call sub.advapi32.dll_RegSetValueExA
push dword [0x40bba4]
call sub.advapi32.dll_RegCloseKey
cmp byte [0x40bc19], 1
je 0x40698f
push dword [0x40bc0a]
call sub.KERNEL32.DLL_lstrlenA
inc eax
add dword [0x40bc0a], eax
jmp 0x40698f
push dword [0x40bbd0]
push str.SoftwareMicrosoftWindowsCurrentVersionUninstall_s
push 0x40a9ef
call sub.user32.dll_wsprintfA
add esp, 0xc
push 0
push 0x40bba4
push 0
push 0xf003f
push 0
push 0
push 0
push 0x40a9ef
push 0x80000002
call sub.advapi32.dll_RegCreateKeyExA
push dword [0x40bbd0]
call sub.KERNEL32.DLL_lstrlenA
push eax
push dword [0x40bbd0]
push 1
push 0
push str.DisplayName
push dword [0x40bba4]
call sub.advapi32.dll_RegSetValueExA
push 0x40acfb
push str._sUninstall.exe
push 0x40a9ef
call sub.user32.dll_wsprintfA
add esp, 0xc
push eax
push 0x40a9ef
push 1
push 0
push str.UninstallString
push dword [0x40bba4]
call sub.advapi32.dll_RegSetValueExA
push dword [0x40bba4]
call sub.advapi32.dll_RegCloseKey
inc dword [0x40bbc4]
call fcn.004072ab
push 1
push 0
push dword [0x40bc41]
call sub.KERNEL32.DLL__llseek
mov dword [ebp - 0xc], eax
sar eax, 3
shl eax, 3
cmp dword [ebp - 0xc], eax
je 0x406d3c
add eax, 8
push 0
push eax
push dword [0x40bc41]
call sub.KERNEL32.DLL__llseek
mov dword [0x40bba4], eax
add dword [ebp - 8], 0x21a0
push 0x2e2
push dword [ebp - 8]
push dword [0x40bc41]
call sub.KERNEL32.DLL__hwrite
add eax, dword [0x40bba4]
mov ecx, eax
sar eax, 9
shl eax, 9
cmp eax, ecx
je 0x406d80
add eax, 0x200
push 0
push eax
push dword [0x40bc41]
call sub.KERNEL32.DLL__llseek
push dword [0x40bc41]
call sub.KERNEL32.DLL_SetEndOfFile
call fcn.00407326
push eax
push 0
push 0
push 0
push 4
push 0
push dword [0x40bc41]
call sub.KERNEL32.DLL_CreateFileMappingA
mov dword [0x40bba8], eax
push 0
push 0
push 0
push 6
push eax
call sub.KERNEL32.DLL_MapViewOfFile
pop dword [eax + 0xc0]
mov ecx, dword [ebp - 0xc]
sub ecx, 0x2198
mov dword [eax + 0x1334], ecx
mov ecx, dword [0x40bba4]
sub ecx, 0x21a0
add dword [eax + 0x1350], ecx
mov ecx, dword [0x40bba4]
sub ecx, 0x21a1
add dword [eax + 0x230], ecx
add dword [eax + 0x144], ecx
mov ecx, dword [eax + 0x230]
sar ecx, 9
shl ecx, 9
cmp dword [eax + 0x230], ecx
je 0x406e20
add ecx, 0x200
mov dword [eax + 0x238], ecx
push eax
mov eax, ecx
xor edx, edx
mov ebx, 0x1000
div ebx
or edx, edx
je 0x406e37
inc eax
mul ebx
pop ecx
sub dword [ecx + 0x108], 0x2200
add dword [ecx + 0x108], eax
push ecx
call sub.KERNEL32.DLL_UnmapViewOfFile
push dword [0x40bba8]
call sub.KERNEL32.DLL_CloseHandle
push dword [0x40bc41]
call sub.KERNEL32.DLL__lclose
push dword [0x40bbb4]
push 0
push dword [0x40bc1a]
call sub.KERNEL32.DLL_HeapFree
cmp byte [0x40bc5e], 0
jne 0x40700a
push 2
push 0xa9
push 0x1c6
push 0
push 0
push 1
push dword [0x40bb40]
call sub.user32.dll_SetWindowPos
push dword [0x40bbd0]
push str._s_has_been_successfully_installed.
push 0x40a9ef
call sub.user32.dll_wsprintfA
add esp, 0xc
cmp dword [0x40bbe4], 0
jne 0x406eff
push 0x40a9ef
push dword [0x40bb3c]
call sub.user32.dll_SetWindowTextA
push str.Completing_setup_wizard
push dword [0x40bb38]
call sub.user32.dll_SetWindowTextA
push dword [0x40bc0a]
push dword [0x40bb40]
call sub.user32.dll_SetWindowTextA
mov eax, dword [0x40bb44]
jmp 0x406f9d
push 0x40a9ef
push dword [0x40bb90]
call sub.user32.dll_SetWindowTextA
push dword [0x40bc0a]
push dword [0x40bb94]
call sub.user32.dll_SetWindowTextA
push 0x40
push 2
push 0x1f2
push 0x130
push 0
push 1
push dword [0x40bb84]
call sub.user32.dll_SetWindowPos
push 5
push dword [0x40bb90]
call sub.user32.dll_ShowWindow
push 5
push dword [0x40bb94]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb38]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb3c]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb80]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb40]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb7c]
call sub.user32.dll_ShowWindow
mov eax, dword [0x40bb48]
push 5
push eax
push str.Click_Finish_to_exit_this_installation.
push eax
call sub.user32.dll_SetWindowTextA
call sub.user32.dll_ShowWindow
push str.Finish
push dword [0x40bb54]
call sub.user32.dll_SetWindowTextA
push 0
push dword [0x40bb50]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb4c]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb74]
call sub.user32.dll_ShowWindow
push 0
push dword [0x40bb78]
call sub.user32.dll_ShowWindow
mov byte [0x40bc16], 6
push 0
push 0
push dword [0x40bb34]
call sub.user32.dll_InvalidateRect
leave
ret