Function at 0x100dbe6
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push 0x284
mov eax, 0x10398ac
call fcn.0103738d
mov eax, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 0x27c], eax
xor eax, eax
mov dword [ebp - 0x290], ebx
lea edi, [ebp - 0x28c]
stosd dword es:[edi], eax
mov dword [ebp - 0x258], ecx
mov edi, 0x80004005
lea ecx, [ebp - 0x288]
mov dword [ebp - 0x230], edi
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x22c], ebx
mov dword [ebp - 0x25c], ebx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x278], ebx
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x228], ebx
call fcn.01014810
xor eax, eax
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x224]
push eax
push 0x20019
push ebx
push 0x1001f00
push 0x80000002
mov dword [ebp - 4], ebx
call dword [sym.imp.KERNEL32.dll_RegOpenKeyExW]
test eax, eax
je 0x100dcb9
mov eax, dword [section..data]
cmp eax, section..data
je 0x100dca6
test byte [eax + 0x1c], 1
je 0x100dca6
push 0x1001e78
push 0x2b
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.0100968c
mov edi, eax
jmp 0x100e1fc
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x22c]
push eax
push ebx
push ebx
push ebx
push ebx
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_RegQueryInfoKeyW]
test eax, eax
je 0x100dcf5
mov eax, dword [section..data]
cmp eax, section..data
je 0x100dca6
test byte [eax + 0x1c], 1
je 0x100dca6
push 0x1001e78
push 0x2c
jmp 0x100dc9b
inc dword [ebp - 0x22c]
mov eax, dword [ebp - 0x22c]
xor ecx, ecx
push 2
pop edx
mul edx
seto cl
mov byte [ebp - 4], 1
neg ecx
or ecx, eax
push ecx
call sub.msvcrt.dll_void____cdecl_operator_new_unsigned_int_
pop ecx
mov dword [ebp - 0x220], eax
mov dword [ebp - 4], ebx
jmp 0x100dd37
cmp dword [ebp - 0x220], ebx
jne 0x100dd70
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e1fc
test byte [eax + 0x1c], 1
je 0x100e1fc
push 0x1001e78
push 0x2d
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
jmp 0x100e1fc
mov dword [ebp - 0x230], ebx
mov esi, 0x1001e78
lea ecx, [ebp - 0x268]
call fcn.01014810
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.01014810
or dword [ebp - 0x238], 0xffffffff
xor eax, eax
lea edi, [ebp - 0x250]
mov dword [ebp - 0x254], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x24c], ebx
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x23c], ebx
mov eax, dword [ebp - 0x22c]
mov dword [ebp - 0x278], eax
lea eax, [ebp - 0x290]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x278]
push eax
push dword [ebp - 0x220]
mov byte [ebp - 4], 5
push dword [ebp - 0x230]
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_RegEnumKeyExW]
cmp eax, ebx
je 0x100de5f
cmp eax, 0x103
je 0x100e14c
mov eax, dword [section..data]
cmp eax, section..data
je 0x100de31
test byte [eax + 0x1c], 1
je 0x100de31
push esi
push 0x2e
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
mov byte [ebp - 4], 4
cmp dword [ebp - 0x24c], ebx
je 0x100de51
push ebx
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
call fcn.0100c6a3
jmp 0x100de56
mov eax, 0x8002000b
cmp eax, ebx
jge 0x100de35
jmp 0x100e124
lea eax, [ebp - 0x228]
push eax
push 0x20019
push ebx
push dword [ebp - 0x220]
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_RegOpenKeyExW]
test eax, eax
je 0x100ded0
mov eax, dword [section..data]
cmp eax, section..data
je 0x100dea2
test byte [eax + 0x1c], 1
je 0x100dea2
push esi
push 0x2f
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
mov byte [ebp - 4], 4
cmp dword [ebp - 0x24c], ebx
je 0x100dec2
push ebx
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
call fcn.0100c6a3
jmp 0x100dec7
mov eax, 0x8002000b
cmp eax, ebx
jge 0x100dea6
jmp 0x100e124
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x25c]
push eax
push ebx
push ebx
push 0x1001f44
push dword [ebp - 0x228]
mov dword [ebp - 0x234], 4
call dword [sym.imp.KERNEL32.dll_RegQueryValueExW]
test eax, eax
jne 0x100e0e1
test byte [ebp - 0x25c], 0xb
je 0x100e0e1
mov word [ebp - 0x21c], ax
lea eax, [ebp - 0x234]
push eax
lea eax, [ebp - 0x21c]
push eax
push ebx
push 2
push 0x1001f50
push ebx
push dword [ebp - 0x228]
mov dword [ebp - 0x234], 0x208
call dword [sym.imp.KERNEL32.dll_RegGetValueW]
cmp eax, ebx
je 0x100df74
xor ecx, ecx
mov word [ebp - 0x21c], cx
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100df74
test byte [ecx + 0x1c], 2
je 0x100df74
push eax
push esi
push 0x30
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01008600
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x288]
push eax
lea eax, [ebp - 0x21c]
push eax
push dword [ebp - 0x220]
call fcn.0100c214
cmp eax, ebx
jge 0x100dfc7
mov ecx, dword [section..data]
cmp ecx, section..data
je 0x100e0e1
test byte [ecx + 0x1c], 1
je 0x100e0e1
push eax
push esi
push 0x31
push dword [ecx + 0x14]
push dword [ecx + 0x10]
call fcn.01008600
jmp 0x100e0e1
lea ecx, [ebp - 0x288]
call fcn.01015d45
push eax
call fcn.010108ed
test eax, eax
je 0x100e0e1
mov ecx, dword [ebp - 0x258]
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x268]
push eax
push dword [ebp - 0x228]
call fcn.0100c464
xor ecx, ecx
test eax, eax
setge cl
mov edi, ecx
cmp edi, ebx
je 0x100e0ad
cmp dword [ebp - 0x24c], ebx
je 0x100e02c
push ebx
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
call fcn.0100c6a3
jmp 0x100e031
mov eax, 0x8002000b
cmp eax, ebx
jge 0x100e010
lea ecx, [ebp - 0x268]
call fcn.01014b17
test eax, eax
je 0x100e071
lea ecx, [ebp - 0x268]
mov dword [ebp - 0x254], 0x1002730
call fcn.01015d45
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0100caf6
lea ecx, [ebp - 0x274]
call fcn.01014b17
test eax, eax
je 0x100e0ad
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x254], 0x100271c
call fcn.01015d45
mov dword [ebp - 0x250], eax
lea eax, [ebp - 0x254]
push eax
lea ecx, [ebp - 0x24c]
call fcn.0100caf6
neg edi
sbb edi, edi
lea eax, [ebp - 0x24c]
and edi, eax
push edi
lea ecx, [ebp - 0x288]
call fcn.01015d45
mov ecx, dword [ebp - 0x258]
push eax
push dword [ebp - 0x27c]
call fcn.0100cd25
mov edi, eax
cmp edi, ebx
jl 0x100e196
cmp dword [ebp - 0x228], ebx
je 0x100e0fb
push dword [ebp - 0x228]
call dword [sym.imp.KERNEL32.dll_RegCloseKey]
mov dword [ebp - 0x228], ebx
mov byte [ebp - 4], 4
cmp dword [ebp - 0x24c], ebx
je 0x100e11b
push ebx
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
call fcn.0100c6a3
jmp 0x100e120
mov eax, 0x8002000b
cmp eax, ebx
jge 0x100e0ff
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.01014822
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], bl
call fcn.01014822
inc dword [ebp - 0x230]
jmp 0x100dd7b
mov byte [ebp - 4], 4
cmp dword [ebp - 0x24c], ebx
je 0x100e16c
push ebx
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
call fcn.0100c6a3
jmp 0x100e171
mov eax, 0x8002000b
cmp eax, ebx
jge 0x100e150
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.01014822
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], bl
call fcn.01014822
xor edi, edi
jmp 0x100e1fc
mov eax, dword [section..data]
cmp eax, section..data
je 0x100e1b6
test byte [eax + 0x1c], 1
je 0x100e1b6
push esi
push 0x32
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.010078b5
mov byte [ebp - 4], 4
cmp dword [ebp - 0x24c], ebx
je 0x100e1d6
push ebx
push dword [ebp - 0x24c]
lea ecx, [ebp - 0x24c]
call fcn.0100c6a3
jmp 0x100e1db
mov eax, 0x8002000b
cmp eax, ebx
jge 0x100e1ba
lea ecx, [ebp - 0x274]
mov byte [ebp - 4], 3
call fcn.01014822
lea ecx, [ebp - 0x268]
mov byte [ebp - 4], bl
call fcn.01014822
cmp dword [ebp - 0x224], ebx
je 0x100e216
push dword [ebp - 0x224]
call dword [sym.imp.KERNEL32.dll_RegCloseKey]
mov dword [ebp - 0x224], ebx
cmp dword [ebp - 0x220], ebx
je 0x100e22a
push dword [ebp - 0x220]
call sub.msvcrt.dll_void___cdecl_operator_delete_void__
pop ecx
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x288]
call fcn.01014822
mov eax, edi
call fcn.010373f8
ret 4