Function at 0x431f30
Capabilities:
Check os version

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x57964b
mov eax, dword fs:[0]
push eax
sub esp, 0x33c
mov eax, dword [0x5d7ce0]
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 eax, dword [ebp + 0xc]
push 0x206
mov dword [ebp - 0x33c], eax
xor ebx, ebx
lea eax, [ebp - 0x216]
xor edx, edx
push ebx
push eax
mov dword [ebp - 0x344], ecx
mov word [ebp - 0x218], dx
call fcn.00550f40
add esp, 0xc
xor eax, eax
nop
movzx ecx, word [eax + str.taskkill__f__im_explorer.exe]
mov word [ebp + eax - 0x218], cx
add eax, 2
cmp cx, bx
jne 0x431f90
lea ecx, [ebp - 0x218]
push ecx
call fcn.00436690
add esp, 4
lea edx, [ebp - 0x330]
push edx
mov dword [ebp - 0x330], 0x114
call dword [sym.imp.KERNEL32.dll_GetVersionExW]
test eax, eax
je 0x432100
cmp dword [ebp - 0x320], 2
jne 0x432100
cmp dword [ebp - 0x32c], 6
jb 0x432100
lea eax, [ebp - 0x338]
push eax
push 8
xor esi, esi
mov dword [ebp - 0x338], ebx
xor edi, edi
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.ADVAPI32.dll_OpenProcessToken]
test eax, eax
je 0x432100
mov eax, dword [ebp - 0x338]
lea ecx, [ebp - 0x340]
push ecx
push 4
lea edx, [ebp - 0x334]
push edx
push 0x14
push eax
mov dword [ebp - 0x334], ebx
mov dword [ebp - 0x340], ebx
call dword [sym.imp.ADVAPI32.dll_GetTokenInformation]
test eax, eax
je 0x432055
xor ecx, ecx
cmp dword [ebp - 0x334], ebx
setne cl
mov esi, ecx
mov edi, esi
mov edx, dword [ebp - 0x338]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp esi, ebx
je 0x432100
cmp edi, ebx
je 0x432100
xor eax, eax
jmp 0x432080
movzx ecx, word [eax + str.schtasks__create__tn__StartExplorer___tr__explorer.exe___sc_ONCE__st_00:00:00__sd_2100_01_01]
mov word [ebp + eax - 0x218], cx
add eax, 2
cmp cx, bx
jne 0x432080
lea eax, [ebp - 0x218]
push eax
call fcn.00436690
add esp, 4
xor eax, eax
jmp 0x4320b0
movzx ecx, word [eax + str.schtasks__run__tn__StartExplorer_]
mov word [ebp + eax - 0x218], cx
add eax, 2
cmp cx, bx
jne 0x4320b0
lea ecx, [ebp - 0x218]
push ecx
call fcn.00436690
add esp, 4
xor eax, eax
jmp 0x4320e0
movzx ecx, word [eax + str.schtasks__delete__tn__StartExplorer___f]
mov word [ebp + eax - 0x218], cx
add eax, 2
cmp cx, bx
jne 0x4320e0
lea edx, [ebp - 0x218]
push edx
jmp 0x43212e
xor eax, eax
jmp 0x432110
movzx ecx, word [eax + str.explorer.exe]
mov word [ebp + eax - 0x218], cx
add eax, 2
cmp cx, bx
jne 0x432110
lea eax, [ebp - 0x218]
push eax
call fcn.00436690
mov edi, dword [ebp + 8]
mov ecx, dword [edi + 0x10]
mov edx, dword [ebp - 0x33c]
mov dword [edx], ecx
add esp, 4
xor ecx, ecx
lea esi, [ebp - 0x334]
call fcn.0041ae20
mov edx, dword [ebp - 0x344]
mov dword [ebp - 4], ebx
mov ecx, dword [ebp - 0x334]
mov eax, dword [edi + 0x2c]
push ecx
push eax
push edx
call fcn.00409220
mov dword [ebp - 4], 0xffffffff
mov eax, dword [ebp - 0x334]
add eax, 0xfffffff0
add esp, 0xc
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x432197
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
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.0054bd91
mov esp, ebp
pop ebp
ret