Function at 0x46ebd5
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x2f8
mov eax, 0x527ccf
call fcn.004f4139
mov eax, dword [ebp + 8]
mov dword [ebp - 0x25c], eax
lea eax, [ebp - 0x250]
push eax
push 0x20019
xor ebx, ebx
push ebx
mov edi, 0x5545f0
push edi
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
je 0x46ecb0
push eax
lea ecx, [ebp - 0x24c]
call fcn.0042c6f0
pop ecx
mov edi, eax
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x304]
push eax
call fcn.004036d7
mov esi, eax
mov byte [ebp - 4], 1
push str._GF3DVisionDetector__RegOpenKeyEx_failed:
push esi
call fcn.00406897
push esi
mov ecx, edi
call fcn.004080d0
add esp, 0xc
lea eax, [ebp - 0x230]
push eax
mov eax, esi
call fcn.00403741
push 2
pop ecx
mov byte [ebp - 4], cl
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x46ec78
lea eax, [ebp - 0x230]
push eax
call fcn.004284f3
pop ecx
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x230]
call fcn.004014ad
mov byte [ebp - 4], bl
lea eax, [ebp - 0x304]
call fcn.004025ae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.004014ad
jmp 0x46ee75
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x258]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x250]
mov dword [ebp - 0x258], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x46ee69
mov dword [ebp - 0x254], ebx
cmp dword [ebp - 0x258], ebx
jbe 0x46ee69
xor eax, eax
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x268]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x260]
push eax
lea eax, [ebp - 0x214]
push eax
push dword [ebp - 0x254]
mov dword [ebp - 0x260], pe_nt_image_headers32
push dword [ebp - 0x250]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
je 0x46ee69
cmp eax, ebx
jne 0x46edcd
lea eax, [ebp - 0x214]
push eax
call fcn.004e904b
pop ecx
cmp eax, 9
jbe 0x46edb0
push 9
lea eax, [ebp - 0x214]
push str.VID_0955
push eax
call fcn.004e7536
add esp, 0xc
test eax, eax
jne 0x46edb0
push edi
lea esi, [ebp - 0x230]
call fcn.0040319e
mov dword [ebp - 4], 6
push 0x53a5c4
mov eax, esi
push eax
call fcn.004053b1
lea eax, [ebp - 0x214]
push eax
mov eax, esi
push eax
call fcn.004053b1
push dword [ebp - 0x25c]
mov ecx, esi
call fcn.0046f133
or dword [ebp - 4], 0xffffffff
mov ecx, esi
call fcn.004014ad
inc dword [ebp - 0x254]
mov eax, dword [ebp - 0x254]
cmp eax, dword [ebp - 0x258]
jb 0x46eced
jmp 0x46ee69
lea eax, [ebp - 0x24c]
push eax
call fcn.0042c6d3
pop ecx
mov edi, eax
mov dword [ebp - 4], 3
lea eax, [ebp - 0x304]
push eax
call fcn.004036d7
mov esi, eax
mov byte [ebp - 4], 4
push str._GF3DVisionDetector__RegEnumKeyEx_failed:
push esi
call fcn.00406897
push esi
mov ecx, edi
call fcn.004080d0
add esp, 0xc
lea eax, [ebp - 0x230]
push eax
mov eax, esi
call fcn.00403741
mov byte [ebp - 4], 5
cmp dword [ebp - 0x21c], 8
mov eax, dword [ebp - 0x230]
jae 0x46ee32
lea eax, [ebp - 0x230]
push eax
push 2
pop ecx
call fcn.004284f3
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x230]
call fcn.004014ad
mov byte [ebp - 4], 3
lea eax, [ebp - 0x304]
call fcn.004025ae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.004014ad
push dword [ebp - 0x250]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004f41bc
ret 4