Function at 0x10052fc
Capabilities:
Query or enumerate registry value via stdregprov

Disassembly:
push 0x3c
mov eax, 0x100d7eb
call fcn.01007280
mov dword [ebp - 0x2c], 1
xor ebx, ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 0x14], ebx
cmp dword [ebp + 8], ebx
je 0x10058b6
cmp dword [ebp + 0x10], ebx
je 0x10058b6
mov esi, dword [ebp + 0x14]
cmp esi, ebx
je 0x10058b6
cmp dword [ebp + 0x18], ebx
je 0x10058b6
lea eax, [ebp - 0x48]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [ebp - 4], ebx
push 0x1001310
lea ecx, [ebp + 0x14]
call sub.framedynos.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__
mov byte [ebp - 4], 1
mov eax, dword [esi]
push esi
call dword [eax + 0xc]
cmp eax, ebx
jge 0x1005377
push eax
call fcn.01006e65
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
cmp dword [ebp - 0x2c], 1
jne 0x1005713
mov eax, dword [esi]
lea ecx, [ebp - 0x2c]
push ecx
lea ecx, [ebp - 0x18]
push ecx
push 1
push 0xffffffffffffffff
push esi
call dword [eax + 0x10]
cmp eax, ebx
jge 0x10053a3
push eax
call fcn.01006e65
cmp dword [ebp - 0x2c], ebx
je 0x1005713
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x1001704
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x10053cb
push eax
call fcn.01006e65
xor eax, eax
inc eax
cmp ax, word [ebp - 0x48]
je 0x100537d
xor eax, eax
cmp ax, word [ebp - 0x48]
je 0x100537d
push dword [ebp - 0x40]
lea ecx, [ebp + 0x14]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
lea eax, [ebp - 0x48]
push eax
call edi
push ebx
push 1
push dword [ebp + 0x14]
push dword [ebp + 0x10]
call fcn.01007c65
test eax, eax
jne 0x100537d
mov eax, dword [ebp - 0x18]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x1001528
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x1005422
push eax
call fcn.01006e65
xor eax, eax
inc eax
cmp ax, word [ebp - 0x48]
je 0x1005713
xor eax, eax
cmp ax, word [ebp - 0x48]
je 0x1005713
push dword [ebp - 0x40]
lea ecx, [ebp + 0x14]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
lea eax, [ebp - 0x48]
push eax
call edi
push 0x3f8
call fcn.01007e45
mov dword [ebp - 0x14], eax
cmp eax, ebx
jne 0x100549d
push 8
call dword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.01007a15
push 0x20001
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.010099ac
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x100548d
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x18], ebx
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x14]
call sub.framedynos.dll_public:_void___thiscall_CHString::destructor_void_
jmp 0x10058d6
push 0x1001500
lea ecx, [ebp + 0x10]
call fcn.010022ac
mov byte [ebp - 4], 2
cmp dword [eax], ebx
je 0x10054b8
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x10054ba
xor ecx, ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
push ebx
lea esi, [ebp - 0x24]
push esi
push ebx
push ebx
push ecx
push eax
call dword [edx + 0x18]
mov esi, eax
mov byte [ebp - 4], 1
mov ecx, dword [ebp + 0x10]
cmp ecx, ebx
je 0x10054e0
call fcn.01002abd
mov dword [ebp + 0x10], ebx
cmp esi, ebx
jge 0x10054ea
push esi
call fcn.01006e65
mov eax, dword [ebp - 0x24]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x28]
push edx
push ebx
push 0x10016e4
push eax
call dword [ecx + 0x4c]
cmp eax, ebx
jge 0x1005508
push eax
call fcn.01006e65
mov eax, dword [ebp - 0x28]
mov ecx, dword [eax]
lea edx, [ebp - 0x1c]
push edx
push ebx
push eax
call dword [ecx + 0x3c]
cmp eax, ebx
jge 0x1005520
push eax
call fcn.01006e65
push 3
pop eax
mov word [ebp - 0x48], ax
mov dword [ebp - 0x40], 0x80000002
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x10014c8
push eax
call dword [ecx + 0x14]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call edi
cmp esi, ebx
jge 0x1005554
push esi
call fcn.01006e65
push dword [ebp - 0x14]
call fcn.01007eee
shr eax, 1
push eax
push 0x1001640
push dword [ebp - 0x14]
call fcn.010085b6
mov esi, dword [ebp + 0x14]
push dword [ebp - 0x14]
call fcn.01007eee
shr eax, 1
push eax
push esi
push dword [ebp - 0x14]
call fcn.010085f9
push dword [ebp - 0x14]
call fcn.01007eee
shr eax, 1
push eax
push 0x1001624
push dword [ebp - 0x14]
call fcn.010085f9
push 8
pop eax
mov word [ebp - 0x48], ax
push dword [ebp - 0x14]
mov esi, dword [sym.imp.OLEAUT32.dll_SysReAllocString]
call esi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x1001454
push eax
call dword [ecx + 0x14]
mov dword [ebp + 0x10], eax
lea eax, [ebp - 0x48]
push eax
call edi
cmp dword [ebp + 0x10], ebx
jge 0x10055da
push dword [ebp + 0x10]
call fcn.01006e65
push 8
pop eax
mov word [ebp - 0x48], ax
push 0x1001618
call esi
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x1c]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x1001430
push eax
call dword [ecx + 0x14]
mov esi, eax
lea eax, [ebp - 0x48]
push eax
call edi
cmp esi, ebx
jge 0x1005611
push esi
call fcn.01006e65
push 0x10016e4
lea ecx, [ebp - 0x34]
call fcn.010022ac
mov esi, eax
mov byte [ebp - 4], 3
push 0x1001500
lea ecx, [ebp - 0x30]
call fcn.010022ac
mov byte [ebp - 4], 4
cmp dword [esi], ebx
je 0x1005642
mov esi, dword [esi]
mov ecx, dword [esi]
mov dword [ebp + 0x10], ecx
jmp 0x1005645
mov dword [ebp + 0x10], ebx
cmp dword [eax], ebx
je 0x100564f
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x1005651
xor ecx, ecx
mov eax, dword [ebp + 0x18]
mov edx, dword [eax]
push ebx
lea esi, [ebp - 0x20]
push esi
push dword [ebp - 0x1c]
push ebx
push ebx
push dword [ebp + 0x10]
push ecx
push eax
call dword [edx + 0x60]
mov esi, eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x30]
cmp ecx, ebx
je 0x100567d
call fcn.01002abd
mov dword [ebp - 0x30], ebx
mov byte [ebp - 4], 1
mov ecx, dword [ebp - 0x34]
cmp ecx, ebx
je 0x1005690
call fcn.01002abd
mov dword [ebp - 0x34], ebx
cmp esi, ebx
jge 0x100569a
push esi
call fcn.01006e65
push 3
pop eax
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x1001418
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x10056c0
push eax
call fcn.01006e65
cmp dword [ebp - 0x40], ebx
jne 0x1005713
lea eax, [ebp - 0x48]
push eax
call edi
push 8
pop eax
mov word [ebp - 0x48], ax
mov eax, dword [ebp - 0x20]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x48]
push edx
push ebx
push 0x1001408
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x10056f1
push eax
call fcn.01006e65
xor eax, eax
inc eax
cmp ax, word [ebp - 0x48]
je 0x1005727
xor eax, eax
cmp ax, word [ebp - 0x48]
je 0x1005727
push dword [ebp - 0x40]
lea ecx, [ebp + 0x14]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
push ebx
push dword [ebp + 0x14]
jmp 0x100571c
push ebx
push 0x2b
call fcn.01009994
push eax
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0100caaf
mov byte [ebp - 4], bl
lea ecx, [ebp + 0x14]
call sub.framedynos.dll_public:_void___thiscall_CHString::destructor_void_
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x48]
push eax
call edi
lea eax, [ebp - 0x14]
push eax
call fcn.010081e1
mov eax, dword [ebp - 0x18]
cmp eax, ebx
je 0x1005755
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x18], ebx
mov eax, dword [ebp - 0x24]
cmp eax, ebx
je 0x1005765
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x24], ebx
mov eax, dword [ebp - 0x20]
cmp eax, ebx
je 0x1005775
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x20], ebx
mov eax, dword [ebp - 0x28]
cmp eax, ebx
je 0x1005785
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x28], ebx
mov eax, dword [ebp - 0x1c]
cmp eax, ebx
je 0x1005792
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
jmp 0x10058d8
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
call fcn.01007a15
push 0x20001
mov eax, dword [sym.imp.msvcrt.dll__iob]
add eax, 0x40
push eax
call fcn.010099ac
xor eax, eax
call fcn.010072f9
ret 0x14