Function at 0x3e77468
Capabilities:
Set registry value

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffdc
push ebx
push esi
xor ebx, ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], ebx
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
call fcn.03cb7f34
mov eax, dword [ebp - 8]
call fcn.03cb7f34
mov eax, dword [ebp - 0xc]
call fcn.03cb7f34
mov eax, dword [ebp + 0xc]
call fcn.03cb7f34
xor eax, eax
push ebp
push 0x3e77755
push dword fs:[eax]
mov dword fs:[eax], esp
xor ebx, ebx
lea eax, [ebp - 0x10]
push eax
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x3e77774
call fcn.03cb936c
mov ecx, eax
dec ecx
mov edx, 1
mov eax, dword [ebp - 4]
call fcn.03cb915c
mov ecx, 1
mov edx, dword [ebp - 4]
mov eax, 0x3e77784
call fcn.03cb936c
mov ecx, eax
lea eax, [ebp - 4]
mov edx, 1
call fcn.03cb91a4
mov edx, 0x3e77794
mov eax, dword [ebp - 4]
call fcn.03cd3680
test eax, eax
jle 0x3e77534
mov esi, dword [ebp - 4]
test esi, esi
je 0x3e7751b
sub esi, 4
mov esi, dword [esi]
mov edx, 0x3e777a4
mov eax, dword [ebp - 4]
call fcn.03cd3680
mov ecx, eax
lea eax, [ebp - 4]
mov edx, esi
call fcn.03cb91a4
lea eax, [ebp - 0x18]
push eax
push 2
push 0
mov eax, dword [ebp - 4]
call fcn.03cb8d98
push eax
mov eax, dword [ebp - 0x10]
call fcn.03e76900
push eax
call sub.advapi32.dll_RegOpenKeyExW_1
test eax, eax
jne 0x3e7771a
mov eax, dword [ebp - 0xc]
call fcn.03e77214
cmp eax, 7
ja case.0x3e7756c.0
jmp dword [eax*4 + 0x3e77573]
mov eax, dword [ebp + 0xc]
call fcn.03cb8d98
mov ebx, eax
mov eax, ebx
call fcn.03cb836c
add eax, eax
push eax
push ebx
mov eax, dword [ebp - 0xc]
call fcn.03e77214
push eax
push 0
mov eax, dword [ebp - 8]
call fcn.03cb8d98
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
sete al
mov ebx, eax
jmp case.0x3e7756c.0
mov eax, dword [ebp + 0xc]
call fcn.03cb8d98
mov ebx, eax
mov eax, ebx
call fcn.03cb836c
add eax, eax
push eax
push ebx
mov eax, dword [ebp - 0xc]
call fcn.03e77214
push eax
push 0
mov eax, dword [ebp - 8]
call fcn.03cb8d98
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
sete al
mov ebx, eax
jmp case.0x3e7756c.0
mov eax, dword [ebp + 0xc]
call fcn.03cb8d98
mov ebx, eax
mov eax, ebx
call fcn.03cb836c
add eax, eax
push eax
push ebx
mov eax, dword [ebp - 0xc]
call fcn.03e77214
push eax
push 0
mov eax, dword [ebp - 8]
call fcn.03cb8d98
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
sete al
mov ebx, eax
jmp case.0x3e7756c.0
mov eax, dword [ebp + 0xc]
call fcn.03cd2604
mov dword [ebp - 0x14], eax
push 4
lea eax, [ebp - 0x14]
push eax
mov eax, dword [ebp - 0xc]
call fcn.03e77214
push eax
push 0
mov eax, dword [ebp - 8]
call fcn.03cb8d98
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
sete bl
jmp case.0x3e7756c.0
mov eax, dword [ebp + 0xc]
call fcn.03cb8d98
mov ebx, eax
mov eax, ebx
call fcn.03cb836c
add eax, eax
push eax
push ebx
mov eax, dword [ebp - 0xc]
call fcn.03e77214
push eax
push 0
mov eax, dword [ebp - 8]
call fcn.03cb8d98
push eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_RegSetValueExW
test eax, eax
sete al
mov ebx, eax
mov eax, dword [ebp - 0x18]
push eax
call sub.advapi32.dll_RegCloseKey_1
cmp byte [ebp + 8], 0
je 0x3e7771a
lea eax, [ebp - 0x20]
mov edx, dword [ebp - 8]
mov ecx, 0
call fcn.03cb89c4
mov eax, dword [ebp - 0x20]
lea edx, [ebp - 0x1c]
call fcn.03e773c8
lea eax, [ebp - 0x1c]
mov edx, 0x3e777ac
call fcn.03cb8ad0
mov eax, dword [ebp - 0x1c]
push eax
mov eax, dword [ebp - 0x10]
call fcn.03e76900
push eax
lea eax, [ebp - 0x24]
mov edx, dword [ebp + 0xc]
call fcn.03cb8e8c
mov eax, dword [ebp - 0x24]
call fcn.03cb8abc
mov ecx, eax
mov edx, dword [ebp - 4]
pop eax
call fcn.03e7873c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x3e7775c
lea eax, [ebp - 0x24]
call fcn.03cb7e98
lea eax, [ebp - 0x20]
call fcn.03cb7e74
lea eax, [ebp - 0x1c]
call fcn.03cb7e98
lea eax, [ebp - 0x10]
mov edx, 4
call fcn.03cb7eb0
lea eax, [ebp + 0xc]
call fcn.03cb7e50
ret