Function at 0x4c0350
Capabilities:
Get common file path
Query or enumerate registry value

Disassembly:
push 0x230
mov eax, 0x61bb6e
call fcn.0042d958
mov dword [ebp - 0x224], ecx
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0042e9f0
mov esi, 0x674bd4
mov dword [ebp - 0x220], ebx
lea edi, [ebp - 0x238]
add esp, 0xc
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 4], ebx
mov dword [ebp - 0x21c], ebx
mov edi, dword [ebp - 0x224]
mov byte [ebp - 4], 1
mov dword [ebp - 0x228], ebx
mov dword [ebp - 0x23c], ebx
cmp dword [edi + 0x28], ebx
jne 0x4c03d1
push 0x3d7
mov eax, 0x8000ffff
push str.d:dbs_shodct1021_100423_0cmdkclientonedriveSetupStandalonewebclientwebclient.cpp
mov ebx, eax
push eax
call fcn.00451940
jmp 0x4c06ac
lea eax, [ebp - 0x218]
mov esi, 0x104
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x4c0416
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
mov eax, ebx
shr eax, 0x1f
test al, al
je 0x4c06ac
push 0x3da
push str.d:dbs_shodct1021_100423_0cmdkclientonedriveSetupStandalonewebclientwebclient.cpp
push ebx
jmp 0x4c03c7
lea eax, [ebp - 0x23c]
push eax
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.00452cfa
mov ebx, eax
test ebx, ebx
jns 0x4c0437
push 0x3db
jmp 0x4c040e
cmp dword [ebp - 0x23c], 0
jne 0x4c044f
mov eax, 0x80004005
push 0x3dc
jmp 0x4c03bf
push dword [ebp - 0x23c]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00458752
mov ebx, eax
test ebx, ebx
jns 0x4c0474
push 0x3dd
jmp 0x4c040e
mov ecx, edi
call fcn.004bf253
mov ebx, eax
test ebx, ebx
jns 0x4c0488
push 0x3e0
jmp 0x4c040e
mov dword [ebp - 0x224], 0x10
call fcn.00459f1e
mov ecx, dword [edi + 0x4c]
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ecx + 0xc]
neg ecx
push str.GUID
sbb ecx, ecx
and ecx, eax
push ecx
push dword [edi + 0x58]
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x4c04da
mov eax, 0x80004005
push 0x3e4
jmp 0x4c03bf
cmp dword [ebp - 0x228], 3
je 0x4c04f2
mov eax, 0x80004005
push 0x3e5
jmp 0x4c03bf
mov ebx, 0x208
lea ecx, [ebp - 0x218]
mov edx, ebx
xor eax, eax
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x4c0501
mov dword [ebp - 0x23c], eax
mov dword [ebp - 0x224], ebx
call fcn.00459f1e
mov ecx, dword [edi + 0x4c]
lea eax, [ebp - 0x224]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x228]
push eax
lea eax, [ecx + 0xc]
neg ecx
push str.File
sbb ecx, ecx
and ecx, eax
push ecx
push dword [edi + 0x58]
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x4c055d
mov eax, 0x80004005
push 0x3eb
jmp 0x4c03bf
cmp dword [ebp - 0x228], 1
je 0x4c0575
mov eax, 0x80004005
push 0x3ec
jmp 0x4c03bf
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebp - 0x218]
cmp eax, ecx
je 0x4c0596
push 0x3f0
jmp 0x4c03ba
lea eax, [ebp - 0x23c]
push eax
push esi
lea eax, [ebp - 0x218]
push eax
call fcn.00452cfa
mov ebx, eax
test ebx, ebx
jns 0x4c05ba
push 0x3f1
jmp 0x4c040e
cmp dword [ebp - 0x23c], 0
jne 0x4c05d2
mov eax, 0x80004005
push 0x3f2
jmp 0x4c03bf
push dword [ebp - 0x23c]
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.004526c8
mov ebx, eax
test ebx, ebx
jns 0x4c05fa
push 0x3f5
jmp 0x4c040e
mov ecx, dword [edi + 0x28]
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x238]
push eax
push ecx
mov ecx, esi
call dword [0x62c6dc]
call esi
mov ebx, eax
test ebx, ebx
jns 0x4c062b
push 0x3f8
jmp 0x4c040e
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x4c0638
add eax, 0xc
mov ecx, dword [edi + 0x50]
push eax
lea eax, [ecx + 0xc]
neg ecx
sbb ecx, ecx
and ecx, eax
push ecx
push dword [ebp - 0x220]
mov ecx, edi
call fcn.004bfd69
test al, al
jne 0x4c0680
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x4c0671
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 0x20]
mov ecx, esi
call dword [0x62c6dc]
call esi
mov eax, 0x80004005
push 0x402
jmp 0x4c03bf
lea ecx, [ebp - 0x21c]
lea eax, [edi + 0x54]
push ecx
push eax
call fcn.00451c71
lea eax, [ebp - 0x220]
push eax
lea ecx, [edi + 0x2c]
call 0x4be84d
add edi, 0x7c
lea esi, [ebp - 0x238]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
xor edi, edi
lea eax, [ebp - 0x21c]
test ebx, ebx
cmovs edi, ebx
xor ecx, ecx
xchg dword [eax], ecx
test ecx, ecx
je 0x4c06c6
call fcn.0041700a
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 4], 2
test ecx, ecx
je 0x4c06e7
mov edx, dword [ecx]
push ecx
mov esi, dword [edx + 8]
mov ecx, esi
call dword [0x62c6dc]
call esi
mov eax, edi
call fcn.0042d907
ret