Function at 0x451c40
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push ecx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0xb4], 0
je 0x451ea6
mov eax, dword [ebp - 4]
mov byte [eax + 0xae], 1
xor eax, eax
push ebp
push 0x451e9f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x60], 0
jne 0x451c95
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_ShowWindow
jmp 0x451e87
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x60]
dec al
je 0x451cbb
dec al
je 0x451e04
dec al
je 0x451e17
jmp 0x451e87
mov eax, dword [0x59d81c]
mov edx, dword [eax]
call dword [edx + 0x24]
test al, al
je 0x451d06
mov eax, dword [0x59d81c]
mov eax, dword [eax + 0x6c]
cmp eax, dword [ebp - 4]
jne 0x451d06
mov eax, dword [0x59d81c]
cmp dword [eax + 0x68], 0
je 0x451d06
mov eax, dword [0x59d81c]
mov eax, dword [eax + 0x68]
cmp eax, dword [ebp - 4]
je 0x451d06
mov eax, dword [0x59d81c]
mov eax, dword [eax + 0x68]
mov dl, byte [eax + 0x61]
mov eax, dword [0x59d81c]
mov eax, dword [eax + 0x68]
call fcn.00458950
mov eax, dword [ebp - 4]
call fcn.00458f90
test al, al
je 0x451d1f
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xb0]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xb4]
test al, 4
je 0x451d94
push ebp
call fcn.00451bc0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00457af0
push eax
mov eax, dword [ebp - 4]
call fcn.00457b20
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
push eax
push ebp
call fcn.00451b70
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x451e87
push 0x451eb8
call sub.kernel32.dll_GetLastError_2
mov ecx, eax
mov eax, dword [0x59e8a8]
mov eax, dword [eax]
mov dl, 2
call fcn.00436500
jmp 0x451e87
push ebp
call fcn.00451bc0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00457af0
push eax
mov eax, dword [ebp - 4]
call fcn.00457b20
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
push eax
push ebp
call fcn.00451b70
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xb4]
test al, 2
jne 0x451e87
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 4]
call fcn.004592f0
jmp 0x451e87
push 6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_ShowWindow
jmp 0x451e87
push ebp
call fcn.00451bc0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00457af0
push eax
mov eax, dword [ebp - 4]
call fcn.00457b20
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x68]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x64]
push eax
push ebp
call fcn.00451b70
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_SetWindowPos
mov edx, dword [0x59ef74]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044aaf0
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xb0]
push 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x451ea6
mov eax, dword [ebp - 4]
mov byte [eax + 0xae], 0
ret
pop ecx
pop ebp
ret