Function at 0x40ef7b
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov esi, 0x56f018
push dword [0x55f25c]
call fcn.0041261f
test eax, eax
jne 0x40ef9f
xor eax, eax
jmp 0x40f38f
push 0
call fcn.0041b199
mov dword [0x55f820], eax
call fcn.0043f75b
lea edx, [ebp - 0x1c]
push edx
lea ecx, [ebp - 0x18]
push ecx
lea eax, [ebp - 0x14]
push eax
lea edx, [ebp - 0x10]
push edx
lea ecx, [ebp - 0xc]
push ecx
lea eax, [ebp - 8]
push eax
lea edx, [ebp - 4]
push edx
push 0x55f125
push 0
call fcn.004ee38b
cmp dword [ebp - 4], 0
jne 0x40f0a5
cmp dword [ebp - 8], 0
jne 0x40f0a5
cmp dword [ebp - 0xc], 0
jne 0x40f0a5
cmp dword [ebp - 0x10], 0
jne 0x40f0a5
xor ecx, ecx
mov dword [0x55efc4], ecx
lea eax, [ebp - 0x2c]
push eax
call fcn.005220da
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x2ee
jge 0x40f03d
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 0x40f038
adc ecx, 0
mov dword [ebp - 4], ecx
jmp 0x40f05a
lea eax, [ecx + ecx*2]
test eax, eax
jns 0x40f047
add eax, 3
sar eax, 2
mov dword [ebp - 8], eax
sub ecx, dword [ebp - 8]
sar ecx, 1
jns 0x40f057
adc ecx, 0
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x226
jge 0x40f086
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 0x40f081
adc ecx, 0
mov dword [ebp - 0xc], ecx
jmp 0x40f0a5
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 0x40f0a2
adc ecx, 0
mov dword [ebp - 0xc], ecx
cmp dword [0x55f820], 0
je 0x40f0be
cmp dword [0x55f830], 0
je 0x40f0be
mov dword [ebp - 0x14], 3
push 0
push dword [0x56f014]
push 0
push 0
push dword [ebp - 0x10]
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 4]
push 0x6cf0000
push 0x56f064
push 0x55f010
push 0
call sub.USER32.dll_CreateWindowExA
mov ebx, eax
mov dword [esi], ebx
test ebx, ebx
jne 0x40f0fb
xor eax, eax
jmp 0x40f38f
call fcn.0040c234
test eax, eax
jne 0x40f10b
xor eax, eax
jmp 0x40f38f
cmp dword [0x55eff4], 0
je 0x40f144
push dword [esi]
call sub.USER32.dll_GetMenu
mov ebx, eax
push 0x3c
push dword [0x55eff4]
call sub.USER32.dll_LoadMenuA
mov edi, eax
mov dword [0x56aa54], edi
test edi, edi
je 0x40f144
push edi
push dword [esi]
call sub.USER32.dll_SetMenu
push ebx
call sub.USER32.dll_DestroyMenu
push dword [esi]
call sub.USER32.dll_GetMenu
mov ebx, eax
mov dword [0x56aa54], ebx
push 0
push ebx
call sub.USER32.dll_GetSubMenu
mov dword [0x56aa58], eax
push 1
push dword [0x56aa54]
call sub.USER32.dll_GetSubMenu
mov dword [0x56aa5c], eax
push 2
push dword [0x56aa54]
call sub.USER32.dll_GetSubMenu
mov dword [0x56aa60], eax
push 3
push dword [0x56aa54]
call sub.USER32.dll_GetSubMenu
mov dword [0x56aa64], eax
push 4
push dword [0x56aa54]
call sub.USER32.dll_GetSubMenu
mov dword [0x56aa68], eax
push 0
push dword [esi]
call sub.USER32.dll_GetSystemMenu
mov edi, eax
call sub.USER32.dll_CreatePopupMenu
mov ebx, eax
test ebx, ebx
je 0x40f279
push 0
push 0xf3d
call fcn.0042c771
push eax
push 0x9c
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0x55f12b
push 0
push 0x800
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf3e
call fcn.0042c771
push eax
push 0x9d
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf3f
call fcn.0042c771
push eax
push 0x96
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf40
call fcn.0042c771
push eax
push ebx
push 0x410
push 0
push edi
call sub.USER32.dll_InsertMenuA
call sub.USER32.dll_CreatePopupMenu
mov ebx, eax
test ebx, ebx
je 0x40f279
push 0
push 0xf41
call fcn.0042c771
push eax
push 0xa1
mov eax, 8
cmp dword [0x55efc8], 0
jne 0x40f26b
add eax, 0xfffffff8
or eax, 0x400
push eax
push 1
push edi
call sub.USER32.dll_InsertMenuA
push 1
push 0
call fcn.004cd361
call fcn.004183a5
mov ebx, eax
mov dword [0x55f520], ebx
test ebx, ebx
jne 0x40f29a
xor eax, eax
jmp 0x40f38f
call fcn.00415c45
mov ebx, eax
mov dword [0x55f2f0], ebx
test ebx, ebx
jne 0x40f2b2
xor eax, eax
jmp 0x40f38f
cmp dword [ebp - 0x14], 2
jne 0x40f2c3
push 3
push dword [esi]
call sub.USER32.dll_ShowWindow
jmp 0x40f309
cmp dword [ebp - 0x14], 1
je 0x40f2cf
cmp dword [ebp - 0x14], 3
jne 0x40f2ff
cmp dword [0x55f828], 0
jne 0x40f2de
cmp dword [ebp - 0x14], 3
jne 0x40f2f4
push 1
call fcn.0041b199
test eax, eax
je 0x40f2f4
push 0
push dword [esi]
call sub.USER32.dll_ShowWindow
jmp 0x40f309
push 7
push dword [esi]
call sub.USER32.dll_ShowWindow
jmp 0x40f309
push dword [ebp + 8]
push dword [esi]
call sub.USER32.dll_ShowWindow
cmp dword [0x55f82c], 0
je 0x40f319
push 1
call fcn.0041b199
push dword [0x56f01c]
call sub.USER32.dll_UpdateWindow
push dword [esi]
call sub.USER32.dll_UpdateWindow
call fcn.004293b4
push 0
push dword [esi]
call fcn.004c5c7e
push dword [0x55f25c]
push 0
push 0
push 0
push 0x55f12f
call fcn.0052637f
mov ebx, eax
mov edi, dword [0x55f25c]
mov dword [edi], ebx
test ebx, ebx
jne 0x40f361
xor eax, eax
jmp 0x40f38f
push edi
call fcn.004bcc88
cmp dword [0x55efc8], 0
je 0x40f383
push 0x33
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
push dword [esi]
call sub.USER32.dll_SetWindowPos
push dword [esi]
call sub.USER32.dll_UpdateWindow
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4