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

Disassembly:
push 0x234
mov eax, 0x5a9d78
call fcn.00462cd6
mov ebx, ecx
mov dword [ebp - 0x240], ebx
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.00463cc0
mov esi, 0x5c1af8
lea edi, [ebp - 0x238]
xor eax, eax
add esp, 0xc
mov dword [ebp - 0x220], eax
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], eax
mov dword [ebp - 0x21c], eax
mov byte [ebp - 4], 1
mov dword [ebp - 0x224], eax
mov dword [ebp - 0x23c], eax
cmp dword [ebx + 0x28], eax
jne 0x490b08
push 0x3ac
mov eax, 0x8000ffff
push str.d:dbs_shodct1116_102044cmd7clientonedrive_setup_standalonewebclientwebclient.cpp
mov ebx, eax
push eax
call fcn.0048259a
jmp 0x490dfe
lea eax, [ebp - 0x218]
mov ebx, 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x490b48
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ebx, ax
or ebx, 0x80070000
test eax, eax
cmovle ebx, eax
test ebx, ebx
jns 0x490dfe
push 0x3af
push str.d:dbs_shodct1116_102044cmd7clientonedrive_setup_standalonewebclientwebclient.cpp
push ebx
jmp 0x490afe
lea eax, [ebp - 0x23c]
push eax
push ebx
lea eax, [ebp - 0x218]
push eax
call fcn.0048458e
mov ebx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x23c]
test ebx, ebx
cmovs eax, ecx
mov dword [ebp - 0x23c], eax
jns 0x490b7a
push 0x3b0
jmp 0x490b40
test eax, eax
jne 0x490b8d
mov eax, 0x80004005
push 0x3b1
jmp 0x490af6
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.0041539e
mov ebx, eax
test ebx, ebx
jns 0x490bad
push 0x3b2
jmp 0x490b40
mov ecx, dword [ebp - 0x240]
call fcn.0048fba1
mov ebx, eax
test ebx, ebx
jns 0x490bc8
push 0x3b5
jmp 0x490b40
mov ebx, dword [ebp - 0x240]
mov dword [ebp - 0x228], 0x10
mov edi, dword [ebx + 0x4c]
mov esi, dword [ebx + 0x58]
call fcn.0048afce
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x238]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [edi + 0xc]
neg edi
push str.GUID
sbb edi, edi
and edi, eax
push edi
push esi
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x490c21
mov eax, 0x80004005
push 0x3b9
jmp 0x490af6
cmp dword [ebp - 0x224], 3
je 0x490c39
mov eax, 0x80004005
push 0x3ba
jmp 0x490af6
mov esi, 0x208
lea ecx, [ebp - 0x218]
mov edx, esi
xor eax, eax
mov byte [ecx], al
inc ecx
sub edx, 1
jne 0x490c48
mov edi, dword [ebx + 0x4c]
mov dword [ebp - 0x228], esi
mov esi, dword [ebx + 0x58]
mov dword [ebp - 0x23c], eax
call fcn.0048afce
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x224]
push eax
lea eax, [edi + 0xc]
neg edi
push str.File
sbb edi, edi
and edi, eax
push edi
push esi
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x490ca5
mov eax, 0x80004005
push 0x3c0
jmp 0x490af6
cmp dword [ebp - 0x224], 1
je 0x490cbd
mov eax, 0x80004005
push 0x3c1
jmp 0x490af6
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebp - 0x218]
cmp eax, ecx
je 0x490cde
push 0x3c5
jmp 0x490af1
lea eax, [ebp - 0x23c]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
call fcn.0048458e
mov ebx, eax
xor ecx, ecx
mov eax, dword [ebp - 0x23c]
test ebx, ebx
cmovs eax, ecx
jns 0x490d11
push 0x3c6
jmp 0x490b40
test eax, eax
jne 0x490d24
mov eax, 0x80004005
push 0x3c7
jmp 0x490af6
push eax
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x21c]
call fcn.00483cf6
mov ebx, eax
test ebx, ebx
jns 0x490d47
push 0x3ca
jmp 0x490b40
mov edi, dword [ebp - 0x240]
lea ecx, [ebp - 0x220]
push ecx
lea ecx, [ebp - 0x238]
push ecx
mov eax, dword [edi + 0x28]
push eax
mov esi, dword [eax]
mov ecx, dword [esi + 0x10]
call dword [0x5b664c]
call dword [esi + 0x10]
mov ebx, eax
test ebx, ebx
jns 0x490d7d
push 0x3cd
jmp 0x490b40
mov eax, dword [ebp - 0x21c]
test eax, eax
je 0x490d8a
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.00490531
test al, al
jne 0x490dd2
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x490dc3
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 0x20]
mov ecx, esi
call dword [0x5b664c]
call esi
mov eax, 0x80004005
push 0x3d7
jmp 0x490af6
lea eax, [ebp - 0x21c]
push eax
lea eax, [edi + 0x54]
push eax
call fcn.00414f5b
lea eax, [ebp - 0x220]
push eax
lea ecx, [edi + 0x2c]
call 0x48f31b
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 esi, esi
lea eax, [ebp - 0x21c]
test ebx, ebx
cmovs esi, ebx
xor ecx, ecx
xchg dword [eax], ecx
test ecx, ecx
je 0x490e18
call fcn.00415424
lea ecx, [ebp - 0x220]
call fcn.0040b56f
mov eax, esi
call fcn.00462c80
ret