Function at 0x4091e0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4ac108
mov eax, dword fs:[0]
push eax
push ebx
push esi
push edi
mov eax, dword [0x4ec00c]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 0xc]
cmp eax, 0x7ea
ja 0x409416
je 0x40924f
cmp eax, 0x10
je 0x409244
cmp eax, 0x472
jne 0x40941d
cmp dword [ebp + 0x14], 0x203
jne 0x40952a
mov eax, dword [edi]
push 5
push 1
push 0xffffffffffffffff
call dword [eax + 0x64]
jmp 0x40952a
push edi
call fcn.00409560
jmp 0x40952a
mov eax, dword [ebp + 0x10]
test eax, eax
jne 0x4092bf
mov esi, dword [edi + 0x100]
push 0x16
lea ecx, [esi + 0x84]
cmp dword [ebp + 0x14], eax
jne 0x409292
push 0x4c9dd4
call fcn.004099c0
push dword [esi + 0x2c]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x40952a
push 1
mov ecx, esi
call fcn.00405170
jmp 0x40952a
push 0x4c9e04
call fcn.004099c0
push dword [esi + 0x2c]
call dword [sym.imp.USER32.dll_IsWindowVisible]
test eax, eax
je 0x4092b2
push 1
mov ecx, esi
call fcn.00405170
mov ecx, dword [edi + 0x104]
push 0
jmp 0x409525
cmp eax, 1
jne 0x4092f6
cmp dword [ebp + 0x14], 0
mov ecx, dword [edi + 0x100]
jne 0x4092df
push 0x4c9e38
call fcn.00406290
jmp 0x40952a
push 0x4c9eb0
call fcn.00406290
mov ecx, dword [edi + 0x104]
push 0
jmp 0x409525
cmp eax, 2
jne 0x40932d
cmp dword [ebp + 0x14], 0
mov ecx, dword [edi + 0x100]
jne 0x409316
push 0x4c9f28
call fcn.00406290
jmp 0x40952a
push 0x4c9fa0
call fcn.00406290
mov ecx, dword [edi + 0x104]
push 0
jmp 0x409525
cmp eax, 3
jne 0x409364
cmp dword [ebp + 0x14], 0
mov ecx, dword [edi + 0x100]
jne 0x40934d
push 0x4ca018
call fcn.00406290
jmp 0x40952a
push 0x4ca090
call fcn.00406290
mov ecx, dword [edi + 0x104]
push 0
jmp 0x409525
cmp eax, 0xfffffffe
jne 0x4093d2
lea ecx, [ebp + 0x10]
call fcn.004097c0
mov dword [ebp - 4], 0
lea eax, [ebp + 0x10]
cmp dword [ebp + 0x14], 0
push dword [edi + 0x10c]
jne 0x4093a3
push str.ck_W_vN
push eax
call fcn.00409d70
mov esi, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [edi + 0x100]
jmp 0x409505
push 0x4ca11c
push eax
call fcn.00409d70
mov esi, dword [ebp + 0x10]
add esp, 0xc
mov ecx, dword [edi + 0x100]
push esi
call fcn.00406290
mov ecx, dword [edi + 0x104]
push 0
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40950b
cmp eax, 0xffffffff
jne 0x40952a
push 0
push dword [edi + 0x54]
mov dword [edi + 0x68], 2
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0x200
push dword [edi + 0x54]
mov byte [edi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
push dword [ebp + 8]
call sym.Install_adv.exe_int___cdecl_DelTray_struct_HWND____
add esp, 4
jmp 0x40952a
cmp eax, 0x7eb
je 0x409440
push dword [ebp + 0x14]
push dword [ebp + 0x10]
push eax
push dword [ebp + 8]
call fcn.00406c80
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp + 0x14]
xor ebx, ebx
mov esi, dword [ebp + 0x10]
cdq
mov dword [ebp + 0x10], eax
mov ecx, edx
mov dword [ebp + 0x14], ecx
push ebx
test esi, esi
jne 0x409499
push 0x400
push ecx
push eax
call fcn.0047b1e0
mov esi, eax
call fcn.0040a520
mov ecx, eax
test ecx, ecx
je 0x409540
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x14], eax
push esi
lea eax, [ebp + 0x14]
mov dword [ebp - 4], 2
push 0x4ca160
push eax
call fcn.00409d70
add esp, 0xc
jmp 0x4094fc
push 0x64
push ecx
push eax
call fcn.0047b0a0
push ebx
push esi
push edx
push eax
call fcn.0047b1e0
push 0
push 0x400
push dword [ebp + 0x14]
mov dword [ebp + 8], eax
push dword [ebp + 0x10]
call fcn.0047b1e0
mov dword [ebp + 0x10], eax
shrd esi, ebx, 0xa
call fcn.0040a520
mov ecx, eax
test ecx, ecx
je 0x40954a
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0x14], eax
push esi
mov dword [ebp - 4], 1
lea eax, [ebp + 0x14]
push dword [ebp + 0x10]
push dword [ebp + 8]
push 0x4ca134
push eax
call fcn.00409d70
add esp, 0x14
mov esi, dword [ebp + 0x14]
mov ecx, dword [edi + 0x104]
push esi
call fcn.00406290
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40952a
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.0040a620
push 0x80004005
call fcn.0040a620
int3