Function at 0x100a4bd0
Capabilities:
Hide graphical window

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [0x1035dd3c]
xor eax, esp
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
push ebx
push esi
mov dword [esp + 0xc], eax
lea eax, [esp + 0xc]
push edi
push eax
call fcn.100a5c20
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov edi, dword [eax]
mov eax, dword [edi + 8]
mov dword [esp + 0x18], eax
cmp ebx, 0x18
ja 0x100a4db5
je 0x100a4d4b
lea eax, [ebx - 2]
cmp eax, 0xd
ja case.0x100a4c29.4
movzx eax, byte [eax + 0x100a4f28]
jmp dword [eax*4 + 0x100a4f14]
test byte [edi + 0xc], 2
je case.0x100a4c29.4
lea eax, [esp + 0x1c]
push eax
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_GetWindowRect]
movsx ecx, byte [edi + 0xf]
movsx eax, byte [edi + 0x11]
push 0x11
push 0
sub eax, ecx
add eax, dword [esp + 0x28]
push 0
push eax
movsx eax, byte [edi + 0x10]
sub eax, ecx
add eax, dword [esp + 0x2c]
push eax
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_SetWindowPos]
jmp case.0x100a4c29.4
mov al, byte [edi + 0xc]
and al, 9
cmp al, 1
jne case.0x100a4c29.4
cmp esi, 2
je 0x100a4d05
cmp esi, 1
je 0x100a4d05
push 0xfffffffffffffff0
push dword [esp + 0x14]
call dword [sym.imp.USER32.dll_GetWindowLongW]
test eax, 0x10000000
je 0x100a4d14
mov cl, byte [edi + 0xc]
mov al, cl
or al, 4
mov byte [edi + 0xc], al
test cl, 2
jne 0x100a4cdd
or cl, 6
mov byte [edi + 0xc], cl
mov ecx, edi
push dword [esp + 0x10]
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Update_struct_HWND____
push 8
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
mov eax, dword [ebp + 0x14]
mov byte [edi + 0x18], 1
mov dword [edi + 0x14], eax
jmp 0x100a4ef5
mov eax, dword [ebp + 0x14]
cmp ax, word [edi + 0x14]
ja 0x100a4cce
shr eax, 0x10
cmp ax, word [edi + 0x16]
ja 0x100a4cce
push dword [esp + 0x10]
mov ecx, edi
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Update_struct_HWND____
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x14], eax
jmp 0x100a4ef5
push 0
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
and byte [edi + 0xc], 0xfd
mov eax, dword [ebp + 0x14]
mov dword [edi + 0x14], eax
jmp 0x100a4ef5
cmp byte [edi + 0x18], 0
je case.0x100a4c29.4
push dword [esp + 0x10]
mov ecx, edi
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Update_struct_HWND____
mov byte [edi + 0x18], 0
jmp case.0x100a4c29.4
push dword [edi + 4]
call dword [sym.imp.USER32.dll_DestroyWindow]
jmp case.0x100a4c29.4
mov al, byte [edi + 0xc]
and al, 9
cmp al, 1
jne case.0x100a4c29.4
push dword [ebp + 0x14]
push esi
push 0x18
push dword [esp + 0x1c]
call dword [esp + 0x28]
mov ebx, eax
test esi, esi
jne 0x100a4d90
push esi
push dword [edi + 4]
call dword [sym.imp.USER32.dll_ShowWindow]
and byte [edi + 0xc], 0xf9
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.102601ec
mov esp, ebp
pop ebp
ret 0x10
mov byte [edi + 0x18], 1
mov ecx, edi
push dword [esp + 0x10]
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Show_struct_HWND____
mov eax, ebx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x20]
xor ecx, esp
call fcn.102601ec
mov esp, ebp
pop ebp
ret 0x10
cmp ebx, 0x82
je 0x100a4e36
cmp ebx, 0x232
je 0x100a4e1c
cmp ebx, 0x31e
jne case.0x100a4c29.4
mov eax, dword [sym.nsInstall.dll_long_int____stdcall___int___CWndShadow::s_DwmIsCompositionEnabled]
xor ecx, ecx
mov dword [esp + 0x14], ecx
test eax, eax
je 0x100a4deb
lea ecx, [esp + 0x14]
push ecx
call eax
mov ecx, dword [esp + 0x14]
mov al, byte [edi + 0xc]
test ecx, ecx
je 0x100a4e07
or al, 8
mov ecx, edi
mov byte [edi + 0xc], al
push dword [esp + 0x10]
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Show_struct_HWND____
jmp case.0x100a4c29.4
and al, 0xf7
mov ecx, edi
mov byte [edi + 0xc], al
push dword [esp + 0x10]
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Show_struct_HWND____
jmp case.0x100a4c29.4
test byte [edi + 0xc], 2
je case.0x100a4c29.4
push dword [esp + 0x10]
mov ecx, edi
call sym.nsInstall.dll_protected:_void___thiscall_CWndShadow::Update_struct_HWND____
jmp case.0x100a4c29.4
mov edi, dword [sym.nsInstall.dll_class_std::map_struct_HWND_____class_CWndShadow___struct_std::less_struct_HWND______class_std::allocator_struct_std::pair_struct_HWND____const__class_CWndShadow_____CWndShadow::s_Shadowmap]
mov ebx, edi
mov edx, dword [esp + 0x10]
mov esi, edi
mov eax, dword [edi + 4]
cmp byte [eax + 0xd], 0
jne 0x100a4e71
nop dword [eax]
mov ecx, dword [eax + 0x10]
cmp ecx, edx
jae 0x100a4e5c
mov eax, dword [eax + 8]
jmp 0x100a4e6b
cmp byte [esi + 0xd], 0
je 0x100a4e67
cmp edx, ecx
cmovb esi, eax
mov ebx, eax
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
je 0x100a4e50
cmp byte [esi + 0xd], 0
lea eax, [edi + 4]
jne 0x100a4e7c
mov eax, esi
mov eax, dword [eax]
cmp byte [eax + 0xd], 0
jne 0x100a4e98
cmp edx, dword [eax + 0x10]
jae 0x100a4e8f
mov esi, eax
mov eax, dword [eax]
jmp 0x100a4e92
mov eax, dword [eax + 8]
cmp byte [eax + 0xd], 0
je 0x100a4e84
mov eax, ebx
cmp ebx, esi
je 0x100a4ee0
nop
mov ecx, dword [eax + 8]
cmp byte [ecx + 0xd], 0
je 0x100a4ec6
mov ecx, dword [eax + 4]
cmp byte [ecx + 0xd], 0
jne 0x100a4ec2
cmp eax, dword [ecx + 8]
jne 0x100a4ec2
mov eax, ecx
mov ecx, dword [ecx + 4]
cmp byte [ecx + 0xd], 0
je 0x100a4eb2
mov eax, ecx
jmp 0x100a4edc
mov eax, ecx
mov edx, dword [eax]
cmp byte [edx + 0xd], 0
jne 0x100a4edc
mov ecx, dword [edx]
mov eax, edx
mov edx, ecx
cmp byte [ecx + 0xd], 0
je 0x100a4ed0
cmp eax, esi
jne 0x100a4ea0
push esi
push ebx
lea eax, [esp + 0x1c]
push eax
call fcn.100a5c90
mov ebx, dword [ebp + 0xc]
mov esi, dword [ebp + 0x10]
mov eax, dword [ebp + 0x14]
push eax
push esi
push ebx
push dword [esp + 0x1c]
call dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.102601ec
mov esp, ebp
pop ebp
ret 0x10