Function at 0x40ed90
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xa0
mov ecx, 0x28
dec ecx
mov dword [esp + ecx*4], 0xfffa5a5a
jne 0x40ed9e
push ebx
push esi
push edi
mov edi, dword [0x4330cc]
mov dword [ebp - 0x60], edi
mov dword [0x45ed1c], 0x14
mov dword [0x45ed24], 0
mov dword [0x45ed28], 0
mov dword [0x45ed2c], 1
mov dword [0x43454c], 0
mov edi, dword [0x45dd38]
cmp edi, 4
je 0x40edff
cmp edi, 5
je 0x40edff
cmp edi, 6
jne 0x40eed8
mov eax, 0x98
mul dword [0x45dd48]
mov dword [ebp - 0x84], eax
mov edi, dword [ebp - 0x84]
cmp dword [edi + 0x42497c], 2
jne 0x40ee27
mov ebx, 4
jmp 0x40ee2c
mov ebx, 1
mov dword [ebp - 0x80], ebx
push dword [ebp - 0x80]
call fcn.0040e203
add esp, 4
push 0x424034
push 0x428ff0
push 0x423a6c
push 0x433afc
call fcn.0040e253
add esp, 0x10
mov dword [0x434540], 0x16
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x88], eax
mov edi, dword [0x423a6c]
mov esi, dword [ebp - 0x88]
mov dword [esi + 0x45ee08], edi
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x8c], eax
mov edi, dword [0x428ff0]
mov esi, dword [ebp - 0x8c]
mov dword [esi + 0x45ee0c], edi
push dword [0x424034]
call fcn.0040ed58
add esp, 4
mov edi, eax
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x90], eax
mov esi, dword [ebp - 0x90]
mov dword [esi + 0x45ee14], edi
jmp 0x40eef1
call fcn.004104a8
mov dword [0x434540], eax
cmp eax, 0
jge 0x40eef1
mov eax, 0
jmp 0x40f390
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x80], eax
mov edi, dword [ebp - 0x80]
cmp dword [edi + 0x45ee14], 2
jne 0x40ef15
mov dword [ebp - 0x64], 1
jmp 0x40ef77
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x84], eax
mov edi, dword [ebp - 0x84]
cmp dword [edi + 0x45ee14], 0x10
jne 0x40ef3f
mov dword [ebp - 0x64], 8
jmp 0x40ef77
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x88], eax
mov edi, dword [ebp - 0x88]
cmp dword [edi + 0x45ee14], 0x10000
je 0x40ef70
cmp dword [edi + 0x45ee14], 0x1000000
jne 0x40ef77
mov dword [ebp - 0x64], 0x18
mov edi, dword [0x434540]
cmp edi, 0xb
je 0x40ef87
cmp edi, 0x12
jne 0x40ef98
mov dword [ebp - 0x64], 4
mov dword [0x43455c], 0
mov edi, dword [0x434540]
cmp edi, 0x16
jne 0x40eff7
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x8c], eax
mov edi, dword [ebp - 0x8c]
cmp dword [edi + 0x45ee14], 0x10000
je 0x40eff7
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x90], eax
mov edi, dword [ebp - 0x90]
mov esi, dword [edi + 0x45ee08]
imul esi, dword [edi + 0x45ee0c]
mov edi, esi
shl edi, 2
mov dword [ebp - 0x5c], edi
jmp 0x40f02e
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x94], eax
mov edi, dword [ebp - 0x94]
mov esi, dword [edi + 0x45ee08]
imul esi, dword [edi + 0x45ee0c]
mov eax, esi
imul eax, dword [ebp - 0x64]
mov ecx, 8
cdq
idiv ecx
mov dword [ebp - 0x5c], eax
mov edi, dword [ebp - 0x5c]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
add edi, eax
push edi
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x434550], eax
cmp eax, 0
jne 0x40f059
mov eax, 0
jmp 0x40f390
mov edi, dword [ebp - 0x5c]
mov eax, edi
mov ecx, 2
cdq
idiv ecx
add edi, eax
push edi
push 0
call sub.KERNEL32.dll_GlobalAlloc
mov dword [0x434544], eax
cmp eax, 0
jne 0x40f08f
push dword [0x434550]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x40f390
push dword [ebp - 0x64]
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x98], eax
mov edi, dword [ebp - 0x98]
push dword [edi + 0x45ee0c]
push dword [edi + 0x45ee08]
push 0x434524
call fcn.004111a4
add esp, 0x10
cmp eax, 0
jne 0x40f0e9
push dword [0x434550]
call sub.KERNEL32.dll_GlobalFree
push dword [0x434544]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x40f390
cmp dword [ebp - 0x64], 4
jne 0x40f166
mov edi, dword [0x434538]
mov byte [edi], 0xff
mov edi, dword [0x434538]
mov byte [edi + 1], 0xff
mov edi, dword [0x434538]
mov byte [edi + 2], 0xff
mov edi, dword [0x434538]
mov byte [edi + 4], 0xa5
mov edi, dword [0x434538]
mov byte [edi + 5], 0xa5
mov edi, dword [0x434538]
mov byte [edi + 6], 0xa5
mov edi, dword [0x434538]
mov byte [edi + 8], 0x4c
mov edi, dword [0x434538]
mov byte [edi + 9], 0x4c
mov edi, dword [0x434538]
mov byte [edi + 0xa], 0x4c
mov edi, dword [0x434538]
mov byte [edi + 0xc], 0
mov edi, dword [0x434538]
mov byte [edi + 0xd], 0
mov edi, dword [0x434538]
mov byte [edi + 0xe], 0
push 0x28
lea edi, [ebp - 0x54]
push edi
call sub.KERNEL32.dll_RtlZeroMemory
mov dword [ebp - 0x54], 3
lea edi, [0x40f84e]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x60]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x38], 0x12
lea edi, str.HardcopyWndClass
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x34], 0
push 0x7f00
push 0
call sub.USER32.DLL_LoadCursorA
mov dword [ebp - 0x3c], eax
push 0x7f00
push 0
call sub.USER32.DLL_LoadIconA
mov dword [ebp - 0x40], eax
lea edi, [ebp - 0x54]
push edi
call sub.USER32.DLL_RegisterClassA
or ax, ax
jne 0x40f1ea
push dword [0x434550]
call sub.KERNEL32.dll_GlobalFree
push dword [0x434544]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x40f390
lea edi, [ebp - 0x74]
push edi
push dword [0x4203ec]
call sub.USER32.DLL_GetWindowRect
mov edi, dword [ebp - 0x74]
add edi, 0x14
mov dword [ebp - 0x2c], edi
mov edi, dword [ebp - 0x70]
add edi, 0x32
mov dword [ebp - 0x28], edi
mov edi, dword [ebp - 0x2c]
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0x9c], eax
mov esi, dword [ebp - 0x9c]
add edi, dword [esi + 0x45ee08]
sub edi, 1
mov dword [ebp - 0x24], edi
mov edi, dword [ebp - 0x28]
mov eax, 0x27
mul dword [0x434540]
mov dword [ebp - 0xa0], eax
mov esi, dword [ebp - 0xa0]
add edi, dword [esi + 0x45ee0c]
sub edi, 1
mov dword [ebp - 0x20], edi
push pe_nt_image_headers32
push 0
push 0xc40000
lea edi, [ebp - 0x2c]
push edi
call sub.USER32.DLL_AdjustWindowRectEx
mov edi, dword [ebp - 0x24]
sub edi, dword [ebp - 0x2c]
add edi, 1
mov dword [ebp - 0x78], edi
mov edi, dword [ebp - 0x20]
sub edi, dword [ebp - 0x28]
add edi, 1
mov dword [ebp - 0x7c], edi
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
lea edi, [ebp - 0x28]
push edi
lea edi, [ebp - 0x2c]
push edi
call fcn.0040247d
add esp, 0x10
push 0
push dword [ebp - 0x60]
push 0
push dword [0x4203ec]
push dword [ebp - 0x7c]
push dword [ebp - 0x78]
push dword [ebp - 0x28]
push dword [ebp - 0x2c]
push 0xc40000
push 0x45f1af
push str.HardcopyWndClass
push pe_nt_image_headers32
call sub.USER32.DLL_CreateWindowExA
mov dword [ebp - 0x58], eax
cmp dword [ebp - 0x58], 0
jne 0x40f2f7
push dword [0x434550]
call sub.KERNEL32.dll_GlobalFree
push dword [0x434544]
call sub.KERNEL32.dll_GlobalFree
mov eax, 0
jmp 0x40f390
push 5
push dword [ebp - 0x58]
call sub.USER32.DLL_ShowWindow
push dword [ebp - 0x58]
call fcn.004022a5
add esp, 4
push dword [ebp - 0x58]
call sub.USER32.DLL_UpdateWindow
call fcn.004109a5
push 0x64
call sub.KERNEL32.dll_Sleep
push 0
push 0x14
push 2
push dword [ebp - 0x58]
call sub.USER32.DLL_SetTimer
jmp 0x40f342
lea edi, [ebp - 0x1c]
push edi
call sub.USER32.DLL_TranslateMessage
lea edi, [ebp - 0x1c]
push edi
call sub.USER32.DLL_DispatchMessageA
push 0
push 0
push 0
lea edi, [ebp - 0x1c]
push edi
call sub.USER32.DLL_GetMessageA
cmp eax, 0
jne 0x40f330
push dword [0x434550]
call sub.KERNEL32.dll_GlobalFree
push dword [0x434544]
call sub.KERNEL32.dll_GlobalFree
push dword [ebp - 0x60]
push str.HardcopyWndClass
call sub.USER32.DLL_UnregisterClassA
cmp dword [0x434564], 0
jne 0x40f389
mov ebx, 1
jmp 0x40f38e
mov ebx, 0
mov eax, ebx
pop edi
pop esi
pop ebx
leave
ret