Function at 0x10069c80
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100b0348
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x100f6f50]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
mov byte [ebp - 4], 1
push ebx
push 1
lea edx, [ebp - 0x20]
push edx
call fcn.10069a50
mov byte [ebp - 4], 2
push eax
lea ecx, [ebp - 0x14]
call fcn.10024490
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x20]
call fcn.10023c00
mov dword [ebp - 4], ebx
push 0x10
call fcn.1006315c
add esp, 4
cmp eax, ebx
je 0x10069d04
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov dword [eax + 8], ebx
mov dword [eax + 0xc], ebx
mov esi, eax
jmp 0x10069d06
xor esi, esi
mov dword [ebp - 0x20], esi
mov byte [ebp - 4], 4
mov edi, 0x400
cmp dword [esi + 8], edi
jb 0x10069d42
mov ecx, dword [esi + 4]
cmp ecx, edi
jae 0x10069d2a
mov eax, edi
sub eax, ecx
push eax
mov edx, dword [esi]
add edx, ecx
push edx
jmp 0x10069d5b
jbe 0x10069d63
xor eax, eax
add ecx, 0xfffffc00
je 0x10069d63
inc eax
mov ecx, dword [esi + 4]
sub ecx, edi
cmp eax, ecx
jb 0x10069d36
jmp 0x10069d63
push edi
mov ecx, esi
call fcn.100631b0
cmp al, bl
je 0x10069d66
mov eax, dword [esi + 4]
mov edx, edi
sub edx, eax
push edx
mov ecx, dword [esi]
add ecx, eax
push ecx
call fcn.10066c20
add esp, 8
mov dword [esi + 4], edi
mov dword [ebp - 0x1c], ebx
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
ja 0x10069dca
mov edi, dword [ebp - 0x14]
mov dword [ebp - 0x18], eax
mov eax, dword [esi]
mov edx, dword [ebp + 8]
mov ecx, dword [edx]
cmp edi, ebx
je 0x10069ddf
lea edx, [ebp - 0x18]
push edx
push eax
lea eax, [ebp - 0x1c]
push eax
push ebx
push ecx
mov ecx, dword [edi + 4]
push ecx
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
cmp eax, ebx
je 0x10069e5c
cmp eax, 2
je 0x10069df4
cmp eax, 0xea
jne 0x10069e3d
push 0xffffffffffffffff
mov edx, dword [ebp - 0x18]
add edx, 4
push edx
mov ecx, esi
call fcn.10066d30
mov dword [ebp - 0x1c], ebx
mov eax, dword [esi + 4]
cmp eax, 0xffffffff
jbe 0x10069d74
push ebx
push 0x291
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincNVI2Defns.h
push 0x80070057
call fcn.10001ed0
push ebx
push 0x181
push str.c:dvsp4_build_sw_relgpu_drvinstaller_coreincRefCounted.h
push 0x80004003
call fcn.10001ed0
mov byte [ebp - 4], bl
cmp dword [esi], ebx
je 0x10069e13
xor eax, eax
cmp dword [esi + 4], ebx
jbe 0x10069e08
inc eax
cmp eax, dword [esi + 4]
jb 0x10069e02
mov eax, dword [esi]
push eax
call fcn.1008e92e
add esp, 4
push esi
call fcn.10063187
add esp, 4
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], 0xffffffff
cmp edi, ebx
je 0x10069ed9
mov ecx, edi
mov dword [ebp - 0x14], ebx
call fcn.10023bb0
jmp 0x10069ed9
cmp eax, ebx
jle 0x10069e4b
and eax, 0xffff
or eax, 0x80070000
push ebx
push 0x687
push str..Registry.cpp
push eax
call fcn.10001ed0
push 0xffffffffffffffff
mov ecx, dword [ebp - 0x18]
push ecx
mov ecx, esi
call fcn.10066d30
mov edx, dword [ebp - 0x1c]
mov eax, dword [ebp + 0xc]
mov dword [eax], edx
mov dword [ebp - 0x20], ebx
mov byte [ebp - 4], bl
mov dword [ebp - 0x20], ebx
mov dword [ebp - 4], 0xffffffff
mov ecx, edi
mov dword [ebp - 0x14], ebx
call fcn.10023bb0
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8