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

Disassembly:
push 0x260
mov eax, 0x6070c6
call fcn.004f0658
mov dword [ebp - 0x254], ecx
push 0x208
xor ebx, ebx
lea eax, [ebp - 0x218]
push ebx
push eax
call fcn.0041c790
mov esi, 0x645f64
mov dword [ebp - 0x220], ebx
lea edi, [ebp - 0x250]
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]
xor eax, eax
mov dword [ebp - 0x240], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x230], ebx
mov dword [ebp - 0x22c], 7
mov word [ebp - 0x240], ax
mov edi, dword [ebp - 0x254]
mov byte [ebp - 4], 1
mov dword [ebp - 0x224], ebx
mov dword [ebp - 0x21c], ebx
cmp dword [edi + 0x2c], ebx
jne 0x45ebbd
push 0x4e3
mov eax, 0x8000ffff
push str.D:dbs_shodct0417_205450_0cmd_sclientonedriveSetup_standalonewebclientwebclient.cpp
mov ebx, eax
push eax
call fcn.0043d50f
jmp 0x45eecd
lea eax, [ebp - 0x218]
mov ebx, 0x104
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x45ec02
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 0x45eecd
push 0x4e6
push str.D:dbs_shodct0417_205450_0cmd_sclientonedriveSetup_standalonewebclientwebclient.cpp
push ebx
jmp 0x45ebb3
lea eax, [ebp - 0x21c]
push eax
push ebx
lea eax, [ebp - 0x218]
push eax
call fcn.0043f509
mov ebx, eax
test ebx, ebx
jns 0x45ec23
push 0x4e7
jmp 0x45ebfa
cmp dword [ebp - 0x21c], 0
jne 0x45ec3b
mov eax, 0x80004005
push 0x4e8
jmp 0x45ebab
lea eax, [ebp - 0x218]
push eax
lea ecx, [ebp - 0x240]
call fcn.0040c8c9
mov ecx, edi
call fcn.0045d1c3
mov ebx, eax
test ebx, ebx
jns 0x45ec61
push 0x4eb
jmp 0x45ebfa
mov dword [ebp - 0x228], 0x10
call fcn.004468d2
lea esi, [edi + 0x50]
cmp dword [esi + 0x14], 8
mov eax, esi
jb 0x45ec7d
mov eax, dword [esi]
lea ecx, [ebp - 0x228]
push ecx
lea ecx, [ebp - 0x250]
push ecx
lea ecx, [ebp - 0x224]
push ecx
push str.GUID
push eax
push dword [edi + 0x98]
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x45ecb7
mov eax, 0x80004005
push 0x4ef
jmp 0x45ebab
cmp dword [ebp - 0x224], 3
je 0x45eccf
mov eax, 0x80004005
push 0x4f0
jmp 0x45ebab
mov edx, 0x208
lea eax, [ebp - 0x218]
mov ecx, edx
mov byte [eax], 0
inc eax
sub ecx, 1
jne 0x45ecdc
and dword [ebp - 0x21c], ecx
mov dword [ebp - 0x228], edx
call fcn.004468d2
cmp dword [esi + 0x14], 8
jb 0x45ecfe
mov esi, dword [esi]
lea eax, [ebp - 0x228]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x224]
push eax
push str.File
push esi
push dword [edi + 0x98]
call dword [sym.imp.SHLWAPI.dll_SHGetValueW]
test eax, eax
je 0x45ed38
mov eax, 0x80004005
push 0x4f6
jmp 0x45ebab
cmp dword [ebp - 0x224], 1
je 0x45ed50
mov eax, 0x80004005
push 0x4f7
jmp 0x45ebab
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFindFileNameW]
lea ecx, [ebp - 0x218]
cmp eax, ecx
je 0x45ed71
push 0x4fb
jmp 0x45eba6
lea eax, [ebp - 0x21c]
push eax
push 0x104
lea eax, [ebp - 0x218]
push eax
call fcn.0043f509
mov ebx, eax
test ebx, ebx
jns 0x45ed99
push 0x4fc
jmp 0x45ebfa
cmp dword [ebp - 0x21c], 0
jne 0x45edb1
mov eax, 0x80004005
push 0x4fd
jmp 0x45ebab
cmp dword [ebp - 0x22c], 8
lea ecx, [ebp - 0x218]
lea eax, [ebp - 0x240]
cmovae eax, dword [ebp - 0x240]
push ecx
push eax
lea eax, [ebp - 0x26c]
push eax
call 0x4ae00e
push eax
lea ecx, [ebp - 0x240]
mov byte [ebp - 4], 2
call fcn.0040c350
lea ecx, [ebp - 0x26c]
mov byte [ebp - 4], 1
call fcn.00405795
mov ecx, dword [edi + 0x2c]
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
lea eax, [ebp - 0x220]
push eax
lea eax, [ebp - 0x250]
push eax
push ecx
mov ecx, esi
call dword [0x62275c]
call esi
mov ebx, eax
test ebx, ebx
jns 0x45ee29
push 0x503
jmp 0x45ebfa
cmp dword [ebp - 0x22c], 8
lea ecx, [ebp - 0x240]
lea eax, [edi + 0x68]
cmovae ecx, dword [ebp - 0x240]
cmp dword [eax + 0x14], 8
jb 0x45ee48
mov eax, dword [eax]
push ecx
push eax
push dword [ebp - 0x220]
mov ecx, edi
call fcn.0045e541
test al, al
jne 0x45ee84
mov eax, dword [ebp - 0x220]
test eax, eax
je 0x45ee75
mov ecx, dword [eax]
push eax
mov esi, dword [ecx + 0x20]
mov ecx, esi
call dword [0x62275c]
call esi
mov eax, 0x80004005
push 0x50d
jmp 0x45ebab
lea ecx, [edi + 0x80]
lea eax, [ebp - 0x240]
cmp ecx, eax
je 0x45eeae
cmp dword [ebp - 0x22c], 8
push dword [ebp - 0x230]
cmovae eax, dword [ebp - 0x240]
push eax
call fcn.0040c878
lea eax, [ebp - 0x220]
push eax
lea ecx, [edi + 0x30]
call fcn.0045c72e
add edi, 0xbc
lea esi, [ebp - 0x250]
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 eax, dword [ebp - 0x22c]
xor edi, edi
test ebx, ebx
cmovs edi, ebx
cmp eax, 8
jb 0x45ef27
mov ecx, dword [ebp - 0x240]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x21c], eax
mov dword [ebp - 0x254], ecx
cmp eax, 0x1000
jb 0x45ef1e
lea eax, [ebp - 0x21c]
push eax
lea eax, [ebp - 0x254]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x21c]
mov ecx, dword [ebp - 0x254]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
and dword [ebp - 0x230], 0
xor eax, eax
mov dword [ebp - 0x22c], 7
mov word [ebp - 0x240], ax
mov ecx, dword [ebp - 0x220]
mov dword [ebp - 4], 3
test ecx, ecx
je 0x45ef62
mov edx, dword [ecx]
push ecx
mov esi, dword [edx + 8]
mov ecx, esi
call dword [0x62275c]
call esi
mov eax, edi
call fcn.004f0607
ret