Function at 0x408240
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x44dc48
mov eax, dword fs:[0]
push eax
sub esp, 0x48
mov eax, dword [0x46800c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov esi, ecx
cmp byte [esi + 0xc9], 0
jne 0x4087c5
mov eax, dword [ebp + 8]
mov byte [esi + 0xc9], 1
test eax, eax
jne 0x408355
mov edi, dword [esi + 0x14]
mov eax, 0x55555556
mov ecx, dword [esi + 0xc]
neg edi
mov ebx, dword [sym.imp.USER32.dll_SetWindowPos]
sub ecx, edi
imul ecx
mov dword [ebp - 0x4c], 3
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
mov dword [ebp - 0x50], ecx
push 0x40
push dword [esi + 0x18]
add edi, ecx
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push 0
push dword [esi + 0x54]
call ebx
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x4c], 1
mov ecx, dword [ebp - 0x50]
jne 0x4082b4
mov dword [ebp - 0x4c], 2
push 0x40
push dword [esi + 0x18]
sub edi, 5
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push 0
push dword [esi + 0x54]
call ebx
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x4c], 1
jne 0x4082e1
mov dword [ebp - 0x4c], 2
nop dword [eax]
push 0x40
push dword [esi + 0x18]
add edi, 5
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push 0
push dword [esi + 0x54]
call ebx
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
sub dword [ebp - 0x4c], 1
jne 0x408310
push 0x40
push dword [esi + 0x18]
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call ebx
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
jmp 0x4087ac
cmp eax, 1
jne 0x4083a0
mov eax, 0x66666667
mov dword [ebp - 0x4c], 5
imul dword [esi + 0x18]
sar edx, 1
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edi, ebx
push 0x40
push edi
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
add edi, ebx
sub dword [ebp - 0x4c], 1
jne 0x408374
jmp 0x40865d
cmp eax, 2
jne 0x4083f1
mov eax, 0x66666667
mov dword [ebp - 0x4c], 5
imul dword [esi + 0x18]
sar edx, 1
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edi, ebx
nop
mov eax, dword [esi + 0x18]
push 0x40
sub eax, edi
push eax
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
add edi, ebx
sub dword [ebp - 0x4c], 1
jne 0x4083c0
jmp 0x408788
cmp eax, 3
jne 0x408444
mov ecx, dword [esi + 0x14]
mov eax, 0x66666667
mov edi, dword [esi + 0xc]
mov ebx, 5
add ecx, edi
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x50], eax
push 0x40
push dword [esi + 0x18]
sub edi, eax
push dword [esi + 0x14]
push dword [esi + 0x10]
push edi
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [ebp - 0x50]
sub ebx, 1
jne 0x408416
jmp 0x4087ac
cmp eax, 4
jne 0x408453
call fcn.00407560
jmp 0x4087ac
cmp eax, 5
jne 0x4084f5
mov edi, dword [esi + 0x10]
mov eax, 0x66666667
imul dword [esi + 0x18]
mov byte [esi + 0xc8], 1
sar edx, 2
mov ecx, edx
mov dword [ebp - 0x4c], 9
shr ecx, 0x1f
add ecx, edx
mov eax, ecx
mov dword [ebp - 0x50], ecx
cdq
mov ebx, ecx
sub eax, edx
sar eax, 1
mov dword [ebp - 0x54], eax
nop
add edi, eax
mov eax, dword [esi + 0x18]
push 0x40
sub eax, ebx
push eax
push dword [esi + 0x14]
push edi
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0xf
call dword [sym.imp.KERNEL32.dll_Sleep]
add ebx, dword [ebp - 0x50]
sub dword [ebp - 0x4c], 1
mov eax, dword [ebp - 0x54]
jne 0x408490
mov eax, dword [esi + 0x18]
push 0x40
cdq
push 1
push dword [esi + 0x14]
sub eax, edx
sar eax, 1
add eax, dword [esi + 0x10]
push eax
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
jmp 0x408788
cmp eax, 6
jne 0x408584
mov edi, dword [sym.imp.USER32.dll_GetWindowLongW]
push 0xffffffffffffffec
push dword [esi + 0x54]
call edi
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowLongW]
push 2
push 0
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 5
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_ShowWindow]
mov ebx, 1
nop dword [eax + eax]
push 0xffffffffffffffec
push dword [esi + 0x54]
call edi
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowLongW]
movzx eax, bl
imul eax, eax, 0x13
push 2
add al, 0x3c
movzx eax, al
push eax
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 0x1e
call dword [sym.imp.KERNEL32.dll_Sleep]
inc ebx
cmp ebx, 0xa
jle 0x408540
jmp 0x4087ac
cmp eax, 7
jne 0x4085da
mov edi, dword [sym.imp.KERNEL32.dll_Sleep]
lea ebx, [eax - 6]
push 0xffffffffffffffec
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_GetWindowLongW]
or eax, 0x80000
push eax
push 0xffffffffffffffec
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowLongW]
mov al, bl
add al, al
push 2
lea ecx, [eax + ebx]
shl cl, 2
not cl
movzx eax, cl
push eax
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetLayeredWindowAttributes]
push 0x1e
call edi
inc ebx
cmp ebx, 0x14
jle 0x408592
jmp 0x4087ac
cmp eax, 8
jne 0x4085e9
call fcn.004077b0
jmp 0x4087ac
cmp eax, 9
jne 0x4085f8
call fcn.004079a0
jmp 0x4087ac
cmp eax, 0xa
jne 0x408607
call fcn.00407d20
jmp 0x4087ac
cmp eax, 0xb
jne 0x408616
call fcn.00407fb0
jmp 0x4087ac
cmp eax, 0xc
jne 0x408682
mov eax, 0x66666667
mov dword [ebp - 0x4c], 0xa
imul dword [esi + 0x14]
sar edx, 2
mov ebx, edx
shr ebx, 0x1f
add ebx, edx
mov edi, ebx
push 0x40
push dword [esi + 0x18]
push edi
push dword [esi + 0x10]
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
add edi, ebx
sub dword [ebp - 0x4c], 1
jne 0x408636
push 0x40
push dword [esi + 0x18]
push dword [esi + 0x14]
push dword [esi + 0x10]
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x20]
jmp 0x4087ac
cmp eax, 0xd
jne 0x4087ac
mov eax, 0x66666667
mov edi, 0xa
imul dword [esi + 0x14]
mov dword [ebp - 0x4c], edi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [ebp - 0x54], eax
mov ebx, eax
nop word [eax + eax]
mov eax, dword [esi + 0x14]
push 0x40
push dword [esi + 0x18]
sub eax, ebx
push eax
push dword [esi + 0x10]
push dword [esi + 0xc]
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_SetWindowPos]
mov eax, dword [esi]
mov eax, dword [eax + 0x20]
cmp eax, method.CMainDlg.virtual_32
jne 0x40876d
cmp byte [esi + 0x5c], 0
je 0x4086f6
push 0
push 0
push 0xf
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_PostMessageW]
jmp 0x408771
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_GetDC]
mov edi, eax
lea eax, [ebp - 0x20]
push eax
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_GetClientRect]
lea ecx, [ebp - 0x48]
call sym.nsUninstall.exe_public:_void___thiscall_CNsDC::constructor_void_
mov dword [ebp - 4], 0
lea eax, [ebp - 0x20]
cmp byte [esi + 0x5c], 0
lea ecx, [ebp - 0x48]
je 0x408730
push dword [esi + 0x54]
push 1
jmp 0x408734
push 0
push 0
push 0
push eax
push edi
call sym.nsUninstall.exe_public:_void___thiscall_CNsDC::CreateMemDC_struct_HDC_____struct_tagRECT___bool__bool__struct_HWND____
mov eax, dword [esi]
mov ecx, esi
push dword [ebp - 0x48]
call dword [eax + 0xc]
lea ecx, [ebp - 0x48]
call sym.nsUninstall.exe_public:_void___thiscall_CNsDC::Draw_void_
push edi
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_ReleaseDC]
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0xffffffff
call sym.nsUninstall.exe_public:_void___thiscall_CNsDC::destructor_void_
mov edi, dword [ebp - 0x4c]
jmp 0x408771
mov ecx, esi
call eax
push 0x14
call dword [sym.imp.KERNEL32.dll_Sleep]
add ebx, dword [ebp - 0x54]
sub edi, 1
mov dword [ebp - 0x4c], edi
jne 0x4086b0
push 0
push dword [esi + 0x54]
call dword [sym.imp.USER32.dll_ShowWindow]
push 0
push 0
push 0x200
push dword [esi + 0x54]
mov byte [esi + 0xc7], 1
call dword [sym.imp.USER32.dll_SendMessageW]
push 0
push 0
push 0x1c39
push dword [esi + 0x54]
mov byte [esi + 0xc9], 0
call dword [sym.imp.USER32.dll_PostMessageW]
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00416d81
mov esp, ebp
pop ebp
ret 4