Function at 0x43bb70
Capabilities:
Query or enumerate registry key
Query or enumerate registry value

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x4e4
mov eax, dword [0x4a5010]
xor eax, ebp
mov dword [ebp - 4], eax
movups xmm0, xmmword [0x491594]
push ebx
push esi
movups xmmword [ebp - 0x4b0], xmm0
push edi
movups xmm0, xmmword [0x491584]
mov dword [ebp - 0x4d8], edx
lea ebx, [ebp - 0x4b0]
mov dword [ebp - 0x4c4], ecx
mov edi, 0x80004005
movups xmmword [ebp - 0x4a0], xmm0
mov dword [ebp - 0x4c8], 0
xor esi, esi
movups xmm0, xmmword [0x491574]
movups xmmword [ebp - 0x490], xmm0
movups xmm0, xmmword [0x491564]
movups xmmword [ebp - 0x480], xmm0
cmp esi, 4
jae 0x43bc40
mov eax, dword [ecx]
lea edx, [ebp - 0x4c8]
push edx
push ebx
push ecx
call dword [eax]
mov ecx, dword [ebp - 0x4c4]
mov edi, eax
inc esi
add ebx, 0x10
test edi, edi
jne 0x43bbe1
mov eax, dword [ebp - 0x4c8]
push dword [ebp - 0x4d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [ebp - 0x4c8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov ecx, dword [ebp - 0x4c4]
test edi, edi
jne 0x43bbe1
mov eax, edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.0043f53f
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x43be6a
push 0x200
lea eax, [ebp - 0x270]
mov dword [ebp - 0x4d0], 0
push 0
push eax
call fcn.00458500
movups xmm0, xmmword [str.Interface]
mov eax, dword [0x491550]
add esp, 0xc
mov dword [ebp - 8], eax
lea eax, [ebp - 0x4d0]
movups xmmword [ebp - 0x18], xmm0
movups xmm0, xmmword [str.IApplicationAssociationRegistrationInternal]
push eax
push 0x20019
movups xmmword [ebp - 0x70], xmm0
push 0
movups xmm0, xmmword [0x4911d0]
lea eax, [ebp - 0x18]
push eax
movups xmmword [ebp - 0x60], xmm0
push 0x80000000
movups xmm0, xmmword [0x4911e0]
movups xmmword [ebp - 0x50], xmm0
movups xmm0, xmmword [0x4911f0]
movups xmmword [ebp - 0x40], xmm0
movups xmm0, xmmword [0x491200]
movups xmmword [ebp - 0x30], xmm0
movq xmm0, qword [0x491210]
movq qword [ebp - 0x20], xmm0
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x43be6a
mov ebx, dword [ebp - 0x4c4]
xor esi, esi
nop dword [eax]
push 0
push 0
push 0
push 0
lea eax, [ebp - 0x4dc]
mov dword [ebp - 0x4dc], 0x100
push eax
lea eax, [ebp - 0x270]
push eax
push esi
push dword [ebp - 0x4d0]
call dword [sym.imp.ADVAPI32.dll_RegEnumKeyExW]
inc esi
mov dword [ebp - 0x4c4], eax
mov dword [ebp - 0x4cc], esi
test eax, eax
jne 0x43be4f
mov dword [ebp - 0x4d4], eax
lea eax, [ebp - 0x4d4]
push eax
push 0x20019
push 0
lea eax, [ebp - 0x270]
push eax
push dword [ebp - 0x4d0]
call dword [sym.imp.ADVAPI32.dll_RegOpenKeyExW]
test eax, eax
jne 0x43be49
push 0x200
push eax
lea eax, [ebp - 0x470]
push eax
call fcn.00458500
add esp, 0xc
mov dword [ebp - 0x4e0], 0x200
lea eax, [ebp - 0x4e0]
push eax
lea eax, [ebp - 0x470]
push eax
push 0
push 0
push 0
push dword [ebp - 0x4d4]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
push dword [ebp - 0x4d4]
mov esi, eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
test esi, esi
jne 0x43be43
lea eax, [ebp - 0x70]
push eax
lea eax, [ebp - 0x470]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpiW]
test eax, eax
jne 0x43be43
mov dword [ebp - 0x4c0], eax
xorps xmm0, xmm0
mov dword [ebp - 0x4b4], eax
lea eax, [ebp - 0x4c0]
push eax
lea eax, [ebp - 0x270]
movq qword [ebp - 0x4bc], xmm0
push eax
call dword [sym.imp.ole32.dll_IIDFromString]
mov esi, dword [ebp - 0x4cc]
mov edi, eax
test edi, edi
jne 0x43bcf0
mov eax, dword [ebx]
lea ecx, [ebp - 0x4c8]
push ecx
lea ecx, [ebp - 0x4c0]
push ecx
push ebx
call dword [eax]
mov edi, eax
test edi, edi
jne 0x43bcf0
mov eax, dword [ebp - 0x4c8]
push dword [ebp - 0x4d8]
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov edi, eax
mov eax, dword [ebp - 0x4c8]
push eax
mov ecx, dword [eax]
call dword [ecx + 8]
mov esi, dword [ebp - 0x4cc]
mov eax, dword [ebp - 0x4c4]
test edi, edi
je 0x43be5e
cmp eax, 0x103
jne 0x43bcf0
push dword [ebp - 0x4d0]
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0043f53f
mov esp, ebp
pop ebp
ret