Function at 0x1006404
Capabilities:
Delete registry value
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov eax, dword [ebx + 0x38c]
mov esi, dword [ebx + 8]
xor edi, edi
mov dword [ebp - 0x18], eax
push edi
mov dword [ebp - 0x10], edi
call fcn.010066c6
cmp eax, edi
mov dword [ebp - 8], eax
je 0x1017978
cmp dword [0x102103c], edi
je 0x1017980
cmp dword [ebx + 0xe3c], edi
jne 0x10179cd
push 1
mov dword [0x1021688], edi
call fcn.01005c87
push 0x78
push ebx
call fcn.01005f67
lea ecx, [ebp + 8]
lea eax, [esi + 0xbc]
push ecx
lea ecx, [ebp - 0x38]
push ecx
lea ecx, [ebp - 0x1c]
push ecx
lea ecx, [ebp - 0x10]
push ecx
push dword [ebp - 8]
push eax
push dword [ebx + 0x34]
push dword [ebp - 0x18]
call dword [ebx + 0x3a0]
cmp dword [0x102103c], edi
mov dword [ebp - 4], eax
mov dword [0x1021688], 1
je 0x10179d6
cmp dword [ebp - 4], 1
jne 0x10064d6
cmp dword [ebp - 0x38], edi
je 0x10064b7
push dword [ebp - 0x38]
call fcn.01002c06
mov dword [esi + 0xc8], eax
cmp dword [ebp - 0x34], edi
je 0x10064ca
push dword [ebp - 0x34]
call fcn.01002c06
mov dword [esi + 0xcc], eax
cmp dword [0x102104c], edi
jne 0x10179e8
push 1
pop eax
cmp dword [ebp - 4], eax
jne 0x10179fd
cmp dword [esi + 0xcc], edi
je 0x100650f
mov dword [ebp - 0x18], eax
lea eax, [ebp - 0x14]
push eax
push 0x2001f
push edi
push 0x1009fb0
push 0x80000002
call dword [sym.imp.ADVAPI32.DLL_RegOpenKeyExW]
cmp eax, edi
je 0x1017a47
lea eax, [esi + 0xc4]
push eax
lea eax, [esi + 0xbc]
push eax
push dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push edi
push ebx
call fcn.01006835
lea eax, [ebp - 0x38]
push eax
call fcn.01006937
mov eax, dword [0x10212e4]
cmp eax, edi
je 0x100655d
push 0xffffffffffffffff
push eax
call dword [sym.imp.KERNEL32.DLL_WaitForSingleObject]
push dword [0x10212e4]
call dword [sym.imp.KERNEL32.DLL_CloseHandle]
mov dword [0x10212e4], edi
push 1
push dword [ebp - 8]
push edi
push dword [ebp - 0x1c]
push ebx
call fcn.0100267a
test byte [ebp - 0x10], 1
jne 0x10066bc
mov eax, dword [ebp + 8]
cmp eax, edi
je 0x1006633
mov eax, dword [eax + 4]
cmp eax, edi
jne 0x1017adf
mov dword [esi + 0x88], edi
mov eax, dword [ebp + 8]
cmp dword [eax], 2
jb 0x1017b1d
mov eax, dword [eax + 8]
cmp eax, edi
je 0x1017afc
push eax
call fcn.01002c06
mov dword [esi + 0x90], eax
mov eax, dword [ebp + 8]
push dword [eax + 8]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc]
cmp eax, edi
je 0x1017b07
push eax
call fcn.01002c06
mov dword [esi + 0x94], eax
mov eax, dword [ebp + 8]
push dword [eax + 0xc]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x10]
cmp eax, edi
je 0x1017b12
push eax
call fcn.01002c06
mov dword [esi + 0x98], eax
mov eax, dword [ebp + 8]
push dword [eax + 0x10]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x14]
cmp eax, edi
je 0x1017b2f
push eax
call fcn.01006ad6
mov dword [esi + 0x9c], eax
mov eax, dword [ebp + 8]
push dword [eax + 0x14]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
push dword [ebp + 8]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
push ebx
call fcn.01006b11
test eax, eax
je 0x1017b3a
push ebx
call fcn.0100a8e9
lea eax, [esi + 0x28]
push edi
push eax
call fcn.0100a927
push dword [esi + 0x2c]
mov dword [ebp - 0x18], eax
call dword [sym.imp.NTDLL.DLL_RtlLengthSid]
push eax
lea eax, [esi + 0xbc]
push dword [esi + 0x2c]
push eax
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_SetWindowStationUser]
push dword [ebp - 0x18]
call fcn.0100a9e8
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_UnlockWindowStation]
push dword [esi + 4]
call dword [sym.imp.USER32.DLL_LockWindowStation]
push dword [ebp - 8]
call fcn.01007db5
mov eax, dword [0x102114c]
cmp eax, edi
je 0x10066bc
push edi
push 0xffffffffffffffff
push ebx
push 0x1017810
add esi, 0xb8
push eax
push esi
call dword [sym.imp.KERNEL32.DLL_RegisterWaitForSingleObject]
mov eax, dword [ebp - 4]
pop edi
pop esi
pop ebx
leave
ret 4
push 2
pop eax
jmp 0x10066bf
push edi
push 0x100c504
push 0x1008b34
call dword [sym.imp.KERNEL32.DLL_GetProfileIntW]
cmp eax, 1
push edi
push edi
jne 0x10179bd
push 0x1015875
push edi
push 0x8b6
push edi
push ebx
call fcn.010060ce
push dword [ebp - 8]
mov dword [ebx + 0x60], 2
call fcn.01002494
push 4
jmp 0x101797a
push 0x16
push 0xffffffffffffffff
push edi
call dword [0x1023058]
jmp 0x100643e
or dword [ebp - 0x10], 8
jmp 0x100644a
push edi
push edi
push 0x17
push 0xffffffffffffffff
push edi
call dword [0x1023058]
jmp 0x100649e
push dword [ebp - 0x1c]
lea eax, [ebp - 0x38]
push eax
push ebx
call fcn.0101842e
mov dword [ebp - 4], eax
jmp 0x10064d6
push dword [ebp - 8]
mov dword [ebx + 0x60], 2
call fcn.01002494
mov eax, dword [esi + 0xc8]
lea ebx, [esi + 0xc8]
cmp eax, edi
je 0x1017a25
push eax
call dword [sym.imp.KERNEL32.DLL_LocalFree]
mov dword [ebx], edi
mov eax, dword [esi + 0xcc]
add esi, 0xcc
cmp eax, edi
je 0x10066bc
push eax
call dword [sym.imp.KERNEL32.DLL_LocalFree]
mov dword [esi], edi
jmp 0x10066bc
lea eax, [ebp - 0x20]
mov dword [ebp - 0x20], 4
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x28]
push eax
push edi
push dword [esi + 0xc8]
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.DLL_RegQueryValueExW]
cmp eax, edi
jne 0x1017aa4
push dword [ebp - 0x1c]
call dword [sym.imp.ADVAPI32.DLL_ImpersonateLoggedOnUser]
push ebx
call fcn.01015d4f
mov dword [ebp - 0xc], eax
call dword [sym.imp.ADVAPI32.DLL_RevertToSelf]
cmp dword [ebp - 0xc], edi
je 0x1017abe
cmp dword [ebp - 0xc], 0x4de
je 0x1017abe
cmp dword [ebp - 0xc], 0x4d3
je 0x1017aa4
mov dword [ebp - 0x18], 4
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.DLL_RegCloseKey]
mov eax, dword [ebp - 0x18]
cmp eax, 1
jne 0x10066bf
jmp 0x100650f
push dword [esi + 0xc8]
push dword [ebp - 0x14]
call dword [sym.imp.ADVAPI32.DLL_RegDeleteValueW]
cmp dword [ebp - 0xc], 0x4de
je 0x1017aa4
mov dword [ebp - 0x18], 2
jmp 0x1017aa4
push eax
call fcn.010038a6
mov dword [esi + 0x88], eax
mov eax, dword [ebp + 8]
push dword [eax + 4]
call dword [sym.imp.KERNEL32.DLL_LocalFree]
jmp 0x1006592
mov dword [esi + 0x90], edi
jmp 0x10065c1
mov dword [esi + 0x94], edi
jmp 0x10065e7
mov dword [esi + 0x98], edi
jmp 0x100660d
mov dword [esi + 0x90], edi
mov dword [esi + 0x94], edi
mov dword [esi + 0x98], edi
mov dword [esi + 0x9c], edi
jmp 0x1006633
mov dword [ebp - 4], 4
jmp 0x10066bc