Function at 0x408da3
Capabilities:
Check os version
Create process on windows
Delete registry value
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x2324
call fcn.0040ce40
push ebx
push esi
push edi
push 8
xor esi, esi
pop ecx
xor eax, eax
lea edi, [ebp - 0x32]
mov word [ebp - 0x34], si
mov word [ebp - 0x12dc], si
rep stosd dword es:[edi], eax
mov ecx, 0x400
lea edi, [ebp - 0x12da]
rep stosd dword es:[edi], eax
mov ecx, 0x82
lea edi, [ebp - 0x2d6]
mov word [ebp - 0x2d8], si
mov dword [ebp - 0xc], esi
rep stosd dword es:[edi], eax
lea eax, [ebp - 4]
push eax
push 0x2001f
push esi
push dword [ebp + 0xc]
push 0x80000001
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x4090cf
push 0x1002
lea eax, [ebp - 0x12dc]
push esi
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x10]
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov ebx, 0x40fb10
push eax
lea eax, [ebp - 0x12dc]
push eax
lea eax, [ebp - 8]
push eax
push esi
push ebx
mov dword [ebp - 0x10], 0x1000
push dword [ebp - 4]
call edi
test eax, eax
jne 0x4090c6
cmp dword [ebp - 8], 1
jne 0x4090c6
lea eax, [ebp - 0x12dc]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
test eax, eax
je 0x4090c6
push 0x22
lea eax, [ebp - 0x34]
push esi
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x20
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 8]
push eax
push esi
push 0x40faf8
push dword [ebp - 4]
call edi
push ebx
mov edi, eax
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegDeleteValueW]
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp edi, esi
jne 0x408ff6
cmp dword [ebp - 8], 1
jne 0x408ff6
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenW]
lea eax, [ebp - 0x34]
push eax
call ebx
cmp eax, 2
jne 0x408ff6
mov edi, 0x94
lea eax, [ebp - 0xcc]
push edi
push esi
push eax
call sub.MSVCRT.dll_memset
add esp, 0xc
lea eax, [ebp - 0xcc]
mov dword [ebp - 0xcc], edi
push eax
call dword [sym.imp.KERNEL32.dll_GetVersionExA]
test eax, eax
je 0x408ff6
cmp dword [ebp + 8], esi
je 0x409037
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.dll_lstrlenA]
test eax, eax
je 0x409037
cmp dword [ebp - 0xc8], 6
jb 0x409037
mov ecx, 0x411
xor eax, eax
lea edi, [ebp - 0x2322]
mov word [ebp - 0x2324], si
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
lea eax, [ebp - 0x34]
mov dword [ebp + 0xc], esi
push eax
call ebx
mov edi, dword [sym.imp.KERNEL32.dll_lstrcatW]
cmp eax, 2
jne 0x408f7a
lea eax, [ebp - 0x2324]
push 0x40faf0
push eax
call edi
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x2324]
push eax
call edi
lea eax, [ebp - 0x12dc]
push eax
call ebx
test eax, eax
je 0x408fc0
lea eax, [ebp - 0x2324]
push eax
call ebx
test eax, eax
je 0x408fa2
lea eax, [ebp - 0x2324]
push 0x40faec
push eax
call edi
lea eax, [ebp - 0x2324]
push 0x40fae4
push eax
call edi
lea eax, [ebp - 0x12dc]
push eax
lea eax, [ebp - 0x2324]
push eax
call edi
lea eax, [ebp + 0xc]
push eax
push 0xffffffffffffffff
push dword [ebp + 8]
call fcn.00407e73
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x2324]
push eax
push dword [ebp + 0xc]
call fcn.00409395
add esp, 0x18
test eax, eax
jne 0x409020
cmp dword [ebp + 0xc], esi
je 0x408ff6
push dword [ebp + 0xc]
call sub.MSVCRT.dll_free
pop ecx
push 1
lea eax, [ebp - 0x12dc]
pop edi
push edi
push esi
push esi
push eax
push str.open
push esi
call dword [sym.imp.SHELL32.dll_ShellExecuteW]
cmp eax, 0x20
jle 0x4090cf
mov dword [ebp - 0xc], edi
jmp 0x4090cf
cmp dword [ebp + 0xc], esi
je 0x4090cf
push dword [ebp + 0xc]
call sub.MSVCRT.dll_free
pop ecx
jmp 0x4090cf
push 0x20a
lea eax, [ebp - 0x2d8]
push esi
push eax
call sub.MSVCRT.dll_memset
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
add esp, 0xc
lea eax, [ebp - 0x34]
push 0x40fad0
push eax
call edi
test eax, eax
jne 0x409074
lea eax, [ebp - 0x2d8]
push 0x105
push eax
call fcn.0040acfa
jmp 0x409094
lea eax, [ebp - 0x34]
push 0x40fac8
push eax
call edi
test eax, eax
jne 0x40909e
lea eax, [ebp - 0x2d8]
push 0x105
push eax
call fcn.0040ae83
pop ecx
test eax, eax
pop ecx
je 0x408ff6
lea eax, [ebp - 0x2d8]
push eax
call ebx
test eax, eax
je 0x408ff6
push 1
lea eax, [ebp - 0x12dc]
pop edi
push edi
push esi
push eax
lea eax, [ebp - 0x2d8]
jmp 0x409002
push dword [ebp - 4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov eax, dword [ebp - 0xc]
pop edi
pop esi
pop ebx
leave
ret