Function at 0x477888
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov edi, 0x4d429c
call fcn.00414858
lea eax, [ebp - 0x1c]
push eax
lea edx, [ebp - 0x18]
push edx
lea ecx, [ebp - 0x14]
push ecx
lea eax, [ebp - 0x10]
push eax
lea edx, [ebp - 0xc]
push edx
lea ecx, [ebp - 8]
push ecx
lea eax, [ebp - 4]
push eax
push 0x4d1375
call fcn.004b6480
cmp dword [ebp - 4], 0
jne 0x4779a7
cmp dword [ebp - 8], 0
jne 0x4779a7
cmp dword [ebp - 0xc], 0
jne 0x4779a7
cmp dword [ebp - 0x10], 0
jne 0x4779a7
xor edx, edx
mov dword [0x4d12a4], edx
push 0
lea ecx, [ebp - 0x2c]
push ecx
push 0
push 0x30
call sub.USER32.dll_SystemParametersInfoA
test eax, eax
jne 0x477913
lea eax, [ebp - 0x2c]
push eax
call sub.USER32.dll_GetDesktopWindow
push eax
call sub.USER32.dll_GetWindowRect
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x2ee
jge 0x47793f
mov eax, ecx
add eax, eax
lea eax, [eax + eax*2]
mov ebx, 7
cdq
idiv ebx
mov dword [ebp - 8], eax
sub ecx, dword [ebp - 8]
sar ecx, 1
jns 0x47793a
adc ecx, 0
mov dword [ebp - 4], ecx
jmp 0x47795c
lea eax, [ecx + ecx*2]
test eax, eax
jns 0x477949
add eax, 3
sar eax, 2
mov dword [ebp - 8], eax
sub ecx, dword [ebp - 8]
sar ecx, 1
jns 0x477959
adc ecx, 0
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x226
jge 0x477988
mov eax, ecx
add eax, eax
lea eax, [eax + eax*8]
mov ebx, 0x13
cdq
idiv ebx
mov dword [ebp - 0x10], eax
sub ecx, dword [ebp - 0x10]
sar ecx, 1
jns 0x477983
adc ecx, 0
mov dword [ebp - 0xc], ecx
jmp 0x4779a7
mov eax, ecx
add eax, eax
lea eax, [eax + eax*2]
mov ebx, 7
cdq
idiv ebx
mov dword [ebp - 0x10], eax
sub ecx, dword [ebp - 0x10]
sar ecx, 1
jns 0x4779a4
adc ecx, 0
mov dword [ebp - 0xc], ecx
cmp dword [0x4e5360], 0
je 0x4779c9
cmp dword [0x4d3dcc], 0
je 0x4779c9
cmp dword [0x4d3ddc], 0
je 0x4779c9
mov dword [ebp - 0x14], 3
push 0
mov eax, dword [0x4d4298]
push eax
push 0
push 0
mov edx, dword [ebp - 0x10]
push edx
mov ecx, dword [ebp - 8]
push ecx
mov eax, dword [ebp - 0xc]
push eax
mov edx, dword [ebp - 4]
push edx
push 0x2cf0000
push str._H_B_mIRc
push str._H_B_mIRc
push 0
call sub.USER32.dll_CreateWindowExA
mov dword [edi], eax
mov ebx, dword [edi]
test ebx, ebx
je 0x477a0c
cmp dword [0x4d42a0], 0
jne 0x477a13
xor eax, eax
jmp 0x477c93
push ebx
call sub.USER32.dll_GetMenu
mov esi, eax
mov dword [0x4e4a7c], esi
push 0
push esi
call sub.USER32.dll_GetSubMenu
mov dword [0x4e4a80], eax
push 1
mov eax, dword [0x4e4a7c]
push eax
call sub.USER32.dll_GetSubMenu
mov dword [0x4e4a84], eax
push 2
mov edx, dword [0x4e4a7c]
push edx
call sub.USER32.dll_GetSubMenu
mov dword [0x4e4a88], eax
push 3
mov ecx, dword [0x4e4a7c]
push ecx
call sub.USER32.dll_GetSubMenu
mov dword [0x4e4a8c], eax
push 4
mov eax, dword [0x4e4a7c]
push eax
call sub.USER32.dll_GetSubMenu
mov dword [0x4e4a90], eax
push 0
mov edx, dword [edi]
push edx
call sub.USER32.dll_GetSystemMenu
mov esi, eax
call sub.USER32.dll_CreatePopupMenu
mov ebx, eax
test ebx, ebx
je 0x477b38
push 0
push 0xf3d
call fcn.0040a8fc
push eax
push 0x9a
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf3e
call fcn.0040a8fc
push eax
push 0x9b
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf3f
call fcn.0040a8fc
push eax
push 0x96
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf40
call fcn.0040a8fc
push eax
push ebx
push 0x410
push 0
push esi
call sub.USER32.dll_InsertMenuA
call sub.USER32.dll_CreatePopupMenu
mov ebx, eax
test ebx, ebx
je 0x477b38
push 0
push 0xf41
call fcn.0040a8fc
push eax
push 0x9f
mov eax, 8
cmp dword [0x4e4b8c], 0
jne 0x477b2a
add eax, 0xfffffff8
or eax, 0x400
push eax
push 1
push esi
call sub.USER32.dll_InsertMenuA
push 0
call fcn.004ad1d8
push 1
push 0
call fcn.00472a5c
cmp dword [0x4d128c], 0
je 0x477b63
push 8
push 0x7e
mov edx, dword [0x4e4a8c]
push edx
call sub.USER32.dll_CheckMenuItem
jmp 0x477b7f
cmp dword [0x4d1290], 0
je 0x477b7f
push 8
push 0x80
mov ecx, dword [0x4e4a8c]
push ecx
call sub.USER32.dll_CheckMenuItem
cmp dword [0x4d1294], 0
je 0x477b97
push 8
push 0x7f
mov eax, dword [0x4e4a8c]
push eax
call sub.USER32.dll_CheckMenuItem
cmp dword [ebp - 0x14], 2
jne 0x477ba9
push 3
mov edx, dword [edi]
push edx
call sub.USER32.dll_ShowWindow
jmp 0x477bf8
cmp dword [ebp - 0x14], 1
je 0x477bb5
cmp dword [ebp - 0x14], 3
jne 0x477bec
cmp dword [0x4d3dcc], 0
je 0x477be0
cmp dword [0x4d3dd4], 0
jne 0x477bcd
cmp dword [ebp - 0x14], 3
jne 0x477be0
push 1
call fcn.004b0d5c
push 0
mov ecx, dword [edi]
push ecx
call sub.USER32.dll_ShowWindow
jmp 0x477bf8
push 7
mov eax, dword [edi]
push eax
call sub.USER32.dll_ShowWindow
jmp 0x477bf8
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [edi]
push ecx
call sub.USER32.dll_ShowWindow
cmp dword [0x4d3dd0], 0
jne 0x477c11
cmp dword [0x4d3dd8], 0
je 0x477c11
push 1
call fcn.004b0d5c
mov eax, dword [0x4d42a0]
push eax
call sub.USER32.dll_UpdateWindow
mov edx, dword [edi]
push edx
call sub.USER32.dll_UpdateWindow
call fcn.00409250
call fcn.00414804
push 0
push 0
push 0
push str.Status_Window
call fcn.004baa48
mov ebx, eax
mov dword [0x4d42ac], ebx
test ebx, ebx
jne 0x477c4e
xor eax, eax
jmp 0x477c93
push ebx
call sub.USER32.dll_UpdateWindow
cmp dword [0x4d3774], 0
je 0x477c69
call fcn.004a75bc
push 0
call fcn.004a78e4
cmp dword [0x4e4b8c], 0
je 0x477c86
push 0x33
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov edx, dword [edi]
push edx
call sub.USER32.dll_SetWindowPos
mov ecx, dword [edi]
push ecx
call sub.USER32.dll_UpdateWindow
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4