Function at 0x5a9dcc
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffc8
mov ebx, eax
mov eax, ebx
call fcn.005b7bb4
test al, al
je 0x5aa24d
mov eax, ebx
call fcn.005a95d4
test al, al
jne 0x5aa24d
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x22b], 1
je 0x5aa24d
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x1a6], 0
je 0x5aa24d
cmp dword [ebx + 0x2bc], 0
je 0x5a9e35
mov eax, dword [ebx + 0x28c]
cmp dword [eax + 0x248], 0
je 0x5aa24d
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x22f], 1
jne 0x5a9e62
mov eax, dword [0x5f4dc8]
cmp dword [eax], 0
je 0x5a9e62
mov eax, dword [0x5f4dc8]
mov eax, dword [eax]
cmp dword [eax + 0xdc], 0
jg 0x5aa24d
test byte [ebx + 0x2a0], 0x80
jne 0x5aa24d
cmp dword [ebx + 0x290], 0
jne 0x5a9eca
push 0
mov ecx, dword [0x5f4c98]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x5a9928]
call fcn.00478ad0
mov esi, eax
mov dword [ebx + 0x290], esi
mov dword [esi + 0x300], ebx
test esi, esi
je 0x5aa24d
mov eax, esi
call fcn.00466894
mov eax, dword [ebx + 0x290]
call fcn.00466bbc
test al, al
jne 0x5a9eca
lea eax, [ebx + 0x290]
call fcn.0040f124
jmp 0x5aa24d
cmp dword [ebx + 0x2bc], 0
je 0x5a9f6f
mov eax, ebx
call fcn.005b4314
mov esi, eax
mov eax, ebx
call fcn.005b3ca4
imul esi, eax
inc esi
mov eax, ebx
call fcn.005b3bb0
mov edi, eax
mov eax, dword [ebx + 0x28c]
add edi, dword [eax + 0x44]
sub edi, esi
lea edx, [esp + 0x28]
mov eax, ebx
call fcn.005b6d7c
sub edi, dword [esp + 0x2c]
mov eax, dword [ebx + 0x2bc]
call fcn.005a9360
sub edi, eax
mov ebp, dword [ebx + 0x28c]
mov eax, ebp
call fcn.004668b8
xor ecx, ecx
mov edx, dword [ebx + 0x2bc]
call fcn.005a9150
add eax, dword [ebp + 0x40]
mov dword [esp + 0x10], eax
mov ebp, dword [ebx + 0x28c]
mov eax, ebp
call fcn.004668b8
xor ecx, ecx
mov edx, dword [ebx + 0x2bc]
call fcn.005a9150
add eax, eax
mov edx, dword [ebp + 0x48]
sub edx, eax
mov dword [esp + 0x14], edx
test esi, esi
je 0x5aa161
inc esi
jmp 0x5aa161
mov eax, dword [ebx + 0x28c]
mov esi, dword [eax + 0x4c]
mov eax, dword [eax + 0x48]
mov dword [esp + 0x14], eax
mov ebp, dword [ebx + 0x28c]
cmp dword [ebp + 0x30], 0
jne 0x5a9fa0
cmp byte [ebp + 0x22f], 1
je 0x5a9fa0
mov edi, dword [ebp + 0x44]
mov eax, dword [ebp + 0x40]
mov dword [esp + 0x10], eax
jmp 0x5a9fbe
lea eax, [esp + 0x18]
push eax
mov eax, ebp
call fcn.004668b8
push eax
call sub.user32.dll_GetWindowRect
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
mov ebp, dword [ebx + 0x28c]
cmp byte [ebp + 0x22b], 2
jne 0x5aa00e
lea edx, [esp + 0x18]
mov eax, ebp
call fcn.0057fe64
mov eax, dword [ebx + 0x28c]
mov ecx, dword [eax + 0x44]
neg ecx
mov edx, dword [eax + 0x40]
neg edx
lea eax, [esp + 0x18]
call fcn.00406de8
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
call sub.gdi32.dll_CreateRectRgn
mov ebp, eax
jmp 0x5aa01b
xor ecx, ecx
xor edx, edx
mov eax, ebx
call fcn.005aa748
mov ebp, eax
mov dword [esp + 8], ebp
mov eax, dword [ebx + 0x28c]
call fcn.004668b8
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0x28c]
call fcn.004668b8
lea edx, [esp + 8]
call fcn.005a9d30
mov eax, dword [ebx + 0x28c]
call fcn.004668b8
lea edx, [esp + 0x18]
call fcn.00583e94
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
mov eax, dword [esp + 0x24]
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [esp + 4], eax
push 4
mov eax, dword [esp + 8]
push eax
push ebp
push ebp
call sub.gdi32.dll_CombineRgn
mov eax, dword [esp + 4]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [ebx + 0x28c]
cmp dword [eax + 0x30], 0
jne 0x5aa0aa
mov eax, dword [ebx + 0x28c]
cmp byte [eax + 0x22f], 1
jne 0x5aa14d
mov eax, dword [ebx + 0x28c]
call fcn.004668b8
push eax
call sub.user32.dll_GetDC
mov dword [esp], eax
lea eax, [esp + 0x18]
push eax
mov eax, dword [esp + 4]
push eax
call sub.gdi32.dll_GetClipBox
dec eax
jne 0x5aa0f5
lea eax, [ebx + 0x290]
call fcn.0040f124
mov eax, dword [esp]
push eax
mov eax, dword [ebx + 0x28c]
call fcn.004668b8
push eax
call sub.user32.dll_ReleaseDC
jmp 0x5aa24d
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
cmp edx, eax
jle 0x5aa138
mov ecx, dword [esp + 0x1c]
cmp ecx, dword [esp + 0x24]
jge 0x5aa138
mov ecx, dword [esp + 0x24]
push ecx
push edx
mov edx, dword [esp + 0x24]
push edx
push eax
call sub.gdi32.dll_CreateRectRgn
mov dword [esp + 4], eax
push 1
mov eax, dword [esp + 8]
push eax
push ebp
push ebp
call sub.gdi32.dll_CombineRgn
mov eax, dword [esp + 4]
push eax
call sub.gdi32.dll_DeleteObject
mov eax, dword [esp]
push eax
mov eax, dword [ebx + 0x28c]
call fcn.004668b8
push eax
call sub.user32.dll_ReleaseDC
push 0
push ebp
mov eax, dword [ebx + 0x290]
call fcn.004668b8
push eax
call sub.user32.dll_SetWindowRgn
mov eax, dword [esp + 0x14]
push eax
push esi
mov ecx, edi
mov edx, dword [esp + 0x18]
mov eax, dword [ebx + 0x290]
mov ebp, dword [eax]
call dword [ebp + 0x84]
mov ebp, dword [ebx + 0x28c]
cmp byte [ebp + 0x22f], 1
jne 0x5aa1bc
push 0x658
mov eax, ebx
call fcn.005b4164
push eax
mov eax, dword [ebx + 0x28c]
mov eax, dword [eax + 0x48]
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
push 0
mov eax, dword [ebx + 0x290]
call fcn.004668b8
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5aa219
push 0xffffffffffffffec
mov eax, ebp
call fcn.004668b8
push eax
call sub.user32.dll_GetWindowLongA
test al, 8
je 0x5aa1f5
push 0x658
push esi
mov eax, dword [esp + 0x1c]
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
push 0xffffffffffffffff
mov eax, dword [ebx + 0x290]
call fcn.004668b8
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5aa219
push 0x658
push esi
mov eax, dword [esp + 0x1c]
push eax
push edi
mov eax, dword [esp + 0x20]
push eax
push 0
mov eax, dword [ebx + 0x290]
call fcn.004668b8
push eax
call sub.user32.dll_SetWindowPos
push 4
mov eax, dword [ebx + 0x290]
call fcn.004668b8
push eax
call sub.user32.dll_ShowWindow
push 0x105
push 0
push 0
mov eax, dword [ebx + 0x290]
call fcn.004668b8
push eax
call sub.user32.dll_RedrawWindow
push 0x28
call sub.kernel32.dll_Sleep_1
add esp, 0x38
pop ebp
pop edi
pop esi
pop ebx
ret