Function at 0x447e53
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1928]
mov eax, 0x19a8
call fcn.00476b40
mov eax, dword [0x4f3bd0]
xor eax, ebp
mov dword [ebp + 0x1924], eax
push esi
mov dword [ebp - 0x7c], ecx
mov ecx, dword [0x4f7b88]
xor esi, esi
cmp ecx, esi
jne 0x447e89
xor eax, eax
jmp 0x448181
push edi
call fcn.0043a82b
mov edi, eax
cmp edi, esi
jne 0x447e9c
xor eax, eax
jmp 0x448180
mov eax, dword [edi]
push ebx
push edi
call dword [eax + 0x44]
push 0x800
mov dword [ebp - 0x80], eax
lea eax, [ebp + 0xf94]
push esi
push eax
call fcn.00475420
mov eax, dword [edi]
add esp, 0xc
mov ebx, 0x400
push ebx
lea ecx, [ebp + 0xf94]
push ecx
push edi
call dword [eax + 0x48]
cmp word [ebp + 0xf94], si
jne 0x447ede
xor eax, eax
jmp 0x44817f
push 0x800
lea eax, [ebp - 0x6c]
push esi
push eax
call fcn.00475420
mov eax, dword [edi]
add esp, 0xc
push ebx
lea ecx, [ebp - 0x6c]
push ecx
push edi
call dword [eax + 0x4c]
mov ecx, dword [0x4f7b88]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], esi
call fcn.0045f2e2
cmp eax, esi
je 0x447fea
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x447fea
push esi
lea eax, [ebp - 0x70]
push eax
push esi
push 0x102
push esi
push esi
push esi
lea eax, [ebp + 0xf94]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x70], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x447f4e
cmp dword [ebp - 0x70], esi
je 0x447f81
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax - 0xc]
add ecx, ecx
push ecx
push eax
push 1
push esi
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x447f76
mov dword [ebp - 0x74], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x447f84
mov ebx, dword [ebp - 0x7c]
push esi
lea eax, [ebp - 0x70]
push eax
push esi
push 0x202
push esi
push esi
push esi
lea eax, [ebp + 0xf94]
push eax
push reloc.OLEAUT32.dll_SysReAllocString
mov dword [ebp - 0x70], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
test eax, eax
je 0x447fb0
cmp dword [ebp - 0x70], esi
je 0x447fde
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax - 0xc]
add ecx, ecx
push ecx
push eax
push 1
push esi
lea eax, [ebp - 0x6c]
push eax
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x447fd5
mov dword [ebp - 0x78], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x74], esi
je 0x447fed
cmp dword [ebp - 0x78], esi
jne 0x44800d
jmp 0x447fed
mov ebx, dword [ebp - 0x7c]
mov eax, dword [ebx + 0xc]
mov ecx, dword [eax - 0xc]
add ecx, ecx
push ecx
push eax
push 1
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp + 0xf94]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
push 0x190
lea eax, [ebp + 0x1794]
push esi
push eax
call fcn.00475420
mov eax, dword [edi]
add esp, 0xc
push 0xc8
lea ecx, [ebp + 0x1794]
push ecx
push edi
call dword [eax + 0x3c]
push 0x800
lea eax, [ebp + 0x794]
push esi
push eax
call fcn.00475420
add esp, 0xc
lea eax, [ebp + 0x1794]
push eax
push dword [ebx + 0xc]
lea eax, [ebp + 0x794]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
mov ecx, dword [0x4f7b88]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], esi
call fcn.0045f2e2
cmp eax, esi
je 0x448152
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x448152
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
push esi
lea eax, [ebp - 0x70]
push eax
push esi
push 0x102
push esi
push esi
push esi
lea eax, [ebp + 0xf94]
push eax
mov ebx, reloc.OLEAUT32.dll_SysReAllocString
push ebx
mov dword [ebp - 0x70], esi
call edi
test eax, eax
je 0x4480b6
cmp dword [ebp - 0x70], esi
je 0x4480ee
lea eax, [ebp + 0x794]
push eax
call fcn.00475ebe
pop ecx
add eax, eax
push eax
lea eax, [ebp + 0x794]
push eax
push 1
push esi
push esi
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x4480e5
mov dword [ebp - 0x74], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push esi
lea eax, [ebp - 0x70]
push eax
push esi
push 0x202
push esi
push esi
push esi
lea eax, [ebp + 0xf94]
push eax
push ebx
mov dword [ebp - 0x70], esi
call edi
test eax, eax
je 0x448112
cmp dword [ebp - 0x70], esi
je 0x448148
lea eax, [ebp + 0x794]
push eax
call fcn.00475ebe
pop ecx
add eax, eax
push eax
lea eax, [ebp + 0x794]
push eax
xor edi, edi
inc edi
push edi
push esi
push esi
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
test eax, eax
jne 0x44813f
mov dword [ebp - 0x78], edi
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x74], esi
je 0x448152
cmp dword [ebp - 0x78], esi
jne 0x44817c
lea eax, [ebp + 0x794]
push eax
call fcn.00475ebe
pop ecx
add eax, eax
push eax
lea eax, [ebp + 0x794]
push eax
push 1
push esi
lea eax, [ebp + 0xf94]
push eax
push dword [ebp - 0x80]
call dword [sym.imp.SHLWAPI.dll_SHSetValueW]
xor eax, eax
inc eax
pop ebx
pop edi
mov ecx, dword [ebp + 0x1924]
xor ecx, ebp
pop esi
call fcn.0047549a
add ebp, 0x1928
leave
ret