Function at 0x1000a716
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
mov dword [ebp - 4], 0
mov dword [ebp - 8], 0
mov dword [ebp - 0xc], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x1c], 0
cmp dword [ebp + 8], 0
jne 0x1000a76c
xor eax, eax
call dword [0x1001da09]
nop
nop
mov dword [ebp - 4], eax
jmp 0x1000a786
push dword [ebp + 8]
push 0
push 0x400
xor eax, eax
call dword [sym.imp.ADVAPI32.dll_OpenSCManagerA]
nop
nop
mov dword [ebp - 4], eax
cmp dword [ebp - 4], 0
jne 0x1000a79a
mov eax, 0x1001a201
jmp 0x1000aa84
push 0x80000301
push 0
push 0x20a
push 1
mov ebx, 0x1bc
call fcn.100165a0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x1000a7cf
push ebx
call fcn.10015402
add esp, 4
pop eax
mov dword [ebp - 8], eax
push 0x104
mov eax, dword [ebp - 8]
test eax, eax
je 0x1000a7e2
add eax, 8
push eax
push dword [ebp - 4]
xor eax, eax
call dword [sym.imp.KERNEL32.dll_RtlZeroMemory]
nop
nop
mov dword [ebp - 0xc], eax
push dword [ebp - 4]
xor eax, eax
call dword [0x1001da19]
nop
nop
fild dword [ebp - 0xc]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fmul qword [0x1001a279]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fadd qword [0x1001a279]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001173
push eax
lea eax, [ebp - 8]
push eax
call fcn.100049b3
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x38]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x1000a847
push ebx
call fcn.10015402
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov eax, 0x1001a878
test eax, eax
je 0x1000a867
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.10015408
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
push eax
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x1000a878
push ebx
call fcn.10015402
add esp, 4
pop eax
mov dword [ebp - 0x10], eax
push 0x80000301
push 0
push 0x20a
push 1
mov ebx, 0x1bc
call fcn.100165a0
add esp, 0x10
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x1000a8b1
push ebx
call fcn.10015402
add esp, 4
pop eax
mov dword [ebp - 0x14], eax
xor ecx, ecx
lea eax, [ebp - 0x18]
mov ebx, eax
inc ecx
push ecx
push ebx
mov dword [ebx], ecx
cmp ecx, 0x1a
jg 0x1000aa77
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 0
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
inc byte [ebx]
push 0x104
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x1000a8f3
add eax, 8
push eax
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x1000a8fe
add eax, 8
push eax
xor eax, eax
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
nop
nop
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0xc], 0
jle 0x1000aa70
mov ebx, dword [ebp - 0x14]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
push ebx
fild dword [ebp - 0xc]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fmul qword [0x1001a279]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fsub qword [0x1001a886]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001173
dec eax
pop ebx
add ebx, eax
mov dword [ebp - 0x38], ebx
mov ebx, dword [ebp - 0x38]
mov byte [ebx], 0x5c
fild dword [ebp - 0xc]
fstp qword [ebp - 0x24]
fld qword [ebp - 0x24]
fmul qword [0x1001a279]
fstp qword [ebp - 0x2c]
fld qword [ebp - 0x2c]
fsub qword [0x1001a279]
fstp qword [ebp - 0x34]
fld qword [ebp - 0x34]
call fcn.10001173
mov dword [ebp - 0xc], eax
push dword [ebp - 0xc]
lea eax, [ebp - 0x14]
push eax
call fcn.100049b3
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x1000a9a1
push ebx
call fcn.10015402
add esp, 4
pop eax
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], 0
push 0
push dword [ebp - 0x20]
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp - 8]
push eax
call fcn.1000490c
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x28], 1
jne 0x1000aa70
mov ebx, dword [ebp - 0x10]
mov ecx, dword [ebx]
inc ecx
shl ecx, 2
add ebx, ecx
mov eax, 4
add ebx, eax
mov dword [ebp - 0x20], ebx
mov ebx, dword [ebp - 0x20]
mov byte [ebx], 0x5c
push 0x80000005
push 0
mov eax, dword [ebp - 0x10]
test eax, eax
jne 0x1000a9f9
mov eax, 0x1001a201
push eax
push 0x80000301
push 0
push dword [ebp - 0xc]
push 0x80000301
push 0
push 1
push 0x80000005
push 0
mov eax, dword [ebp - 8]
test eax, eax
jne 0x1000aa23
mov eax, 0x1001a201
push eax
push 4
mov ebx, 0x1b4
call fcn.10016f50
add esp, 0x34
mov dword [ebp - 0x20], eax
mov eax, dword [ebp - 0x20]
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x1000aa4d
push ebx
call fcn.10015402
add esp, 4
pop eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 8]
test eax, eax
je 0x1000aa6b
push eax
mov eax, dword [eax + 4]
add eax, 8
push eax
call fcn.10015408
pop ecx
pop esi
mov edi, eax
rep movsb byte es:[edi], byte [esi]
jmp 0x1000aa84
pop ebx
pop ecx
jmp 0x1000a8bc
add esp, 8
mov eax, 0x1001a201
jmp 0x1000aa84
push eax
mov ebx, dword [ebp - 8]
test ebx, ebx
je 0x1000aa95
push ebx
call fcn.10015402
add esp, 4
mov ebx, dword [ebp - 0x10]
test ebx, ebx
je 0x1000aaa5
push ebx
call fcn.10015402
add esp, 4
mov ebx, dword [ebp - 0x14]
test ebx, ebx
je 0x1000aab5
push ebx
call fcn.10015402
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x1000aac5
push ebx
call fcn.10015402
add esp, 4
pop eax
mov esp, ebp
pop ebp
ret 8