Function at 0x451bd0
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 0x451e36
mov eax, dword [ebp - 4]
mov byte [eax + 0xae], 1
xor eax, eax
push ebp
push 0x451e2f
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x60], 0
jne 0x451c25
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 0x451e17
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x60]
dec al
je 0x451c4b
dec al
je 0x451d94
dec al
je 0x451da7
jmp 0x451e17
mov eax, dword [0x59e81c]
mov edx, dword [eax]
call dword [edx + 0x24]
test al, al
je 0x451c96
mov eax, dword [0x59e81c]
mov eax, dword [eax + 0x6c]
cmp eax, dword [ebp - 4]
jne 0x451c96
mov eax, dword [0x59e81c]
cmp dword [eax + 0x68], 0
je 0x451c96
mov eax, dword [0x59e81c]
mov eax, dword [eax + 0x68]
cmp eax, dword [ebp - 4]
je 0x451c96
mov eax, dword [0x59e81c]
mov eax, dword [eax + 0x68]
mov dl, byte [eax + 0x61]
mov eax, dword [0x59e81c]
mov eax, dword [eax + 0x68]
call fcn.004588e0
mov eax, dword [ebp - 4]
call fcn.00458f50
test al, al
je 0x451caf
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 0x451d24
push ebp
call fcn.00451b50
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00457a80
push eax
mov eax, dword [ebp - 4]
call fcn.00457ab0
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.00451b00
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 0x451e17
push 0x451e48
call sub.kernel32.dll_GetLastError_2
mov ecx, eax
mov eax, dword [0x59f8a8]
mov eax, dword [eax]
mov dl, 2
call fcn.00436350
jmp 0x451e17
push ebp
call fcn.00451b50
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00457a80
push eax
mov eax, dword [ebp - 4]
call fcn.00457ab0
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.00451b00
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 0x451e17
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.004592b0
jmp 0x451e17
push 6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_ShowWindow
jmp 0x451e17
push ebp
call fcn.00451b50
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00457a80
push eax
mov eax, dword [ebp - 4]
call fcn.00457ab0
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.00451b00
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xb4]
push eax
call sub.user32.dll_SetWindowPos
mov edx, dword [0x59ff84]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
call fcn.0044a980
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 0x451e36
mov eax, dword [ebp - 4]
mov byte [eax + 0xae], 0
ret
pop ecx
pop ebp
ret