Function at 0x527530
Capabilities:
Hide graphical window

Disassembly:
mov eax, dword [0x589c54]
sub esp, 0x1c
push ebx
push ebp
xor ebx, ebx
cmp eax, ebx
push edi
mov edi, edx
mov ebp, ecx
je 0x527562
call fcn.005274b0
test eax, eax
jne 0x52755c
call fcn.00527000
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret 8
mov dword [0x589c54], ebx
mov eax, dword [0x5a11c8]
cmp eax, ebx
push esi
mov esi, dword [sym.imp.USER32.dll_KillTimer]
mov dword [esp + 0x10], ebx
push 0x7c
je 0x5275a5
push eax
call esi
mov eax, dword [0x5a11c8]
push 0x7d
push eax
call esi
mov ebx, dword [esp + 0x30]
test ebx, ebx
jne 0x52760c
mov ecx, dword [0x5a11c8]
push ebx
push ecx
mov dword [esp + 0x18], 0xfa
call dword [sym.imp.USER32.dll_ShowWindow]
jmp 0x52760c
push ebx
call esi
mov edx, dword [0x5a11c8]
push 0x7d
push edx
call esi
cmp dword [esp + 0x30], ebx
jne 0x5275c1
mov dword [esp + 0x10], 0xfa
mov eax, dword [0x5a1afc]
mov ecx, dword [0x5a13e8]
mov edx, dword [0x5a13e4]
push ebx
push eax
mov eax, dword [0x5a13e0]
push ebx
push ebx
push ecx
mov ecx, dword [0x5a13dc]
push edx
push eax
push ecx
push 0x8a800000
push 0x574b10
push str.mIRC_Tooltips
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExA]
cmp eax, ebx
mov dword [0x5a11c8], eax
je 0x527667
mov ebx, dword [esp + 0x30]
test ebx, ebx
mov dword [0x589c40], edi
mov esi, edi
jne 0x527676
mov eax, dword [0x5a0f50]
push eax
mov dword [0x5a11cc], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
test edi, edi
jne 0x52763b
call fcn.004dc340
cmp eax, 1
jne 0x52764e
mov esi, eax
jmp 0x52764e
cmp edi, 0xe
jne 0x52764e
mov eax, dword [0x59676c]
test eax, eax
je 0x52764e
mov esi, 0xf
lea ecx, [esi + 0x14b5]
mov edx, 0x5a11d0
call fcn.0041c9e0
mov al, byte [0x5a11d0]
test al, al
jne 0x5276ac
call fcn.00527000
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret 8
cmp ebx, 1
jne 0x5278d3
mov eax, dword [0x59f690]
push eax
mov dword [0x5a11cc], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [esp + 0x34]
mov edx, 0x5a11d0
sub edx, eax
jmp 0x5276a0
mov cl, byte [eax]
mov byte [edx + eax], cl
inc eax
test cl, cl
jne 0x5276a0
jmp 0x52765e
mov edx, dword [0x5a11c8]
push edx
call dword [sym.imp.USER32.dll_GetDC]
mov esi, eax
test esi, esi
je 0x527667
push 0xc
call dword [sym.imp.GDI32.dll_GetStockObject]
mov edi, dword [sym.imp.GDI32.dll_SelectObject]
push eax
push esi
call edi
mov ebx, eax
xor eax, eax
jmp 0x5276e0
mov cl, byte [eax + 0x5a11d0]
mov byte [eax + 0x5a12d8], cl
inc eax
test cl, cl
jne 0x5276e0
mov edx, 0xf
mov ecx, 0x5a12d8
call fcn.00518d60
mov eax, 0x5a12d8
lea ecx, [eax + 1]
mov dl, byte [eax]
inc eax
test dl, dl
jne 0x527708
sub eax, ecx
lea ecx, [esp + 0x14]
push ecx
push eax
push 0x5a12d8
push esi
call dword [sym.imp.GDI32.dll_GetTextExtentPointA]
push ebx
push esi
call edi
mov edx, dword [0x5a11c8]
push esi
push edx
call dword [sym.imp.USER32.dll_ReleaseDC]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov esi, dword [sym.imp.USER32.dll_GetWindowRect]
add eax, 2
mov dword [0x5a13e8], eax
mov eax, dword [esp + 0x30]
add ecx, 5
test eax, eax
mov dword [0x5a13e4], ecx
jne 0x5277bd
mov eax, 0x55555556
imul ecx
mov ecx, edx
shr ecx, 0x1f
movzx eax, bp
add edx, ecx
sub eax, edx
mov edx, dword [0x5a0f50]
lea ecx, [esp + 0x1c]
shr ebp, 0x10
push ecx
add ebp, 0x11
push edx
mov dword [0x5a13dc], eax
mov dword [0x5a13e0], ebp
call esi
mov ecx, dword [0x5a13dc]
mov eax, dword [esp + 0x1c]
mov edi, dword [0x5a13e0]
mov edx, dword [esp + 0x20]
add ecx, eax
add edi, edx
cmp ecx, eax
mov dword [0x5a13dc], ecx
mov dword [0x5a13e0], edi
jge 0x5277ef
mov dword [0x5a13dc], eax
jmp 0x5277ef
cmp eax, 1
jne 0x5277ef
mov ecx, dword [0x5a1b00]
lea eax, [esp + 0x1c]
push eax
push ecx
call esi
mov ecx, dword [esp + 0x1c]
movzx eax, bp
shr ebp, 0x10
cmp eax, ecx
mov dword [0x5a13dc], eax
mov dword [0x5a13e0], ebp
jge 0x5277ef
mov dword [0x5a13dc], ecx
mov eax, dword [0x5a1b00]
lea edx, [esp + 0x1c]
push edx
push eax
call esi
mov ecx, dword [0x5a13dc]
mov edx, dword [0x5a13e4]
mov eax, dword [esp + 0x24]
lea esi, [ecx + edx]
cmp esi, eax
jle 0x527820
sub eax, edx
sub eax, 5
mov ecx, eax
mov dword [0x5a13dc], ecx
mov esi, dword [esp + 0x10]
test esi, esi
je 0x527871
mov ecx, dword [0x5a11c8]
push 0
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x5a13e8]
mov eax, dword [0x5a13e4]
mov ecx, dword [0x5a13e0]
push 0x10
inc edx
push edx
mov edx, dword [0x5a13dc]
push eax
mov eax, dword [0x5a11c8]
push ecx
push edx
push 1
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [0x5a11c8]
push 0
push esi
push 0x7d
push ecx
jmp 0x5278c0
mov eax, dword [0x5a13e8]
push 0x10
inc eax
push eax
mov eax, dword [0x5a11c8]
push edx
mov edx, dword [0x5a13e0]
push edx
push ecx
push 0xffffffffffffffff
push eax
call dword [sym.imp.USER32.dll_SetWindowPos]
mov ecx, dword [0x5a11c8]
push 8
push ecx
call dword [sym.imp.USER32.dll_ShowWindow]
mov edx, dword [0x5a11c8]
push 1
push 0
push edx
call dword [sym.imp.USER32.dll_InvalidateRect]
mov eax, dword [0x5a11c8]
push 0
push 0x1388
push 0x7c
push eax
call dword [sym.imp.USER32.dll_SetTimer]
mov ecx, dword [0x5a11c8]
push ecx
call dword [sym.imp.USER32.dll_UpdateWindow]
pop esi
pop edi
pop ebp
pop ebx
add esp, 0x1c
ret 8