Function at 0x5a7e2420
Capabilities:
Set registry value

Disassembly:
push ebp
lea ebp, [esp - 0x78]
sub esp, 0x590
push ebx
push esi
push edi
push 9
pop ecx
mov esi, 0x5a7e13b8
lea edi, [ebp + 0x28]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x10
pop ecx
push 5
mov esi, 0x5a7e1378
lea edi, [ebp - 0x18]
rep movsd dword es:[edi], dword [esi]
pop ecx
mov esi, 0x5a7e1364
lea edi, [ebp + 0x50]
rep movsd dword es:[edi], dword [esi]
mov edi, dword [sym.imp.ole32.dll_StringFromGUID2]
mov esi, 0x80
push esi
lea eax, [ebp - 0x418]
xor ebx, ebx
push eax
push 0x5a7e175c
mov dword [ebp + 0x70], ebx
mov dword [ebp + 0x74], ebx
mov dword [ebp + 0x6c], ebx
mov dword [ebp + 0x64], ebx
call edi
push esi
lea eax, [ebp - 0x518]
push eax
push 0x5a7e174c
call edi
push esi
lea eax, [ebp - 0x318]
push eax
push 0x5a7e173c
call edi
push esi
lea eax, [ebp - 0x218]
push eax
push dword [0x5a7e4014]
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
lea eax, [ebp - 0x118]
push 0x5a7e1354
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
mov edi, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
add esp, 0x10
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x70]
push eax
push ebx
mov esi, 0xf003f
push esi
push ebx
push ebx
push ebx
lea eax, [ebp - 0x118]
push eax
push 0x80000000
call edi
cmp dword [ebp + 0x70], ebx
je 0x5a7e2897
lea eax, [ebp + 0x28]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp + 0x28]
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
push ebx
push esi
push ebx
push ebx
push ebx
push 0x5a7e1334
push dword [ebp + 0x70]
call edi
cmp dword [ebp + 0x74], ebx
mov esi, dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jne 0x5a7e2556
mov ebx, 0x80004005
jmp 0x5a7e28c9
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea eax, [ebp + 0x50]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp + 0x50]
push eax
push 1
push ebx
push 0x5a7e1314
push dword [ebp + 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x74]
call esi
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e1304
push dword [ebp + 0x70]
mov dword [ebp + 0x74], ebx
call edi
cmp dword [ebp + 0x74], ebx
je 0x5a7e254c
lea eax, [ebp - 0x318]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x318]
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x74]
call esi
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e12f4
push dword [ebp + 0x70]
mov dword [ebp + 0x74], ebx
call edi
cmp dword [ebp + 0x74], ebx
je 0x5a7e254c
push 0x5a7e12ec
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
push 0x5a7e12ec
push 1
push ebx
push ebx
push dword [ebp + 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x74]
call esi
push dword [ebp + 0x70]
mov dword [ebp + 0x74], ebx
call esi
lea eax, [ebp - 0x118]
push 0x5a7e12d8
push eax
mov dword [ebp + 0x70], ebx
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x318]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
add esp, 0x10
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x70]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
lea eax, [ebp - 0x118]
push eax
push 0x80000000
call edi
cmp dword [ebp + 0x70], ebx
je 0x5a7e2897
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x74]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e12ec
push dword [ebp + 0x70]
call edi
cmp dword [ebp + 0x74], ebx
je 0x5a7e254c
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x18]
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x74]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x6c]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e12d4
push dword [ebp + 0x74]
call edi
cmp dword [ebp + 0x6c], ebx
je 0x5a7e27f3
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x64]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e12c8
push dword [ebp + 0x6c]
call edi
cmp dword [ebp + 0x64], ebx
jne 0x5a7e2734
push dword [ebp + 0x6c]
call esi
jmp 0x5a7e27f3
lea eax, [ebp - 0x218]
push 0x2e
push eax
call dword [sym.imp.msvcrt.dll_wcsrchr]
push 0x5a7e12bc
push eax
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
add esp, 0x14
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x218]
push eax
push 1
push ebx
push ebx
push dword [ebp + 0x64]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x64]
call esi
push dword [ebp + 0x6c]
mov dword [ebp + 0x64], ebx
call esi
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x6c]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e12b0
push dword [ebp + 0x74]
mov dword [ebp + 0x6c], ebx
call edi
cmp dword [ebp + 0x6c], ebx
je 0x5a7e27f3
push 0x5a7e12d4
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
push 0x5a7e12d4
push 1
push ebx
push ebx
push dword [ebp + 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x6c]
call esi
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x6c]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
push 0x5a7e12a0
push dword [ebp + 0x74]
mov dword [ebp + 0x6c], ebx
call edi
cmp dword [ebp + 0x6c], ebx
jne 0x5a7e27fd
push dword [ebp + 0x74]
call esi
jmp 0x5a7e254c
push 0x5a7e129c
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
push 0x5a7e129c
push 1
push ebx
push ebx
push dword [ebp + 0x6c]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x6c]
call esi
push dword [ebp + 0x74]
mov dword [ebp + 0x6c], ebx
call esi
push dword [ebp + 0x70]
mov dword [ebp + 0x74], ebx
call esi
lea eax, [ebp - 0x118]
push 0x5a7e1238
push eax
mov dword [ebp + 0x70], ebx
call dword [sym.imp.msvcrt.dll_wcscpy]
lea eax, [ebp - 0x118]
push 0x5a7e1224
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
lea eax, [ebp - 0x418]
push eax
lea eax, [ebp - 0x118]
push eax
call dword [sym.imp.msvcrt.dll_wcscat]
add esp, 0x18
lea eax, [ebp + 0x68]
push eax
lea eax, [ebp + 0x70]
push eax
push ebx
push 0xf003f
push ebx
push ebx
push ebx
lea eax, [ebp - 0x118]
push eax
push 0x80000002
call edi
cmp dword [ebp + 0x70], ebx
jne 0x5a7e289e
mov eax, 0x80004005
jmp 0x5a7e28d0
lea eax, [ebp - 0x518]
push eax
call dword [sym.imp.msvcrt.dll_wcslen]
pop ecx
lea eax, [eax + eax + 2]
push eax
lea eax, [ebp - 0x518]
push eax
push 7
push ebx
push 0x5a7e120c
push dword [ebp + 0x70]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
push dword [ebp + 0x70]
call esi
mov eax, ebx
pop edi
pop esi
pop ebx
add ebp, 0x78
leave
ret