Function at 0x5220d0
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, 0x5a43f8
cmp dword [ebx], 0
je 0x5220fc
mov eax, dword [ebx]
cmp dword [eax + 0x5c], 0
je 0x5220fc
mov eax, dword [ebx]
add eax, 0x5c
call fcn.0041a9ac
mov eax, dword [ebp - 4]
mov ecx, 0xa
cdq
idiv ecx
test eax, eax
je 0x52231f
cmp dword [ebx], 0
jne 0x52212a
mov ecx, dword [0x5a4a1c]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x520e90]
call fcn.00505d04
mov dword [ebx], eax
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xac], edx
mov eax, dword [ebx]
mov dword [eax + 0xd0], edi
mov eax, dword [ebx]
mov edx, dword [ebp + 0xc]
mov dword [eax + 0xa8], edx
mov eax, dword [ebx]
mov dword [eax + 0x5c], esi
mov eax, dword [ebx]
movzx edx, byte [ebp + 8]
mov byte [eax + 0xb4], dl
mov edx, 0xa
mov eax, dword [ebx]
call fcn.00505e6c
mov eax, dword [ebx]
mov dword [eax + 0xb8], 0xa
mov eax, dword [ebp - 4]
mov ecx, 0xa
cdq
idiv ecx
mov edx, dword [ebx]
mov dword [edx + 0xb0], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [ebx]
mov dword [edx + 0x60], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0xd0]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [ebx]
mov dword [edx + 0x64], eax
lea ecx, [ebp - 0xc]
xor edx, edx
xor eax, eax
call fcn.004324d8
mov eax, dword [ebx]
mov edx, dword [ebp - 0xc]
mov dword [eax + 0x68], edx
mov edx, dword [ebp - 8]
mov dword [eax + 0x6c], edx
mov eax, dword [ebp + 0xc]
sar eax, 1
jns 0x5221cb
adc eax, 0
mov edx, dword [ebx]
mov byte [edx + 0x72], al
mov eax, dword [ebx]
mov byte [eax + 0x70], 0
mov eax, dword [ebx]
mov byte [eax + 0x71], 0
mov eax, dword [ebx]
mov byte [eax + 0x73], 1
push 0
call sub.user32.dll_GetDC
mov edx, dword [ebx]
mov dword [edx + 0x58], eax
push 0xffffffffffffffec
mov eax, esi
call fcn.004b18ac
push eax
call sub.user32.dll_GetWindowLongW
or eax, 0x80000
or eax, 0x8000000
push eax
push 0xffffffffffffffec
mov eax, esi
call fcn.004b18ac
push eax
call sub.user32.dll_SetWindowLongW
push 2
mov eax, dword [ebx]
add eax, 0x70
push eax
push 0x1fffffff
mov eax, dword [ebx]
add eax, 0x68
push eax
mov eax, edi
call fcn.0045bfa4
call fcn.0045670c
push eax
mov eax, dword [ebx]
add eax, 0x60
push eax
push 0
mov eax, dword [ebx]
mov eax, dword [eax + 0x58]
push eax
mov eax, esi
call fcn.004b18ac
push eax
mov eax, dword [0x5a4658]
mov eax, dword [eax]
call eax
push 4
mov eax, esi
call fcn.004b18ac
push eax
call sub.user32.dll_ShowWindow
push 0x318
mov eax, dword [ebx]
mov eax, dword [eax + 0x64]
push eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x60]
push eax
mov eax, esi
call fcn.004cf810
push eax
mov eax, esi
call fcn.004cf7f0
push eax
push 0xffffffffffffffff
mov eax, esi
call fcn.004b18ac
push eax
call sub.user32.dll_SetWindowPos
mov eax, dword [ebx]
mov edx, dword [eax + 0x64]
mov eax, dword [ebx]
mov eax, dword [eax + 0x60]
call fcn.0051eef8
mov edx, dword [ebx]
mov dword [edx + 0xd4], eax
mov eax, dword [ebx]
mov eax, dword [eax + 0x58]
push eax
push 0
call sub.user32.dll_ReleaseDC
mov eax, dword [ebx]
call fcn.0052503c
mov eax, dword [0x5a4a1c]
mov eax, dword [eax]
cmp byte [eax + 0xa4], 0
jne 0x52230d
mov eax, dword [ebx]
push eax
push fcn.005251d4
mov eax, dword [ebx]
call fcn.00505e88
mov eax, dword [ebx]
xor edx, edx
mov dword [eax + 0xac], edx
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.005251d4
mov dl, 1
mov eax, dword [ebx]
call fcn.00505e5c
jmp 0x52231f
mov edx, dword [ebx]
mov eax, dword [ebx]
call fcn.005251d4
push 0xa
call sub.kernel32.dll_Sleep_1
mov eax, dword [ebx]
mov eax, dword [eax + 0xac]
mov edx, dword [ebx]
cmp eax, dword [edx + 0xb0]
jle 0x5222fd
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8