Function at 0x5d9124
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 0x5d975c
test edi, edi
je 0x5d975c
mov eax, edi
call fcn.0052a2b0
test al, al
je 0x5d975c
mov eax, esi
call fcn.0052a2b0
test al, al
je 0x5d975c
mov eax, ebx
call fcn.005d90f4
test al, al
je 0x5d91be
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9195
push 0
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d975c
push 0
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d975c
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005d9ae4
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.005d9e3c
call fcn.005cb0c4
dec eax
test eax, eax
jl 0x5d92fc
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005d9e3c
mov edx, ebp
call fcn.005cb110
cmp byte [eax + 0x69], 0
je 0x5d92f1
mov eax, ebx
call fcn.005d9e3c
mov edx, ebp
call fcn.005cb110
call fcn.00529ee0
cmp eax, dword [ebx + 0x3c]
je 0x5d92f1
mov eax, ebx
call fcn.005d9e3c
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005cb110
call fcn.00529ee0
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x3a4]
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.0040fda8
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5d929b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5d92a9
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040f6b4
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5d92cd
lea eax, [esp + 0x34]
call fcn.0040f6b4
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040f6bc
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5d92f1
lea eax, [esp + 0x34]
call fcn.0040f6bc
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5d920a
cmp dword [esp + 4], 0
jl 0x5d9316
lea eax, [esp + 0x24]
call fcn.0040f6b4
cmp eax, dword [esp + 0xc]
jl 0x5d9316
xor eax, eax
jmp 0x5d9318
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5d9336
lea eax, [esp + 0x24]
call fcn.0040f6bc
cmp eax, dword [esp + 0x10]
jl 0x5d9336
xor eax, eax
jmp 0x5d9338
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5d936d
cmp byte [esp + 0x19], 0
jne 0x5d936d
cmp dword [esp + 4], 0
jl 0x5d9367
lea eax, [esp + 0x24]
call fcn.0040f6b4
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5d9367
xor eax, eax
jmp 0x5d9369
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5d939e
cmp byte [esp + 0x1a], 0
jne 0x5d939e
cmp dword [esp + 8], 0
jl 0x5d9398
lea eax, [esp + 0x24]
call fcn.0040f6bc
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5d9398
xor eax, eax
jmp 0x5d939a
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5d93f8
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d93f8
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.0040f6b4
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.00529ee0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d9424
cmp byte [esp + 0x19], 0
jne 0x5d9424
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9424
push 0
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5d94b8
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d94b8
cmp byte [esp + 0x19], 0
je 0x5d9477
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f6bc
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.00529ee0
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5d94a2
push 0x40
lea eax, [esp + 0x28]
call fcn.0040f6bc
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.00529ee0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5d94e4
cmp byte [esp + 0x1a], 0
jne 0x5d94e4
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d94e4
push 0
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040f6b4
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040f6bc
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005d98c4
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d95b0
cmp dword [esp + 4], 0
jle 0x5d9525
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040f6b4
cmp eax, dword [esp + 0xc]
jle 0x5d9541
lea eax, [esp + 0x24]
call fcn.0040f6b4
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5d95a2
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d956d
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0053ab38
jmp 0x5d9576
mov edx, ebp
mov eax, esi
call fcn.0053ab38
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.0053a964
mov eax, dword [esi + 0x294]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x2a0]
mov word [esi + 0x2aa], ax
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9661
cmp dword [esp + 8], 0
jle 0x5d95d2
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040f6bc
cmp eax, dword [esp + 0x10]
jle 0x5d95ee
lea eax, [esp + 0x24]
call fcn.0040f6bc
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5d9653
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d961c
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0053ab38
jmp 0x5d9627
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0053ab38
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.0053a964
mov eax, dword [edi + 0x294]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x2a0]
mov word [edi + 0x2aa], ax
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9688
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9688
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9700
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9700
mov eax, dword [ebx + 0x94]
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d9700
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.00529ee0
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
jmp 0x5d974a
mov eax, esi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d9737
mov eax, edi
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5d974a
mov eax, dword [ebx + 0x94]
call fcn.00529ee0
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5d974a
push 0
mov eax, dword [ebx + 0x94]
call fcn.00529ee0
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5d975c
movzx edx, byte [esp]
mov eax, ebx
call fcn.005d9124
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret