Function at 0x46f133
Capabilities:
Query or enumerate registry key

Disassembly:
push 0x318
mov eax, 0x527c5a
call fcn.004f4139
mov eax, dword [ebp + 8]
mov esi, ecx
cmp dword [esi + 0x14], 8
mov dword [ebp - 0x280], eax
mov dword [ebp - 0x278], esi
jb 0x46f15d
mov eax, dword [esi]
jmp 0x46f15f
mov eax, esi
lea ecx, [ebp - 0x26c]
push ecx
push 0x20019
xor ebx, ebx
push ebx
push eax
push reloc.WS2_32.dll_bind
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
cmp eax, ebx
je 0x46f21d
push eax
lea ecx, [ebp - 0x24c]
call fcn.0042c6f0
pop ecx
mov edi, eax
mov dword [ebp - 4], ebx
lea eax, [ebp - 0x324]
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 0x46f1e5
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 - 0x324]
call fcn.004025ae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x24c]
call fcn.004014ad
jmp 0x46f3e3
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
lea eax, [ebp - 0x270]
push eax
push ebx
push ebx
push ebx
push dword [ebp - 0x26c]
mov dword [ebp - 0x270], ebx
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
test eax, eax
jne 0x46f3d7
xor edi, edi
cmp dword [ebp - 0x270], ebx
jbe 0x46f3d7
jmp 0x46f25e
mov esi, dword [ebp - 0x278]
xor eax, eax
mov word [ebp - 0x214], ax
lea eax, [ebp - 0x288]
push eax
push ebx
push ebx
push ebx
lea eax, [ebp - 0x27c]
push eax
lea eax, [ebp - 0x214]
push eax
push edi
push dword [ebp - 0x26c]
mov dword [ebp - 0x27c], pe_nt_image_headers32
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
cmp eax, 0x103
je 0x46f3d7
cmp eax, ebx
jne 0x46f33b
push esi
lea esi, [ebp - 0x230]
call fcn.00403165
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 0x10
call fcn.004e7983
pop ecx
mov dword [ebp - 0x274], eax
mov byte [ebp - 4], 7
cmp eax, ebx
je 0x46f2fa
mov ecx, esi
push ecx
mov ecx, eax
call fcn.0046f3eb
jmp 0x46f2fc
xor eax, eax
mov byte [ebp - 4], 6
mov esi, dword [ebp - 0x280]
add esi, 0xc
lea ecx, [ebp - 0x274]
mov dword [ebp - 0x274], eax
call fcn.0046f92a
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x230]
call fcn.004014ad
inc edi
cmp edi, dword [ebp - 0x270]
jb 0x46f258
jmp 0x46f3d7
lea eax, [ebp - 0x268]
push eax
call fcn.0042c6d3
pop ecx
mov edi, eax
mov dword [ebp - 4], 3
lea eax, [ebp - 0x324]
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 - 0x24c]
push eax
mov eax, esi
call fcn.00403741
mov byte [ebp - 4], 5
cmp dword [ebp - 0x238], 8
mov eax, dword [ebp - 0x24c]
jae 0x46f3a0
lea eax, [ebp - 0x24c]
push eax
push 2
pop ecx
call fcn.004284f3
pop ecx
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x24c]
call fcn.004014ad
mov byte [ebp - 4], 3
lea eax, [ebp - 0x324]
call fcn.004025ae
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x268]
call fcn.004014ad
push dword [ebp - 0x26c]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
call fcn.004f41bc
ret 4