Function at 0x5f1e7c
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 + 0x98]
mov edi, dword [ebx + 0xa8]
test esi, esi
je 0x5f24dc
test edi, edi
je 0x5f24dc
mov eax, edi
call fcn.005503d4
test al, al
je 0x5f24dc
mov eax, esi
call fcn.005503d4
test al, al
je 0x5f24dc
mov eax, ebx
call fcn.005f1e4c
test al, al
je 0x5f1f3e
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f1eed
push 0
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f1f0d
push 0
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebx + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f24dc
push 0
mov eax, dword [ebx + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5f24dc
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.005f28c0
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.005f30a8
call fcn.005e0d38
dec eax
test eax, eax
jl 0x5f207c
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.005f30a8
mov edx, ebp
call fcn.005e0d84
cmp byte [eax + 0x69], 0
je 0x5f2071
mov eax, ebx
call fcn.005f30a8
mov edx, ebp
call fcn.005e0d84
call fcn.0054ff6c
cmp eax, dword [ebx + 0x44]
je 0x5f2071
mov eax, ebx
call fcn.005f30a8
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.005e0d84
call fcn.0054ff6c
push eax
call sub.user32.dll_GetWindowRect
lea eax, [esp + 0x44]
push eax
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x420]
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.00414010
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x5f201b
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x5f2029
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.004138fc
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x5f204d
lea eax, [esp + 0x34]
call fcn.004138fc
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0041390c
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x5f2071
lea eax, [esp + 0x34]
call fcn.0041390c
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5f1f8a
cmp dword [esp + 4], 0
jl 0x5f2096
lea eax, [esp + 0x24]
call fcn.004138fc
cmp eax, dword [esp + 0xc]
jl 0x5f2096
xor eax, eax
jmp 0x5f2098
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5f20b6
lea eax, [esp + 0x24]
call fcn.0041390c
cmp eax, dword [esp + 0x10]
jl 0x5f20b6
xor eax, eax
jmp 0x5f20b8
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x5f20ed
cmp byte [esp + 0x19], 0
jne 0x5f20ed
cmp dword [esp + 4], 0
jl 0x5f20e7
lea eax, [esp + 0x24]
call fcn.004138fc
sub eax, dword [edi + 0x58]
cmp eax, dword [esp + 0xc]
jl 0x5f20e7
xor eax, eax
jmp 0x5f20e9
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x5f211e
cmp byte [esp + 0x1a], 0
jne 0x5f211e
cmp dword [esp + 8], 0
jl 0x5f2118
lea eax, [esp + 0x24]
call fcn.0041390c
sub eax, dword [esi + 0x5c]
cmp eax, dword [esp + 0x10]
jl 0x5f2118
xor eax, eax
jmp 0x5f211a
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x5f2178
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f2178
push 0x40
mov eax, dword [esi + 0x5c]
push eax
lea eax, [esp + 0x2c]
call fcn.004138fc
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.0054ff6c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5f21a4
cmp byte [esp + 0x19], 0
jne 0x5f21a4
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f21a4
push 0
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x5f2238
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f2238
cmp byte [esp + 0x19], 0
je 0x5f21f7
push 0x40
lea eax, [esp + 0x28]
call fcn.0041390c
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.0054ff6c
push eax
call sub.user32.dll_SetWindowPos
jmp 0x5f2222
push 0x40
lea eax, [esp + 0x28]
call fcn.0041390c
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.0054ff6c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5f2264
cmp byte [esp + 0x1a], 0
jne 0x5f2264
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f2264
push 0
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.004138fc
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0041390c
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.005f2670
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f2330
cmp dword [esp + 4], 0
jle 0x5f22a5
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.004138fc
cmp eax, dword [esp + 0xc]
jle 0x5f22c1
lea eax, [esp + 0x24]
call fcn.004138fc
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x5f2322
mov byte [ebx + 0xa4], 1
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f22ed
mov edx, ebp
sub edx, dword [edi + 0x58]
mov eax, esi
call fcn.0056597c
jmp 0x5f22f6
mov edx, ebp
mov eax, esi
call fcn.0056597c
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.005657a4
mov eax, dword [esi + 0x2cc]
mov dword [ebx + 0xc4], eax
mov byte [ebx + 0xa4], 0
movzx eax, word [esi + 0x2d8]
mov word [esi + 0x2e2], ax
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f23e1
cmp dword [esp + 8], 0
jle 0x5f2352
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0041390c
cmp eax, dword [esp + 0x10]
jle 0x5f236e
lea eax, [esp + 0x24]
call fcn.0041390c
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5f23d3
mov byte [ebx + 0xa5], 1
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f239c
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x5c]
mov eax, edi
call fcn.0056597c
jmp 0x5f23a7
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.0056597c
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.005657a4
mov eax, dword [edi + 0x2cc]
mov dword [ebx + 0xc8], eax
mov byte [ebx + 0xa5], 0
movzx eax, word [edi + 0x2d8]
mov word [edi + 0x2e2], ax
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f2408
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f2408
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f2480
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f2480
mov eax, dword [ebx + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f2480
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 + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
jmp 0x5f24ca
mov eax, esi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f24b7
mov eax, edi
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5f24ca
mov eax, dword [ebx + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5f24ca
push 0
mov eax, dword [ebx + 0xa0]
call fcn.0054ff6c
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x5f24dc
movzx edx, byte [esp]
mov eax, ebx
call fcn.005f1e7c
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret