Function at 0x105d247
Capabilities:
Query or enumerate registry key
Set registry value

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x6ec
mov eax, dword [0x1072c48]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x1f
pop ecx
mov esi, 0x100b548
lea edi, [ebp - 0x230]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
push 0x19
mov esi, 0x100b538
lea edi, [ebp - 0x14]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
pop ecx
push 0x19
mov esi, 0x100b4d0
lea edi, [ebp - 0x140]
rep movsd dword es:[edi], dword [esi]
pop ecx
movsw word es:[edi], word [esi]
push 0x18
mov esi, 0x100b468
lea edi, [ebp - 0x78]
rep movsd dword es:[edi], dword [esi]
pop ecx
push 0x1c
mov esi, 0x100b408
lea edi, [ebp - 0xd8]
rep movsd dword es:[edi], dword [esi]
pop ecx
push 0x21
mov esi, 0x100b398
lea edi, [ebp - 0x1b0]
rep movsd dword es:[edi], dword [esi]
pop ecx
mov esi, 0x100b310
lea edi, [ebp - 0x2b8]
rep movsd dword es:[edi], dword [esi]
mov ebx, dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
movsw word es:[edi], word [esi]
xor esi, esi
push esi
lea eax, [ebp - 0x6d0]
push eax
push esi
push 0xf003f
push esi
push esi
push esi
lea eax, [ebp - 0xd8]
push eax
mov edi, 0x80000002
push edi
mov dword [ebp - 0x6d0], esi
call ebx
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d325
push 3
push 0x10000000
lea eax, [ebp - 0x230]
push eax
push dword [ebp - 0x6d0]
call fcn.0105cdfb
mov dword [ebp - 0x6cc], eax
cmp dword [ebp - 0x6d0], esi
je 0x105d339
push dword [ebp - 0x6d0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x6d4], esi
mov dword [ebp - 0x6d8], esi
cmp dword [ebp - 0x6cc], esi
jne 0x105d602
push esi
lea eax, [ebp - 0x6d8]
push eax
push esi
push 0xf003f
push esi
push esi
push esi
lea eax, [ebp - 0x1b0]
push eax
push edi
call ebx
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d5c6
push 3
push 0x20019
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x6d8]
call fcn.0105cdfb
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d5c6
lea eax, [ebp - 0x6d4]
push eax
push 0x109
push esi
lea eax, [ebp - 0x140]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d5c6
push dword [ebp - 0x6d8]
push dword [ebp - 0x6d4]
call fcn.0105d013
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d5c6
push esi
lea eax, [ebp - 0x6dc]
push eax
push esi
push 0xf003f
push esi
push esi
push esi
lea eax, [ebp - 0x2b8]
push eax
push edi
mov dword [ebp - 0x6dc], esi
mov dword [ebp - 0x6d0], esi
call ebx
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d598
push esi
push 0x20019
lea eax, [ebp - 0x14]
push eax
push dword [ebp - 0x6dc]
call fcn.0105cdfb
mov dword [ebp - 0x6cc], eax
cmp eax, esi
jne 0x105d598
lea eax, [ebp - 0x6d0]
push eax
push 0x109
push esi
lea eax, [ebp - 0x78]
push eax
push edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
mov edi, dword [sym.imp.ADVAPI32.dll_RegEnumKeyW]
mov ebx, 0x104
push ebx
lea eax, [ebp - 0x4c0]
push eax
mov dword [ebp - 0x6e8], esi
push esi
jmp 0x105d575
lea eax, [ebp - 0x6e4]
push eax
lea eax, [ebp - 0x4c0]
push eax
mov dword [ebp - 0x6e4], esi
mov dword [ebp - 0x6cc], esi
call sub.ADVAPI32.dll_ConvertStringSidToSidW
test eax, eax
je 0x105d561
push dword [ebp - 0x6e4]
call dword [sym.imp.KERNEL32.dll_LocalFree]
push esi
lea eax, [ebp - 0x6cc]
push eax
push esi
push 0xf003f
push esi
push esi
push esi
lea eax, [ebp - 0x4c0]
push eax
push dword [ebp - 0x6dc]
mov dword [ebp - 0x6e4], esi
call dword [sym.imp.ADVAPI32.dll_RegCreateKeyExW]
cmp eax, esi
jne 0x105d54d
push 3
push 0x2001f
lea eax, [ebp - 0x4c0]
push eax
push dword [ebp - 0x6cc]
call fcn.0105cdfb
cmp eax, esi
jne 0x105d54d
push ebx
lea eax, [ebp - 0x6c8]
push eax
mov dword [ebp - 0x6e0], esi
push esi
jmp 0x105d541
push 4
lea eax, [ebp - 0x6ec]
push eax
push 4
push esi
lea eax, [ebp - 0x6c8]
push eax
push dword [ebp - 0x6cc]
mov dword [ebp - 0x6ec], 2
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
inc dword [ebp - 0x6e0]
push ebx
lea eax, [ebp - 0x6c8]
push eax
push dword [ebp - 0x6e0]
push dword [ebp - 0x6d4]
call edi
test eax, eax
je 0x105d504
cmp dword [ebp - 0x6cc], esi
je 0x105d561
push dword [ebp - 0x6cc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
inc dword [ebp - 0x6e8]
push ebx
lea eax, [ebp - 0x4c0]
push eax
push dword [ebp - 0x6e8]
push dword [ebp - 0x6d0]
call edi
mov dword [ebp - 0x6cc], eax
cmp eax, esi
je 0x105d475
cmp eax, 0x103
jne 0x105d598
mov dword [ebp - 0x6cc], esi
cmp dword [ebp - 0x6dc], esi
je 0x105d5b2
push dword [ebp - 0x6dc]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x6dc], esi
cmp dword [ebp - 0x6d0], esi
je 0x105d5c6
push dword [ebp - 0x6d0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
cmp dword [ebp - 0x6d4], esi
je 0x105d5e0
push dword [ebp - 0x6d4]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x6d4], esi
cmp dword [ebp - 0x6d8], esi
je 0x105d5fa
push dword [ebp - 0x6d8]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov dword [ebp - 0x6d8], esi
cmp dword [ebp - 0x6cc], esi
je 0x105d612
push dword [ebp - 0x6cc]
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
jmp 0x105d615
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01047464
leave
ret