Function at 0x457100
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 0x457358
mov eax, dword [ebp - 4]
mov byte [eax + 0xc6], 1
xor eax, eax
push ebp
push 0x457351
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x80], 0
jne 0x457152
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 0x457339
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 4]
mov al, byte [eax + 0x80]
dec al
je 0x45717b
dec al
je 0x4572b9
dec al
je 0x4572c9
jmp 0x457339
mov eax, dword [0x58fd2c]
mov eax, dword [eax + 0x6c]
cmp eax, dword [ebp - 4]
jne 0x4571bb
mov eax, dword [0x58fd2c]
cmp dword [eax + 0x68], 0
je 0x4571bb
mov eax, dword [0x58fd2c]
mov eax, dword [eax + 0x68]
cmp eax, dword [ebp - 4]
je 0x4571bb
mov eax, dword [0x58fd2c]
mov eax, dword [eax + 0x68]
mov dl, byte [eax + 0x81]
mov eax, dword [0x58fd2c]
mov eax, dword [eax + 0x68]
call fcn.004575a0
mov eax, dword [ebp - 4]
call fcn.00457e40
test al, al
je 0x4571d1
xor edx, edx
mov eax, dword [ebp - 4]
call fcn.00456a70
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0x90]
test al, 4
je 0x457249
push ebp
call fcn.00457080
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.004561c0
push eax
mov eax, dword [ebp - 4]
call fcn.004561f0
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.00457030
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 0x457339
push 0x457368
call sub.kernel32.dll_GetLastError_2
mov ecx, eax
mov eax, dword [0x590ea0]
mov eax, dword [eax]
mov dl, 2
call fcn.00435400
jmp 0x457339
push ebp
call fcn.00457080
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.004561c0
push eax
mov eax, dword [ebp - 4]
call fcn.004561f0
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.00457030
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 0x457339
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.004581d0
jmp 0x457339
push 6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_ShowWindow
jmp 0x457339
push ebp
call fcn.00457080
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.004561c0
push eax
mov eax, dword [ebp - 4]
call fcn.004561f0
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.00457030
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x44]
push eax
call sub.user32.dll_SetWindowPos
mov edx, dword [0x59150c]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8c]
call fcn.00445600
mov dl, 1
mov eax, dword [ebp - 4]
call fcn.00456a70
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 0x457358
mov eax, dword [ebp - 4]
mov byte [eax + 0xc6], 0
ret
pop ecx
pop ebp
ret