Function at 0x518a00
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffff98
mov byte [ebp - 5], dl
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x8c]
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x9c]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x2c], 0
je 0x51908e
cmp dword [ebp - 0x30], 0
je 0x51908e
mov eax, dword [ebp - 0x30]
call fcn.00547294
test al, al
je 0x51908e
mov eax, dword [ebp - 0x2c]
call fcn.00547294
test al, al
je 0x51908e
mov eax, dword [ebp - 4]
call fcn.005189c0
test al, al
je 0x518ab1
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518a86
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x51908e
push 0
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
jmp 0x51908e
mov byte [ebp - 0x25], 0
lea edx, [ebp - 0x48]
mov eax, dword [ebp - 4]
call fcn.00519504
mov dword [ebp - 0x10], 0x7fffffff
mov dword [ebp - 0x14], 0x7fffffff
mov dword [ebp - 0x18], 0x80000001
mov dword [ebp - 0x1c], 0x80000001
mov eax, dword [ebp - 4]
call fcn.005198cc
call fcn.00507730
dec eax
test eax, eax
jl 0x518be9
inc eax
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xc], 0
mov eax, dword [ebp - 4]
call fcn.005198cc
mov edx, dword [ebp - 0xc]
call fcn.00507798
cmp byte [eax + 0x61], 0
je 0x518bdd
mov eax, dword [ebp - 4]
call fcn.005198cc
mov edx, dword [ebp - 0xc]
call fcn.00507798
call fcn.00546cfc
mov edx, dword [ebp - 4]
cmp eax, dword [edx + 0x3c]
je 0x518bdd
mov eax, dword [ebp - 4]
call fcn.005198cc
mov dword [ebp - 0x38], eax
lea eax, [ebp - 0x58]
push eax
mov edx, dword [ebp - 0xc]
mov eax, dword [ebp - 0x38]
call fcn.00507798
call fcn.00546cfc
push eax
call sub.user32.dll_GetWindowRect
lea eax, [ebp - 0x68]
push eax
mov eax, dword [ebp - 4]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x384]
push eax
call sub.user32.dll_GetWindowRect
mov ecx, dword [ebp - 0x64]
neg ecx
mov edx, dword [ebp - 0x68]
neg edx
lea eax, [ebp - 0x58]
call fcn.0040d258
mov eax, dword [ebp - 0x10]
cmp eax, dword [ebp - 0x58]
jle 0x518b93
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov eax, dword [ebp - 0x14]
cmp eax, dword [ebp - 0x54]
jle 0x518ba1
mov eax, dword [ebp - 0x54]
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x58]
call fcn.0040cb88
add eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x18]
jle 0x518bbf
lea eax, [ebp - 0x58]
call fcn.0040cb88
add eax, dword [ebp - 0x58]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x58]
call fcn.0040cb90
add eax, dword [ebp - 0x54]
cmp eax, dword [ebp - 0x1c]
jle 0x518bdd
lea eax, [ebp - 0x58]
call fcn.0040cb90
add eax, dword [ebp - 0x54]
mov dword [ebp - 0x1c], eax
inc dword [ebp - 0xc]
dec dword [ebp - 0x34]
jne 0x518afd
cmp dword [ebp - 0x10], 0
jl 0x518c00
lea eax, [ebp - 0x48]
call fcn.0040cb88
cmp eax, dword [ebp - 0x18]
jl 0x518c00
xor eax, eax
jmp 0x518c02
mov al, 1
mov byte [ebp - 0x26], al
cmp dword [ebp - 0x14], 0
jl 0x518c1c
lea eax, [ebp - 0x48]
call fcn.0040cb90
cmp eax, dword [ebp - 0x1c]
jl 0x518c1c
xor eax, eax
jmp 0x518c1e
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x27], 0
je 0x518c4f
cmp byte [ebp - 0x26], 0
jne 0x518c4f
cmp dword [ebp - 0x10], 0
jl 0x518c4a
lea eax, [ebp - 0x48]
call fcn.0040cb88
mov edx, dword [ebp - 0x30]
sub eax, dword [edx + 0x50]
cmp eax, dword [ebp - 0x18]
jl 0x518c4a
xor eax, eax
jmp 0x518c4c
mov al, 1
mov byte [ebp - 0x26], al
cmp byte [ebp - 0x26], 0
je 0x518c7d
cmp byte [ebp - 0x27], 0
jne 0x518c7d
cmp dword [ebp - 0x14], 0
jl 0x518c78
lea eax, [ebp - 0x48]
call fcn.0040cb90
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
cmp eax, dword [ebp - 0x1c]
jl 0x518c78
xor eax, eax
jmp 0x518c7a
mov al, 1
mov byte [ebp - 0x27], al
cmp byte [ebp - 0x26], 0
je 0x518cdb
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x518cdb
push 0x40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x54]
push eax
lea eax, [ebp - 0x48]
call fcn.0040cb88
push eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
push eax
mov eax, dword [ebp - 0x48]
push eax
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x518d07
cmp byte [ebp - 0x26], 0
jne 0x518d07
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518d07
push 0
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
cmp byte [ebp - 0x27], 0
je 0x518dab
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x518dab
cmp byte [ebp - 0x26], 0
je 0x518d65
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040cb90
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
sub edx, dword [eax + 0x50]
push edx
push 0
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_SetWindowPos
jmp 0x518d95
push 0x40
lea eax, [ebp - 0x48]
call fcn.0040cb90
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x44]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
sub edx, dword [eax + 0x50]
push edx
push 0
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
jmp 0x518dd7
cmp byte [ebp - 0x27], 0
jne 0x518dd7
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518dd7
push 0
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
mov byte [ebp - 0x25], 1
lea eax, [ebp - 0x48]
call fcn.0040cb88
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x48]
call fcn.0040cb90
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 4]
call fcn.0051925c
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518eb5
cmp dword [ebp - 0x10], 0
jle 0x518e16
xor eax, eax
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x48]
call fcn.0040cb88
cmp eax, dword [ebp - 0x18]
jle 0x518e2e
lea eax, [ebp - 0x48]
call fcn.0040cb88
mov dword [ebp - 0x18], eax
cmp byte [ebp - 5], 0
je 0x518ea1
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 1
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518e63
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x20]
sub edx, dword [eax + 0x50]
mov eax, dword [ebp - 0x2c]
call fcn.0048da68
jmp 0x518e6e
mov edx, dword [ebp - 0x20]
mov eax, dword [ebp - 0x2c]
call fcn.0048da68
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x10]
dec eax
push eax
mov edx, dword [ebp - 0x10]
neg edx
xor ecx, ecx
mov eax, dword [ebp - 0x2c]
call fcn.0048d820
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
mov dword [edx + 0xb8], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x98], 0
mov eax, dword [ebp - 0x2c]
mov ax, word [eax + 0x288]
mov edx, dword [ebp - 0x2c]
mov word [edx + 0x292], ax
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518f75
cmp dword [ebp - 0x14], 0
jle 0x518ed6
xor eax, eax
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0x48]
call fcn.0040cb90
cmp eax, dword [ebp - 0x1c]
jle 0x518eee
lea eax, [ebp - 0x48]
call fcn.0040cb90
mov dword [ebp - 0x1c], eax
cmp byte [ebp - 5], 0
je 0x518f61
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 1
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x518f23
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x2c]
sub edx, dword [eax + 0x54]
mov eax, dword [ebp - 0x30]
call fcn.0048da68
jmp 0x518f2e
mov edx, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
call fcn.0048da68
mov eax, dword [ebp - 0x1c]
sub eax, dword [ebp - 0x14]
dec eax
push eax
mov edx, dword [ebp - 0x14]
neg edx
xor ecx, ecx
mov eax, dword [ebp - 0x30]
call fcn.0048d820
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x27c]
mov edx, dword [ebp - 4]
mov dword [edx + 0xbc], eax
mov eax, dword [ebp - 4]
mov byte [eax + 0x99], 0
mov eax, dword [ebp - 0x30]
mov ax, word [eax + 0x288]
mov edx, dword [ebp - 0x30]
mov word [edx + 0x292], ax
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x518f9d
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x518f9d
mov byte [ebp - 0x25], 0
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x51902b
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x51902b
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x51902b
push 0x40
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x54]
push eax
mov eax, dword [ebp - 0x30]
mov eax, dword [eax + 0x50]
push eax
mov eax, dword [ebp - 0x3c]
mov edx, dword [ebp - 0x2c]
sub eax, dword [edx + 0x54]
push eax
mov eax, dword [ebp - 0x30]
mov edx, dword [ebp - 0x40]
sub edx, dword [eax + 0x50]
push edx
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00546cfc
push eax
call sub.user32.dll_SetWindowPos
push 5
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
jmp 0x51907d
mov eax, dword [ebp - 0x2c]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x519067
mov eax, dword [ebp - 0x30]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
jne 0x51907d
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00546cfc
push eax
call sub.user32.dll_IsWindowVisible
test eax, eax
je 0x51907d
push 0
mov eax, dword [ebp - 4]
mov eax, dword [eax + 0x94]
call fcn.00546cfc
push eax
call sub.user32.dll_ShowWindow
cmp byte [ebp - 0x25], 0
je 0x51908e
mov dl, byte [ebp - 5]
mov eax, dword [ebp - 4]
call fcn.00518a00
mov esp, ebp
pop ebp
ret