Function at 0x53cee4
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffa4
push ebx
push esi
mov byte [ebp - 6], cl
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 4]
cmp dword [eax + 0x10], 0
je 0x53d425
mov eax, dword [0x5a6cc8]
mov eax, dword [eax]
cmp byte [eax + 0x9c], 0
jne 0x53d425
mov eax, dword [ebp - 4]
cmp byte [eax + 0x20], 0
jne 0x53d425
mov eax, dword [ebp - 4]
call fcn.0053d4cc
test eax, eax
je 0x53d425
lea eax, [ebp - 0x4c]
push eax
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_GetWindowRect
test eax, eax
je 0x53d425
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [0x524e18]
call fcn.004040cc
test al, al
je 0x53d010
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.00525c60
test al, al
jne 0x53d425
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
cmp byte [eax + 0x10], 0
jne 0x53d425
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp byte [eax + 0x78], 0
je 0x53d425
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
test byte [eax + 0x1c], 8
jne 0x53cfc0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1dc]
test byte [eax + 0x1c], 8
je 0x53cfd2
xor edx, edx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
call fcn.00538838
jmp 0x53d425
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1dc]
cmp byte [eax + 0x57], 0
je 0x53cff8
mov eax, dword [0x5a6cc8]
mov eax, dword [eax]
mov eax, dword [eax + 0x30]
push eax
call sub.user32.dll_IsIconic
test eax, eax
je 0x53d026
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_ShowWindow
jmp 0x53d425
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x53d425
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
cmp byte [eax + 0x2d], 0
je 0x53d045
mov eax, dword [ebp - 4]
call fcn.0053d678
mov byte [ebp - 5], 1
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [0x524e18]
call fcn.004040cc
test al, al
je 0x53d09c
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
cmp byte [eax + 0x1b0], 0
je 0x53d09c
mov eax, dword [ebp - 4]
call fcn.0053d4cc
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.00525830
mov ebx, eax
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
call fcn.0053d530
mov esi, dword [ebp - 0x58]
mov eax, dword [ebp - 4]
call fcn.00525948
add esi, eax
add ebx, esi
mov dword [ebp - 0x14], ebx
jmp 0x53d0a7
mov eax, dword [ebp - 4]
call fcn.0053d47c
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 4]
call fcn.0053d4cc
xor ecx, ecx
mov edx, dword [ebp - 4]
call fcn.00525830
push eax
mov eax, dword [ebp - 4]
call fcn.00525910
mov ebx, eax
pop eax
sub ebx, eax
lea edx, [ebp - 0x5c]
mov eax, dword [ebp - 4]
call fcn.0053d530
add ebx, dword [ebp - 0x5c]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0xc], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 4]
call fcn.0053d4cc
mov dword [ebp - 0x38], eax
push 0xffffffffffffffec
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 8
cmp eax, 8
jne 0x53d12c
mov dl, 3
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.00480804
jmp 0x53d189
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [0x524e18]
call fcn.004040cc
test al, al
jne 0x53d189
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0x80000000
cmp eax, 0x80000000
jne 0x53d189
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_SetWindowLongA
mov dword [ebp - 0x1c], 0x610
cmp byte [ebp - 5], 0
jne 0x53d1b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x48]
cmp eax, dword [ebp - 0xc]
jne 0x53d1b2
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0x4c]
cmp eax, dword [ebp - 0x10]
je 0x53d1b8
mov byte [ebp - 0x31], 1
jmp 0x53d1c0
or dword [ebp - 0x1c], 1
mov byte [ebp - 0x31], 0
cmp byte [ebp - 5], 0
jne 0x53d1ca
or dword [ebp - 0x1c], 8
mov edx, dword [ebp - 0x4c]
sub edx, dword [ebp - 0x18]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.00465540
mov edx, dword [ebp - 0x48]
sub edx, dword [ebp - 0x14]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.00465564
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046558c
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.004655b0
call fcn.0053e9f4
and al, byte [ebp - 0x31]
je 0x53d3f7
mov eax, dword [ebp - 4]
cmp byte [eax + 0xc], 0
jne 0x53d3f7
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x2c]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x38]
mov edx, dword [eax]
call dword [edx + 0x20]
mov dword [ebp - 0x24], eax
lea ecx, [ebp - 0x30]
xor edx, edx
xor eax, eax
call fcn.0041a5f0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov edx, dword [0x524e18]
call fcn.004040cc
test al, al
je 0x53d298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1dc]
cmp byte [eax + 0x2e0], 0
je 0x53d298
mov eax, dword [ebp - 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1dc]
mov al, byte [eax + 0x2e1]
mov edx, dword [0x5a69c0]
mov byte [edx + 2], al
jmp 0x53d2a3
mov eax, dword [0x5a69c0]
mov dl, byte [ebp - 6]
mov byte [eax + 2], dl
mov eax, dword [0x5a69c0]
mov byte [eax], 0
mov eax, dword [0x5a69c0]
mov byte [eax + 1], 0
mov eax, dword [0x5a69c0]
mov byte [eax + 3], 1
push 0xffffffffffffffec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_SetWindowLongA
mov eax, dword [ebp - 0x1c]
or eax, 1
or eax, 2
push eax
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_SetWindowPos
push 0
mov eax, dword [ebp - 4]
call fcn.0053d6b0
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_SetWindowRgn
push 0
call sub.user32.dll_GetDC
mov dword [ebp - 0x20], eax
push 2
mov eax, dword [0x5a69c0]
push eax
push 0x1fffffff
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x38]
call fcn.0042d930
call fcn.00429320
push eax
lea eax, [ebp - 0x28]
push eax
push 0
mov eax, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
mov eax, dword [0x5a699c]
mov eax, dword [eax]
call eax
cmp byte [ebp - 6], 0
jne 0x53d3ab
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_GetWindowLongA
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_SetWindowLongA
push 4
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 6], 0
jne 0x53d3ea
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_GetWindowLongA
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [ebp - 4]
call fcn.0053d4cc
push eax
call sub.user32.dll_SetWindowLongA
push 0
mov eax, dword [ebp - 0x20]
push eax
call sub.user32.dll_ReleaseDC
jmp 0x53d41e
mov eax, dword [ebp - 0x1c]
or eax, 1
or eax, 2
push eax
push 0
push 0
push 0
push 0
mov eax, dword [ebp - 0x38]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x10]
call fcn.0046c6cc
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebp - 4]
mov byte [eax + 0x20], 0
pop esi
pop ebx
mov esp, ebp
pop ebp
ret