Function at 0x4454b3
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x1928]
mov eax, 0x19a8
call fcn.00471870
mov eax, dword [0x4ed820]
xor eax, ebp
mov dword [ebp + 0x1924], eax
push esi
mov dword [ebp - 0x7c], ecx
mov ecx, dword [0x4f17c0]
xor esi, esi
cmp ecx, esi
jne 0x4454e9
xor eax, eax
jmp 0x4457e1
push edi
call fcn.0045b9c4
mov edi, eax
cmp edi, esi
jne 0x4454fc
xor eax, eax
jmp 0x4457e0
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.004701a0
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 0x44553e
xor eax, eax
jmp 0x4457df
push 0x800
lea eax, [ebp - 0x6c]
push esi
push eax
call fcn.004701a0
mov eax, dword [edi]
add esp, 0xc
push ebx
lea ecx, [ebp - 0x6c]
push ecx
push edi
call dword [eax + 0x4c]
mov ecx, dword [0x4f17c0]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], esi
call fcn.0045bab5
cmp eax, esi
je 0x44564a
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x44564a
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 0x4455ae
cmp dword [ebp - 0x70], esi
je 0x4455e1
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 0x4455d6
mov dword [ebp - 0x74], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x4455e4
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 0x445610
cmp dword [ebp - 0x70], esi
je 0x44563e
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 0x445635
mov dword [ebp - 0x78], 1
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x74], esi
je 0x44564d
cmp dword [ebp - 0x78], esi
jne 0x44566d
jmp 0x44564d
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.004701a0
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.004701a0
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 [0x4f17c0]
mov dword [ebp - 0x74], esi
mov dword [ebp - 0x78], esi
call fcn.0045bab5
cmp eax, esi
je 0x4457b2
mov ecx, dword [eax]
push eax
call dword [ecx + 0x50]
test eax, eax
je 0x4457b2
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 0x445716
cmp dword [ebp - 0x70], esi
je 0x44574e
lea eax, [ebp + 0x794]
push eax
call fcn.00470c3e
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 0x445745
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 0x445772
cmp dword [ebp - 0x70], esi
je 0x4457a8
lea eax, [ebp + 0x794]
push eax
call fcn.00470c3e
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 0x44579f
mov dword [ebp - 0x78], edi
push dword [ebp - 0x70]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x74], esi
je 0x4457b2
cmp dword [ebp - 0x78], esi
jne 0x4457dc
lea eax, [ebp + 0x794]
push eax
call fcn.00470c3e
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.0047021a
add ebp, 0x1928
leave
ret