Function at 0x406560
Capabilities:
Hide graphical window

Disassembly:
mov eax, 0x1e58
call fcn.0040bca0
mov eax, dword [0x41ab34]
mov ecx, dword [0x41ab38]
mov edx, dword [0x41ab3c]
mov dword [esp + 0x48], eax
mov eax, dword [0x41ab40]
mov dword [esp + 0x4c], ecx
mov cx, word [0x41ab44]
push ebx
push esi
push edi
mov dword [esp + 0x60], eax
mov word [esp + 0x64], cx
mov ecx, 0x127
xor eax, eax
lea edi, [esp + 0x66]
mov dword [esp + 0x5c], edx
rep stosd dword es:[edi], eax
push 0x41ab34
xor esi, esi
push 1
push esi
stosw word es:[edi], ax
call dword [0x41fe60]
mov dword [esp + 0xc], eax
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x406975
call fcn.00407500
test al, al
jne 0x4066a0
call fcn.00407460
test al, al
jne 0x4066a0
mov ecx, 0x400
xor eax, eax
lea edi, [esp + 0xe64]
push 1
rep stosd dword es:[edi], eax
push esi
call fcn.00408170
add esp, 8
lea edx, [esp + 0xe64]
push esi
push edx
push str.PRODUCT_OSVERSION_INFO
push str._StringMsg_
push esi
push 1
call fcn.00408170
add esp, 8
mov ecx, eax
call fcn.00407dc0
test al, al
je 0x406655
push 0x10
lea eax, [esp + 0xe68]
push 0x41b1c8
push eax
push esi
call dword [0x41fed8]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1e58
ret 0x10
lea ecx, [esp + 0xe64]
push esi
push ecx
push str.PRODUCT_OSVERSION_INFO
push str._Product_
call fcn.00407240
mov ecx, eax
call fcn.00407dc0
test al, al
push 0x10
push 0x41b1c8
je 0x4067c8
lea edx, [esp + 0xe6c]
push edx
push esi
call dword [0x41fed8]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1e58
ret 0x10
mov ecx, 0x12c
xor eax, eax
lea edi, [esp + 0x9b4]
push esi
rep stosd dword es:[edi], eax
lea eax, [esp + 0x9b8]
push eax
push str.PRODUCT_NAME
push str._Product_
call fcn.00407240
mov ecx, eax
call fcn.00407dc0
test al, al
je 0x4066fa
lea ecx, [esp + 0x9b4]
lea edx, [esp + 0x54]
push ecx
push edx
call fcn.0040bd90
lea eax, [esp + 0x9bc]
push eax
push 0x41b1c8
call fcn.0040bd90
add esp, 0x10
mov edi, dword [esp + 0x1e70]
push edi
call fcn.00407320
add esp, 4
cmp eax, 0xffffffff
mov dword [esp + 0x1e74], eax
jne 0x406724
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1e58
ret 0x10
mov al, byte [0x420344]
test al, al
jne 0x40674a
push edi
mov ecx, 0x420318
call fcn.004098c0
test al, al
jne 0x40674a
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1e58
ret 0x10
mov ecx, 0x420330
call fcn.004078e0
call dword [sym.imp.COMCTL32.dll_InitCommonControls]
mov ebx, dword [esp + 0x1e68]
push 0x75
push ebx
mov dword [esp + 0x18], 3
mov dword [esp + 0x1c], 0x407000
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], ebx
call dword [0x41fed0]
push 0x7f00
push esi
mov dword [esp + 0x2c], eax
call dword [0x41fecc]
push esi
mov dword [esp + 0x2c], eax
call dword [sym.imp.GDI32.dll_GetStockObject]
lea ecx, [esp + 0x10]
mov dword [esp + 0x30], esi
push ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], 0x41b1c8
call dword [0x41fee0]
test ax, ax
jne 0x4067e2
push 0x10
push 0x41b1c8
push str.This_program_requires_Windows_2000_or_XP
push esi
call dword [0x41fed8]
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x1e58
ret 0x10
push ebp
lea edx, [esp + 0x508]
push esi
push edx
push str.AUTOPLAY_DIM_X
push str._ConfigInfo_
mov edi, 0x29d
mov ebp, 0x21a
call fcn.00407240
mov ecx, eax
call fcn.00407dc0
test al, al
je 0x40683d
lea eax, [esp + 0x508]
push eax
call fcn.0040bc6e
add esp, 4
test eax, eax
je 0x406838
lea ecx, [esp + 0x508]
push ecx
call fcn.0040bc6e
add esp, 4
mov edi, eax
jmp 0x40683d
mov edi, 0x29d
lea edx, [esp + 0x508]
push esi
push edx
push str.AUTOPLAY_DIM_Y
push str._ConfigInfo_
call fcn.00407240
mov ecx, eax
call fcn.00407dc0
test al, al
je 0x40688d
lea eax, [esp + 0x508]
push eax
call fcn.0040bc6e
add esp, 4
test eax, eax
je 0x406888
lea ecx, [esp + 0x508]
push ecx
call fcn.0040bc6e
add esp, 4
mov ebp, eax
jmp 0x40688d
mov ebp, 0x21a
mov esi, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 0x20
call esi
push 0x21
lea edi, [edi + eax*2]
call esi
push 0
push ebx
push 0
push 0
push 4
lea ebp, [ebp + eax*2]
call esi
add eax, ebp
push eax
push edi
push 1
call esi
mov ebx, eax
push 4
sub ebx, ebp
call esi
sub ebx, eax
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
push eax
push 0
call esi
sub eax, edi
cdq
sub eax, edx
lea edx, [esp + 0x74]
sar eax, 1
push eax
push 0x80ca0080
push edx
push 0x41b1c8
push 0
call dword [0x41feb4]
mov esi, eax
call fcn.00406550
mov dword [eax], esi
mov eax, dword [esp + 0x1e78]
push eax
call fcn.00406550
mov ecx, dword [eax]
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
call fcn.00406550
mov edx, dword [eax]
push edx
call dword [sym.imp.USER32.dll_UpdateWindow]
mov esi, dword [0x41fec8]
push 0
push 0
lea eax, [esp + 0x44]
push 0
push eax
call esi
test eax, eax
pop ebp
je 0x40695a
mov edi, dword [sym.imp.USER32.dll_TranslateMessage]
mov ebx, dword [0x41febc]
lea ecx, [esp + 0x38]
push ecx
call edi
lea edx, [esp + 0x38]
push edx
call ebx
push 0
push 0
lea eax, [esp + 0x40]
push 0
push eax
call esi
test eax, eax
jne 0x40693b
mov ecx, dword [esp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_ReleaseMutex]
pop edi
pop esi
mov eax, dword [esp + 0x38]
pop ebx
add esp, 0x1e58
ret 0x10
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x1e58
ret 0x10