Function at 0x10059070
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100fa770
mov eax, dword fs:[0]
push eax
sub esp, 0x54
mov eax, dword [0x1013c014]
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 edi, ecx
cmp byte [edi + 0x30], 0
mov eax, dword [0x1014e148]
cmovne eax, dword [0x1014e650]
mov ebx, dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
cmp eax, 2
je 0x10059322
cmp eax, 4
je 0x10059322
cmp eax, 3
je 0x100590d3
cmp eax, 5
jne 0x1005933a
mov cx, word [0x10159320]
test cx, cx
jne 0x100590fe
call dword [sym.imp.KERNEL32.dll_GetVersion]
mov ecx, eax
movzx eax, al
shr ecx, 8
movzx ecx, cl
shl ax, 8
or cx, ax
mov word [0x10159320], cx
mov eax, 0xa00
cmp cx, ax
jb 0x1005933a
push str.SetWindowCompositionAttribute
push 0x1010b1a4
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x1005933a
mov esi, dword [0x1014e914]
cmp dword [esi], 0
je 0x10059178
nop dword [eax]
mov eax, dword [esi + 4]
cmp eax, 2
je 0x10059157
cmp eax, 3
je 0x10059157
cmp eax, 4
je 0x10059157
cmp eax, 5
jne 0x1005916a
push str.GlassOpacity
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x100591d6
add esi, 0x60
cmp dword [esi], 0
jne 0x10059140
mov esi, dword [0x1014e914]
xor ebx, ebx
movaps xmm0, xmmword [0x10123a50]
mov eax, 0x51eb851f
imul ecx, ebx, 0xff
movups xmmword [ebp - 0x20], xmm0
imul ecx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
shl eax, 0x18
cmp dword [esi], 0
mov dword [ebp - 0x3c], eax
je 0x10059276
nop dword [eax + eax]
cmp dword [esi + 4], 1
jne 0x100591c9
push str.GlassOverride
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x100591f3
add esi, 0x60
cmp dword [esi], 0
jne 0x100591b0
jmp 0x10059276
push 0x10158d3c
call ebx
mov ebx, dword [esi + 0x40]
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
mov esi, dword [0x1014e914]
jmp 0x1005917a
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
cmp word [esi + 0x38], 3
jne 0x1005920f
cmp dword [esi + 0x40], 1
jne 0x1005920f
mov bl, 1
jmp 0x10059211
xor bl, bl
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
test bl, bl
je 0x10059276
mov esi, dword [0x1014e914]
cmp dword [esi], 0
je 0x10059262
nop dword [eax + eax]
mov eax, dword [esi + 4]
cmp eax, 2
je 0x10059247
cmp eax, 3
je 0x10059247
cmp eax, 4
je 0x10059247
cmp eax, 5
jne 0x1005925a
push str.GlassColor
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x100592c3
add esi, 0x60
cmp dword [esi], 0
jne 0x10059230
xor bl, bl
xor esi, esi
and esi, 0xffffff
or esi, dword [ebp - 0x3c]
mov dword [ebp - 0x18], esi
test bl, bl
je 0x1005929d
lea eax, [ebp - 0x40]
push eax
lea edx, [ebp - 0x44]
lea ecx, [ebp - 0x48]
call fcn.1009e250
mov eax, dword [ebp - 0x40]
add esp, 4
shl eax, 8
or eax, dword [ebp - 0x44]
shl eax, 8
or eax, dword [ebp - 0x48]
or eax, dword [ebp - 0x3c]
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x20]
mov dword [ebp - 0x54], 0x13
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x54]
push eax
push dword [edi + 0xc]
mov dword [ebp - 0x4c], 0x10
call dword [ebp - 0x34]
mov ebx, dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
jmp 0x1005933a
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_AcquireSRWLockShared]
mov eax, dword [esi + 0x30]
test eax, eax
je 0x100592da
mov ecx, dword [eax + 0x20]
jmp 0x100592dd
mov ecx, dword [esi + 0x20]
shr ecx, 0xc
test cl, 1
je 0x1005930d
test eax, eax
je 0x100592ee
mov eax, dword [eax + 0x20]
jmp 0x100592f1
mov eax, dword [esi + 0x20]
shr eax, 0xd
test al, 1
jne 0x1005930d
mov esi, dword [esi + 0x40]
mov bl, 1
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x10059266
mov esi, dword [esi + 0x40]
xor bl, bl
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
jmp 0x10059266
movaps xmm0, xmmword [0x10123a40]
lea eax, [ebp - 0x30]
push eax
push dword [edi + 0xc]
movups xmmword [ebp - 0x30], xmm0
call dword [sym.imp.dwmapi.dll_DwmExtendFrameIntoClientArea]
cmp dword [edi + 0x44], 0
jne 0x10059346
call dword [sym.imp.UxTheme.dll_BufferedPaintInit]
mov eax, dword [0x1014c064]
cmp edi, dword [eax]
jne 0x10059359
mov eax, dword [edi + 0xc]
mov dword [0x1014b620], eax
jmp 0x10059362
push 0
mov ecx, edi
call fcn.10055020
test dword [edi + 0x3c], 0x400000
je 0x10059373
mov eax, dword [edi + 0xc]
mov dword [0x1014b61c], eax
call dword [sym.imp.USER32.dll_GetMessagePos]
mov dword [0x1014b510], eax
mov eax, dword [edi + 0x88]
test eax, eax
je 0x100593a6
mov dword [edi + 0x88], 0
mov dword [ebp - 4], 1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov esi, dword [0x1014e914]
cmp dword [esi], 0
je 0x1005948d
cmp dword [esi + 4], 1
jne 0x100593ce
push str.EnableAccessibility
push dword [esi]
call fcn.100dc721
add esp, 8
test eax, eax
je 0x100593db
add esi, 0x60
cmp dword [esi], 0
jne 0x100593b5
jmp 0x1005948d
push 0x10158d3c
call ebx
cmp word [esi + 0x38], 3
jne 0x100593f3
cmp dword [esi + 0x40], 1
jne 0x100593f3
mov bl, 1
jmp 0x100593f5
xor bl, bl
push 0x10158d3c
call dword [sym.imp.KERNEL32.dll_ReleaseSRWLockShared]
test bl, bl
je 0x1005948d
lea esi, [edi + 0x84]
push esi
push 0x1011367c
push 0x17
push 0
push 0x10103fd8
call dword [sym.imp.ole32.dll_CoCreateInstance]
test eax, eax
js 0x1005947e
mov ecx, dword [esi]
lea eax, [ebp - 0x38]
push 0
push 4
push 0x10103d20
xorps xmm0, xmm0
mov dword [ebp - 0x38], edi
lea edx, [ebp - 0x60]
mov dword [ebp - 0x34], 0
push edx
movlpd qword [ebp - 0x60], xmm0
mov dword [ebp - 0x58], eax
mov eax, dword [ecx]
push 0x10059560
push ecx
call dword [eax + 0xc]
test eax, eax
js 0x10059476
lea eax, [edi + 0x88]
push eax
push 0x10103d20
push dword [ebp - 0x34]
call dword [sym.imp.ole32.dll_CoGetInterfaceAndReleaseStream]
test eax, eax
jns 0x1005947e
push ecx
mov ecx, esi
call fcn.1001f8e0
push 0
push 0xfffffffffffffffc
push dword [edi + 0xc]
push 6
call dword [sym.imp.USER32.dll_NotifyWinEvent]
push 0xc
call fcn.100d4e1d
mov esi, eax
add esp, 4
mov dword [ebp - 0x34], esi
mov dword [esi], vtable.CDropTargetProxy.0
mov dword [esi + 4], edi
mov dword [esi + 8], 0
mov ecx, dword [edi + 0x8c]
cmp ecx, esi
sete al
test al, al
jne 0x100594f2
push esi
mov dword [ebp - 4], 2
call fcn.100492a0
mov eax, dword [edi + 0x8c]
mov dword [edi + 0x8c], esi
mov dword [ebp - 4], 3
test eax, eax
je 0x100594e5
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 4], 0xffffffff
mov ecx, dword [edi + 0x8c]
push ecx
push dword [edi + 0xc]
call dword [sym.imp.ole32.dll_RegisterDragDrop]
mov dl, byte [edi + 0x30]
test dl, dl
jne 0x10059525
mov eax, dword [0x1014e90c]
test eax, eax
je 0x10059525
mov ecx, dword [eax]
lea edx, [edi + 0x90]
push edx
mov esi, dword [ecx + 0x10]
lea ecx, [edi + 4]
push ecx
push dword [edi + 0xc]
push eax
call esi
mov dl, byte [edi + 0x30]
xor ecx, ecx
test dl, dl
setne cl
call fcn.1005ea20
xor eax, eax
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.100d4906
mov esp, ebp
pop ebp
ret 0x10