Function at 0x5f5610
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 + 0x8c]
mov edi, dword [ebx + 0x9c]
test esi, esi
je 0x5f5c70
test edi, edi
je 0x5f5c70
mov eax, edi
call fcn.0053f328
test al, al
je 0x5f5c70
mov eax, esi
call fcn.0053f328
test al, al
je 0x5f5c70
mov eax, ebx
call fcn.005f55e0
test al, al
je 0x5f56d2
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5681
push 0
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f56a1
push 0
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5c70
push 0
mov eax, dword [ebx + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
jmp 0x5f5c70
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005f6024
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.005f63cc
call fcn.005e43ac
dec eax
test eax, eax
jl 0x5f5810
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005f63cc
mov edx, ebp
call fcn.005e43f8
cmp byte [eax + 0x69], 0
je 0x5f5805
mov eax, ebx
call fcn.005f63cc
mov edx, ebp
call fcn.005e43f8
call fcn.0053ef54
cmp eax, dword [ebx + 0x3c]
je 0x5f5805
mov eax, ebx
call fcn.005f63cc
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005e43f8
call fcn.0053ef54
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3c4]
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.00413114
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5f57af
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5f57bd
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.004129e4
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5f57e1
lea eax, [esp + 0x34]
call fcn.004129e4
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.004129ec
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5f5805
lea eax, [esp + 0x34]
call fcn.004129ec
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5f571e
cmp dword [esp + 4], 0
jl 0x5f582a
lea eax, [esp + 0x24]
call fcn.004129e4
cmp eax, dword [esp + 0xc]
jl 0x5f582a
xor eax, eax
jmp 0x5f582c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5f584a
lea eax, [esp + 0x24]
call fcn.004129ec
cmp eax, dword [esp + 0x10]
jl 0x5f584a
xor eax, eax
jmp 0x5f584c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5f5881
cmp byte [esp + 0x19], 0
jne 0x5f5881
cmp dword [esp + 4], 0
jl 0x5f587b
lea eax, [esp + 0x24]
call fcn.004129e4
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5f587b
xor eax, eax
jmp 0x5f587d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5f58b2
cmp byte [esp + 0x1a], 0
jne 0x5f58b2
cmp dword [esp + 8], 0
jl 0x5f58ac
lea eax, [esp + 0x24]
call fcn.004129ec
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5f58ac
xor eax, eax
jmp 0x5f58ae
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5f590c
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f590c
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.004129e4
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.0053ef54
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5f5938
cmp byte [esp + 0x19], 0
jne 0x5f5938
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5938
push 0
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5f59cc
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f59cc
cmp byte [esp + 0x19], 0
je 0x5f598b
push 0x40
lea eax, [esp + 0x28]
call fcn.004129ec
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.0053ef54
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5f59b6
push 0x40
lea eax, [esp + 0x28]
call fcn.004129ec
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.0053ef54
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5f59f8
cmp byte [esp + 0x1a], 0
jne 0x5f59f8
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f59f8
push 0
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.004129e4
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.004129ec
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005f5e04
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5ac4
cmp dword [esp + 4], 0
jle 0x5f5a39
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.004129e4
cmp eax, dword [esp + 0xc]
jle 0x5f5a55
lea eax, [esp + 0x24]
call fcn.004129e4
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5f5ab6
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5a81
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.005520b4
jmp 0x5f5a8a
mov edx, ebp
mov eax, esi
call fcn.005520b4
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.00551ee0
mov eax, dword [esi + 0x2a4]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2b0]
mov word [esi + 0x2ba], ax
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5b75
cmp dword [esp + 8], 0
jle 0x5f5ae6
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.004129ec
cmp eax, dword [esp + 0x10]
jle 0x5f5b02
lea eax, [esp + 0x24]
call fcn.004129ec
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5f5b67
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5b30
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.005520b4
jmp 0x5f5b3b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.005520b4
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.00551ee0
mov eax, dword [edi + 0x2a4]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2b0]
mov word [edi + 0x2ba], ax
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f5b9c
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f5b9c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5c14
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5c14
mov eax, dword [ebx + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f5c14
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 + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
jmp 0x5f5c5e
mov eax, esi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5c4b
mov eax, edi
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f5c5e
mov eax, dword [ebx + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f5c5e
push 0
mov eax, dword [ebx + 0x94]
call fcn.0053ef54
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5f5c70
movzx edx, byte [esp]
mov eax, ebx
call fcn.005f5610
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret