Function at 0x519d24
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffff4
push ebx
push esi
push edi
mov dword [ebp - 4], ecx
mov edi, edx
mov esi, eax
mov ebx, 0x69ea34
cmp dword [ebx], 0
je 0x519d58
mov eax, dword [ebx]
cmp dword [eax + 0x64], 0
je 0x519d58
mov eax, dword [ebx]
add eax, 0x64
mov edx, dword [eax]
xor ecx, ecx
mov dword [eax], ecx
mov eax, edx
call fcn.004050e8
mov eax, dword [ebp - 4]
mov ecx, 0xc
cdq
idiv ecx
test eax, eax
jne 0x519d86
test esi, esi
je 0x519d72
mov eax, esi
call fcn.004050e8
test edi, edi
je 0x51a00e
mov eax, edi
call fcn.004050e8
jmp 0x51a00e
cmp dword [ebx], 0
jne 0x519da1
mov ecx, dword [0x6a2020]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x518a30]
call fcn.0051d5d4
mov dword [ebx], eax
mov eax, dword [ebx]
mov edx, dword [ebp + 8]
mov dword [eax + 0x5c], edx
mov eax, dword [ebx]
mov byte [eax + 0xc4], 0
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xb4], edx
mov eax, dword [ebx]
mov eax, dword [eax + 0xd8]
test eax, eax
je 0x519de0
cmp edi, eax
je 0x519de0
mov eax, dword [ebx]
add eax, 0xd8
mov edx, dword [eax]
xor ecx, ecx
mov dword [eax], ecx
mov eax, edx
call fcn.004050e8
mov eax, dword [ebx]
mov dword [eax + 0xd8], edi
mov eax, dword [ebx]
mov edx, dword [ebp + 0x10]
mov dword [eax + 0xb0], edx
mov eax, dword [ebx]
mov dword [eax + 0x64], esi
mov eax, dword [ebx]
movzx edx, byte [ebp + 0xc]
mov byte [eax + 0xbc], dl
mov edx, 0xc
mov eax, dword [ebx]
call fcn.00505dac
mov eax, dword [ebx]
mov dword [eax + 0xc0], 0xc
mov eax, dword [ebp - 4]
mov ecx, 0xc
cdq
idiv ecx
mov edx, dword [ebx]
mov dword [edx + 0xb8], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xd8]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebx]
mov dword [edx + 0x68], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xd8]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [ebx]
mov dword [edx + 0x6c], eax
xor eax, eax
mov dword [ebp - 0xc], eax
xor eax, eax
mov dword [ebp - 8], eax
mov eax, dword [ebx]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x70], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x74], edx
movzx eax, byte [ebp + 0x10]
mov edx, dword [ebx]
mov byte [edx + 0x7a], al
mov eax, dword [ebx]
mov byte [eax + 0x78], 0
mov eax, dword [ebx]
mov byte [eax + 0x79], 0
mov eax, dword [ebx]
mov byte [eax + 0x7b], 1
push 0
call sub.user32.dll_GetDC
mov edx, dword [ebx]
mov dword [edx + 0x60], eax
push 0xffffffffffffffec
mov eax, esi
call fcn.004cdf0c
push eax
call sub.user32.dll_GetWindowLongW
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, esi
call fcn.004cdf0c
push eax
call sub.user32.dll_SetWindowLongW
push 2
mov eax, dword [ebx]
add eax, 0x78
push eax
push 0x1fffffff
mov eax, dword [ebx]
add eax, 0x70
push eax
mov eax, edi
call fcn.00460284
call fcn.0045a64c
push eax
mov eax, dword [ebx]
add eax, 0x68
push eax
push 0
mov eax, dword [ebx]
mov eax, dword [eax + 0x60]
push eax
mov eax, esi
call fcn.004cdf0c
push eax
mov eax, dword [0x6a19d0]
mov eax, dword [eax]
call eax
push 4
mov eax, esi
call fcn.004cdf0c
push eax
call sub.user32.dll_ShowWindow
push 0xffffffffffffffec
mov eax, esi
call fcn.004cdf0c
push eax
call sub.user32.dll_GetWindowLongW
and eax, 8
cmp eax, 8
jne 0x519f25
or edi, 0xffffffff
jmp 0x519f36
push 3
mov eax, esi
call fcn.004cdf0c
push eax
call sub.user32.dll_GetWindow
mov edi, eax
push 0x318
mov eax, dword [ebx]
mov eax, dword [eax + 0x6c]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x68]
push eax
mov eax, esi
call fcn.004ebee0
push eax
mov eax, esi
call fcn.004ebec0
push eax
push edi
mov eax, esi
call fcn.004cdf0c
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx]
cmp dword [eax + 0xdc], 0
je 0x519f84
mov eax, dword [ebx]
add eax, 0xdc
mov edx, dword [eax]
xor ecx, ecx
mov dword [eax], ecx
mov eax, edx
call fcn.004050e8
mov eax, dword [ebx]
mov edx, dword [eax + 0x6c]
mov eax, dword [ebx]
mov eax, dword [eax + 0x68]
call fcn.005bcb7c
mov edx, dword [ebx]
mov dword [edx + 0xdc], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x60]
push eax
push 0
call sub.user32.dll_ReleaseDC
mov eax, dword [ebx]
call fcn.0051d44c
mov eax, dword [0x6a2020]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x519ffc
mov eax, dword [ebx]
push eax
push fcn.0051d67c
mov eax, dword [ebx]
call fcn.00505dd4
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xb4], edx
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.0051d67c
mov dl, 1
mov eax, dword [ebx]
call fcn.00505d9c
jmp 0x51a00e
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.0051d67c
push 0xc
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebx]
mov eax, dword [eax + 0xb4]
mov edx, dword [ebx]
cmp eax, dword [edx + 0xb8]
jle 0x519fec
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc