Function at 0x451a50
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 + 0x44], 0
je 0x451cae
mov eax, dword [ebp - 4]
mov byte [eax + 0xc6], 1
xor eax, eax
push ebp
push 0x451ca7
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x80], 0
jne 0x451aa2
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_ShowWindow
jmp 0x451c8f
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x80]
dec al
je 0x451acb
dec al
je 0x451c0c
dec al
je 0x451c1c
jmp 0x451c8f
mov eax, dword [0x58d56c]
mov eax, dword [eax + 0x6c]
cmp eax, dword [ebp - 4]
jne 0x451b0b
mov eax, dword [0x58d56c]
cmp dword [eax + 0x68], 0
je 0x451b0b
mov eax, dword [0x58d56c]
mov eax, dword [eax + 0x68]
cmp eax, dword [ebp - 4]
je 0x451b0b
mov eax, dword [0x58d56c]
mov eax, dword [eax + 0x68]
mov dl, byte [eax + 0x81]
mov eax, dword [0x58d56c]
mov eax, dword [eax + 0x68]
call fcn.00451f00
mov eax, dword [ebp - 4]
call fcn.00452830
test al, al
je 0x451b24
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xf0]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x90]
test al, 4
je 0x451b9c
push ebp
call fcn.004519d0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00450b00
push eax
mov eax, dword [ebp - 4]
call fcn.00450b30
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x84]
push eax
push ebp
call fcn.00451980
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x451c8f
push 0x451cc0
call sub.kernel32.dll_GetLastError_2
mov ecx, eax
mov eax, dword [0x58e4dc]
mov eax, dword [eax]
mov dl, 2
call fcn.00436400
jmp 0x451c8f
push ebp
call fcn.004519d0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00450b00
push eax
mov eax, dword [ebp - 4]
call fcn.00450b30
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x84]
push eax
push ebp
call fcn.00451980
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x90]
test al, 2
jne 0x451c8f
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 4]
call fcn.00452b80
jmp 0x451c8f
push 6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_ShowWindow
jmp 0x451c8f
push ebp
call fcn.004519d0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.00450b00
push eax
mov eax, dword [ebp - 4]
call fcn.00450b30
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x88]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x84]
push eax
push ebp
call fcn.00451980
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_SetWindowPos
mov edx, dword [0x58eb6c]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8c]
call fcn.00445e30
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xf0]
push 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x451cae
mov eax, dword [ebp - 4]
mov byte [eax + 0xc6], 0
ret
pop ecx
pop ebp
ret