Function at 0x100b8256
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x1f8
mov eax, dword [0x1001e618]
xor eax, ebp
mov dword [ebp - 4], eax
push 0x1013e224
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
cmp byte [0x1013e250], 0
jne 0x100b8644
push ebx
push edi
lea eax, [ebp - 0x1c0]
push eax
xor ebx, ebx
inc ebx
push ebx
xor edi, edi
push edi
push 0x100b8660
push reloc.OLEAUT32.dll_SysReAllocString
mov byte [0x1013e250], bl
mov dword [ebp - 0x1c0], edi
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x100b863d
push esi
mov esi, 0xaa
push esi
mov word [ebp - 0x15c], ax
lea eax, [ebp - 0x15a]
push edi
push eax
mov dword [ebp - 0x1cc], edi
call sub.MSVCR100.dll_memset
xor eax, eax
push esi
mov word [ebp - 0xb0], ax
lea eax, [ebp - 0xae]
push edi
push eax
mov dword [ebp - 0x1c4], 0x55
mov dword [ebp - 0x1d0], ebx
call sub.MSVCR100.dll_memset
add esp, 0x18
lea eax, [ebp - 0x1c8]
push eax
lea eax, [ebp - 0xb0]
push eax
lea eax, [ebp - 0x1d0]
push eax
push edi
lea eax, [ebp - 0x1c4]
push eax
lea eax, [ebp - 0x15c]
push eax
mov dword [ebp - 0x1c8], 0x55
push edi
jmp 0x100b861c
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0x15c]
push 0x100033ec
push eax
mov dword [ebp - 0x1bc], edi
call dword [sym.imp.MSVCR100.dll_wcstok_s]
add esp, 0xc
mov esi, edi
test eax, eax
je 0x100b85cb
cmp esi, 3
jae 0x100b838a
mov dword [ebp + esi*4 - 0x1f8], eax
lea eax, [ebp - 0x1bc]
push eax
push 0x100033ec
push edi
call dword [sym.imp.MSVCR100.dll_wcstok_s]
add esp, 0xc
inc esi
test eax, eax
jne 0x100b8360
cmp esi, 3
jne 0x100b85cb
lea eax, [ebp - 0x1bc]
push eax
lea eax, [ebp - 0xb0]
push 0x100b86dc
push eax
mov dword [ebp - 0x1bc], edi
call dword [sym.imp.MSVCR100.dll_wcstok_s]
add esp, 0xc
mov esi, edi
test eax, eax
je 0x100b85cb
cmp esi, 4
jae 0x100b83e6
mov dword [ebp + esi*4 - 0x1ec], eax
lea eax, [ebp - 0x1bc]
push eax
push 0x100b86dc
push edi
call dword [sym.imp.MSVCR100.dll_wcstok_s]
add esp, 0xc
inc esi
test eax, eax
jne 0x100b83bc
cmp esi, 4
jne 0x100b85cb
mov edi, dword [ebp - 0x1ec]
xor ecx, ecx
cmp word [edi], cx
je 0x100b85c9
mov ebx, dword [ebp - 0x1e8]
cmp word [ebx], cx
je 0x100b85c9
mov eax, dword [ebp - 0x1e4]
cmp word [eax], cx
je 0x100b85c9
mov eax, dword [ebp - 0x1e0]
cmp word [eax], cx
je 0x100b85c9
lea eax, [ebp - 0x1d4]
push eax
push dword [ebp - 0x1f8]
call fcn.100c6095
lea eax, [ebp - 0x1d8]
push eax
push dword [ebp - 0x1f4]
call fcn.100c6095
lea eax, [ebp - 0x1dc]
push eax
push dword [ebp - 0x1f0]
call fcn.100c6095
mov esi, dword [ebp - 0x1d4]
lea eax, [esi - 1]
cmp eax, 0x270e
ja 0x100b85c9
mov edx, dword [ebp - 0x1d8]
lea eax, [edx - 1]
cmp eax, 0xb
ja 0x100b85c9
mov ecx, dword [ebp - 0x1dc]
lea eax, [ecx - 1]
cmp eax, 0x1e
ja 0x100b85c9
mov dword [ebp - 0x1b0], ecx
mov ecx, edi
mov dword [ebp - 0x1b8], esi
mov dword [ebp - 0x1b4], edx
lea edx, [ecx + 2]
xor esi, esi
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x100b84b1
sub ecx, edx
sar ecx, 1
cmp ecx, 0xa
jae 0x100b84ed
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x100b84ca
sub ecx, edx
sar ecx, 1
push ecx
push edi
lea eax, [ebp - 0x1ac]
push 0xa
push eax
call dword [sym.imp.MSVCR100.dll_wcsncpy_s]
add esp, 0x10
mov ecx, ebx
push 2
lea edx, [ecx + 2]
xor edi, edi
pop esi
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x100b84f7
sub ecx, edx
sar ecx, 1
cmp ecx, 5
jae 0x100b8531
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x100b850f
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea eax, [ebp - 0x198]
push 5
push eax
call dword [sym.imp.MSVCR100.dll_wcsncpy_s]
add esp, 0x10
mov ebx, dword [ebp - 0x1e4]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x100b853c
sub ecx, edx
sar ecx, 1
cmp ecx, 0x14
jae 0x100b8576
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x100b8554
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea eax, [ebp - 0x18e]
push 0x14
push eax
call dword [sym.imp.MSVCR100.dll_wcsncpy_s]
add esp, 0x10
mov ebx, dword [ebp - 0x1e0]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x100b8581
sub ecx, edx
sar ecx, 1
cmp ecx, 5
jae 0x100b85bb
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, esi
cmp ax, di
jne 0x100b8599
sub ecx, edx
sar ecx, 1
push ecx
push ebx
lea eax, [ebp - 0x166]
push 5
push eax
call dword [sym.imp.MSVCR100.dll_wcsncpy_s]
add esp, 0x10
lea eax, [ebp - 0x1b8]
push eax
call fcn.100b3be8
jmp 0x100b85cb
xor edi, edi
push 0x55
xor eax, eax
mov word [ebp - 0x15c], ax
mov word [ebp - 0xb0], ax
pop eax
lea ecx, [ebp - 0x1c8]
push ecx
lea ecx, [ebp - 0xb0]
push ecx
lea ecx, [ebp - 0x1d0]
push ecx
push edi
lea ecx, [ebp - 0x1c4]
push ecx
mov dword [ebp - 0x1c4], eax
mov dword [ebp - 0x1c8], eax
mov eax, dword [ebp - 0x1cc]
lea ecx, [ebp - 0x15c]
inc eax
push ecx
mov dword [ebp - 0x1cc], eax
push eax
push dword [ebp - 0x1c0]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
test eax, eax
je 0x100b8334
push dword [ebp - 0x1c0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
pop esi
call fcn.100b3a11
pop edi
pop ebx
push 0x1013e224
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1002238e
leave
ret