Function at 0x40a640
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2314
call fcn.00410d90
mov eax, dword [str._AdobeIP0000585_]
push ebx
push esi
xor esi, esi
cmp eax, esi
push edi
je 0x40aba7
mov ecx, dword [0x41f82c]
mov eax, dword [str.AutoPlay]
mov edx, dword [0x41f830]
mov dword [esp + 0x60], eax
mov eax, dword [0x41f834]
mov dword [esp + 0x64], ecx
mov cx, word [0x41f838]
mov dword [esp + 0x6c], eax
mov word [esp + 0x70], cx
mov dword [esp + 0x68], edx
xor eax, eax
mov ecx, 0x127
lea edi, [esp + 0x72]
rep stosd dword es:[edi], eax
push str.AutoPlay
push 1
push esi
stosw word es:[edi], ax
call dword [0x425c3c]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40aba7
call fcn.0040acf0
test al, al
jne 0x40a78d
call fcn.0040ac50
test al, al
jne 0x40a78d
xor eax, eax
push 1
mov ecx, 0x400
lea edi, [esp + 0x1324]
push esi
rep stosd dword es:[edi], eax
call fcn.0040d9a0
add esp, 8
push esi
lea edx, [esp + 0x1324]
push edx
push str.PRODUCT_OSVERSION_INFO
push str._StringMsg_
push esi
push 1
call fcn.0040d9a0
add esp, 8
mov ecx, eax
call fcn.0040bcf0
test al, al
je 0x40a745
push 0x10
push 0x423058
lea eax, [esp + 0x1328]
push eax
push esi
call dword [0x425cc4]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
lea ecx, [esp + 0x1324]
push ecx
push str.PRODUCT_OSVERSION_INFO
push str._Product_
call fcn.0040af50
mov ecx, eax
call fcn.0040bcf0
test al, al
push 0x10
push 0x423058
je 0x40a968
lea edx, [esp + 0x1328]
push edx
push esi
call dword [0x425cc4]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.Shell32.dll
call dword [0x425c7c]
mov edi, eax
cmp edi, esi
je 0x40a7c1
push str.IsUserAnAdmin
push edi
call dword [0x425c68]
cmp eax, esi
je 0x40a7ba
call eax
test eax, eax
setne al
mov byte [0x426101], al
push edi
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
xor eax, eax
mov ecx, 0x12c
lea edi, [esp + 0x9c0]
rep stosd dword es:[edi], eax
push esi
lea ecx, [esp + 0x9c4]
push ecx
push str.PRODUCT_NAME
push str._Product_
call fcn.0040af50
mov ecx, eax
call fcn.0040bcf0
test al, al
je 0x40a81b
lea edx, [esp + 0x9c0]
push edx
lea eax, [esp + 0x64]
push eax
call fcn.00410e7c
lea ecx, [esp + 0x9c8]
push ecx
push 0x423058
call fcn.00410e7c
add esp, 0x10
mov edi, dword [ebp + 0x10]
push edi
call fcn.0040afc0
add esp, 4
cmp eax, 0xffffffff
mov dword [ebp + 0x14], eax
je 0x40a974
mov al, byte [0x42610c]
test al, al
jne 0x40a84f
push edi
mov ecx, 0x4a7000
call fcn.0040e620
test al, al
je 0x40a974
mov ecx, 0x4a7018
call fcn.0040b840
push 0x50
push esi
push esi
push 1
push str..Autoplay_resdata_autoplay.ico
push esi
call dword [0x425cc0]
mov edi, eax
cmp edi, esi
jne 0x40a87f
mov edx, dword [ebp + 8]
push 0x75
push edx
call dword [0x425cbc]
mov edi, eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push str.32770
push 0x423058
call fcn.00410e7c
mov eax, dword [ebp + 8]
add esp, 8
push 0x7f00
push esi
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 0x40a380
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edi
call dword [0x425cb8]
push esi
lea ecx, [esp + 0xe74]
push ecx
push str.BACKGROUND_COLOR
push str._ConfigInfo_
mov dword [esp + 0x44], eax
call fcn.0040af50
mov ecx, eax
call fcn.0040bcf0
test al, al
je 0x40a93a
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0xe7c]
push str._d__d__d
push edx
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], esi
call fcn.004115b9
movzx ecx, byte [esp + 0x20]
xor eax, eax
mov ah, byte [esp + 0x28]
add esp, 0x14
mov al, byte [esp + 0x10]
shl eax, 8
or eax, ecx
push eax
call dword [sym.imp.GDI32.dll_CreateSolidBrush]
jmp 0x40a941
push esi
call dword [sym.imp.GDI32.dll_GetStockObject]
lea edx, [esp + 0x1c]
push edx
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], esi
mov dword [esp + 0x44], 0x423058
call dword [0x425ccc]
test ax, ax
jne 0x40a97f
push 0x10
push 0x423058
push str.This_program_requires_Windows_2000_or_XP
push esi
call dword [0x425cc4]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push esi
lea eax, [esp + 0x514]
push eax
push str.AUTOPLAY_DIM_X
push str._ConfigInfo_
mov edi, 0x29d
mov ebx, 0x21a
call fcn.0040af50
mov ecx, eax
call fcn.0040bcf0
test al, al
je 0x40a9d9
lea ecx, [esp + 0x510]
push ecx
call fcn.00410d89
add esp, 4
test eax, eax
je 0x40a9d4
lea edx, [esp + 0x510]
push edx
call fcn.00410d89
add esp, 4
mov edi, eax
jmp 0x40a9d9
mov edi, 0x29d
push esi
lea eax, [esp + 0x514]
push eax
push str.AUTOPLAY_DIM_Y
push str._ConfigInfo_
call fcn.0040af50
mov ecx, eax
call fcn.0040bcf0
test al, al
je 0x40aa29
lea ecx, [esp + 0x510]
push ecx
call fcn.00410d89
add esp, 4
test eax, eax
je 0x40aa24
lea edx, [esp + 0x510]
push edx
call fcn.00410d89
add esp, 4
mov ebx, eax
jmp 0x40aa29
mov ebx, 0x21a
call fcn.0040ad60
test al, al
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
jne 0x40aa48
call esi
push 0x21
lea edi, [edi + eax*2]
call esi
lea ebx, [ebx + eax*2]
jmp 0x40aa52
call esi
push 0x21
add edi, eax
call esi
add ebx, eax
push 0
push 2
push 0
push 0xd
call dword [sym.imp.USER32.dll_keybd_event]
mov eax, dword [ebp + 8]
push 0
push eax
push 0
push 0
push 4
call esi
add eax, ebx
push eax
push edi
push 1
call esi
sub eax, ebx
push 4
mov dword [esp + 0x28], eax
call esi
mov ecx, dword [esp + 0x24]
sub ecx, eax
mov eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
push 0
call esi
sub eax, edi
cdq
sub eax, edx
sar eax, 1
push eax
push 0xb0cb0080
lea ecx, [esp + 0x84]
push ecx
push 0x423058
push 0
call dword [0x425c98]
push 0xa
mov dword [0x4a7028], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x4a7028]
push 0xfffffffffffffff0
push edx
call dword [0x425cb4]
and eax, 0xfffeffff
push eax
mov eax, dword [0x4a7028]
push 0xfffffffffffffff0
push eax
call dword [0x425cd4]
mov edi, dword [ebp + 0x14]
mov ecx, dword [0x4a7028]
xor eax, eax
cmp edi, 2
setne al
dec eax
and eax, 0xfffffff9
add eax, 9
push eax
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x4a7028]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x4a7028]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov al, byte [0x4a7024]
test al, al
je 0x40ab38
push str.AUTOPLAY_TITLE
push str._StringMsg_
call fcn.0040aee0
add esp, 8
push 0
push 2
push 0
push 0xd
call dword [sym.imp.USER32.dll_keybd_event]
mov esi, dword [0x425cb0]
push 0
push 0
push 0
lea ecx, [esp + 0x50]
push ecx
call esi
test eax, eax
je 0x40ab8f
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [0x425ca0]
lea esp, [esp]
lea edx, [esp + 0x44]
push edx
call edi
lea eax, [esp + 0x44]
push eax
call ebx
push 0
push 0
push 0
lea ecx, [esp + 0x50]
push ecx
call esi
test eax, eax
jne 0x40ab70
mov edx, dword [esp + 0x18]
push edx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
mov eax, dword [esp + 0x4c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
pop edi
pop esi
mov eax, 1
pop ebx
mov esp, ebp
pop ebp
ret 0x10