Function at 0x4035f6
Capabilities:
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x45c
push edi
mov dword [ebp - 0x114], 0
mov dword [ebp - 0x244], reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x118], 0
mov eax, dword [str.__end__]
mov dword [ebp - 0x10], eax
mov ecx, dword [0x4150ec]
mov dword [ebp - 0xc], ecx
cmp dword [0x417578], 0
je 0x40364a
cmp dword [0x4173d4], 0
je 0x40364a
cmp dword [0x4173e4], 0
jne 0x403659
push 0x7f
call dword [sym.imp.KERNEL32.DLL_SetLastError]
xor eax, eax
jmp 0x40396e
push str._____Process_List_____
call fcn.004032ee
add esp, 4
push 0
push 2
call dword [0x417578]
mov dword [ebp - 8], eax
cmp dword [ebp - 8], 0xffffffff
jne 0x403680
xor eax, eax
jmp 0x40396e
mov dword [ebp - 0x240], 0x128
mov dword [ebp - 4], 0
lea edx, [ebp - 0x240]
push edx
mov eax, dword [ebp - 8]
push eax
call dword [0x4173d4]
test eax, eax
je 0x403746
lea ecx, [ebp - 0x240]
push ecx
mov edx, dword [ebp - 8]
push edx
call dword [0x4173e4]
test eax, eax
je 0x403746
mov ecx, 0x4173ac
call fcn.00401670
cmp eax, 2
jle 0x403732
push 0x5c
lea eax, [ebp - 0x21c]
push eax
call fcn.0040c940
add esp, 8
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x4036f5
lea ecx, [ebp - 0x21c]
mov dword [ebp - 4], ecx
push 0xff
mov ecx, 0x4173ac
call sub.MFC42.DLL_CString::GetBuffer
push eax
mov edx, dword [ebp - 4]
push edx
call dword [sym.imp.MSVCRT.dll__strcmpi]
add esp, 8
test eax, eax
jne 0x403732
mov eax, dword [ebp - 0x238]
push eax
call fcn.00403337
add esp, 4
push str.killed
call fcn.004032ee
add esp, 4
lea ecx, [ebp - 0x21c]
push ecx
call fcn.004032ee
add esp, 4
jmp 0x4036aa
mov edx, dword [ebp - 8]
push edx
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
lea eax, [ebp - 0x10]
push eax
call fcn.004032ee
add esp, 4
mov dword [ebp - 0x114], 0
push str._____RegList_____
call fcn.004032ee
add esp, 4
lea ecx, [ebp - 0x118]
push ecx
push 0xf003f
push 0
push 0x4110b0
mov edx, dword [ebp - 0x244]
push edx
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
jne 0x40393e
mov byte [ebp - 0x458], 0
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [ebp - 0x457]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x348], 0
mov ecx, pe_nt_image_headers32
xor eax, eax
lea edi, [ebp - 0x347]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x45c], 0x104
mov dword [ebp - 0x350], 0x104
mov dword [ebp - 0x34c], 1
mov dword [ebp - 0x354], 0
lea eax, [ebp - 0x350]
push eax
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x34c]
push edx
push 0
lea eax, [ebp - 0x45c]
push eax
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x354]
push edx
mov eax, dword [ebp - 0x118]
push eax
call dword [sym.imp.ADVAPI32.dll_RegEnumValueA]
test eax, eax
jne 0x403931
lea ecx, [ebp - 0x348]
push ecx
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 4
lea edx, [ebp - 0x458]
push edx
call dword [sym.imp.MSVCRT.dll__strlwr]
add esp, 4
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x458]
push ecx
push 0x415124
lea edx, [ebp - 0x110]
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0x10
lea eax, [ebp - 0x110]
push eax
call fcn.004032ee
add esp, 4
mov ecx, 0x4173ac
call fcn.0040c7e0
push eax
call sub.MSVCRT.dll_strlen
add esp, 4
cmp eax, 2
jbe 0x403909
mov ecx, 0x4173ac
call fcn.0040c7e0
push eax
lea ecx, [ebp - 0x348]
push ecx
call dword [sym.imp.MSVCRT.dll_strstr]
add esp, 8
test eax, eax
je 0x403909
lea edx, [ebp - 0x458]
push edx
push str._s_deleted_from_reg
lea eax, [ebp - 0x110]
push eax
call dword [sym.imp.MSVCRT.dll_sprintf]
add esp, 0xc
push 0
push 0x415140
push 1
push 0
lea ecx, [ebp - 0x458]
push ecx
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.ADVAPI32.dll_RegSetValueExA]
lea eax, [ebp - 0x110]
push eax
call fcn.004032ee
add esp, 4
mov dword [ebp - 0x350], 0x104
mov dword [ebp - 0x45c], 0x104
mov ecx, dword [ebp - 0x354]
add ecx, 1
mov dword [ebp - 0x354], ecx
jmp 0x4037f5
mov edx, dword [ebp - 0x118]
push edx
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x244], SysReAllocString
lea eax, [ebp - 0x10]
push eax
call fcn.004032ee
add esp, 4
cmp dword [ebp - 0x114], 0
jne 0x40396c
mov dword [ebp - 0x114], 1
jmp 0x403766
xor eax, eax
pop edi
mov esp, ebp
pop ebp
ret