Function at 0x10f8f49
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x260
mov eax, 0x110870a
call fcn.0106f6be
mov eax, dword [ebp + 8]
mov dword [ebp - 0x248], eax
mov eax, dword [ebp + 0xc]
xor edi, edi
mov dword [ebp - 0x250], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x264], eax
mov dword [ebp - 0x240], edi
mov dword [ebp - 0x23c], edi
mov dword [ebp - 0x22c], edi
mov dword [ebp - 4], edi
mov dword [ebp - 0x234], edi
lea ecx, [ebp - 0x22c]
mov byte [ebp - 4], 1
call fcn.010d9b10
push eax
push 0x1010838
push 1
push edi
push 0x1015330
call dword [sym.imp.ole32.dll_CoCreateInstance]
mov esi, eax
cmp esi, edi
jl 0x10f92f1
lea ecx, [ebp - 0x22c]
call fcn.010ceb85
push 0x1012d44
lea ecx, [ebp - 0x230]
mov edi, eax
call fcn.010219c8
mov esi, dword [edi]
mov ebx, dword [eax]
lea ecx, [ebp - 0x234]
mov byte [ebp - 4], 2
add esi, 0xbc
call fcn.010d9b10
push eax
push ebx
push edi
call dword [esi]
push dword [ebp - 0x230]
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov esi, eax
test esi, esi
setl bl
mov byte [ebp - 4], 1
call edi
test bl, bl
jne 0x10f92f1
lea ecx, [ebp - 0x22c]
call fcn.010ceb85
mov ecx, dword [eax]
push 0
push dword [ebp - 0x234]
push eax
call dword [ecx + 0x54]
mov esi, eax
test esi, esi
jl 0x10f92f1
push 0x2000
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x240], eax
lea eax, [ebp - 0x23c]
push eax
push 0x20019
xor ebx, ebx
push ebx
mov esi, 0x100d598
push esi
push 0x80000002
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
je 0x10f9344
mov ecx, dword [0x111124c]
cmp ecx, 0x111124c
je 0x10f90a3
test byte [ecx + 0x1c], 1
je 0x10f90a3
cmp byte [ecx + 0x19], 3
jb 0x10f90a3
push eax
push esi
push 0x1012c00
push 0x17
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.010196ed
mov eax, dword [ebp - 0x250]
mov eax, dword [eax + 4]
mov dword [ebp - 0x268], eax
mov dword [ebp - 0x228], ebx
cmp eax, ebx
jbe 0x10f92ce
mov dword [ebp - 0x21c], ebx
push dword [ebp - 0x228]
mov ecx, dword [ebp - 0x250]
mov byte [ebp - 4], 5
call fcn.010f8285
lea ecx, [ebp - 0x22c]
mov dword [ebp - 0x26c], eax
call fcn.010ceb85
push 0x1012c9c
lea ecx, [ebp - 0x248]
mov ebx, eax
call fcn.010219c8
mov eax, dword [eax]
mov esi, dword [ebx]
lea ecx, [ebp - 0x21c]
mov byte [ebp - 4], 6
mov dword [ebp - 0x24c], eax
add esi, 0xbc
call fcn.010d9b10
push eax
push dword [ebp - 0x24c]
push ebx
call dword [esi]
push dword [ebp - 0x248]
mov esi, eax
test esi, esi
setl bl
mov byte [ebp - 4], 5
call edi
test bl, bl
jne 0x10f95a6
push 0x1012d0c
lea ecx, [ebp - 0x238]
call fcn.010219c8
lea eax, [ebp - 0x238]
push eax
push 0x1012c90
lea eax, [ebp - 0x21c]
push eax
mov byte [ebp - 4], 7
call fcn.010f82cb
push dword [ebp - 0x238]
mov esi, eax
test esi, esi
setl bl
mov byte [ebp - 4], 5
call edi
test bl, bl
jne 0x10f95a6
mov ebx, dword [ebp - 0x26c]
push dword [ebx]
lea ecx, [ebp - 0x224]
call fcn.010219c8
lea eax, [ebp - 0x224]
push eax
push 0x1010980
lea eax, [ebp - 0x21c]
push eax
mov byte [ebp - 4], 8
call fcn.010f82cb
push dword [ebp - 0x224]
mov esi, eax
test esi, esi
setl byte [ebp - 0x21d]
mov byte [ebp - 4], 5
call edi
cmp byte [ebp - 0x21d], 0
jne 0x10f95a6
push dword [ebx + 4]
lea ecx, [ebp - 0x244]
call fcn.010219c8
lea eax, [ebp - 0x244]
push eax
push 0x1012c7c
lea eax, [ebp - 0x21c]
push eax
mov byte [ebp - 4], 9
call fcn.010f82cb
push dword [ebp - 0x244]
mov esi, eax
test esi, esi
setl byte [ebp - 0x21d]
mov byte [ebp - 4], 5
call edi
cmp byte [ebp - 0x21d], 0
jne 0x10f95a6
cmp byte [ebx + 8], 0
mov eax, 0x100ce18
jne 0x10f923a
mov eax, 0x100ce0c
push eax
lea ecx, [ebp - 0x230]
call fcn.010219c8
lea eax, [ebp - 0x230]
push eax
push 0x1010954
lea eax, [ebp - 0x21c]
push eax
mov byte [ebp - 4], 0xa
call fcn.010f82cb
push dword [ebp - 0x230]
mov esi, eax
test esi, esi
setl bl
mov byte [ebp - 4], 5
call edi
test bl, bl
jne 0x10f95a6
lea ecx, [ebp - 0x234]
call fcn.010ceb85
mov ecx, dword [eax]
push 0
push dword [ebp - 0x21c]
push eax
call dword [ecx + 0x54]
mov esi, eax
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 1
test esi, esi
jl 0x10f95b0
test eax, eax
je 0x10f92b4
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
inc dword [ebp - 0x228]
mov eax, dword [ebp - 0x228]
xor ebx, ebx
cmp eax, dword [ebp - 0x268]
jb 0x10f90c0
mov esi, dword [ebp - 0x264]
push dword [esi]
call edi
lea ecx, [ebp - 0x22c]
mov dword [esi], ebx
call fcn.010ceb85
mov ecx, dword [eax]
push esi
push eax
call dword [ecx + 0x88]
mov esi, eax
cmp dword [ebp - 0x23c], 0
je 0x10f9306
push dword [ebp - 0x23c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push dword [ebp - 0x240]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
mov eax, dword [ebp - 0x234]
pop ecx
mov byte [ebp - 4], 0
test eax, eax
je 0x10f9326
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [ebp - 0x22c]
or dword [ebp - 4], 0xffffffff
test eax, eax
je 0x10f933a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, esi
call fcn.0106f750
ret 0xc
mov dword [ebp - 0x228], ebx
mov eax, 0x104
mov dword [ebp - 0x230], eax
mov dword [ebp - 0x238], 0x2000
mov dword [ebp - 0x21c], ebx
push eax
lea eax, [ebp - 0x218]
push ebx
push eax
mov byte [ebp - 4], 3
call sub.msvcrt.dll_memset
add esp, 0xc
lea eax, [ebp - 0x238]
push eax
push dword [ebp - 0x240]
lea eax, [ebp - 0x244]
push eax
push ebx
lea eax, [ebp - 0x230]
push eax
lea eax, [ebp - 0x218]
push eax
push dword [ebp - 0x228]
push dword [ebp - 0x23c]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
inc dword [ebp - 0x228]
mov esi, eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
mov dword [ebp - 0x24c], esi
call fcn.01057980
cmp eax, ebx
jge 0x10f93de
push ebx
push ebx
push 1
push eax
call dword [sym.imp.KERNEL32.dll_RaiseException]
cmp esi, ebx
jne 0x10f952f
cmp dword [ebp - 0x244], 7
jne 0x10f9537
mov esi, dword [ebp - 0x248]
mov dword [ebp - 0x224], ebx
cmp dword [esi + 4], ebx
jbe 0x10f943a
push dword [ebp - 0x224]
mov ecx, esi
call fcn.010f8241
push dword [eax]
push dword [ebp - 0x21c]
call dword [sym.imp.msvcrt.dll__wcsicmp]
pop ecx
pop ecx
test eax, eax
je 0x10f94e4
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
cmp eax, dword [esi + 4]
jb 0x10f9404
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x258], ebx
mov dword [ebp - 0x254], ebx
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x22c]
push eax
push dword [ebp - 0x238]
lea eax, [ebp - 0x21c]
push dword [ebp - 0x240]
mov byte [ebp - 4], 4
push eax
call fcn.010f8ac7
cmp eax, ebx
jl 0x10f94d4
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x25c], ebx
jbe 0x10f94d4
lea ecx, [ebp - 0x234]
call fcn.010ceb85
push dword [ebp - 0x224]
lea ecx, [ebp - 0x260]
mov esi, eax
call fcn.01020ba0
mov eax, dword [eax]
mov ecx, dword [esi]
push ebx
push eax
push esi
call dword [ecx + 0x54]
mov esi, eax
cmp esi, ebx
jl 0x10f958a
inc dword [ebp - 0x224]
mov eax, dword [ebp - 0x224]
cmp eax, dword [ebp - 0x25c]
jb 0x10f948e
lea ecx, [ebp - 0x260]
call fcn.01103c67
jmp 0x10f956d
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10f9522
test byte [eax + 0x1c], 1
je 0x10f9522
cmp byte [eax + 0x19], 4
jb 0x10f9522
push dword [ebp - 0x224]
mov ecx, esi
call fcn.010f8241
push dword [eax]
mov eax, dword [0x111124c]
push 0x1012c00
push 0x18
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01019680
push dword [ebp - 0x21c]
call edi
jmp 0x10f934a
cmp esi, 0x103
je 0x10f956d
mov eax, dword [0x111124c]
cmp eax, 0x111124c
je 0x10f956d
test byte [eax + 0x1c], 1
je 0x10f956d
cmp byte [eax + 0x19], 3
jb 0x10f956d
push esi
push dword [ebp - 0x228]
push 0x100d598
push 0x1012c00
push 0x19
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.0109b90b
push dword [ebp - 0x21c]
mov byte [ebp - 4], 1
call edi
cmp dword [ebp - 0x24c], ebx
je 0x10f934a
jmp 0x10f90a3
lea ecx, [ebp - 0x260]
call fcn.01103c67
push dword [ebp - 0x21c]
mov byte [ebp - 4], 1
call edi
jmp 0x10f92f1
mov eax, dword [ebp - 0x21c]
mov byte [ebp - 4], 1
test eax, eax
je 0x10f92f1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
jmp 0x10f92f1