Function at 0x100148a0
Capabilities:
Check os version
Terminate thread

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100dbee8
mov eax, dword fs:[0]
push eax
sub esp, 0x14
push ebx
push esi
push edi
mov eax, dword [0x101279d8]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
xor ebx, ebx
cmp dword [ebp + 0xc], ebx
je 0x10014a92
call fcn.1008e4fc
push eax
lea ecx, [ebp - 0x20]
call fcn.1008f80d
mov dword [ebp - 4], ebx
call fcn.10095170
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x100148fe
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea edi, [eax + 0x10]
mov dword [ebp - 0x10], edi
push 0x77
mov byte [ebp - 4], 1
call fcn.10095109
cmp eax, ebx
je 0x1001492a
push 0x77
push eax
lea ecx, [ebp - 0x10]
call fcn.10001b90
mov edi, dword [ebp - 0x10]
mov byte [ebp - 4], 2
call fcn.10095170
xor ecx, ecx
cmp eax, ebx
setne cl
cmp ecx, ebx
jne 0x10014948
push 0x80004005
call fcn.10001150
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
lea esi, [eax + 0x10]
mov dword [ebp - 0x14], esi
push 0xdf
mov byte [ebp - 4], 3
call fcn.10095109
cmp eax, ebx
je 0x1001497a
push 0xdf
push eax
lea ecx, [ebp - 0x14]
call fcn.10001b90
mov esi, dword [ebp - 0x14]
push ebx
push edi
push esi
mov ecx, 0x10129960
mov byte [ebp - 4], 4
call fcn.10097d68
test eax, eax
lea eax, [esi - 0x10]
sete bl
mov byte [ebp - 4], 2
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100149b0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea eax, [edi - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x100149d0
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x10014a69
push str.divx_c32.ax
call fcn.10028f50
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x18], eax
shr edx, 0x10
add esp, 4
xor eax, eax
cmp edx, 4
jne 0x10014a69
test eax, eax
jne 0x10014a69
xor ecx, ecx
cmp word [ebp - 0x14], 2
jne 0x10014a69
test ecx, ecx
jne 0x10014a69
call dword [sym.imp.KERNEL32.dll_GetVersion]
movzx ecx, al
cmp eax, 0x80000000
jae 0x10014a69
cmp ecx, 5
jb 0x10014a69
push 0xffffffffffffffff
push 0
push 0x67
call fcn.10096698
push 0x77
lea ecx, [ebp - 0x10]
call fcn.10001e10
mov esi, eax
push 0xdf
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 5
call fcn.10001e10
mov esi, dword [esi]
mov eax, dword [eax]
push 1
push esi
push eax
mov ecx, 0x10129960
mov byte [ebp - 4], 6
call fcn.10097dd5
lea ecx, [ebp - 0x14]
call fcn.100c7b50
lea ecx, [ebp - 0x10]
call fcn.100c7b50
cmp byte [0x1011d1a8], 0
jne 0x10014a7e
call sym.vsfilter.dll_DllRegisterServer
mov byte [0x1011d1a8], 1
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0xffffffff
call fcn.1008ef1c
mov esi, dword [ebp + 8]
jmp 0x10014ad9
mov esi, dword [ebp + 8]
cmp dword [esi + 0x364], ebx
je 0x10014ad9
mov ecx, dword [esi + 0x368]
push ebx
push ebx
push 0x10
push ecx
call dword [sym.imp.USER32.dll_SendMessageW]
mov edx, dword [esi + 0x364]
push 0x2710
push edx
call dword [sym.imp.KERNEL32.dll_WaitForSingleObject]
test eax, eax
je 0x10014ad3
mov eax, dword [esi + 0x364]
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.dll_TerminateThread]
mov dword [esi + 0x364], ebx
mov ecx, dword [ebp + 0x10]
mov edx, dword [ebp + 0xc]
push ecx
push edx
push esi
call fcn.10088a00
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc