Function at 0x40b618
Capabilities:
Accept command line arguments
Check if file exists
Resolve function by parsing pe exports

Disassembly:
push pe_nt_image_headers32
mov eax, 0x60e12e
call fcn.00429868
mov ebx, ecx
mov dword [ebp - 0x114], ebx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x11c]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x110], eax
call fcn.00411e63
lea ecx, [ebx + 0x50]
push eax
mov dword [ebp - 0x48], ecx
call fcn.00411eaa
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x40b663
call fcn.00413806
xor eax, eax
push eax
push eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 1
push 2
push 1
push 0xb4e08a47
push 0x6825bc
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x11e
mov esi, eax
mov dword [ebp - 0x3c], str.Result
push str.D:dbs_shodct0202_162706cmdcclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x38], esi
call fcn.004591ec
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0045a999
call fcn.0045a6b3
test esi, esi
js 0x40b6c7
mov byte [ebx + 0x73], 1
push str.StandaloneUpdate
lea ecx, [ebp - 0x40]
call fcn.0040ad69
xor ecx, ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 4], ecx
mov ecx, 0x6c9f10
cmp dword [ebp - 0x2c], 8
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00411bb5
call fcn.004bdebb
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1a8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
mov byte [0x6dd880], al
xorps xmm0, xmm0
xor eax, eax
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x50]
push eax
call fcn.004122e4
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 1
push eax
push dword [ebp - 0x44]
call fcn.0040b250
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x104], ax
lea eax, [ebp - 0x50]
mov byte [ebp - 0x110], cl
mov byte [ebp - 0x120], cl
mov ecx, ebx
push eax
call fcn.0040fae5
lea eax, [ebp - 0x120]
push eax
lea eax, [ebp - 0x104]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0040b106
mov eax, dword [ebx]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x6317ac]
mov ecx, ebx
call esi
xor ecx, ecx
mov byte [ebx + 0x71], al
mov dword [ebp - 0x10c], ecx
cmp byte [ebx + 0x7c], cl
jne 0x40b7f6
test al, al
je 0x40b7f6
call fcn.004bdebb
mov edi, eax
xor eax, eax
push eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0xf8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
jne 0x40b7e3
call fcn.004bdebb
mov edi, eax
push 1
mov ecx, dword [edi]
mov esi, dword [ecx + 0xf8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
je 0x40b7f6
call fcn.004c91da
xor ecx, ecx
test al, al
setne cl
inc ecx
mov dword [ebp - 0x10c], ecx
mov eax, dword [ebx]
mov esi, dword [eax + 0x24]
lea eax, [ebx + 0x50]
push eax
mov ecx, esi
call dword [0x6317ac]
mov ecx, ebx
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x6317ac]
mov ecx, ebx
call esi
xor eax, eax
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], 7
mov word [ebp - 0x98], ax
mov byte [ebp - 4], 3
call fcn.004bdebb
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1a8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
je 0x40b8d2
lea eax, [ebp - 0x98]
push eax
call fcn.004c418a
test eax, eax
js 0x40b8c2
push str.StandaloneUpdaterlogs
lea ecx, [ebp - 0x98]
call fcn.00411c2b
mov edi, dword [ebx + 0x50]
mov eax, dword [edi]
mov esi, dword [eax + 4]
lea eax, [ebp - 0x98]
push eax
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test eax, eax
jne 0x40b8d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40b8d2
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x40b8d2
push 0x682614
lea ecx, [ebp - 0x98]
call fcn.00411bb5
cmp dword [ebp - 0x84], 8
lea eax, [ebp - 0x98]
cmovae eax, dword [ebp - 0x98]
xor ecx, ecx
push ecx
push 3
push eax
push dword [ebp - 0x10c]
mov eax, 0x67feb4
push ecx
push dword [ebp - 0x120]
push dword [ebp - 0x104]
push dword [ebp - 0x110]
push eax
push eax
call fcn.0045a3d6
mov esi, eax
mov dword [ebp - 0x44], esi
call fcn.0040ab93
call fcn.0040b544
push dword [ebp - 0x120]
movzx ecx, word [ebp - 0x104]
push ecx
push dword [ebp - 0x110]
push esi
push ecx
call 0x40622f
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x100]
call fcn.0040ad69
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 4
push eax
call fcn.0045ac84
cmp dword [ebp - 0xec], 8
lea ecx, [ebp - 0x100]
mov dword [ebp - 0x24], str.commandLineArgs
cmovae ecx, dword [ebp - 0x100]
xor esi, esi
mov dword [ebp - 0x28], 1
mov dword [ebp - 0x20], ecx
test ecx, ecx
je 0x40b99c
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x40b98b
sub ecx, edx
sar ecx, 1
jmp 0x40b99e
mov ecx, esi
push 1
push 2
push 1
push 0xde6fa3df
mov edi, 0x6825bc
mov dword [ebp - 0x18], ecx
push edi
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x17d
push str.D:dbs_shodct0202_162706cmdcclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0xe8]
call fcn.004591ec
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0045a999
call fcn.0045a6b3
cmp byte [ebx + 0x71], 0
jne 0x40ba1e
push esi
push 2
push 1
push 0x404
push edi
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x182
push str.D:dbs_shodct0202_162706cmdcclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0xe8]
call fcn.004591ec
push esi
lea eax, [ebp - 0xe8]
push eax
call fcn.0045a999
call fcn.0045a6b3
call fcn.004bdebb
mov edi, eax
xor eax, eax
push eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0xf8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
jne 0x40ba9e
call fcn.004bdebb
mov edi, eax
push 1
mov ecx, dword [edi]
mov esi, dword [ecx + 0xf8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
jne 0x40ba9e
xor esi, esi
lea ecx, [ebp - 0xe8]
push esi
push 2
push 1
push 0xc8c0bcd7
push 0x6825bc
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x186
push str.D:dbs_shodct0202_162706cmdcclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
call fcn.004591ec
push esi
lea eax, [ebp - 0xe8]
push eax
call fcn.0045a999
call fcn.0045a6b3
cmp dword [ebp - 0x44], 0
setge al
mov byte [ebx + 0x70], al
call fcn.004bdebb
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1a8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
mov edx, str.FileSyncClientUpdaterNamedMutex
mov ecx, str.GlobalPerMachineUpdaterNamedMutex
cmove ecx, edx
push ecx
lea ecx, [ebx + 4]
call fcn.00411bb5
push 0x18
call fcn.00429915
mov ebx, eax
pop ecx
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 5
lea esi, [ebx + 0xc]
xor eax, eax
mov edi, ebx
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterFileVerification_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
call fcn.00421ba5
mov eax, dword [ebp - 0x114]
add eax, 0x48
mov byte [ebp - 4], 4
mov dword [ebp - 0x108], eax
mov ecx, dword [eax + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
test ecx, ecx
je 0x40bb33
call fcn.00413806
push 0x30
call fcn.00429915
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x118], ebx
mov edi, ebx
push ecx
mov ecx, esp
push dword [ebp - 0x48]
stosd dword es:[edi], eax
lea esi, [ebx + 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterInstrumentation_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
call fcn.004118d4
mov ecx, esi
call fcn.00415238
mov eax, dword [ebp - 0x114]
add eax, 0x30
mov dword [ebp - 0x104], eax
mov ecx, dword [eax + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
test ecx, ecx
je 0x40bb8d
call fcn.00413806
push 0x18
call fcn.00429915
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x118], ebx
mov edi, ebx
push ecx
mov ecx, esp
push dword [ebp - 0x104]
stosd dword es:[edi], eax
lea esi, [ebx + 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterSetupComponentLogger_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
call fcn.004118d4
mov ecx, esi
call 0x4238e3
mov eax, dword [ebp - 0x114]
mov ecx, dword [eax + 0x3c]
mov dword [eax + 0x38], esi
mov dword [eax + 0x3c], ebx
test ecx, ecx
je 0x40bbe2
call fcn.00413806
push 0x3c
call fcn.00429915
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x118], ebx
mov edi, ebx
push ecx
mov ecx, esp
push dword [ebp - 0x108]
stosd dword es:[edi], eax
lea esi, [ebx + 0xc]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterInstallationRepair_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
call fcn.004118d4
push ecx
push ecx
mov ecx, esp
push dword [ebp - 0x104]
call fcn.004118d4
push ecx
push ecx
mov ecx, esp
push dword [ebp - 0x48]
call fcn.004118d4
mov ecx, esi
call 0x422494
mov eax, dword [ebp - 0x114]
add eax, 0x58
mov dword [ebp - 0x124], eax
mov ecx, dword [eax + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
test ecx, ecx
je 0x40bc5a
call fcn.00413806
lea ecx, [ebp - 0x11c]
call fcn.00411edb
xor ebx, ebx
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [eax], ebx
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0x114]
mov dword [ebx + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
mov dword [ebx + 0x20], edx
test ecx, ecx
je 0x40bc89
call fcn.00413806
mov ecx, dword [ebp - 0x118]
test ecx, ecx
je 0x40bc98
call fcn.00413806
push 0x24
call fcn.00429915
mov esi, eax
xor eax, eax
push 9
pop ecx
mov dword [ebp - 0x118], esi
mov edi, esi
rep stosd dword es:[edi], eax
push ecx
lea eax, [ebx + 0x50]
mov ecx, esp
push eax
call fcn.004118d4
push ecx
push ecx
mov ecx, esp
xor eax, eax
mov dword [ecx], eax
mov dword [ecx + 4], eax
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x40bcd2
lock inc dword [eax + 4]
mov eax, dword [ebx + 0x1c]
mov dword [ecx], eax
mov eax, dword [ebx + 0x20]
mov dword [ecx + 4], eax
mov ecx, esi
call 0x4144e8
add ebx, 0x24
mov edi, eax
mov dword [ebp - 0x118], ebx
cmp dword [ebx], edi
je 0x40bd1e
mov byte [ebp - 4], 6
test edi, edi
je 0x40bd0b
mov eax, dword [edi]
push edi
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x6317ac]
call esi
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x44]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
mov dword [ebx], edi
call fcn.00411886
push 0x10
call fcn.00429915
mov ebx, eax
pop ecx
mov dword [ebp - 0x44], ebx
mov byte [ebp - 4], 7
lea esi, [ebx + 0xc]
xor eax, eax
mov edi, ebx
mov ecx, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_UpdateXMLParser_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
call 0x4b9439
mov eax, dword [ebp - 0x114]
add eax, 0x28
mov byte [ebp - 4], 4
mov dword [ebp - 0x110], 0x1f0
mov dword [ebp - 0x44], eax
mov ecx, dword [eax + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
test ecx, ecx
je 0x40bd7a
call fcn.00413806
mov ebx, dword [ebp - 0x114]
lea eax, [ebx + 0x78]
cmp dword [eax], 3
mov dword [ebp - 0x120], eax
jne 0x40bdcf
call fcn.004bdebb
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1a8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
je 0x40bdcf
mov edi, dword [0x6c2ad4]
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
jne 0x40bdcf
mov ecx, ebx
call fcn.004104e7
cmp byte [ebx + 0x7c], 0
jne 0x40be18
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, ebx
call esi
call fcn.004a1161
mov edi, eax
push 0x1de
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test al, al
je 0x40be30
mov eax, dword [ebx]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x6317ac]
mov ecx, ebx
jmp 0x40be2e
call fcn.004a1161
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
cmp dword [ebp - 0x10c], 2
jne 0x40be88
cmp byte [ebx + 0x70], 0
je 0x40be88
mov ecx, dword [ebx + 0x78]
call fcn.00416a56
mov byte [ebp - 0x10c], al
lea eax, [ebp - 0xa0]
push eax
call fcn.0045983d
mov byte [ebp - 4], 8
mov edi, dword [eax]
push dword [ebp - 0x10c]
mov eax, dword [edi]
mov esi, dword [eax + 0xc8]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x40be88
call fcn.00413806
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
push 7
pop edx
xor eax, eax
mov dword [ebp - 0xb8], ecx
mov dword [ebp - 0xb4], edx
mov word [ebp - 0xc8], ax
mov dword [ebp - 0x80], ecx
mov dword [ebp - 0x70], ecx
mov dword [ebp - 0x6c], edx
mov word [ebp - 0x80], ax
mov edi, str._repair
mov byte [ebp - 4], 0xc
push edi
lea ecx, [ebp - 0x68]
call fcn.0040ad69
lea eax, [ebp - 0x68]
push eax
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411f84
lea ecx, [ebp - 0x50]
push dword [eax + 8]
call fcn.00411fd7
lea ecx, [ebp - 0x68]
mov bl, al
call fcn.00413b5a
test bl, bl
je 0x40bf5c
mov eax, dword [ebp - 0x120]
xor ecx, ecx
mov esi, dword [ebp - 0x114]
cmp dword [eax], ecx
jne 0x40bf0d
mov ecx, esi
call fcn.0040fd4b
push edi
lea ecx, [ebp - 0x68]
call fcn.0040ad69
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411fff
lea ecx, [ebp - 0x80]
push ecx
lea ecx, [ebp - 0xc8]
mov eax, dword [eax]
push ecx
add eax, 0x28
mov ecx, esi
push eax
call fcn.0040f44d
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.00413b5a
lea ebx, [esi + 0x84]
jmp 0x40bff8
call fcn.004bdebb
mov edi, eax
lea eax, [ebp - 0x80]
push eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0xf0]
mov ecx, esi
call dword [0x6317ac]
mov ecx, edi
call esi
test eax, eax
js 0x40bf92
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x28]
call fcn.00411a2e
mov ecx, 0x1f1
jmp 0x40bfa4
push str.19.0.0.0
lea ecx, [ebp - 0x68]
call fcn.0040ad69
mov ecx, 0x1f2
mov esi, dword [ebp - 0x114]
mov dword [ebp - 0x10c], ecx
push eax
lea ebx, [esi + 0x84]
mov ecx, ebx
mov dword [ebp - 0x110], ebx
call fcn.004119c0
mov eax, dword [ebp - 0x10c]
test al, 2
je 0x40bfe5
and eax, 0xfffffffd
lea ecx, [ebp - 0x68]
mov dword [ebp - 0x10c], eax
call fcn.00413b5a
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 4], 0xc
test al, 1
je 0x40bffe
lea ecx, [ebp - 0x28]
call fcn.00413b5a
mov dword [ebp - 0x110], ebx
cmp dword [ebx + 0x14], 8
mov edi, ebx
jb 0x40c008
mov edi, dword [ebx]
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
call fcn.0040f3b9
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], 8
jb 0x40c01f
mov eax, dword [eax]
push edi
push eax
push ecx
call 0x40745d
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.00413b5a
cmp byte [esi + 0x7c], 0
je 0x40c076
xor ebx, ebx
lea ecx, [ebp - 0xe8]
push ebx
push 2
push 1
push 0x30066fbd
push 0x6825bc
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x1dc
push str.D:dbs_shodct0202_162706cmdcclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
call fcn.004591ec
push ebx
lea eax, [ebp - 0xe8]
push eax
call fcn.0045a999
call fcn.0045a6b3
push 0x90
call fcn.00429915
mov ebx, eax
pop ecx
mov dword [ebp - 0x10c], ebx
mov byte [ebp - 4], 0x10
lea ecx, [esi + 0xb4]
mov edx, dword [ebp - 0x104]
lea esi, [ebx + 0xc]
push ecx
push dword [ebp - 0x110]
xor eax, eax
mov edi, ebx
push dword [ebp - 0x120]
mov ecx, esi
push dword [ebp - 0x124]
stosd dword es:[edi], eax
push dword [ebp - 0x48]
push dword [ebp - 0x108]
stosd dword es:[edi], eax
push dword [ebp - 0x44]
push dword [ebp - 0x118]
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterController_.0
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
call 0x413267
mov eax, dword [ebp - 0x114]
mov byte [ebp - 4], 0xc
mov ecx, dword [eax + 0x44]
mov dword [eax + 0x40], esi
mov dword [eax + 0x44], ebx
test ecx, ecx
je 0x40c0fa
call fcn.00413806
push 0x48
call fcn.00429915
mov ebx, eax
pop ecx
mov dword [ebp - 0x118], ebx
mov byte [ebp - 4], 0x11
lea esi, [ebx + 0xc]
push dword [ebp - 0x110]
xor eax, eax
mov edi, ebx
push ecx
push ecx
mov ecx, esp
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
mov edi, dword [ebp - 0x104]
inc eax
push edi
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterCustomerPromises_.0
call fcn.004118d4
push ecx
push ecx
mov ecx, esp
push dword [ebp - 0x48]
call fcn.004118d4
push ecx
push ecx
mov ecx, esp
xor eax, eax
push dword [ebp - 0x44]
mov dword [ecx], eax
mov dword [ecx + 4], eax
call fcn.004135d4
mov ecx, esi
call fcn.00424a4f
mov eax, dword [ebp - 0x114]
mov byte [ebp - 4], 0xc
mov ecx, dword [eax + 0x64]
mov dword [eax + 0x60], esi
mov dword [eax + 0x64], ebx
test ecx, ecx
je 0x40c17f
call fcn.00413806
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
mov eax, dword [ebp - 0x120]
push dword [eax]
call dword [0x6317ac]
mov ecx, edi
call esi
push str._repair
lea ecx, [ebp - 0x68]
call fcn.0040ad69
lea eax, [ebp - 0x68]
push eax
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411f84
lea ecx, [ebp - 0x50]
push dword [eax + 8]
call fcn.00411fd7
lea ecx, [ebp - 0x68]
mov bl, al
call fcn.00413b5a
mov esi, 0x1000
test bl, bl
je 0x40c49c
xor ebx, ebx
mov dword [ebp - 0x28], ebx
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x13
push eax
call fcn.004c2c34
mov edi, eax
mov byte [ebp - 0x10c], 1
lea eax, [ebp - 0x108]
mov dword [ebp - 0x108], ebx
push eax
call dword [sym.imp.USERENV.dll_GetProfileType]
cmp dword [ebp - 0xb4], 8
lea esi, [ebp - 0xc8]
mov dword [ebp - 0x44], ebx
cmovae esi, dword [ebp - 0xc8]
call fcn.0044da02
lea ecx, [ebp - 0x44]
push ecx
push esi
push eax
call fcn.004ca61f
add esp, 0xc
test eax, eax
js 0x40c253
cmp dword [ebp - 0x44], ebx
setne byte [ebp - 0x10c]
mov al, bl
mov byte [ebp - 0x110], al
test edi, edi
js 0x40c27c
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
cmovae eax, dword [ebp - 0x28]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne al
mov byte [ebp - 0x110], al
mov byte [ebp - 0x104], bl
mov byte [ebp - 0x48], bl
test al, al
je 0x40c356
mov esi, 0x682610
lea eax, [ebp - 0x28]
push esi
push eax
lea eax, [ebp - 0x13c]
push eax
call fcn.00411db1
push str.FileSyncClient.dll
mov ecx, eax
mov byte [ebp - 4], 0x14
call fcn.00411c2b
push eax
lea ecx, [ebp - 0x68]
call fcn.00413889
lea ecx, [ebp - 0x13c]
mov byte [ebp - 4], 0x16
call fcn.00413b5a
push esi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00411db1
push str.LoggingPlatform.dll
mov ecx, eax
mov byte [ebp - 4], 0x17
call fcn.00411c2b
push eax
lea ecx, [ebp - 0xb0]
call fcn.00413889
lea ecx, [ebp - 0xe0]
call fcn.00413b5a
cmp dword [ebp - 0x54], 8
lea eax, [ebp - 0x68]
cmovae eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea eax, [ebp - 0xb0]
setne byte [ebp - 0x104]
cmp dword [ebp - 0x9c], 8
cmovae eax, dword [ebp - 0xb0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea ecx, [ebp - 0xb0]
setne byte [ebp - 0x48]
call fcn.00413b5a
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x13
call fcn.00413b5a
push str._repair
lea ecx, [ebp - 0x68]
call fcn.0040ad69
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411fff
mov esi, dword [eax]
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x40c387
mov esi, dword [esi]
call fcn.0044da02
cmp dword [ebp - 0x6c], 8
lea edx, [ebp - 0x80]
push esi
cmovae edx, dword [ebp - 0x80]
lea ecx, [ebp - 0xc8]
cmp dword [ebp - 0xb4], 8
push eax
cmovae ecx, dword [ebp - 0xc8]
push edx
push ecx
push ecx
call 0x407518
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x13
call fcn.00413b5a
push dword [ebp - 0x48]
push dword [ebp - 0x104]
push dword [ebp - 0x110]
push ecx
call 0x407636
mov edi, dword [ebp - 0x108]
lea ecx, [ebp - 0x68]
push str._repair
call fcn.0040ad69
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x19
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411fff
mov esi, dword [eax]
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x40c40d
mov esi, dword [esi]
call fcn.0044da02
cmp dword [ebp - 0x6c], 8
lea edx, [ebp - 0x80]
push edi
push dword [ebp - 0x10c]
cmovae edx, dword [ebp - 0x80]
lea ecx, [ebp - 0x28]
push dword [ebp - 0x48]
cmp dword [ebp - 0x14], 8
push dword [ebp - 0x104]
cmovae ecx, dword [ebp - 0x28]
push dword [ebp - 0x110]
push esi
push eax
push edx
push ecx
push ecx
call fcn.0040726c
lea ecx, [ebp - 0x68]
call fcn.00413b5a
mov byte [ebp - 4], 0xc
mov esi, 0x1000
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x40c49e
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x104], ecx
cmp eax, esi
jb 0x40c491
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.00413cba
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x104]
push eax
push ecx
call fcn.00429588
pop ecx
pop ecx
jmp 0x40c49e
xor ebx, ebx
mov eax, dword [ebp - 0x120]
cmp dword [eax], 3
je 0x40c5b8
mov dword [ebp - 0x28], ebx
xor eax, eax
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x1b
push eax
call fcn.004c418a
test eax, eax
js 0x40c573
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 0x68133c
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004beac2
mov byte [ebp - 4], 0x1c
lea eax, [ebp - 0x68]
cmp dword [ebp - 0x54], 8
cmovae eax, dword [ebp - 0x68]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x40c56b
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov eax, 0x681358
mov edx, 0x240
push eax
push eax
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push 0x68135c
push ebx
push ebx
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov eax, 0x682614
mov ecx, str.D:dbs_shodct0202_162706cmdcclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
push eax
push eax
push eax
push ebx
push ebx
push str.UnexpectedFailure
push 2
push 0x681360
push 0x67feb4
push str.StandaloneUpdater::InitializeWithDefaultImplementations
call fcn.00409ed8
lea ecx, [ebp - 0x68]
call fcn.00413b5a
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x40c5b8
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x108], ecx
cmp eax, esi
jb 0x40c5af
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00413cba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x108]
push eax
push ecx
call fcn.00429588
pop ecx
pop ecx
mov ecx, dword [ebp - 0x114]
call fcn.00411398
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x40c604
mov ecx, dword [ebp - 0x80]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x108], ecx
cmp eax, esi
jb 0x40c5fb
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00413cba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x108]
push eax
push ecx
call fcn.00429588
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x70], ebx
lea ecx, [ebp - 0xc8]
mov dword [ebp - 0x6c], 7
mov word [ebp - 0x80], ax
call fcn.00413b5a
lea ecx, [ebp - 0x100]
call fcn.00413b5a
mov eax, dword [ebp - 0x84]
cmp eax, 8
jb 0x40c671
mov ecx, dword [ebp - 0x98]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x108], ecx
cmp eax, esi
jb 0x40c668
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00413cba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x108]
push eax
push ecx
call fcn.00429588
pop ecx
pop ecx
xor eax, eax
mov dword [ebp - 0x88], ebx
mov word [ebp - 0x98], ax
mov eax, dword [ebp - 0x50]
mov dword [ebp - 0x84], 7
push dword [eax + 4]
lea eax, [ebp - 0x50]
push eax
mov ecx, eax
call fcn.0041208d
push 0x40
push dword [ebp - 0x50]
call fcn.00429588
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
call fcn.00413b5a
call fcn.00429817
ret 4