Function at 0x40f107
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffd4
push ebx
push esi
push edi
mov esi, 0x56cee8
push dword [0x55d264]
call fcn.00412773
test eax, eax
jne 0x40f12b
xor eax, eax
jmp 0x40f51b
push 0
call fcn.0041b199
mov dword [0x55d828], eax
call fcn.0043f357
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 0x55d12d
push 0
call fcn.004ed277
cmp dword [ebp - 4], 0
jne 0x40f231
cmp dword [ebp - 8], 0
jne 0x40f231
cmp dword [ebp - 0xc], 0
jne 0x40f231
cmp dword [ebp - 0x10], 0
jne 0x40f231
xor ecx, ecx
mov dword [0x55cfc8], ecx
lea eax, [ebp - 0x2c]
push eax
call fcn.005202d5
mov ecx, dword [ebp - 0x24]
cmp ecx, 0x2ee
jge 0x40f1c9
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 0x40f1c4
adc ecx, 0
mov dword [ebp - 4], ecx
jmp 0x40f1e6
lea eax, [ecx + ecx*2]
test eax, eax
jns 0x40f1d3
add eax, 3
sar eax, 2
mov dword [ebp - 8], eax
sub ecx, dword [ebp - 8]
sar ecx, 1
jns 0x40f1e3
adc ecx, 0
mov dword [ebp - 4], ecx
mov ecx, dword [ebp - 0x20]
cmp ecx, 0x226
jge 0x40f212
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 0x40f20d
adc ecx, 0
mov dword [ebp - 0xc], ecx
jmp 0x40f231
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 0x40f22e
adc ecx, 0
mov dword [ebp - 0xc], ecx
cmp dword [0x55d828], 0
je 0x40f24a
cmp dword [0x55d838], 0
je 0x40f24a
mov dword [ebp - 0x14], 3
push 0
push dword [0x56cee4]
push 0
push 0
push dword [ebp - 0x10]
push dword [ebp - 8]
push dword [ebp - 0xc]
push dword [ebp - 4]
push 0x6cf0000
push str.mIRC
push 0x55d018
push 0
call sub.USER32.dll_CreateWindowExA
mov ebx, eax
mov dword [esi], ebx
test ebx, ebx
jne 0x40f287
xor eax, eax
jmp 0x40f51b
call fcn.0040c258
test eax, eax
jne 0x40f297
xor eax, eax
jmp 0x40f51b
cmp dword [0x55cffc], 0
je 0x40f2d0
push dword [esi]
call sub.USER32.dll_GetMenu
mov ebx, eax
push 0x3c
push dword [0x55cffc]
call sub.USER32.dll_LoadMenuA
mov edi, eax
mov dword [0x568940], edi
test edi, edi
je 0x40f2d0
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 [0x568940], ebx
push 0
push ebx
call sub.USER32.dll_GetSubMenu
mov dword [0x568944], eax
push 1
push dword [0x568940]
call sub.USER32.dll_GetSubMenu
mov dword [0x568948], eax
push 2
push dword [0x568940]
call sub.USER32.dll_GetSubMenu
mov dword [0x56894c], eax
push 3
push dword [0x568940]
call sub.USER32.dll_GetSubMenu
mov dword [0x568950], eax
push 4
push dword [0x568940]
call sub.USER32.dll_GetSubMenu
mov dword [0x568954], 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 0x40f405
push 0
push 0xf3d
call fcn.0042c564
push eax
push 0x9c
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0x55d133
push 0
push 0x800
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf3e
call fcn.0042c564
push eax
push 0x9d
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf3f
call fcn.0042c564
push eax
push 0x96
push 0
push ebx
call sub.USER32.dll_AppendMenuA
push 0
push 0xf40
call fcn.0042c564
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 0x40f405
push 0
push 0xf41
call fcn.0042c564
push eax
push 0xa1
mov eax, 8
cmp dword [0x55cfcc], 0
jne 0x40f3f7
add eax, 0xfffffff8
or eax, 0x400
push eax
push 1
push edi
call sub.USER32.dll_InsertMenuA
push 1
push 0
call fcn.004cc5b5
call fcn.004183d5
mov ebx, eax
mov dword [0x55d528], ebx
test ebx, ebx
jne 0x40f426
xor eax, eax
jmp 0x40f51b
call fcn.00415c81
mov ebx, eax
mov dword [0x55d2f8], ebx
test ebx, ebx
jne 0x40f43e
xor eax, eax
jmp 0x40f51b
cmp dword [ebp - 0x14], 2
jne 0x40f44f
push 3
push dword [esi]
call sub.USER32.dll_ShowWindow
jmp 0x40f495
cmp dword [ebp - 0x14], 1
je 0x40f45b
cmp dword [ebp - 0x14], 3
jne 0x40f48b
cmp dword [0x55d830], 0
jne 0x40f46a
cmp dword [ebp - 0x14], 3
jne 0x40f480
push 1
call fcn.0041b199
test eax, eax
je 0x40f480
push 0
push dword [esi]
call sub.USER32.dll_ShowWindow
jmp 0x40f495
push 7
push dword [esi]
call sub.USER32.dll_ShowWindow
jmp 0x40f495
push dword [ebp + 8]
push dword [esi]
call sub.USER32.dll_ShowWindow
cmp dword [0x55d834], 0
je 0x40f4a5
push 1
call fcn.0041b199
push dword [0x56ceec]
call sub.USER32.dll_UpdateWindow
push dword [esi]
call sub.USER32.dll_UpdateWindow
call fcn.0042912c
push 0
push dword [esi]
call fcn.004c5d22
push dword [0x55d264]
push 0
push 0
push 0
push 0x55d137
call fcn.00524566
mov ebx, eax
mov edi, dword [0x55d264]
mov dword [edi], ebx
test ebx, ebx
jne 0x40f4ed
xor eax, eax
jmp 0x40f51b
push edi
call fcn.004bce08
cmp dword [0x55cfcc], 0
je 0x40f50f
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