Function at 0x1000f067
Capabilities:
Contain obfuscated stackstrings
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
sub esp, 0x23c
lea ebp, [esp - 4]
mov eax, dword [0x10028180]
xor eax, ebp
mov dword [ebp + 0x23c], eax
push 0x70
mov eax, 0x1001f2e3
call fcn.10012db4
mov eax, dword [ebp + 0x248]
xor ebx, ebx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], 0x80000001
cmp byte [ebp + 0x250], bl
je 0x1000f0ac
mov dword [ebp - 0x38], VariantClear
mov esi, 0x103
push esi
lea eax, [ebp + 1]
push ebx
push eax
mov byte [ebp + 0x238], 0x61
mov byte [ebp + 0x224], 0x75
mov byte [ebp + 0x222], 0x5c
mov byte [ebp + 0x226], 0x72
mov byte [ebp + 0x21f], 0x6f
mov byte [ebp + 0x20d], 0x41
mov byte [ebp + 0x234], 0x69
mov byte [ebp + 0x213], 0x63
mov byte [ebp + 0x228], 0x6e
mov byte [ebp + 0x227], 0x65
mov byte [ebp + 0x22f], 0x6f
mov byte [ebp + 0x20b], 0x54
mov byte [ebp + 0x229], 0x74
mov byte [ebp + 0x211], 0x4d
mov byte [ebp + 0x21d], 0x6e
mov byte [ebp + 0x21b], 0x57
mov byte [ebp + 0x216], 0x73
mov byte [ebp + 0x233], 0x6e
mov byte [ebp + 0x23b], bl
mov byte [ebp + 0x22b], 0x65
mov byte [ebp + 0x218], 0x66
mov byte [ebp + 0x215], 0x6f
mov byte [ebp + 0x210], 0x5c
mov byte [ebp + 0x209], 0x4f
mov byte [ebp + 0x20c], 0x57
mov byte [ebp + 0x214], 0x72
mov byte [ebp + 0x21a], 0x5c
mov byte [ebp + 0x237], 0x74
mov byte [ebp + 0x239], 0x6c
mov byte [ebp + 0x219], 0x74
mov byte [ebp + 0x223], 0x43
mov byte [ebp + 0x21e], 0x64
mov byte [ebp + 0x21c], 0x69
mov byte [ebp + 0x20e], 0x52
mov byte [ebp + 0x217], 0x6f
mov byte [ebp + 0x230], 0x6e
mov byte [ebp + 0x20f], 0x45
mov byte [ebp + 0x220], 0x77
mov byte [ebp + 0x22c], 0x72
mov byte [ebp + 0x208], 0x53
mov byte [ebp + 0x23a], 0x6c
mov byte [ebp + 0x22d], 0x73
mov byte [ebp + 0x22e], 0x69
mov byte [ebp + 0x236], 0x73
mov byte [ebp + 0x212], 0x69
mov byte [ebp + 0x20a], 0x46
mov byte [ebp + 0x235], 0x6e
mov byte [ebp + 0x22a], 0x56
mov byte [ebp + 0x231], 0x5c
mov byte [ebp + 0x225], 0x72
mov byte [ebp + 0x221], 0x73
mov byte [ebp + 0x232], 0x55
mov byte [ebp], bl
call fcn.10011f80
push esi
lea eax, [ebp + 0x105]
push ebx
push eax
mov byte [ebp + 0x104], bl
call fcn.10011f80
add esp, 0x18
mov dword [ebp - 0x1c], 0x104
mov dword [ebp - 0x3c], 0x20019
cmp byte [ebp + 0x24c], bl
je 0x1000f25e
mov dword [ebp - 0x3c], 0x20119
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x3c]
lea eax, [ebp + 0x208]
push ebx
push eax
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
test eax, eax
je 0x1000f281
xor al, al
jmp 0x1000f505
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp]
push eax
push ebx
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
mov dword [ebp - 0x14], 1
cmp eax, ebx
jne 0x1000f4fa
mov edi, dword [sym.imp.ADVAPI32.dll_RegQueryValueExA]
mov esi, 0x800
push 0x104
lea eax, [ebp + 0x104]
push ebx
push eax
call fcn.10011f80
add esp, 0xc
lea eax, [ebp + 0x208]
push eax
lea eax, [ebp + 0x104]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea eax, [ebp]
push eax
lea eax, [ebp + 0x104]
push eax
call dword [sym.imp.SHLWAPI.dll_PathAppendA]
lea eax, [ebp - 0x34]
push eax
push dword [ebp - 0x3c]
lea eax, [ebp + 0x104]
push ebx
push eax
push dword [ebp - 0x38]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExA]
cmp eax, ebx
jne 0x1000f4d0
push 4
pop eax
mov dword [ebp - 0x28], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x28]
push eax
push ebx
push str.SystemComponent
push dword [ebp - 0x34]
mov dword [ebp - 0x4c], ebx
call edi
cmp dword [ebp - 0x4c], ebx
jne 0x1000f4c7
push 0x10021b53
lea ecx, [ebp - 0x18]
call fcn.10002795
push 0x10021b53
lea ecx, [ebp - 0x2c]
mov dword [ebp - 4], ebx
call fcn.10002795
push esi
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 1
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x20], esi
call fcn.10001e7f
lea ecx, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
push ebx
push str.DisplayName
push dword [ebp - 0x34]
call edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x18]
mov dword [ebp - 0x48], eax
call fcn.1000dd87
cmp dword [ebp - 0x48], ebx
jne 0x1000f4ad
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x14]
mov eax, dword [eax]
push ecx
push eax
lea ecx, [ebp - 0x60]
call fcn.1000dfbd
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax + 0x14]
push eax
push ecx
jmp 0x1000f425
lea ecx, [ebp - 0x44]
call fcn.1000ddb1
push eax
lea ecx, [ebp - 0x6c]
call fcn.1000e0ed
lea eax, [ebp - 0x58]
push eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.1000e09f
push dword [eax]
lea ecx, [ebp - 0x18]
mov byte [ebp - 4], 3
call fcn.1000dd65
mov ecx, dword [ebp - 0x58]
neg eax
sbb al, al
inc al
add ecx, 0xfffffff0
mov byte [ebp - 0xd], al
call fcn.100010c6
lea ecx, [ebp - 0x6c]
cmp byte [ebp - 0xd], bl
jne 0x1000f4a8
mov byte [ebp - 4], 1
call fcn.1000e131
lea ecx, [ebp - 0x44]
call fcn.1000dde0
mov ecx, dword [ebp - 0x24]
mov eax, dword [ecx + 0x14]
push ecx
push eax
lea ecx, [ebp - 0x54]
call fcn.1000dfbd
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x44]
call fcn.1000db39
test al, al
je 0x1000f3bd
push esi
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x20], esi
call fcn.10001e7f
lea ecx, [ebp - 0x20]
push ecx
push eax
lea eax, [ebp - 0x28]
push eax
push ebx
push str.DisplayVersion
push dword [ebp - 0x34]
call edi
push 0xffffffffffffffff
lea ecx, [ebp - 0x2c]
call fcn.1000dd87
push ecx
lea eax, [ebp - 0x2c]
mov dword [ebp - 0x48], esp
mov ecx, esp
push eax
call fcn.10001c1e
push ecx
lea eax, [ebp - 0x18]
mov dword [ebp - 0x70], esp
mov ecx, esp
push eax
mov byte [ebp - 4], 4
call fcn.10001c1e
lea ecx, [ebp - 0x7c]
mov byte [ebp - 4], 1
call fcn.1000e9c6
mov ecx, dword [ebp - 0x24]
lea eax, [ebp - 0x7c]
push eax
mov byte [ebp - 4], 5
call fcn.1000ef3a
lea ecx, [ebp - 0x7c]
call fcn.1000e131
mov ecx, dword [ebp - 0x2c]
add ecx, 0xfffffff0
call fcn.100010c6
mov ecx, dword [ebp - 0x18]
or dword [ebp - 4], 0xffffffff
add ecx, 0xfffffff0
call fcn.100010c6
push dword [ebp - 0x34]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp]
push eax
push dword [ebp - 0x14]
mov dword [ebp - 0x1c], 0x104
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExA]
inc dword [ebp - 0x14]
cmp eax, ebx
je 0x1000f2b1
push dword [ebp - 0x30]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov al, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp + 0x23c]
xor ecx, ebp
call fcn.10011f6b
add ebp, 0x240
leave
ret 0xc