Function at 0x635650
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 + 0xd8], 0
je 0x6358aa
mov eax, dword [ebp - 4]
mov byte [eax + 0xc4], 1
xor edx, edx
push ebp
push 0x6358a3
push dword fs:[edx]
mov dword fs:[edx], esp
mov eax, dword [ebp - 4]
cmp byte [eax + 0x68], 0
jne 0x6356a5
mov eax, dword [ebp - 4]
mov byte [eax + 0x21], 0
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_ShowWindow
jmp 0x63588b
mov eax, dword [ebp - 4]
mov byte [eax + 0x21], 1
mov eax, dword [ebp - 4]
movzx eax, byte [eax + 0x68]
dec al
je 0x6356cc
dec al
je 0x635808
dec al
je 0x63581b
jmp 0x63588b
mov eax, dword [0x65391c]
mov edx, dword [eax]
call dword [edx + 0x34]
test al, al
je 0x63570a
mov eax, dword [0x65391c]
call fcn.00639620
cmp eax, dword [ebp - 4]
jne 0x63570a
mov eax, dword [0x65391c]
cmp dword [eax + 0x7c], 0
je 0x63570a
mov eax, dword [0x65391c]
mov eax, dword [eax + 0x7c]
cmp eax, dword [ebp - 4]
je 0x63570a
movzx edx, byte [eax + 0x69]
call fcn.0063e0f0
mov eax, dword [ebp - 4]
call fcn.0063e640
test al, al
je 0x635723
mov dl, 1
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xc4]
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xcc]
test al, 4
je 0x635798
push ebp
call fcn.006355e0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.0063d0e0
push eax
mov eax, dword [ebp - 4]
call fcn.0063d100
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
push eax
push ebp
call fcn.006355a0
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_SetWindowPos
test eax, eax
jne 0x63588b
push 0x6358bc
call sub.kernel32.dll_GetLastError_2
mov ecx, eax
mov eax, dword [0x653d30]
mov eax, dword [eax]
mov dl, 2
call fcn.0043f1c0
jmp 0x63588b
push ebp
call fcn.006355e0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.0063d0e0
push eax
mov eax, dword [ebp - 4]
call fcn.0063d100
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
push eax
push ebp
call fcn.006355a0
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 4]
mov edx, dword [eax]
call dword [edx + 0xcc]
test al, 2
jne 0x63588b
push 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 4]
call fcn.0063e970
jmp 0x63588b
push 6
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_ShowWindow
jmp 0x63588b
push ebp
call fcn.006355e0
pop ecx
push eax
mov eax, dword [ebp - 4]
call fcn.0063d0e0
push eax
mov eax, dword [ebp - 4]
call fcn.0063d100
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x70]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x6c]
push eax
push ebp
call fcn.006355a0
pop ecx
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_SetWindowPos
mov edx, dword [0x65489c]
mov edx, dword [edx]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x4c]
call fcn.00458440
xor edx, edx
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
call dword [ecx + 0xc4]
push 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0xd8]
push eax
call sub.user32.dll_ShowWindow
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x6358aa
mov eax, dword [ebp - 4]
mov byte [eax + 0xc4], 0
ret
pop ecx
pop ebp
ret