Function at 0x43a528
Capabilities:
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4a212f
mov eax, dword fs:[0]
push eax
mov eax, 0x8168
call fcn.00453080
mov eax, dword [0x4db068]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [ebp - 0x80d8], ebx
mov esi, dword [ebp + 8]
xor edx, edx
mov dword [ebp - 4], edx
mov dword [ebp - 0x80d0], edx
mov eax, dword [ebx]
mov dword [ebp - 0x80dc], esi
test eax, eax
jne 0x43a58a
mov ecx, 0x234
call fcn.0040c063
mov eax, dword [ebx]
xor edx, edx
push edx
push edx
push edx
push edx
lea ecx, [ebp - 0x80c8]
mov dword [ebp - 0x80c8], edx
push ecx
push edx
push edx
push edx
push edx
push edx
push edx
push eax
call dword [sym.imp.ADVAPI32.dll_RegQueryInfoKeyW]
mov edi, eax
mov dword [ebp - 0x80cc], edi
test edi, edi
jne 0x43a72e
xor ecx, ecx
mov dword [esi], ecx
mov dword [esi + 4], ecx
mov dword [esi + 8], ecx
mov dword [ebp - 4], ecx
mov edi, ecx
mov dword [ebp - 0x80d0], 1
cmp dword [ebp - 0x80c8], edi
jbe 0x43a6b1
push ecx
push ecx
push ecx
xor eax, eax
mov dword [ebp - 0x80d4], 0x4000
push ecx
mov word [ebp - 0x8014], ax
lea eax, [ebp - 0x80d4]
push eax
lea eax, [ebp - 0x8014]
push eax
push edi
push dword [ebx]
call dword [sym.imp.ADVAPI32.dll_RegEnumValueW]
mov ebx, eax
mov dword [ebp - 0x80cc], ebx
cmp ebx, 0x103
je 0x43a6b1
test ebx, ebx
jne 0x43a6cf
mov dword [ebp - 0x801c], eax
lea ecx, [ebp - 0x802c]
mov dword [ebp - 0x8018], eax
mov dword [ebp - 0x801c], eax
mov word [ebp - 0x802c], ax
lea eax, [ebp - 0x8014]
push eax
mov dword [ebp - 0x8018], 7
call fcn.004016ad
mov dword [ebp - 4], 0xf
lea ecx, [ebp - 0x802c]
mov eax, dword [esi + 4]
push ecx
cmp dword [esi + 8], eax
je 0x43a67f
mov ecx, eax
call fcn.00401bd9
add dword [esi + 4], 0x18
jmp 0x43a687
push eax
mov ecx, esi
call fcn.0040ba0b
lea ecx, [ebp - 0x802c]
mov dword [ebp - 4], 0x10
call fcn.0040204a
mov ebx, dword [ebp - 0x80d8]
xor ecx, ecx
inc edi
mov byte [ebp - 4], cl
cmp edi, dword [ebp - 0x80c8]
jb 0x43a5dd
mov eax, esi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.00451f9f
leave
ret 4
lea ecx, [ebp - 0x8174]
call fcn.00402a5a
push str.RegEnumValueW_failed_with
mov ecx, eax
mov dword [ebp - 4], 8
call fcn.00403b01
lea ecx, [ebp - 0x80cc]
push ecx
mov ecx, eax
call fcn.00403b56
lea ecx, [ebp - 0x8044]
push ecx
mov ecx, eax
call fcn.00402a43
push ecx
movzx eax, bx
or eax, 0x80070000
mov byte [ebp - 4], 9
push 0x26d
test ebx, ebx
push str.c:dvsp4_build_sw_relgfclient_rel_03_16_backendcommonupdtlib_srcwindows_registry.cpp
cmovle eax, ebx
push eax
lea eax, [ebp - 0x8044]
jmp 0x43a78b
lea ecx, [ebp - 0x8174]
call fcn.00402a5a
push str.RegQueryInfoKey_failed_with
mov ecx, eax
mov dword [ebp - 4], 1
call fcn.00403b01
lea ecx, [ebp - 0x80cc]
push ecx
mov ecx, eax
call fcn.00403b56
lea ecx, [ebp - 0x802c]
push ecx
mov ecx, eax
call fcn.00402a43
push ecx
movzx eax, di
or eax, 0x80070000
mov byte [ebp - 4], 2
push 0x24a
test edi, edi
push str.c:dvsp4_build_sw_relgfclient_rel_03_16_backendcommonupdtlib_srcwindows_registry.cpp
cmovle eax, edi
push eax
lea eax, [ebp - 0x802c]
push eax
lea ecx, [ebp - 0x80c4]
call fcn.0040bc87
push 0x4d95fc
lea eax, [ebp - 0x80c4]
push eax
call fcn.0046a3fc
int3