Function at 0x10027529
Capabilities:
Query or enumerate registry key

Disassembly:
mov eax, 0x1008392f
call fcn.100826bc
sub esp, 0x88
push ebx
push esi
push edi
mov edi, ecx
push edi
push 0x59e8
push 1
call fcn.100215f4
movdqa xmm0, xmmword [0x10008090]
lea eax, [ebp - 0x64]
add esp, 0xc
mov dword [ebp - 0x1c], 7
xor ebx, ebx
mov dword [ebp - 0x20], 0xb37b0480
mov dword [ebp - 0x20], 0x3ec3d4e7
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x20], 0xfffffffc
push dword [ebp - 0x24]
movdqu xmmword [ebp - 0x74], xmm0
push eax
lea eax, [ebp - 0x74]
mov dword [ebp - 0x34], ebx
push eax
push ebx
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x2c], ebx
call fcn.10028d1b
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x74]
push dword [ebp - 0x24]
movdqa xmm0, xmmword [0x10008050]
lea ecx, [ebp - 0x40]
push eax
lea eax, [ebp - 0x84]
mov dword [ebp - 0x14], 0x4a2c6eb8
push eax
push ebx
movdqu xmmword [ebp - 0x84], xmm0
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.10028d1b
push 3
mov dword [ebp - 0x50], 0x57e8f534
mov dword [ebp - 0x14], ebx
pop esi
jmp 0x100275ed
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x4c], 0xffffffff
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], esi
jl 0x100275df
mov dword [ebp - 0x14], ebx
jmp 0x10027608
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x94], 0xa5cd
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 4
jl 0x100275f7
cmp dword [ebp - 0x1c], ebx
jne 0x1002764d
mov ecx, dword [ebp - 0x1c]
xor edx, edx
sub ecx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp ecx, eax
setl dl
xor eax, eax
add edx, dword [ebp - 0x1c]
cmp edx, 0x7684593f
setg al
xor edx, edx
cmp eax, 2
mov eax, dword [ebp - 0x1c]
setg dl
xor ecx, ecx
cmp edx, eax
setle cl
imul ecx, dword [ebp - 0x1c]
mov dword [ebp - 0x20], ecx
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x1c]
neg eax
sbb eax, eax
xor edx, edx
inc eax
neg eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
cmp eax, 1
mov eax, dword [ebp - 0x34]
setle dl
xor ecx, ecx
cmp edx, dword [eax]
setl cl
mov dword [ebp - 0x14], ecx
cmp dword [ebp - 0x14], ebx
je 0x1002767a
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x1c]
xor ecx, ecx
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
cmp eax, 0xffffffff
sete cl
add eax, eax
sub ecx, eax
mov eax, dword [ebp - 0x40]
mov dword [eax], ecx
mov dword [ebp - 0x14], 0xfffd
mov dword [ebp - 0x24], 0xffffffff
mov dword [ebp - 0x1c], ebx
jmp 0x10027777
mov dword [ebp - 0x24], 0xfff6
xor ecx, ecx
mov dword [ebp - 0x54], 7
mov dword [ebp - 0x28], 0x837b75ae
mov edx, dword [ebp - 0x8c]
mov eax, dword [ebp - 0x48]
sub edx, eax
mov eax, dword [ebp - 0x14]
cmp edx, eax
sete cl
add ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x14]
sub edx, ecx
neg edx
sbb edx, edx
inc edx
sub edx, eax
sub edx, dword [ebp - 0x54]
neg edx
sbb edx, edx
xor eax, eax
inc edx
add edx, dword [ebp - 0x20]
cmp edx, 0x44351d5e
setle al
xor edx, edx
imul eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14]
imul ecx, eax, 0x599
mov eax, dword [ebp - 0x8c]
cmp ecx, eax
mov eax, dword [ebp - 0x34]
setle dl
sub edx, dword [eax]
cmp edx, 0x3b0f6051
jl 0x10027735
cmp dword [ebp - 0x14], ebx
jne 0x10027735
mov esi, ebx
jmp 0x10027738
xor esi, esi
inc esi
mov eax, dword [ebp - 0x50]
xor ecx, ecx
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp - 0x14]
cmp esi, eax
mov eax, dword [ebp - 0x40]
setge cl
push 3
pop esi
mov dword [eax + edx*4], ecx
mov eax, dword [ebp - 0x48]
mov dword [ebp - 0x28], 0xaab159bb
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x14]
mov eax, dword [ebp - 0x24]
add eax, dword [ebp - 0x14]
imul eax, dword [ebp - 0x14]
mov dword [ebp - 0x24], eax
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], esi
jle 0x100276b2
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x10027792
push ebx
push ebx
push ebx
call dword [sym.imp.ADVAPI32.dll_LookupPrivilegeValueW]
mov dword [ebp - 0x1c], esi
cmp dword [ebp - 0x1c], ebx
jl 0x100277d9
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100277b5
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push 0x883
push ebx
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
mov byte [ebp - 0x15], bl
cmp byte [ebp - 0x15], 0
je 0x100277d4
push 0x23d6
push ebx
push 0x1f78
push 0xda1
call dword [sym.imp.USER32.dll_SystemParametersInfoW]
dec dword [ebp - 0x1c]
jns 0x1002779a
lea ecx, [ebp - 0x40]
call fcn.10027bfc
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x34]
call fcn.10027bfc
push edi
call fcn.1003388f
pop ecx
push 2
pop edi
mov dword [ebp - 0x28], 0xffffffff
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x24], 0x3717be9f
mov esi, eax
mov dword [ebp - 0x24], 3
push edi
call fcn.10027b4a
mov dword [ebp - 0x20], 0xfffffffe
mov dword [ebp - 0x14], ebx
jmp 0x1002782d
mov eax, dword [ebp - 0x14]
mov dword [ebp + eax*4 - 0x64], edi
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], 1
jl 0x10027823
mov dword [ebp - 0x14], ebx
jmp 0x10027848
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x60]
mov dword [eax + ecx*4], 5
inc dword [ebp - 0x14]
cmp dword [ebp - 0x14], edi
jl 0x10027838
mov eax, dword [ebp - 0x28]
lea ecx, [ebp - 0x60]
mov dword [ebp - 0x28], eax
dec dword [ebp - 0x20]
call fcn.10027bfc
mov ecx, dword [ebp - 0xc]
mov eax, esi
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret