Function at 0x40a680
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x2314
call fcn.00410e00
mov eax, dword [str._AdobeIP0000585_]
push ebx
push esi
xor esi, esi
cmp eax, esi
push edi
je 0x40abe7
mov ecx, dword [0x41f84c]
mov eax, dword [str.AutoPlay]
mov edx, dword [0x41f850]
mov dword [esp + 0x60], eax
mov eax, dword [0x41f854]
mov dword [esp + 0x64], ecx
mov cx, word [0x41f858]
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 [0x425cdc]
mov dword [esp + 0x18], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40abe7
call fcn.0040ad30
test al, al
jne 0x40a7cd
call fcn.0040ac90
test al, al
jne 0x40a7cd
xor eax, eax
push 1
mov ecx, 0x400
lea edi, [esp + 0x1324]
push esi
rep stosd dword es:[edi], eax
call fcn.0040da10
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.0040da10
add esp, 8
mov ecx, eax
call fcn.0040bd70
test al, al
je 0x40a785
push 0x10
push 0x423058
lea eax, [esp + 0x1328]
push eax
push esi
call dword [0x425d64]
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.0040af90
mov ecx, eax
call fcn.0040bd70
test al, al
push 0x10
push 0x423058
je 0x40a9a8
lea edx, [esp + 0x1328]
push edx
push esi
call dword [0x425d64]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push str.Shell32.dll
call dword [0x425d1c]
mov edi, eax
cmp edi, esi
je 0x40a801
push str.IsUserAnAdmin
push edi
call dword [0x425d08]
cmp eax, esi
je 0x40a7fa
call eax
test eax, eax
setne al
mov byte [0x4261a1], 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.0040af90
mov ecx, eax
call fcn.0040bd70
test al, al
je 0x40a85b
lea edx, [esp + 0x9c0]
push edx
lea eax, [esp + 0x64]
push eax
call fcn.00410eec
lea ecx, [esp + 0x9c8]
push ecx
push 0x423058
call fcn.00410eec
add esp, 0x10
mov edi, dword [ebp + 0x10]
push edi
call fcn.0040b000
add esp, 4
cmp eax, 0xffffffff
mov dword [ebp + 0x14], eax
je 0x40a9b4
mov al, byte [0x4261ac]
test al, al
jne 0x40a88f
push edi
mov ecx, 0x4a70a0
call fcn.0040e690
test al, al
je 0x40a9b4
mov ecx, 0x4a70b8
call fcn.0040b880
push 0x50
push esi
push esi
push 1
push str..Autoplay_resdata_autoplay.ico
push esi
call dword [0x425d60]
mov edi, eax
cmp edi, esi
jne 0x40a8bf
mov edx, dword [ebp + 8]
push 0x75
push edx
call dword [0x425d5c]
mov edi, eax
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
push str.32770
push 0x423058
call fcn.00410eec
mov eax, dword [ebp + 8]
add esp, 8
push 0x7f00
push esi
mov dword [esp + 0x24], 3
mov dword [esp + 0x28], 0x40a3c0
mov dword [esp + 0x2c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], edi
call dword [0x425d58]
push esi
lea ecx, [esp + 0xe74]
push ecx
push str.BACKGROUND_COLOR
push str._ConfigInfo_
mov dword [esp + 0x44], eax
call fcn.0040af90
mov ecx, eax
call fcn.0040bd70
test al, al
je 0x40a97a
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.00411629
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 0x40a981
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 [0x425d6c]
test ax, ax
jne 0x40a9bf
push 0x10
push 0x423058
push str.This_program_requires_Windows_2000_or_XP
push esi
call dword [0x425d64]
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.0040af90
mov ecx, eax
call fcn.0040bd70
test al, al
je 0x40aa19
lea ecx, [esp + 0x510]
push ecx
call fcn.00410df9
add esp, 4
test eax, eax
je 0x40aa14
lea edx, [esp + 0x510]
push edx
call fcn.00410df9
add esp, 4
mov edi, eax
jmp 0x40aa19
mov edi, 0x29d
push esi
lea eax, [esp + 0x514]
push eax
push str.AUTOPLAY_DIM_Y
push str._ConfigInfo_
call fcn.0040af90
mov ecx, eax
call fcn.0040bd70
test al, al
je 0x40aa69
lea ecx, [esp + 0x510]
push ecx
call fcn.00410df9
add esp, 4
test eax, eax
je 0x40aa64
lea edx, [esp + 0x510]
push edx
call fcn.00410df9
add esp, 4
mov ebx, eax
jmp 0x40aa69
mov ebx, 0x21a
call fcn.0040ada0
test al, al
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
jne 0x40aa88
call esi
push 0x21
lea edi, [edi + eax*2]
call esi
lea ebx, [ebx + eax*2]
jmp 0x40aa92
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 [0x425d38]
push 0xa
mov dword [0x4a70c8], eax
call dword [sym.imp.KERNEL32.dll_Sleep]
mov edx, dword [0x4a70c8]
push 0xfffffffffffffff0
push edx
call dword [0x425d54]
and eax, 0xfffeffff
push eax
mov eax, dword [0x4a70c8]
push 0xfffffffffffffff0
push eax
call dword [0x425d74]
mov edi, dword [ebp + 0x14]
mov ecx, dword [0x4a70c8]
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 [0x4a70c8]
push edx
call dword [sym.imp.USER32.dll_SetForegroundWindow]
mov eax, dword [0x4a70c8]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov al, byte [0x4a70c4]
test al, al
je 0x40ab78
push str.AUTOPLAY_TITLE
push str._StringMsg_
call fcn.0040af20
add esp, 8
push 0
push 2
push 0
push 0xd
call dword [sym.imp.USER32.dll_keybd_event]
mov esi, dword [0x425d50]
push 0
push 0
push 0
lea ecx, [esp + 0x50]
push ecx
call esi
test eax, eax
je 0x40abcf
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [0x425d40]
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 0x40abb0
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