Function at 0x5491c0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
mov eax, dword [0x5bfe44]
test eax, eax
push ebx
push esi
push edi
mov ebx, edx
mov edi, ecx
je 0x5491f3
call fcn.00549140
test eax, eax
je 0x5492c6
mov dword [0x5bfe44], 0
mov esi, dword [ebp + 0xc]
neg esi
sbb esi, esi
and esi, 0xfffffe70
mov ecx, edi
add esi, 0x1f4
call fcn.00561000
mov dword [0x5f8a28], eax
mov eax, dword [0x5f8250]
test eax, eax
push 0
je 0x549241
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [0x5f8250]
mov edi, dword [sym.imp.USER32.dll_KillTimer]
push 0x7c
push eax
call edi
mov ecx, dword [0x5f8250]
push 0x7d
push ecx
call edi
jmp 0x549289
mov edx, dword [0x5f92e8]
mov eax, dword [0x5f8a38]
mov ecx, dword [0x5f8a34]
push edx
mov edx, dword [0x5f8a30]
push 0
push 0
push eax
mov eax, dword [0x5f8a2c]
push ecx
push edx
push eax
push 0x8a800000
push 0x5a4bec
push str.mIRC_Tooltips
push 0x80
call dword [sym.imp.USER32.dll_CreateWindowExA]
test eax, eax
mov dword [0x5f8250], eax
je 0x5492c6
mov eax, dword [ebp + 0xc]
test eax, eax
mov ecx, dword [ebp + 8]
mov dword [0x5bfe28], ecx
jne 0x5492d4
mov eax, dword [0x5f7ff4]
push eax
mov dword [0x5f8254], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov edx, dword [ebp + 0x10]
push edx
mov edx, 0x3e7
mov ecx, 0x5f8258
call fcn.00420d70
mov al, byte [0x5f8258]
test al, al
jne 0x549306
call fcn.00548c70
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp eax, 1
jne 0x5492c6
mov eax, dword [0x5f6bf8]
push eax
mov dword [0x5f8254], eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov eax, dword [ebp + 0x10]
push eax
mov edx, 0x3e7
mov ecx, 0x5f8258
call fcn.00420d70
mov al, byte [0x5f8258]
test al, al
je 0x5492c6
mov eax, 0x5f8258
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x549310
sub eax, edx
cmp eax, 0x3dd
jl 0x54932a
mov dword [0x5f8635], 0x2e2e2e
push 0x5f8258
mov edx, 0x3e7
mov ecx, 0x5f8640
call fcn.00420d70
mov edx, 0xf
mov ecx, 0x5f8640
call fcn.00537560
xor eax, eax
mov ecx, 0x55
lea edi, [esp + 0x20]
rep stosd dword es:[edi], eax
push eax
lea ecx, [esp + 0x24]
push ecx
push 0x154
push 0x29
mov dword [esp + 0x30], 0x154
call dword [sym.imp.USER32.dll_SystemParametersInfoA]
test eax, eax
je 0x5492c6
mov eax, dword [esp + 0xfc]
mov ecx, dword [0x5f8a28]
cdq
xor eax, edx
sub eax, edx
mov dword [esp + 0xfc], eax
call fcn.005612a0
test eax, eax
je 0x5493b6
mov edx, dword [0x5f8a28]
mov eax, dword [edx + 0xa0c]
test eax, eax
je 0x5493b6
mov eax, 1
jmp 0x5493b8
xor eax, eax
mov ecx, dword [esp + 0x10c]
mov edx, dword [esp + 0xfc]
push 0
push eax
movzx eax, byte [esp + 0x11b]
push 0x17
push eax
push ecx
push edx
lea edx, [esp + 0x130]
mov ecx, 0x5f8640
call fcn.0047cc40
movzx ecx, ax
shr eax, 0x10
add ecx, 6
add eax, 4
push 0x5bfe2c
mov dword [0x5f8a34], ecx
mov dword [0x5f8a38], eax
call dword [sym.imp.USER32.dll_GetCursorPos]
mov eax, dword [ebp + 0xc]
test eax, eax
mov edi, dword [sym.imp.USER32.dll_GetWindowRect]
jne 0x54947d
mov ecx, dword [0x5f8a34]
mov eax, 0x55555556
imul ecx
mov eax, edx
shr eax, 0x1f
movzx ecx, bx
add edx, eax
mov eax, dword [0x5f7ff4]
sub ecx, edx
lea edx, [esp + 0x10]
shr ebx, 0x10
push edx
add ebx, 0x11
push eax
mov dword [0x5f8a2c], ecx
mov dword [0x5f8a30], ebx
call edi
mov ecx, dword [0x5f8a2c]
mov eax, dword [esp + 0x10]
mov ebx, dword [0x5f8a30]
mov edx, dword [esp + 0x14]
add ecx, eax
add ebx, edx
cmp ecx, eax
mov dword [0x5f8a2c], ecx
mov dword [0x5f8a30], ebx
jge 0x5494af
mov dword [0x5f8a2c], eax
jmp 0x5494af
cmp eax, 1
jne 0x5494af
mov ecx, dword [0x5f92ec]
lea eax, [esp + 0x10]
push eax
push ecx
call edi
mov ecx, dword [esp + 0x10]
movzx eax, bx
shr ebx, 0x10
cmp eax, ecx
mov dword [0x5f8a2c], eax
mov dword [0x5f8a30], ebx
jge 0x5494af
mov dword [0x5f8a2c], ecx
mov eax, dword [0x5f92ec]
lea edx, [esp + 0x10]
push edx
push eax
call edi
mov ecx, dword [0x5f8a34]
mov edx, dword [0x5f8a2c]
mov eax, dword [esp + 0x18]
add edx, ecx
cmp edx, eax
jle 0x5494dc
sub eax, ecx
sub eax, 5
mov dword [0x5f8a2c], eax
mov eax, dword [0x5f8250]
push 0
push eax
call dword [sym.imp.USER32.dll_ShowWindow]
mov ecx, dword [0x5f8a38]
mov edx, dword [0x5f8a34]
mov eax, dword [0x5f8a30]
push 0x10
push ecx
mov ecx, dword [0x5f8a2c]
push edx
mov edx, dword [0x5f8250]
push eax
push ecx
push 1
push edx
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [0x5f8250]
push eax
call dword [sym.imp.USER32.dll_UpdateWindow]
mov ecx, dword [0x5f8250]
push 0
push esi
mov esi, dword [sym.imp.USER32.dll_SetTimer]
push 0x7d
push ecx
call esi
mov edx, dword [0x5f8250]
push 0
push 0x64
push 0x7c
push edx
call esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc