Function at 0x5171c8
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 0x517800
test edi, edi
je 0x517800
mov eax, edi
call fcn.004a323c
test al, al
je 0x517800
mov eax, esi
call fcn.004a323c
test al, al
je 0x517800
mov eax, ebx
call fcn.00517198
test al, al
je 0x517262
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x517239
push 0
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x517800
push 0
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
jmp 0x517800
mov byte [esp + 0x18], 0
lea edx, [esp + 0x24]
mov eax, ebx
call fcn.00517b88
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.00517ee0
call fcn.005095dc
dec eax
test eax, eax
jl 0x5173a0
inc eax
mov dword [esp + 0x1c], eax
xor ebp, ebp
mov eax, ebx
call fcn.00517ee0
mov edx, ebp
call fcn.00509628
cmp byte [eax + 0x61], 0
je 0x517395
mov eax, ebx
call fcn.00517ee0
mov edx, ebp
call fcn.00509628
call fcn.004a2e88
cmp eax, dword [ebx + 0x3c]
je 0x517395
mov eax, ebx
call fcn.00517ee0
mov dword [esp + 0x20], eax
lea eax, [esp + 0x34]
push eax
mov edx, ebp
mov eax, dword [esp + 0x24]
call fcn.00509628
call fcn.004a2e88
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.0040c408
mov eax, dword [esp + 0x34]
cmp eax, dword [esp + 4]
jge 0x51733f
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
cmp eax, dword [esp + 8]
jge 0x51734d
mov dword [esp + 8], eax
lea eax, [esp + 0x34]
call fcn.0040bd38
add eax, dword [esp + 0x34]
cmp eax, dword [esp + 0xc]
jle 0x517371
lea eax, [esp + 0x34]
call fcn.0040bd38
add eax, dword [esp + 0x34]
mov dword [esp + 0xc], eax
lea eax, [esp + 0x34]
call fcn.0040bd40
add eax, dword [esp + 0x38]
cmp eax, dword [esp + 0x10]
jle 0x517395
lea eax, [esp + 0x34]
call fcn.0040bd40
add eax, dword [esp + 0x38]
mov dword [esp + 0x10], eax
inc ebp
dec dword [esp + 0x1c]
jne 0x5172ae
cmp dword [esp + 4], 0
jl 0x5173ba
lea eax, [esp + 0x24]
call fcn.0040bd38
cmp eax, dword [esp + 0xc]
jl 0x5173ba
xor eax, eax
jmp 0x5173bc
mov al, 1
mov byte [esp + 0x19], al
cmp dword [esp + 8], 0
jl 0x5173da
lea eax, [esp + 0x24]
call fcn.0040bd40
cmp eax, dword [esp + 0x10]
jl 0x5173da
xor eax, eax
jmp 0x5173dc
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x1a], 0
je 0x517411
cmp byte [esp + 0x19], 0
jne 0x517411
cmp dword [esp + 4], 0
jl 0x51740b
lea eax, [esp + 0x24]
call fcn.0040bd38
sub eax, dword [edi + 0x50]
cmp eax, dword [esp + 0xc]
jl 0x51740b
xor eax, eax
jmp 0x51740d
mov al, 1
mov byte [esp + 0x19], al
cmp byte [esp + 0x19], 0
je 0x517442
cmp byte [esp + 0x1a], 0
jne 0x517442
cmp dword [esp + 8], 0
jl 0x51743c
lea eax, [esp + 0x24]
call fcn.0040bd40
sub eax, dword [esi + 0x54]
cmp eax, dword [esp + 0x10]
jl 0x51743c
xor eax, eax
jmp 0x51743e
mov al, 1
mov byte [esp + 0x1a], al
cmp byte [esp + 0x19], 0
je 0x51749c
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x51749c
push 0x40
mov eax, dword [esi + 0x54]
push eax
lea eax, [esp + 0x2c]
call fcn.0040bd38
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.004a2e88
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x5174c8
cmp byte [esp + 0x19], 0
jne 0x5174c8
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5174c8
push 0
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
cmp byte [esp + 0x1a], 0
je 0x51755c
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x51755c
cmp byte [esp + 0x19], 0
je 0x51751b
push 0x40
lea eax, [esp + 0x28]
call fcn.0040bd40
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.004a2e88
push eax
call sub.user32.dll_SetWindowPos
jmp 0x517546
push 0x40
lea eax, [esp + 0x28]
call fcn.0040bd40
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.004a2e88
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
jmp 0x517588
cmp byte [esp + 0x1a], 0
jne 0x517588
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x517588
push 0
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
mov byte [esp + 0x18], 1
lea eax, [esp + 0x24]
call fcn.0040bd38
mov ebp, eax
lea eax, [esp + 0x24]
call fcn.0040bd40
mov dword [esp + 0x14], eax
mov eax, ebx
call fcn.00517968
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x517654
cmp dword [esp + 4], 0
jle 0x5175c9
xor eax, eax
mov dword [esp + 4], eax
lea eax, [esp + 0x24]
call fcn.0040bd38
cmp eax, dword [esp + 0xc]
jle 0x5175e5
lea eax, [esp + 0x24]
call fcn.0040bd38
mov dword [esp + 0xc], eax
cmp byte [esp], 0
je 0x517646
mov byte [ebx + 0x98], 1
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x517611
mov edx, ebp
sub edx, dword [edi + 0x50]
mov eax, esi
call fcn.004b357c
jmp 0x51761a
mov edx, ebp
mov eax, esi
call fcn.004b357c
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.004b33a8
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.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x517705
cmp dword [esp + 8], 0
jle 0x517676
xor eax, eax
mov dword [esp + 8], eax
lea eax, [esp + 0x24]
call fcn.0040bd40
cmp eax, dword [esp + 0x10]
jle 0x517692
lea eax, [esp + 0x24]
call fcn.0040bd40
mov dword [esp + 0x10], eax
cmp byte [esp], 0
je 0x5176f7
mov byte [ebx + 0x99], 1
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5176c0
mov edx, dword [esp + 0x14]
sub edx, dword [esi + 0x54]
mov eax, edi
call fcn.004b357c
jmp 0x5176cb
mov edx, dword [esp + 0x14]
mov eax, edi
call fcn.004b357c
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.004b33a8
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.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x51772c
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x51772c
mov byte [esp + 0x18], 0
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5177a4
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5177a4
mov eax, dword [ebx + 0x94]
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5177a4
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.004a2e88
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebx + 0x94]
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
jmp 0x5177ee
mov eax, esi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5177db
mov eax, edi
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x5177ee
mov eax, dword [ebx + 0x94]
call fcn.004a2e88
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x5177ee
push 0
mov eax, dword [ebx + 0x94]
call fcn.004a2e88
push eax
call sub.user32.dll_ShowWindow
cmp byte [esp + 0x18], 0
je 0x517800
movzx edx, byte [esp]
mov eax, ebx
call fcn.005171c8
add esp, 0x54
pop ebp
pop edi
pop esi
pop ebx
ret