Function at 0x4481dc
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1928]
mov eax, 0x19a8
call fcn.00476c90
mov eax, dword [0x4f3bd0]
xor eax, ebp
mov dword [ebp + 0x1924], eax
push esi
mov dword [ebp - 0x7c], ecx
mov ecx, dword [0x4f7ba0]
xor esi, esi
cmp ecx, esi
jne 0x448212
xor eax, eax
jmp 0x44850a
push edi
call fcn.0045f3a7
mov edi, eax
cmp edi, esi
jne 0x448225
xor eax, eax
jmp 0x448509
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.00475570
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 0x448267
xor eax, eax
jmp 0x448508
push 0x800
lea eax, [ebp - 0x6c]
push esi
push eax
call fcn.00475570
mov eax, dword [edi]
add esp, 0xc
push ebx
lea ecx, [ebp - 0x6c]
push ecx
push edi
call dword [eax + 0x4c]
mov ecx, dword [0x4f7ba0]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], esi
call fcn.0045f44d
cmp eax, esi
je 0x448373
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x448373
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 0x4482d7
cmp dword [ebp - 0x70], esi
je 0x44830a
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 0x4482ff
mov dword [ebp - 0x74], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x44830d
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 0x448339
cmp dword [ebp - 0x70], esi
je 0x448367
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 0x44835e
mov dword [ebp - 0x78], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x74], esi
je 0x448376
cmp dword [ebp - 0x78], esi
jne 0x448396
jmp 0x448376
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.00475570
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.00475570
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 [0x4f7ba0]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], esi
call fcn.0045f44d
cmp eax, esi
je 0x4484db
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x4484db
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 0x44843f
cmp dword [ebp - 0x70], esi
je 0x448477
lea eax, [ebp + 0x794]
push eax
call fcn.0047600e
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 0x44846e
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 0x44849b
cmp dword [ebp - 0x70], esi
je 0x4484d1
lea eax, [ebp + 0x794]
push eax
call fcn.0047600e
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 0x4484c8
mov dword [ebp - 0x78], edi
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x74], esi
je 0x4484db
cmp dword [ebp - 0x78], esi
jne 0x448505
lea eax, [ebp + 0x794]
push eax
call fcn.0047600e
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.004755ea
add ebp, 0x1928
leave
ret