Function at 0x4f7fd0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x544210
mov eax, dword fs:[0]
push eax
sub esp, 0x88
mov eax, dword [0x577018]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
cmp byte [ebx + 0x69c], 0
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x7c], edi
jne 0x4f8024
push edi
push dword [ebp + 0xc]
push dword [ebp + 8]
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_DefWindowProcW]
jmp 0x4f84b7
xor eax, eax
mov dword [ebp - 0x2c], 0
mov byte [ebp - 0x75], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 7
mov word [ebp - 0x2c], ax
mov esi, dword [ebp + 8]
mov dword [ebp - 4], eax
cmp esi, 0xa2
ja 0x4f8450
je 0x4f8100
mov eax, esi
sub eax, 0x83
je 0x4f80db
sub eax, 1
jne 0x4f81da
lea eax, [ebp - 0x14]
push eax
push edi
push dword [ebp + 0xc]
push esi
push dword [ebx + 4]
call dword [sym.imp.dwmapi.dll_DwmDefWindowProc]
test eax, eax
je 0x4f808b
mov esi, dword [ebp - 0x14]
jmp 0x4f81ea
lea eax, [ebp - 0x75]
push eax
push edi
push ecx
mov ecx, ebx
call fcn.004f7d00
cmp byte [ebp - 0x75], 0
mov esi, eax
mov dword [ebp - 0x14], esi
je 0x4f80c5
push 1
push 0
lea eax, [ebx + 0x530]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
mov eax, dword [ebp + 0xc]
push edi
push eax
mov eax, dword [ebp + 8]
push eax
jmp 0x4f81df
test esi, esi
jne 0x4f81ea
mov eax, dword [ebp + 0xc]
push edi
push eax
mov eax, dword [ebp + 8]
push eax
jmp 0x4f81df
cmp dword [ebp + 0xc], 0
jne 0x4f80e9
push edi
push 0
jmp 0x4f81de
cvttsd2si eax, qword [0x577b80]
add dword [edi], eax
sub dword [edi + 8], eax
sub dword [edi + 0xc], eax
xor esi, esi
jmp 0x4f81ea
cmp byte [ebx + 0x541], 0
je 0x4f8227
push 0
push dword [ebx + 4]
mov byte [ebx + 0x541], 0
call dword [sym.imp.USER32.dll_GetSystemMenu]
mov esi, dword [sym.imp.USER32.dll_SetMenuItemInfoW]
mov edi, eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], 0x30
push eax
push 0
push 0xf030
push edi
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x68], 3
call esi
lea eax, [ebp - 0x74]
mov dword [ebp - 0x74], 0x30
push eax
push 0
push 0xf120
push edi
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x68], 3
call esi
lea eax, [ebp - 0x3c]
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_GetWindowRect]
movsd xmm0, qword [0x577b80]
mulsd xmm0, qword [0x568260]
mov eax, dword [ebp - 0x38]
cvttsd2si edx, qword [0x577b80]
push 0
push dword [ebx + 4]
cvttsd2si ecx, xmm0
push 0
add eax, ecx
push eax
mov eax, dword [ebp - 0x3c]
add eax, edx
push eax
push 0x100
push edi
call dword [sym.imp.USER32.dll_TrackPopupMenu]
cmp eax, 0xf120
je 0x4f81d4
cmp eax, 0xf030
je 0x4f81d4
push 0
push eax
push 0x112
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_PostMessageW]
mov edi, dword [ebp - 0x7c]
mov esi, dword [ebp + 8]
push edi
push dword [ebp + 0xc]
push esi
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_DefWindowProcW]
mov esi, eax
mov ecx, dword [ebp - 0x18]
cmp ecx, 8
jb 0x4f84b5
mov edx, dword [ebp - 0x2c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f84ab
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f84d5
jmp 0x4f84ab
cmp byte [ebx + 0x540], 0
je 0x4f81da
mov eax, dword [0x577b88]
cvttsd2si edx, qword [ebx + 0x688]
mov dword [ebx + 0x678], eax
lea ecx, [eax + 1]
lea eax, [ecx + 1]
mov dword [ebx + 0x698], ecx
lea ecx, [ebp - 0x5c]
mov dword [0x577b88], eax
call fcn.00410210
push 0x566528
mov edx, eax
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x94]
call fcn.004175c0
lea esi, [ebx + 0x4d8]
mov byte [ebp - 4], 2
push esi
mov edx, eax
lea ecx, [ebp - 0x44]
call fcn.004c45b0
add esp, 8
lea ecx, [ebp - 0x2c]
push eax
call fcn.00409640
mov ecx, dword [ebp - 0x30]
cmp ecx, 8
jb 0x4f82cd
mov edx, dword [ebp - 0x44]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f82c3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f84da
push ecx
push edx
call fcn.00517162
add esp, 8
xor eax, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x80]
mov dword [ebp - 0x34], 0
mov dword [ebp - 0x30], 7
mov word [ebp - 0x44], ax
cmp ecx, 8
jb 0x4f8322
mov edx, dword [ebp - 0x94]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f8318
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f84da
push ecx
push edx
call fcn.00517162
add esp, 8
xor eax, eax
mov dword [ebp - 0x84], 0
mov byte [ebp - 4], al
mov ecx, dword [ebp - 0x48]
mov dword [ebp - 0x80], 7
mov word [ebp - 0x94], ax
cmp ecx, 8
jb 0x4f8379
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f836f
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f84da
push ecx
push edx
call fcn.00517162
add esp, 8
mov eax, dword [ebx]
mov ecx, ebx
mov eax, dword [eax + 0x90]
call eax
test al, al
jne 0x4f83dd
push esi
mov edx, 0x566550
lea ecx, [ebp - 0x5c]
call fcn.00417630
add esp, 4
lea ecx, [ebp - 0x2c]
push eax
call fcn.00409640
mov ecx, dword [ebp - 0x48]
cmp ecx, 8
jb 0x4f83dd
mov edx, dword [ebp - 0x5c]
lea ecx, [ecx*2 + 2]
mov eax, edx
cmp ecx, 0x1000
jb 0x4f83d3
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x4f84df
push ecx
push edx
call fcn.00517162
add esp, 8
cmp dword [ebp - 0x18], 8
lea eax, [ebp - 0x2c]
mov esi, dword [sym.imp.USER32.dll_InsertMenuW]
cmovae eax, dword [ebp - 0x2c]
push eax
push dword [ebx + 0x678]
push 0x400
push 0
push dword [ebx + 0x674]
call esi
push 0
push dword [ebx + 0x698]
push 0xc00
push 1
push dword [ebx + 0x674]
call esi
mov eax, dword [ebx + 0x5dc]
push eax
push eax
push 4
push dword [ebx + 0x678]
push dword [ebx + 0x674]
call dword [sym.imp.USER32.dll_SetMenuItemBitmaps]
mov esi, dword [sym.imp.USER32.dll_ShowWindow]
push 6
push dword [ebx + 4]
call esi
push 0
push dword [ebx + 4]
call esi
jmp 0x4f81d7
cmp esi, 0x2a2
jne 0x4f81da
cmp byte [ebx + 0x540], 0
je 0x4f8480
push 1
push 0
lea eax, [ebx + 0x530]
mov byte [ebx + 0x540], 0
push eax
push dword [ebx + 4]
call dword [sym.imp.USER32.dll_RedrawWindow]
lea eax, [ebp - 0x14]
mov word [ebx + 0x540], 0
push eax
push edi
push dword [ebp + 0xc]
push esi
push dword [ebx + 4]
call dword [sym.imp.dwmapi.dll_DwmDefWindowProc]
test eax, eax
je 0x4f81da
mov esi, dword [ebp - 0x14]
jmp 0x4f81ea
push ecx
push edx
call fcn.00517162
add esp, 8
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00517154
mov esp, ebp
pop ebp
ret 0xc
call fcn.0051eb64
call fcn.0051eb64
call fcn.0051eb64
int3