Function at 0x1000dbe7
Capabilities:
Check if file exists
Query or enumerate registry value
Set registry value

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x2a8
mov ebx, dword [ebp + 0xc]
mov edi, dword [ebp + 8]
mov eax, dword [0x1006700c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push edi
call fcn.1000db58
add esp, 8
test eax, eax
js 0x1000dc79
mov esi, 0x80070057
test ebx, ebx
jle 0x1000dc7b
mov eax, edi
mov ecx, ebx
cmp word [eax], 0
je 0x1000dc2c
add eax, 2
dec ecx
jne 0x1000dc1e
jmp 0x1000dc7b
mov word [eax], 0x5c
cmp ecx, 1
je 0x1000dc6d
mov word [eax + 2], 0
lea eax, [edi - 2]
cmp word [eax + 2], 0
je 0x1000dc4e
add eax, 2
dec ebx
jne 0x1000dc3f
jmp 0x1000dc7b
xor ecx, ecx
movzx edx, word [ecx + ecx + str.ie_to_edge_stub.exe]
test dx, dx
je 0x1000dd43
mov word [eax + 2], dx
add eax, 2
inc ecx
cmp ebx, ecx
jne 0x1000dc50
mov word [eax], 0
mov esi, 0x8007007a
jmp 0x1000dc7b
mov esi, eax
push 2
call fcn.1000f8f5
add esp, 4
test al, al
je 0x1000dcc8
lea edi, [ebp - 0x218]
mov ecx, edi
push 2
push 0x1e2
push str....._third_partyie_to_edge_bhoie_to_edge_util.cc
call fcn.1000f93e
mov ecx, edi
call fcn.10002820
push 0x24
push str.Failed_to_get_registered_stub_path:
push eax
call fcn.100065e4
add esp, 0xc
mov ecx, eax
push esi
call fcn.10001bb0
mov ecx, edi
call fcn.1000fc9a
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.1002ba3a
mov eax, esi
add esp, 0x2a8
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, eax
push 2
call fcn.1000f8f5
add esp, 4
test al, al
je 0x1000dd2e
lea esi, [ebp - 0x2b4]
mov ecx, esi
push 2
push 0x202
push str....._third_partyie_to_edge_bhoie_to_edge_util.cc
call fcn.1000f93e
mov ecx, esi
call fcn.10002820
push 0x24
push str.Failed_to_refresh_elevation_policy:
push eax
call fcn.100065e4
add esp, 0xc
mov ecx, eax
push ebx
call fcn.10001bb0
mov ecx, esi
call fcn.1000fc9a
mov esi, ebx
mov eax, dword [ebp - 0x228]
test eax, eax
je 0x1000dcc8
push eax
call dword [sym.imp.ADVAPI32.dll_RegCloseKey]
jmp 0x1000dcc8
mov word [eax + 2], 0
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x1000df49
xor eax, eax
lea ecx, [ebp - 0x228]
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
sub esp, 0x1c
mov dword [esp + 0x18], eax
movaps xmm0, xmmword [0x1005c210]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], str.SoftwareAppDataLowSoftwareMicrosoftEdgeIEToEdge
mov dword [esp], SysStringLen
call fcn.100043cc
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
test esi, esi
js 0x1000dd30
mov esi, 0x208
lea ebx, [ebp - 0x218]
push esi
push 0xff
push ebx
call fcn.1002ec50
add esp, 0xc
lea eax, [ebp - 0x2b4]
mov dword [eax], 0xffffffff
lea ecx, [ebp - 0x21c]
mov dword [ecx], esi
push ecx
push ebx
push eax
push 0
push str.LastStubPath
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegQueryValueExW]
mov esi, eax
test eax, eax
je 0x1000de17
jle 0x1000ddf6
movzx esi, si
or esi, 0x80070000
cmp esi, 0x80070002
je 0x1000de9c
test esi, esi
jns 0x1000dea5
jmp 0x1000de46
mov word [ebp - 0x218], 0
jmp 0x1000ddf6
mov eax, dword [ebp - 0x2b4]
add eax, 0xfffffffd
cmp eax, 0xfffffffe
jb 0x1000de41
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x1000de0c
test al, 1
jne 0x1000de41
and eax, 0xfffffffe
cmp word [ebp + eax - 0x21a], 0
je 0x1000ddf6
mov esi, 0x8007000d
push 2
call fcn.1000f8f5
add esp, 4
test al, al
je 0x1000dd30
lea edi, [ebp - 0x2b4]
mov ecx, edi
push 2
push 0x206
push str....._third_partyie_to_edge_bhoie_to_edge_util.cc
call fcn.1000f93e
mov ecx, edi
call fcn.10002820
push 0x20
push str.Failed_to_query_last_stub_path:
push eax
call fcn.100065e4
add esp, 0xc
mov ecx, eax
push esi
call fcn.10001bb0
mov ecx, edi
call fcn.1000fc9a
jmp 0x1000dd30
mov word [ebp - 0x218], 0
push edi
push ebx
call fcn.10041633
add esp, 8
xor esi, esi
test eax, eax
je 0x1000dd30
call fcn.1002add6
test eax, eax
js 0x1000dcdf
test edi, edi
je 0x1000df42
push edi
call fcn.100416d7
add esp, 4
lea eax, [eax*2 + 2]
push eax
push edi
push 1
push 0
push str.LastStubPath
push dword [ebp - 0x228]
call dword [sym.imp.ADVAPI32.dll_RegSetValueExW]
mov ebx, eax
test eax, eax
jle 0x1000dfe2
movzx ebx, bx
or ebx, 0x80070000
push 2
call fcn.1000f8f5
add esp, 4
test al, al
je 0x1000dd2e
lea esi, [ebp - 0x2b4]
mov ecx, esi
push 2
push 0x1ff
push str....._third_partyie_to_edge_bhoie_to_edge_util.cc
call fcn.1000f93e
mov ecx, esi
call fcn.10002820
push 0x21
push str.Failed_to_update_last_stub_path:
jmp 0x1000dd16
mov ebx, 0x8007000d
jmp 0x1000df04
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
mov esi, 0x8000ffff
cmovs esi, ecx
push 2
call fcn.1000f8f5
add esp, 4
test al, al
je 0x1000dcc8
lea ebx, [ebp - 0x218]
mov ecx, ebx
push 2
push 0x1df
push str....._third_partyie_to_edge_bhoie_to_edge_util.cc
call fcn.1000f93e
mov ecx, ebx
call fcn.10002820
push 0x1e
push str.Invalid_registered_stub_path:
push eax
call fcn.100065e4
add esp, 0xc
mov ebx, eax
push edi
call fcn.100416d7
add esp, 4
push eax
push edi
push ebx
call fcn.100065e4
add esp, 0xc
push 1
push 0x1005d49e
push eax
call fcn.100065e4
add esp, 0xc
mov ecx, eax
push esi
call fcn.10001bb0
lea ecx, [ebp - 0x218]
jmp 0x1000dcc3
js 0x1000df04
push 0
call fcn.1000f8f5
add esp, 4
test al, al
je 0x1000dd30
lea ebx, [ebp - 0x2b4]
mov ecx, ebx
push 0
push 0x1fd
push str....._third_partyie_to_edge_bhoie_to_edge_util.cc
call fcn.1000f93e
mov ecx, ebx
call fcn.10002820
push 0x1a
push str.Updated_last_stub_path_to
push eax
call fcn.100065e4
add esp, 0xc
mov ebx, eax
push edi
call fcn.100416d7
add esp, 4
push eax
push edi
push ebx
call fcn.100065e4
add esp, 0xc
lea ecx, [ebp - 0x2b4]
jmp 0x1000de92