Function at 0x5d77e0
Capabilities:
Hide graphical window

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffffac
mov byte [esp], dl
mov ebx, eax
mov esi, dword [ebx + 0x94]
mov edi, dword [ebx + 0xa4]
test esi, esi
je 0x5d7e40
test edi, edi
je 0x5d7e40
mov eax, edi
call fcn.005443d0
test al, al
je 0x5d7e40
mov eax, esi
call fcn.005443d0
test al, al
je 0x5d7e40
mov eax, ebx
call fcn.005d77b0
test al, al
je 0x5d78a2
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7851
push 0
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7871
push 0
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7e40
push 0
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d7e40
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005d81f4
mov dword [esp + 4], 0x7fffffff
mov dword [esp + 8], 0x7fffffff
mov dword [esp + 0xc], 0x80000001
mov dword [esp + 0x10], 0x80000001
mov eax, ebx
call fcn.005d8830
call fcn.005c729c
dec eax
test eax, eax
jl 0x5d79e0
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005d8830
mov edx, ebp
call fcn.005c72e8
cmp byte [eax + 0x69], 0
je 0x5d79d5
mov eax, ebx
call fcn.005d8830
mov edx, ebp
call fcn.005c72e8
call fcn.00543f68
cmp eax, dword [ebx + 0x44]
je 0x5d79d5
mov eax, ebx
call fcn.005d8830
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005c72e8
call fcn.00543f68
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3d0]
push eax
call sub.user32.dll_GetWindowRect
mov ecx, dword [esp + 0x48]
neg ecx
mov edx, dword [esp + 0x44]
neg edx
lea eax, [esp + 0x34]
call fcn.00413a50
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5d797f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5d798d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.00413328
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5d79b1
lea eax, [esp + 0x34]
call fcn.00413328
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.00413338
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5d79d5
lea eax, [esp + 0x34]
call fcn.00413338
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5d78ee
cmp dword [esp + 4], 0
jl 0x5d79fa
lea eax, [esp + 0x24]
call fcn.00413328
cmp eax, dword [esp + 0xc]
jl 0x5d79fa
xor eax, eax
jmp 0x5d79fc
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5d7a1a
lea eax, [esp + 0x24]
call fcn.00413338
cmp eax, dword [esp + 0x10]
jl 0x5d7a1a
xor eax, eax
jmp 0x5d7a1c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5d7a51
cmp byte [esp + 0x19], 0
jne 0x5d7a51
cmp dword [esp + 4], 0
jl 0x5d7a4b
lea eax, [esp + 0x24]
call fcn.00413328
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5d7a4b
xor eax, eax
jmp 0x5d7a4d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5d7a82
cmp byte [esp + 0x1a], 0
jne 0x5d7a82
cmp dword [esp + 8], 0
jl 0x5d7a7c
lea eax, [esp + 0x24]
call fcn.00413338
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5d7a7c
xor eax, eax
jmp 0x5d7a7e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5d7adc
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d7adc
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.00413328
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d7b08
cmp byte [esp + 0x19], 0
jne 0x5d7b08
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7b08
push 0
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5d7b9c
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d7b9c
cmp byte [esp + 0x19], 0
je 0x5d7b5b
push 0x40
lea eax, [esp + 0x28]
call fcn.00413338
sub eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5d7b86
push 0x40
lea eax, [esp + 0x28]
call fcn.00413338
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x34]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d7bc8
cmp byte [esp + 0x1a], 0
jne 0x5d7bc8
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7bc8
push 0
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.00413328
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.00413338
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005d7fd4
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7c94
cmp dword [esp + 4], 0
jle 0x5d7c09
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.00413328
cmp eax, dword [esp + 0xc]
jle 0x5d7c25
lea eax, [esp + 0x24]
call fcn.00413328
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5d7c86
mov byte [ebx + 0xa0], 1
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7c51
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.00556988
jmp 0x5d7c5a
mov edx, ebp
mov eax, esi
call fcn.00556988
mov eax, dword [esp + 0xc]
sub eax, dword [esp + 4]
dec eax
push eax
mov edx, dword [esp + 8]
neg edx
xor ecx, ecx
mov eax, esi
call fcn.005567b0
mov eax, dword [esi + 0x2b4]
mov dword [ebx + 0xc0], eax
mov byte [ebx + 0xa0], 0
movzx eax, word [esi + 0x2c0]
mov word [esi + 0x2ca], ax
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7d45
cmp dword [esp + 8], 0
jle 0x5d7cb6
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.00413338
cmp eax, dword [esp + 0x10]
jle 0x5d7cd2
lea eax, [esp + 0x24]
call fcn.00413338
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5d7d37
mov byte [ebx + 0xa1], 1
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7d00
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.00556988
jmp 0x5d7d0b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.00556988
mov eax, dword [esp + 0x10]
sub eax, dword [esp + 8]
dec eax
push eax
mov edx, dword [esp + 0xc]
neg edx
xor ecx, ecx
mov eax, edi
call fcn.005567b0
mov eax, dword [edi + 0x2b4]
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xa1], 0
movzx eax, word [edi + 0x2c0]
mov word [edi + 0x2ca], ax
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d7d6c
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d7d6c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7de4
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7de4
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d7de4
push 0x40
mov eax, dword [esi + 0x5c]
push eax
mov ebp, dword [edi + 0x58]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x5c]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d7e2e
mov eax, esi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7e1b
mov eax, edi
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d7e2e
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d7e2e
push 0
mov eax, dword [ebx + 0x9c]
call fcn.00543f68
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5d7e40
movzx edx, byte [esp]
mov eax, ebx
call fcn.005d77e0
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret