Function at 0x100118a4
Capabilities:
Query or enumerate registry value

Disassembly:
push 0x18c
mov eax, 0x1002b857
call fcn.1002a4e9
mov dword [ebp - 0x148], ecx
mov esi, dword [ebp + 8]
xor ecx, ecx
mov eax, ecx
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x140], eax
mov dword [ebp - 4], ecx
mov edi, ecx
mov dword [ebp - 0x120], ecx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x11c], ecx
mov dword [ebp - 0x134], ecx
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x130], ecx
mov dword [ebp - 0x170], ecx
mov dword [ebp - 0x16c], ecx
mov dword [ebp - 0x168], ecx
mov dword [ebp - 0x160], ecx
mov dword [ebp - 0x164], ecx
mov dword [ebp - 0x154], ecx
mov dword [ebp - 0x15c], ecx
mov dword [ebp - 0x150], ecx
mov ebx, 0x100062d0
push ebx
lea ecx, [ebp - 0x134]
mov byte [ebp - 4], 9
mov dword [ebp - 0x158], 0x2760
call fcn.10016bf4
push ebx
lea ecx, [ebp - 0x130]
call fcn.10016bf4
push ebx
lea ecx, [ebp - 0x138]
call fcn.10016bf4
mov eax, dword [esi]
mov ecx, dword [eax]
and dword [ebp - 0x14c], edi
lea edx, [ebp - 0x120]
push edx
push eax
call dword [ecx + 0x34]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
cmp dword [ebp - 0x120], edi
je 0x10011d3e
mov ebx, dword [sym.imp.MSVCR100.dll__wcsicmp]
push dword [ebp - 0x124]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x124], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x124]
push edx
push eax
call dword [ecx + 0xa4]
mov edi, eax
test edi, edi
jne 0x10011d3e
push 0x10006a08
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011b8c
cmp dword [ebp - 0x154], eax
jne 0x10012022
mov ecx, dword [ebp - 0x148]
lea eax, [ebp - 0x154]
push eax
lea eax, [ebp - 0x120]
push eax
call fcn.1000ef53
test eax, eax
je 0x10012022
push dword [ebp - 0x130]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x130], edi
mov ecx, dword [eax]
lea edx, [ebp - 0x130]
push edx
push eax
call dword [ecx + 0x68]
push 0x2001f
push dword [0x10032b08]
lea ecx, [ebp - 0x170]
push SysReAllocString
call fcn.10016bf4
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x118]
push eax
push edi
push edi
push 0x10006a14
push dword [ebp - 0x170]
mov dword [ebp - 0x174], 0x105
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
test eax, eax
jne 0x10011b7c
lea eax, [ebp - 0x118]
push eax
lea ecx, [ebp - 0x144]
call fcn.10016bf4
mov eax, dword [ebp - 0x144]
mov byte [ebp - 4], 0xa
cmp dword [eax - 8], edi
je 0x10011b09
push dword [ebp - 0x130]
lea ecx, [ebp - 0x178]
call fcn.10016bf4
mov ecx, dword [ebp - 0x12c]
push 0x10006a24
push eax
or ecx, 1
lea eax, [ebp - 0x17c]
push eax
mov byte [ebp - 4], 0xb
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x140], ecx
call fcn.10020d16
mov ecx, dword [ebp - 0x12c]
or ecx, 2
mov dword [ebp - 0x12c], ecx
mov dword [ebp - 0x140], ecx
mov ecx, eax
mov dword [ebp - 4], 0xc
call fcn.10020bd7
push eax
lea ecx, [ebp - 0x144]
call fcn.10016bf4
mov byte [ebp - 0x125], 1
cmp eax, 0xffffffff
jne 0x10011b10
mov byte [ebp - 0x125], 0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 4], 0xb
test al, 2
je 0x10011b41
and eax, 0xfffffffd
lea ecx, [ebp - 0x17c]
mov dword [ebp - 0x12c], eax
mov dword [ebp - 0x140], eax
call fcn.1002161e
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 4], 0xa
test al, 1
je 0x10011b60
and eax, 0xfffffffe
lea ecx, [ebp - 0x178]
mov dword [ebp - 0x12c], eax
call fcn.1002161e
lea ecx, [ebp - 0x144]
mov byte [ebp - 4], 9
call fcn.1002161e
cmp byte [ebp - 0x125], 0
jne 0x10011d3e
lea ecx, [ebp - 0x170]
call fcn.1000cef2
jmp 0x10012022
push 0x100069fc
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011bda
push dword [ebp - 0x13c]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x13c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x13c]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
jne 0x10011d3e
mov dword [ebp - 0x14c], 1
jmp 0x10012022
push 0x10006a28
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x10011eaa
push 0x10006a3c
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
je 0x10011eaa
push 0x10006a50
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011c35
push dword [ebp - 0x134]
call esi
and dword [ebp - 0x134], 0
lea edx, [ebp - 0x134]
jmp 0x10011d27
push 0x10006a68
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011c9a
push dword [ebp - 0x11c]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x11c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
jne 0x10011d3e
push 0x10006a80
push dword [ebp - 0x11c]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10012022
mov dword [ebp - 0x15c], 1
jmp 0x10012022
push 0x10006a8c
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011cfb
push dword [ebp - 0x11c]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x11c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
jne 0x10011d3e
push 0x10006a80
push dword [ebp - 0x11c]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10012022
mov dword [ebp - 0x150], 1
jmp 0x10012022
push 0x10006aa4
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011da1
push dword [ebp - 0x138]
call esi
and dword [ebp - 0x138], 0
lea edx, [ebp - 0x138]
mov eax, dword [ebp - 0x120]
mov ecx, dword [eax]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
je 0x10012022
lea ecx, [ebp - 0x170]
call fcn.1000cef2
push dword [ebp - 0x130]
call esi
push dword [ebp - 0x138]
call esi
push dword [ebp - 0x13c]
call esi
push dword [ebp - 0x134]
call esi
push dword [ebp - 0x11c]
call esi
push dword [ebp - 0x124]
call esi
mov eax, dword [ebp - 0x120]
mov byte [ebp - 4], 1
test eax, eax
je 0x10011d8d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [ebp + 0xc]
call esi
push dword [ebp + 0x10]
call esi
mov eax, edi
call fcn.1002a56c
ret 0xc
push 0x10006ab8
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011df8
push dword [ebp - 0x11c]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x11c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
jne 0x10011d3e
push dword [ebp - 0x11c]
call dword [sym.imp.MSVCR100.dll__wtol]
pop ecx
mov dword [ebp - 0x158], eax
jmp 0x10012022
push 0x10006ad8
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10011e4f
push dword [ebp - 0x11c]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x11c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
jne 0x10011d3e
push dword [ebp - 0x11c]
call dword [sym.imp.MSVCR100.dll__wtol]
pop ecx
mov dword [ebp - 0x160], eax
jmp 0x10012022
push 0x10006af0
push dword [ebp - 0x124]
call ebx
pop ecx
pop ecx
test eax, eax
jne 0x10012022
push dword [ebp - 0x11c]
call esi
mov eax, dword [ebp - 0x120]
and dword [ebp - 0x11c], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x11c]
push edx
push eax
call dword [ecx + 0x68]
mov edi, eax
test edi, edi
jne 0x10011d3e
push dword [ebp - 0x11c]
call dword [sym.imp.MSVCR100.dll__wtol]
pop ecx
mov dword [ebp - 0x164], eax
jmp 0x10012022
mov edi, dword [ebp - 0x148]
push dword [ebp + 0x10]
lea ecx, [edi + 8]
push dword [ecx + 8]
call fcn.10016bf4
push dword [ebp - 0x130]
lea ecx, [edi + 0x1c]
push dword [ecx + 8]
call fcn.10016bf4
push dword [ebp - 0x134]
lea ecx, [edi + 0x94]
push dword [ecx + 8]
call fcn.10016bf4
push dword [ebp - 0x138]
lea ecx, [edi + 0xa8]
push dword [ecx + 8]
call fcn.10016bf4
push dword [ebp - 0x158]
lea ecx, [edi + 0xf8]
push dword [ecx + 8]
call sub.mfc100.dll_Ordinal_12097
push dword [ebp - 0x160]
lea ecx, [edi + 0xe4]
push dword [ecx + 8]
call sub.mfc100.dll_Ordinal_12097
push dword [ebp - 0x164]
lea ecx, [edi + 0xd0]
push dword [ecx + 8]
call sub.mfc100.dll_Ordinal_12097
push 0xa
lea ecx, [ebp - 0x198]
call fcn.10016bf4
mov dword [ebp - 0x198], 0x10006338
lea ecx, [ebp - 0x198]
push ecx
push dword [edi + 0x38]
lea ecx, [edi + 0x30]
mov byte [ebp - 4], 0xd
call fcn.10016bf4
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 9
mov dword [ebp - 0x198], 0x10006320
call fcn.1000d395
cmp dword [ebp - 0x15c], 0
je 0x10011f90
cmp dword [ebp - 0x150], 0
je 0x10011f90
xor eax, eax
inc eax
jmp 0x10011f92
xor eax, eax
lea ecx, [edi + 0xbc]
push eax
push dword [ecx + 8]
call sub.mfc100.dll_Ordinal_12097
cmp dword [ebp - 0x14c], 0
je 0x10011fe3
mov eax, dword [edi + 0x38]
dec eax
js 0x10012041
lea ecx, [edi + 0x30]
cmp eax, dword [ecx + 8]
jge 0x10012041
imul eax, eax, 0x1c
add eax, dword [ecx + 4]
push eax
push ecx
lea eax, [ebp - 0x13c]
mov ecx, esp
mov dword [ebp - 0x140], esp
push eax
call fcn.10016bf4
mov ecx, edi
call fcn.100122e7
push 0x10006a3c
push dword [ebp - 0x124]
call ebx
neg eax
pop ecx
pop ecx
sbb eax, eax
inc eax
push eax
push ecx
lea eax, [ebp + 0xc]
mov ecx, esp
mov dword [ebp - 0x140], esp
push eax
call fcn.10016bf4
lea eax, [ebp - 0x120]
push eax
mov ecx, edi
call fcn.10010f37
mov edi, eax
test edi, edi
js 0x10011d3e
lea eax, [ebp - 0x120]
push eax
call fcn.1000d2c0
cmp dword [ebp - 0x120], 0
pop ecx
jne 0x1001198f
jmp 0x10011d3e
call sub.mfc100.dll_Ordinal_2061
int3