Function at 0x582458
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 0x582a90
test edi, edi
je 0x582a90
mov eax, edi
call fcn.005b109c
test al, al
je 0x582a90
mov eax, esi
call fcn.005b109c
test al, al
je 0x582a90
mov eax, ebx
call fcn.00582428
test al, al
je 0x5824f2
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x5824c9
push 0
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582a90
push 0
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x582a90
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00582e18
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.00583170
call fcn.005728ac
dec eax
test eax, eax
jl 0x582630
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00583170
mov edx, ebp
call fcn.005728f8
cmp byte [eax + 0x61], 0
je 0x582625
mov eax, ebx
call fcn.00583170
mov edx, ebp
call fcn.005728f8
call fcn.005b0cf0
cmp eax, dword [ebx + 0x3c]
je 0x582625
mov eax, ebx
call fcn.00583170
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005728f8
call fcn.005b0cf0
push eax
call sub.USER32.DLL_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x384]
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.0047daa8
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5825cf
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5825dd
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0047d35c
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x582601
lea eax, [esp + 0x34]
call fcn.0047d35c
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0047d364
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x582625
lea eax, [esp + 0x34]
call fcn.0047d364
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x58253e
cmp dword [esp + 4], 0
jl 0x58264a
lea eax, [esp + 0x24]
call fcn.0047d35c
cmp eax, dword [esp + 0xc]
jl 0x58264a
xor eax, eax
jmp 0x58264c
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x58266a
lea eax, [esp + 0x24]
call fcn.0047d364
cmp eax, dword [esp + 0x10]
jl 0x58266a
xor eax, eax
jmp 0x58266c
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5826a1
cmp byte [esp + 0x19], 0
jne 0x5826a1
cmp dword [esp + 4], 0
jl 0x58269b
lea eax, [esp + 0x24]
call fcn.0047d35c
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x58269b
xor eax, eax
jmp 0x58269d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5826d2
cmp byte [esp + 0x1a], 0
jne 0x5826d2
cmp dword [esp + 8], 0
jl 0x5826cc
lea eax, [esp + 0x24]
call fcn.0047d364
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x5826cc
xor eax, eax
jmp 0x5826ce
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x58272c
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
jne 0x58272c
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0047d35c
push eax
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x34]
push eax
push 0
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_SetWindowPos
push 5
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x582758
cmp byte [esp + 0x19], 0
jne 0x582758
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582758
push 0
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5827ec
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
jne 0x5827ec
cmp byte [esp + 0x19], 0
je 0x5827ab
push 0x40
lea eax, [esp + 0x28]
call fcn.0047d364
sub eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
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.005b0cf0
push eax
call sub.USER32.DLL_SetWindowPos
jmp 0x5827d6
push 0x40
lea eax, [esp + 0x28]
call fcn.0047d364
push eax
mov ebp, dword [edi + 0x50]
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.005b0cf0
push eax
call sub.USER32.DLL_SetWindowPos
push 5
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x582818
cmp byte [esp + 0x1a], 0
jne 0x582818
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582818
push 0
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0047d35c
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0047d364
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00582bf8
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x5828e4
cmp dword [esp + 4], 0
jle 0x582859
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0047d35c
cmp eax, dword [esp + 0xc]
jle 0x582875
lea eax, [esp + 0x24]
call fcn.0047d35c
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5828d6
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x5828a1
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.0052d140
jmp 0x5828aa
mov edx, ebp
mov eax, esi
call fcn.0052d140
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.0052cf6c
mov eax, dword [esi + 0x27c]
mov dword [ebx + 0xb8], eax
mov byte [ebx + 0x98], 0
movzx eax, word [esi + 0x288]
mov word [esi + 0x292], ax
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582995
cmp dword [esp + 8], 0
jle 0x582906
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0047d364
cmp eax, dword [esp + 0x10]
jle 0x582922
lea eax, [esp + 0x24]
call fcn.0047d364
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x582987
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582950
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.0052d140
jmp 0x58295b
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0052d140
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.0052cf6c
mov eax, dword [edi + 0x27c]
mov dword [ebx + 0xbc], eax
mov byte [ebx + 0x99], 0
movzx eax, word [edi + 0x288]
mov word [edi + 0x292], ax
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
jne 0x5829bc
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
jne 0x5829bc
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582a34
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582a34
mov eax, dword [ebx + 0x94]
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
jne 0x582a34
push 0x40
mov eax, dword [esi + 0x54]
push eax
mov ebp, dword [edi + 0x50]
push ebp
mov eax, dword [esp + 0x3c]
sub eax, dword [esi + 0x54]
push eax
mov eax, dword [esp + 0x3c]
sub eax, ebp
push eax
push 0
mov eax, dword [ebx + 0x94]
call fcn.005b0cf0
push eax
call sub.USER32.DLL_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
jmp 0x582a7e
mov eax, esi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582a6b
mov eax, edi
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
jne 0x582a7e
mov eax, dword [ebx + 0x94]
call fcn.005b0cf0
push eax
call sub.USER32.DLL_IsWindowVisible
test eax, eax
je 0x582a7e
push 0
mov eax, dword [ebx + 0x94]
call fcn.005b0cf0
push eax
call sub.USER32.DLL_ShowWindow
cmp byte [esp + 0x18], 0
je 0x582a90
movzx edx, byte [esp]
mov eax, ebx
call fcn.00582458
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret