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

Disassembly:
push 0x290
mov eax, 0x100d79e
call fcn.010072bb
mov esi, dword [ebp + 8]
mov dword [ebp - 0x258], esi
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x250], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x26c], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x24c], eax
mov eax, dword [ebp + 0x18]
mov dword [ebp - 0x270], eax
mov edi, dword [ebp + 0x1c]
xor ebx, ebx
mov dword [ebp - 0x274], ebx
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x238], ebx
mov dword [ebp - 0x244], ebx
mov dword [ebp - 0x220], ebx
mov dword [ebp - 0x240], ebx
mov dword [ebp - 0x218], ebx
mov dword [ebp - 0x234], ebx
mov dword [ebp - 0x21c], ebx
mov dword [ebp - 0x248], ebx
mov dword [ebp - 0x264], ebx
mov dword [ebp - 0x214], ebx
mov dword [ebp - 0x210], ebx
push 0x1f8
push ebx
lea eax, [ebp - 0x20c]
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
cmp esi, ebx
je 0x10052cd
cmp dword [ebp - 0x250], ebx
je 0x10052cd
cmp dword [ebp - 0x26c], ebx
je 0x10052cd
cmp dword [ebp - 0x24c], ebx
je 0x10052cd
cmp edi, ebx
je 0x10052cd
lea eax, [ebp - 0x230]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov dword [ebp - 4], ebx
mov esi, 0x1001310
push esi
lea ecx, [ebp - 0x23c]
call sub.framedynos.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__
mov byte [ebp - 4], 1
push esi
lea ecx, [ebp - 0x25c]
call sub.framedynos.dll_public:_void___thiscall_CHString::constructor_unsigned_short_int_const__
mov byte [ebp - 4], 2
mov esi, 0xfe
push esi
push 0x10015b8
lea eax, [ebp - 0x210]
push eax
call fcn.010085b6
push esi
push edi
lea eax, [ebp - 0x210]
push eax
call fcn.010085f9
push esi
push 0x1001548
lea eax, [ebp - 0x210]
push eax
call fcn.010085f9
lea eax, [ebp - 0x210]
push eax
lea ecx, [ebp - 0x268]
call fcn.010022ac
mov edi, eax
mov byte [ebp - 4], 3
push 0x100153c
lea ecx, [ebp - 0x288]
call fcn.010022ac
mov byte [ebp - 4], 4
cmp dword [edi], ebx
je 0x1004760
mov edi, dword [edi]
mov ecx, dword [edi]
mov dword [ebp - 0x254], ecx
jmp 0x1004766
mov dword [ebp - 0x254], ebx
cmp dword [eax], ebx
je 0x1004770
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x1004772
xor ecx, ecx
mov eax, dword [ebp - 0x250]
mov edx, dword [eax]
lea edi, [ebp - 0x234]
push edi
push ebx
push 0x10
push dword [ebp - 0x254]
push ecx
push eax
call dword [edx + 0x50]
mov edi, eax
mov byte [ebp - 4], 3
mov ecx, dword [ebp - 0x288]
cmp ecx, ebx
je 0x10047aa
call fcn.01002abd
mov dword [ebp - 0x288], ebx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x268]
cmp ecx, ebx
je 0x10047c3
call fcn.01002abd
mov dword [ebp - 0x268], ebx
cmp edi, ebx
jge 0x10047cd
push edi
call fcn.01006e65
push dword [ebp - 0x270]
push dword [ebp - 0x234]
call fcn.010020c4
cmp eax, ebx
jge 0x10047e8
push eax
call fcn.01006e65
cmp dword [ebp - 0x278], 1
jne 0x10048dd
mov eax, dword [ebp - 0x234]
mov ecx, dword [eax]
lea edx, [ebp - 0x278]
push edx
lea edx, [ebp - 0x238]
push edx
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x100481d
push eax
call fcn.01006e65
cmp dword [ebp - 0x278], ebx
je 0x10048dd
mov eax, dword [ebp - 0x238]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001528
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x100484e
push eax
call fcn.01006e65
xor eax, eax
inc eax
cmp ax, word [ebp - 0x230]
je 0x10047e8
xor eax, eax
cmp ax, word [ebp - 0x230]
je 0x10047e8
lea eax, [ebp - 0x230]
push eax
lea ecx, [ebp - 0x29c]
call fcn.01003d6a
mov byte [ebp - 4], 5
lea eax, [ebp - 0x29c]
push eax
lea ecx, [ebp - 0x254]
call fcn.01002c5b
mov byte [ebp - 4], 6
cmp dword [eax], ebx
je 0x100489b
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x100489d
xor eax, eax
push eax
lea ecx, [ebp - 0x25c]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
mov byte [ebp - 4], 5
mov ecx, dword [ebp - 0x254]
cmp ecx, ebx
je 0x10048c2
call fcn.01002abd
mov dword [ebp - 0x254], ebx
mov byte [ebp - 4], 2
lea eax, [ebp - 0x29c]
push eax
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
call edi
push eax
call fcn.01001fae
jmp 0x10048e3
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
push dword [ebp - 0x26c]
call fcn.0100c447
mov dword [ebp - 0x268], eax
push esi
call fcn.01007e45
mov dword [ebp - 0x21c], eax
cmp eax, ebx
jne 0x100497e
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 - 0x238]
cmp eax, ebx
je 0x100493a
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x238], ebx
mov eax, dword [ebp - 0x234]
cmp eax, ebx
je 0x1004950
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x234], ebx
lea eax, [ebp - 0x21c]
push eax
call fcn.010081e1
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x25c]
call sub.framedynos.dll_public:_void___thiscall_CHString::destructor_void_
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x23c]
call sub.framedynos.dll_public:_void___thiscall_CHString::destructor_void_
jmp 0x10052ed
mov dword [ebp - 0x260], ebx
mov eax, dword [ebp - 0x260]
cmp eax, dword [ebp - 0x268]
jae 0x1005064
push ebx
push 1
push 0x1001518
push eax
push dword [ebp - 0x26c]
call fcn.0100cbf4
push eax
call fcn.01007c65
test eax, eax
je 0x1004fd0
push 0x1001500
lea ecx, [ebp - 0x250]
call fcn.010022ac
mov byte [ebp - 4], 7
cmp dword [eax], ebx
je 0x10049d6
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x10049d8
xor eax, eax
mov ecx, dword [ebp - 0x258]
mov edx, dword [ecx]
push ebx
lea esi, [ebp - 0x244]
push esi
push ebx
push ebx
push eax
push ecx
call dword [edx + 0x18]
mov esi, eax
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x250]
cmp ecx, ebx
je 0x1004a0a
call fcn.01002abd
mov dword [ebp - 0x250], ebx
cmp esi, ebx
jge 0x1004a14
push esi
call fcn.01006e65
mov eax, dword [ebp - 0x244]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x240]
push edx
push ebx
push 0x10014d8
push eax
call dword [ecx + 0x4c]
cmp eax, ebx
jge 0x1004a38
push eax
call fcn.01006e65
mov eax, dword [ebp - 0x240]
mov ecx, dword [eax]
lea edx, [ebp - 0x218]
push edx
push ebx
push eax
call dword [ecx + 0x3c]
cmp eax, ebx
jge 0x1004a56
push eax
call fcn.01006e65
push 3
pop eax
mov word [ebp - 0x230], ax
mov dword [ebp - 0x228], 0x80000002
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x10014c8
push eax
call dword [ecx + 0x14]
mov esi, eax
lea eax, [ebp - 0x230]
push eax
call edi
cmp esi, ebx
jge 0x1004a99
push esi
call fcn.01006e65
push dword [ebp - 0x21c]
call fcn.01007eee
shr eax, 1
push eax
push 0x1001480
push dword [ebp - 0x21c]
call fcn.010085b6
push dword [ebp - 0x21c]
call fcn.01007eee
shr eax, 1
push eax
push dword [ebp - 0x260]
push dword [ebp - 0x26c]
call fcn.0100cbf4
push eax
push dword [ebp - 0x21c]
call fcn.010085f9
push dword [ebp - 0x21c]
call fcn.01007eee
shr eax, 1
push eax
push 0x100146c
push dword [ebp - 0x21c]
call fcn.010085f9
push 8
pop eax
mov word [ebp - 0x230], ax
push dword [ebp - 0x21c]
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001454
push eax
call dword [ecx + 0x14]
mov esi, eax
lea eax, [ebp - 0x230]
push eax
call edi
cmp esi, ebx
jge 0x1004b4b
push esi
call fcn.01006e65
push 8
pop eax
mov word [ebp - 0x230], ax
push 0x1001448
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001430
push eax
call dword [ecx + 0x14]
mov esi, eax
lea eax, [ebp - 0x230]
push eax
call edi
cmp esi, ebx
jge 0x1004b95
push esi
call fcn.01006e65
push 0x10014d8
lea ecx, [ebp - 0x280]
call fcn.010022ac
mov esi, eax
mov byte [ebp - 4], 8
push 0x1001500
lea ecx, [ebp - 0x284]
call fcn.010022ac
mov byte [ebp - 4], 9
cmp dword [esi], ebx
je 0x1004bc9
mov esi, dword [esi]
mov esi, dword [esi]
jmp 0x1004bcb
xor esi, esi
cmp dword [eax], ebx
je 0x1004bd5
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x1004bd7
xor eax, eax
mov ecx, dword [ebp - 0x258]
mov ecx, dword [ecx]
push ebx
lea edx, [ebp - 0x220]
push edx
push dword [ebp - 0x218]
push ebx
push ebx
push esi
push eax
push dword [ebp - 0x258]
call dword [ecx + 0x60]
mov esi, eax
mov byte [ebp - 4], 8
mov ecx, dword [ebp - 0x284]
cmp ecx, ebx
je 0x1004c15
call fcn.01002abd
mov dword [ebp - 0x284], ebx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x280]
cmp ecx, ebx
je 0x1004c2e
call fcn.01002abd
mov dword [ebp - 0x280], ebx
cmp esi, ebx
jge 0x1004c38
push esi
call fcn.01006e65
push 3
pop eax
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001418
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x1004c67
push eax
call fcn.01006e65
cmp dword [ebp - 0x228], ebx
jne 0x1004d88
lea eax, [ebp - 0x230]
push eax
call edi
push 8
pop eax
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001408
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x1004cab
push eax
call fcn.01006e65
xor eax, eax
inc eax
cmp ax, word [ebp - 0x230]
je 0x1004d88
xor eax, eax
cmp ax, word [ebp - 0x230]
je 0x1004d88
mov esi, dword [ebp - 0x228]
cmp esi, ebx
je 0x1004d88
lea eax, [ebp - 0x248]
push eax
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
cmp eax, ebx
jge 0x1004cf2
push eax
call fcn.01006e65
lea eax, [ebp - 0x264]
push eax
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
cmp eax, ebx
jge 0x1004d0c
push eax
call fcn.01006e65
mov dword [ebp - 0x274], ebx
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x264]
jg 0x1004d88
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
cmp eax, ebx
jge 0x1004d4b
push eax
call fcn.01006e65
push dword [ebp - 0x228]
lea ecx, [ebp - 0x23c]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
push dword [ebp - 0x25c]
push dword [ebp - 0x23c]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
cmp eax, ebx
je 0x1004d80
mov dword [ebp - 0x274], 1
jmp 0x1004d95
inc dword [ebp - 0x214]
jmp 0x1004d1e
cmp dword [ebp - 0x274], 1
jne 0x1004fd0
push 8
pop eax
mov word [ebp - 0x230], ax
push 0x10013f8
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov dword [ebp - 0x228], eax
mov eax, dword [ebp - 0x218]
mov ecx, dword [eax]
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001430
push eax
call dword [ecx + 0x14]
mov esi, eax
lea eax, [ebp - 0x230]
push eax
call edi
cmp esi, ebx
jge 0x1004ddf
push esi
call fcn.01006e65
push 0x10014d8
lea ecx, [ebp - 0x270]
call fcn.010022ac
mov esi, eax
mov byte [ebp - 4], 0xa
push 0x1001500
lea ecx, [ebp - 0x27c]
call fcn.010022ac
mov byte [ebp - 4], 0xb
cmp dword [esi], ebx
je 0x1004e13
mov esi, dword [esi]
mov esi, dword [esi]
jmp 0x1004e15
xor esi, esi
cmp dword [eax], ebx
je 0x1004e1f
mov eax, dword [eax]
mov eax, dword [eax]
jmp 0x1004e21
xor eax, eax
mov ecx, dword [ebp - 0x258]
mov ecx, dword [ecx]
push ebx
lea edx, [ebp - 0x220]
push edx
push dword [ebp - 0x218]
push ebx
push ebx
push esi
push eax
push dword [ebp - 0x258]
call dword [ecx + 0x60]
mov esi, eax
mov byte [ebp - 4], 0xa
mov ecx, dword [ebp - 0x27c]
cmp ecx, ebx
je 0x1004e5f
call fcn.01002abd
mov dword [ebp - 0x27c], ebx
mov byte [ebp - 4], 2
mov ecx, dword [ebp - 0x270]
cmp ecx, ebx
je 0x1004e78
call fcn.01002abd
mov dword [ebp - 0x270], ebx
cmp esi, ebx
jge 0x1004e82
push esi
call fcn.01006e65
push 3
pop eax
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001418
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x1004eb1
push eax
call fcn.01006e65
cmp dword [ebp - 0x228], ebx
jne 0x1004fd0
lea eax, [ebp - 0x230]
push eax
call edi
push 8
pop eax
mov word [ebp - 0x230], ax
mov eax, dword [ebp - 0x220]
mov ecx, dword [eax]
push ebx
push ebx
lea edx, [ebp - 0x230]
push edx
push ebx
push 0x1001408
push eax
call dword [ecx + 0x10]
cmp eax, ebx
jge 0x1004ef5
push eax
call fcn.01006e65
xor eax, eax
inc eax
cmp ax, word [ebp - 0x230]
je 0x1004fd0
xor eax, eax
cmp ax, word [ebp - 0x230]
je 0x1004fd0
mov esi, dword [ebp - 0x228]
cmp esi, ebx
je 0x1004fd0
lea eax, [ebp - 0x248]
push eax
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
cmp eax, ebx
jge 0x1004f3c
push eax
call fcn.01006e65
lea eax, [ebp - 0x264]
push eax
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayGetLBound]
cmp eax, ebx
jge 0x1004f56
push eax
call fcn.01006e65
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x264]
jg 0x1004fec
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
cmp eax, ebx
jge 0x1004f8f
push eax
call fcn.01006e65
push dword [ebp - 0x228]
lea ecx, [ebp - 0x23c]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
push dword [ebp - 0x25c]
push dword [ebp - 0x23c]
call dword [sym.imp.msvcrt.dll_wcsstr]
pop ecx
pop ecx
cmp eax, ebx
je 0x1004fdb
push ebx
push dword [ebp - 0x23c]
push dword [ebp - 0x24c]
call fcn.0100c826
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
inc dword [ebp - 0x260]
jmp 0x1004984
inc dword [ebp - 0x214]
mov edi, dword [sym.imp.OLEAUT32.dll_VariantCopy]
jmp 0x1004f62
cmp ebx, ebx
jne 0x1004fd0
lea eax, [ebp - 0x248]
push eax
push 1
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayLock]
mov eax, dword [ebp - 0x248]
mov dword [ebp - 0x214], eax
mov eax, dword [ebp - 0x214]
cmp eax, dword [ebp - 0x264]
jg 0x1004fd0
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x214]
push eax
push esi
call dword [sym.imp.OLEAUT32.dll_SafeArrayPutElement]
cmp eax, ebx
jge 0x1005039
push eax
call fcn.01006e65
push dword [ebp - 0x228]
lea ecx, [ebp - 0x23c]
call sub.framedynos.dll_public:_class_CHString_const____thiscall_CHString::operator_unsigned_short_int_const__
push ebx
push dword [ebp - 0x23c]
push dword [ebp - 0x24c]
call fcn.0100c826
inc dword [ebp - 0x214]
jmp 0x100500c
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x25c]
call sub.framedynos.dll_public:_void___thiscall_CHString::destructor_void_
mov byte [ebp - 4], bl
lea ecx, [ebp - 0x23c]
call sub.framedynos.dll_public:_void___thiscall_CHString::destructor_void_
or dword [ebp - 4], 0xffffffff
push dword [ebp - 0x24c]
call fcn.0100c447
test eax, eax
ja 0x10050a8
push ebx
push 0x2b
call fcn.01009994
push eax
push dword [ebp - 0x24c]
call fcn.0100c826
lea eax, [ebp - 0x21c]
push eax
call fcn.010081e1
mov eax, dword [ebp - 0x238]
cmp eax, ebx
je 0x10050ca
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x238], ebx
mov eax, dword [ebp - 0x244]
cmp eax, ebx
je 0x10050e0
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x244], ebx
mov eax, dword [ebp - 0x220]
cmp eax, ebx
je 0x10050f6
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x220], ebx
mov eax, dword [ebp - 0x240]
cmp eax, ebx
je 0x100510c
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x240], ebx
mov eax, dword [ebp - 0x218]
cmp eax, ebx
je 0x1005122
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [ebp - 0x218], ebx
mov eax, dword [ebp - 0x234]
cmp eax, ebx
je 0x1005132
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
xor eax, eax
inc eax
jmp 0x10052ef
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.01007312
ret 0x18