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

Disassembly:
push 0x134
mov eax, 0x6166c4
call fcn.00429e48
mov ebx, ecx
mov dword [ebp - 0x118], ebx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x124]
mov dword [ebp - 0x44], eax
xor eax, eax
mov dword [ebp - 0x110], eax
call fcn.00411c4b
lea ecx, [ebx + 0x50]
push eax
mov dword [ebp - 0x48], ecx
call fcn.00411c92
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x40b46c
call fcn.004136ae
xor eax, eax
push eax
push eax
call dword [sym.imp.ole32.dll_CoInitializeEx]
push 1
push 2
push 1
push 0xb4e08a47
push 0x68d384
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x11f
mov esi, eax
mov dword [ebp - 0x3c], str.Result
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0xe8]
mov dword [ebp - 0x40], 3
mov dword [ebp - 0x38], esi
call fcn.00458a4c
lea eax, [ebp - 0x40]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0045974a
call fcn.004594ba
test esi, esi
js 0x40b4d0
mov byte [ebx + 0x73], 1
push str.StandaloneUpdate
lea ecx, [ebp - 0x40]
call fcn.00411838
xor ecx, ecx
lea eax, [ebp - 0x40]
mov dword [ebp - 4], ecx
mov ecx, 0x6d5f80
cmp dword [ebp - 0x2c], 8
cmovae eax, dword [ebp - 0x40]
push eax
call fcn.00411a05
call fcn.004c574b
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1f0]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
mov byte [0x6e95b8], 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.004120a6
mov dword [ebp - 0x50], eax
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 1
push eax
push dword [ebp - 0x44]
call fcn.0040b060
xor eax, eax
xor ecx, ecx
mov word [ebp - 0x110], ax
lea eax, [ebp - 0x50]
mov byte [ebp - 0x10c], cl
mov byte [ebp - 0x11c], cl
mov ecx, ebx
push eax
call fcn.0040f8dd
lea eax, [ebp - 0x11c]
push eax
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x10c]
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.0040af16
mov eax, dword [ebx]
mov esi, dword [eax + 0x20]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
xor ecx, ecx
mov byte [ebx + 0x71], al
mov dword [ebp - 0x114], ecx
cmp byte [ebx + 0x7d], cl
jne 0x40b5ff
test al, al
je 0x40b5ff
call fcn.004c574b
mov edi, eax
xor eax, eax
push eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x108]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
jne 0x40b5ec
call fcn.004c574b
mov edi, eax
push 1
mov ecx, dword [edi]
mov esi, dword [ecx + 0x108]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
je 0x40b5ff
call fcn.004d27a5
xor ecx, ecx
test al, al
setne cl
inc ecx
mov dword [ebp - 0x114], ecx
mov eax, dword [ebx]
mov esi, dword [eax + 0x24]
lea eax, [ebx + 0x50]
push eax
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 0x38]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
xor eax, eax
mov dword [ebp - 0x84], 7
mov dword [ebp - 0x98], eax
mov dword [ebp - 0x88], eax
mov word [ebp - 0x98], ax
mov byte [ebp - 4], 2
call fcn.004c574b
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1f0]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
je 0x40b6db
lea eax, [ebp - 0x98]
push eax
call fcn.004cb956
test eax, eax
js 0x40b6cb
push str.StandaloneUpdaterlogs
lea ecx, [ebp - 0x98]
call fcn.00411a7f
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 [0x63a7a0]
mov ecx, edi
call esi
test eax, eax
jne 0x40b6db
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x40b6db
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
test ecx, ecx
jns 0x40b6db
push 0x68d3dc
lea ecx, [ebp - 0x98]
call fcn.00411a05
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 - 0x114]
mov eax, 0x68ac34
push ecx
push dword [ebp - 0x11c]
push dword [ebp - 0x110]
push dword [ebp - 0x10c]
push eax
push eax
call fcn.0045943a
mov esi, eax
mov dword [ebp - 0x44], esi
call fcn.0040a9e3
call fcn.0040b34d
push dword [ebp - 0x11c]
movzx ecx, word [ebp - 0x110]
push ecx
push dword [ebp - 0x10c]
push esi
push ecx
call 0x4060b7
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x100]
call fcn.00411838
lea eax, [ebp - 0x100]
mov byte [ebp - 4], 3
push eax
call fcn.00459a39
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 0x40b7a5
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, si
jne 0x40b794
sub ecx, edx
sar ecx, 1
jmp 0x40b7a7
mov ecx, esi
push 1
push 2
push 1
push 0xde6fa3df
mov edi, 0x68d384
mov dword [ebp - 0x18], ecx
push edi
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x17e
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0xe8]
call fcn.00458a4c
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe8]
push eax
call fcn.0045974a
call fcn.004594ba
cmp byte [ebx + 0x71], 0
jne 0x40b827
push esi
push 2
push 1
push 0x404
push edi
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x183
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0xe8]
call fcn.00458a4c
push esi
lea eax, [ebp - 0xe8]
push eax
call fcn.0045974a
call fcn.004594ba
call fcn.004c574b
mov edi, eax
xor eax, eax
push eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x108]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
jne 0x40b8a7
call fcn.004c574b
mov edi, eax
push 1
mov ecx, dword [edi]
mov esi, dword [ecx + 0x108]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
jne 0x40b8a7
xor esi, esi
lea ecx, [ebp - 0xe8]
push esi
push 2
push 1
push 0xc8c0bcd7
push 0x68d384
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x187
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
call fcn.00458a4c
push esi
lea eax, [ebp - 0xe8]
push eax
call fcn.0045974a
call fcn.004594ba
cmp dword [ebp - 0x44], 0
setge al
mov byte [ebx + 0x70], al
call fcn.004c574b
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1f0]
mov ecx, esi
call dword [0x63a7a0]
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.00411a05
push 0x18
call fcn.00429ef5
mov esi, eax
pop ecx
mov dword [ebp - 0x120], esi
xor eax, eax
mov edi, esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [esi], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterFileVerification_.0
mov dword [esi + 4], eax
mov dword [esi + 8], eax
lea eax, [esi + 0xc]
mov dword [ebp - 0x128], eax
mov dword [eax], vtable.StandaloneUpdaterFileVerification.0
xor edi, edi
mov dword [eax + 4], vtable.ClassPtr_struct_IFSManager_.0
add eax, 8
mov dword [eax], edi
push eax
mov byte [ebp - 4], 6
call fcn.0044e870
mov byte [ebp - 4], 3
lea edx, [ebx + 0x48]
mov ecx, dword [edx + 4]
lea eax, [esi + 0xc]
or edi, 0x10
mov dword [ebp - 0x104], edx
mov dword [ebp - 0x110], edi
mov dword [edx], eax
mov dword [edx + 4], esi
test ecx, ecx
je 0x40b95b
call fcn.004136ae
push 0x30
call fcn.00429ef5
pop ecx
lea ecx, [ebx + 0x50]
mov dword [ebp - 0x120], eax
push ecx
mov ecx, eax
call 0x41278e
lea edx, [ebx + 0x30]
or edi, 0x20
mov dword [ebp - 0x10c], edi
mov dword [ebp - 0x110], edi
lea ecx, [eax + 0xc]
mov dword [ebp - 0x108], edx
mov dword [edx], ecx
mov ecx, dword [edx + 4]
mov dword [edx + 4], eax
test ecx, ecx
je 0x40b9a0
call fcn.004136ae
push 0x18
call fcn.00429ef5
mov esi, eax
xor eax, eax
mov dword [ebp - 0x120], esi
mov edi, esi
pop ecx
lea ecx, [ebp - 0x124]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
inc eax
mov dword [esi], vtable.std::_Ref_count_obj2_class_StandaloneUpdaterSetupComponentLogger_.0
mov dword [esi + 4], eax
lea edi, [esi + 0xc]
mov dword [esi + 8], eax
lea eax, [ebx + 0x30]
push eax
call fcn.00411713
lea eax, [ebp - 0x124]
mov dword [edi], vtable.StandaloneUpdaterSetupComponentLogger.0
lea ecx, [edi + 4]
push eax
call fcn.00411713
mov ecx, dword [ebp - 0x120]
test ecx, ecx
je 0x40b9fc
call fcn.004136ae
mov eax, dword [ebp - 0x10c]
mov ecx, dword [ebx + 0x3c]
or eax, 0x40
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], eax
mov dword [ebx + 0x38], edi
mov dword [ebx + 0x3c], esi
test ecx, ecx
je 0x40ba23
call fcn.004136ae
push 0x3c
call fcn.00429ef5
mov ebx, eax
xor eax, eax
mov dword [ebp - 0x120], ebx
mov edi, ebx
mov edx, dword [ebp - 0x48]
pop ecx
push dword [ebp - 0x104]
stosd dword es:[edi], eax
lea esi, [ebx + 0xc]
push dword [ebp - 0x108]
mov ecx, esi
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 0x413106
mov eax, dword [ebp - 0x118]
mov edi, dword [ebp - 0x10c]
add eax, 0x58
or edi, 0x80
mov dword [ebp - 0x128], eax
mov dword [ebp - 0x110], edi
mov ecx, dword [eax + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
test ecx, ecx
je 0x40ba94
call fcn.004136ae
push 0x48
call fcn.00429ef5
pop ecx
mov dword [ebp - 0x120], eax
mov ecx, eax
mov byte [ebp - 4], 7
call fcn.004127e6
mov ebx, dword [ebp - 0x118]
or edi, 0x100
mov byte [ebp - 4], 3
mov dword [ebp - 0x10c], edi
lea ecx, [eax + 0xc]
mov dword [ebx + 0x1c], ecx
mov ecx, dword [ebx + 0x20]
mov dword [ebx + 0x20], eax
test ecx, ecx
je 0x40bad8
call fcn.004136ae
push 0x24
call fcn.00429ef5
mov esi, eax
xor eax, eax
push 9
pop ecx
mov dword [ebp - 0x120], esi
mov edi, esi
rep stosd dword es:[edi], eax
push ecx
lea eax, [ebx + 0x50]
mov ecx, esp
push eax
call fcn.00411713
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 0x40bb12
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 0x4142e8
add ebx, 0x24
mov edi, eax
mov dword [ebp - 0x120], ebx
cmp dword [ebx], edi
je 0x40bb5e
mov byte [ebp - 4], 8
test edi, edi
je 0x40bb4b
mov eax, dword [edi]
push edi
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x63a7a0]
call esi
mov byte [ebp - 4], 3
lea ecx, [ebp - 0x44]
mov eax, dword [ebx]
mov dword [ebp - 0x44], eax
mov dword [ebx], edi
call fcn.004116c5
push 0x10
call fcn.00429ef5
mov ebx, eax
pop ecx
mov dword [ebp - 0x44], ebx
mov byte [ebp - 4], 9
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 0x4c0db9
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x10c]
or eax, 0x200
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0x118]
add eax, 0x28
mov dword [ebp - 0x44], eax
mov ecx, dword [eax + 4]
mov dword [eax], esi
mov dword [eax + 4], ebx
test ecx, ecx
je 0x40bbc7
call fcn.004136ae
mov ebx, dword [ebp - 0x118]
lea eax, [ebx + 0x78]
cmp dword [eax], 3
mov dword [ebp - 0x11c], eax
jne 0x40bc1c
call fcn.004c574b
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1f0]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
je 0x40bc1c
mov edi, dword [0x6ceaf4]
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
jne 0x40bc1c
mov ecx, ebx
call fcn.004102d3
cmp byte [ebx + 0x7d], 0
jne 0x40bc65
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
call fcn.004a95e1
mov edi, eax
push 0x1de
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
je 0x40bc7d
mov eax, dword [ebx]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
jmp 0x40bc7b
call fcn.004a95e1
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
cmp dword [ebp - 0x114], 2
jne 0x40bcd5
cmp byte [ebx + 0x70], 0
je 0x40bcd5
mov ecx, dword [ebx + 0x78]
call fcn.004166ff
mov byte [ebp - 0x114], al
lea eax, [ebp - 0xa0]
push eax
call fcn.0045909d
mov byte [ebp - 4], 0xa
mov edi, dword [eax]
push dword [ebp - 0x114]
mov eax, dword [edi]
mov esi, dword [eax + 0xb8]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x9c]
test ecx, ecx
je 0x40bcd5
call fcn.004136ae
xor ecx, ecx
xor eax, eax
push 7
pop edx
mov dword [ebp - 0xc8], ecx
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.00411838
lea eax, [ebp - 0x68]
push eax
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411d1e
lea ecx, [ebp - 0x50]
push dword [eax + 8]
call fcn.00411d70
lea ecx, [ebp - 0x68]
mov bl, al
call fcn.0041395f
test bl, bl
je 0x40bda9
mov eax, dword [ebp - 0x11c]
xor ecx, ecx
mov esi, dword [ebp - 0x118]
cmp dword [eax], ecx
jne 0x40bd5a
mov ecx, esi
call fcn.0040fb46
push edi
lea ecx, [ebp - 0x68]
call fcn.00411838
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411d98
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.0040f247
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.0041395f
lea edi, [esi + 0x84]
jmp 0x40be55
call fcn.004c574b
mov edi, eax
lea eax, [ebp - 0x80]
push eax
mov ecx, dword [edi]
mov esi, dword [ecx + 0x100]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test eax, eax
js 0x40bde3
lea eax, [ebp - 0x80]
push eax
lea ecx, [ebp - 0x28]
call fcn.00411873
mov ebx, dword [ebp - 0x10c]
or ebx, 1
jmp 0x40bdf9
push str.19.0.0.0
lea ecx, [ebp - 0x68]
call fcn.00411838
mov ebx, dword [ebp - 0x10c]
or ebx, 2
mov esi, dword [ebp - 0x118]
push eax
mov dword [ebp - 0x114], ebx
mov dword [ebp - 0x110], ebx
lea edi, [esi + 0x84]
mov ecx, edi
mov dword [ebp - 0x10c], edi
call fcn.004117ff
test bl, 2
je 0x40be3d
mov eax, ebx
lea ecx, [ebp - 0x68]
and eax, 0xfffffffd
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x110], eax
call fcn.0041395f
mov dword [ebp - 4], 0xc
test byte [ebp - 0x114], 1
je 0x40be5b
lea ecx, [ebp - 0x28]
call fcn.0041395f
mov dword [ebp - 0x10c], edi
cmp dword [edi + 0x14], 8
mov ebx, edi
jb 0x40be65
mov ebx, dword [edi]
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
call fcn.0040f1b6
mov byte [ebp - 4], 0xf
cmp dword [eax + 0x14], 8
jb 0x40be7c
mov eax, dword [eax]
push ebx
push eax
push ecx
call 0x4072ca
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0xc
call fcn.0041395f
cmp byte [esi + 0x7d], 0
je 0x40bed3
xor ebx, ebx
lea ecx, [ebp - 0xe8]
push ebx
push 2
push 1
push 0x30066fbd
push 0x68d384
push str.StandaloneUpdater::InitializeWithDefaultImplementations
push 0x1dd
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
call fcn.00458a4c
push ebx
lea eax, [ebp - 0xe8]
push eax
call fcn.0045974a
call fcn.004594ba
push 0x90
call fcn.00429ef5
mov ebx, eax
pop ecx
mov dword [ebp - 0x114], ebx
mov byte [ebp - 4], 0x10
lea ecx, [esi + 0xb4]
mov edx, dword [ebp - 0x108]
lea esi, [ebx + 0xc]
push ecx
push dword [ebp - 0x10c]
xor eax, eax
mov edi, ebx
push dword [ebp - 0x11c]
mov ecx, esi
push dword [ebp - 0x128]
stosd dword es:[edi], eax
push dword [ebp - 0x48]
push dword [ebp - 0x104]
stosd dword es:[edi], eax
push dword [ebp - 0x44]
push dword [ebp - 0x120]
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 fcn.00413197
mov ecx, dword [ebp - 0x118]
mov byte [ebp - 4], 0xc
mov eax, dword [ecx + 0x44]
mov dword [ecx + 0x40], esi
mov dword [ecx + 0x44], ebx
test eax, eax
je 0x40bf59
mov ecx, eax
call fcn.004136ae
push 0x48
call fcn.00429ef5
mov ebx, eax
pop ecx
mov dword [ebp - 0x120], ebx
mov byte [ebp - 4], 0x11
lea esi, [ebx + 0xc]
push dword [ebp - 0x10c]
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 - 0x108]
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.00411713
push ecx
push ecx
mov ecx, esp
push dword [ebp - 0x48]
call fcn.00411713
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.0041347e
mov ecx, esi
call fcn.00426930
mov eax, dword [ebp - 0x118]
mov byte [ebp - 4], 0xc
mov ecx, dword [eax + 0x64]
mov dword [eax + 0x60], esi
mov dword [eax + 0x64], ebx
test ecx, ecx
je 0x40bfde
call fcn.004136ae
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
mov eax, dword [ebp - 0x11c]
push dword [eax]
call dword [0x63a7a0]
mov ecx, edi
call esi
push str._repair
lea ecx, [ebp - 0x68]
call fcn.00411838
lea eax, [ebp - 0x68]
push eax
push eax
lea eax, [ebp - 0xa4]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411d1e
lea ecx, [ebp - 0x50]
push dword [eax + 8]
call fcn.00411d70
lea ecx, [ebp - 0x68]
mov bl, al
call fcn.0041395f
mov esi, 0x1000
test bl, bl
je 0x40c2fb
xor ebx, ebx
mov dword [ebp - 0x14], 7
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x12
push eax
call fcn.004ca6d5
mov edi, eax
mov byte [ebp - 0x110], 1
lea eax, [ebp - 0x104]
mov dword [ebp - 0x104], 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.0044e0c2
lea ecx, [ebp - 0x44]
push ecx
push esi
push eax
call fcn.004d43ae
add esp, 0xc
test eax, eax
js 0x40c0b2
cmp dword [ebp - 0x44], ebx
setne byte [ebp - 0x110]
mov al, bl
mov byte [ebp - 0x114], al
test edi, edi
js 0x40c0db
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 - 0x114], al
mov byte [ebp - 0x108], bl
mov byte [ebp - 0x48], bl
test al, al
je 0x40c1b5
mov esi, 0x68d3d8
lea eax, [ebp - 0x28]
push esi
push eax
lea eax, [ebp - 0x140]
push eax
call fcn.00411bce
push str.FileSyncClient.dll
mov ecx, eax
mov byte [ebp - 4], 0x13
call fcn.00411a7f
push eax
lea ecx, [ebp - 0x68]
call fcn.004137ee
lea ecx, [ebp - 0x140]
mov byte [ebp - 4], 0x15
call fcn.0041395f
push esi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0xe0]
push eax
call fcn.00411bce
push str.LoggingPlatform.dll
mov ecx, eax
mov byte [ebp - 4], 0x16
call fcn.00411a7f
push eax
lea ecx, [ebp - 0xb0]
call fcn.004137ee
lea ecx, [ebp - 0xe0]
call fcn.0041395f
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 - 0x108]
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.0041395f
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x12
call fcn.0041395f
push str._repair
lea ecx, [ebp - 0x68]
call fcn.00411838
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x17
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411d98
mov esi, dword [eax]
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x40c1e6
mov esi, dword [esi]
call fcn.0044e0c2
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 0x407385
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 0x12
call fcn.0041395f
push dword [ebp - 0x48]
push dword [ebp - 0x108]
push dword [ebp - 0x114]
push ecx
call 0x4074a3
mov edi, dword [ebp - 0x104]
lea ecx, [ebp - 0x68]
push str._repair
call fcn.00411838
lea eax, [ebp - 0x68]
mov byte [ebp - 4], 0x18
push eax
lea eax, [ebp - 0xa0]
push eax
lea ecx, [ebp - 0x50]
call fcn.00411d98
mov esi, dword [eax]
add esi, 0x28
cmp dword [esi + 0x14], 8
jb 0x40c26c
mov esi, dword [esi]
call fcn.0044e0c2
cmp dword [ebp - 0x6c], 8
lea edx, [ebp - 0x80]
push edi
push dword [ebp - 0x110]
cmovae edx, dword [ebp - 0x80]
lea ecx, [ebp - 0x28]
push dword [ebp - 0x48]
cmp dword [ebp - 0x14], 8
push dword [ebp - 0x108]
cmovae ecx, dword [ebp - 0x28]
push dword [ebp - 0x114]
push esi
push eax
push edx
push ecx
push ecx
call fcn.004070d9
lea ecx, [ebp - 0x68]
call fcn.0041395f
mov byte [ebp - 4], 0xc
mov esi, 0x1000
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x40c2fd
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x108], ecx
cmp eax, esi
jb 0x40c2f0
lea eax, [ebp - 0x48]
push eax
lea eax, [ebp - 0x108]
push eax
call fcn.00413aba
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x108]
push eax
push ecx
call fcn.00429b68
pop ecx
pop ecx
jmp 0x40c2fd
xor ebx, ebx
mov eax, dword [ebp - 0x11c]
cmp dword [eax], 3
je 0x40c417
xor eax, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x18], ebx
mov dword [ebp - 0x14], 7
mov word [ebp - 0x28], ax
lea eax, [ebp - 0x28]
mov byte [ebp - 4], 0x19
push eax
call fcn.004cb956
test eax, eax
js 0x40c3d2
cmp dword [ebp - 0x14], 8
lea eax, [ebp - 0x28]
push 0x68c0bc
cmovae eax, dword [ebp - 0x28]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.004c63c2
mov byte [ebp - 4], 0x1a
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 0x40c3ca
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, 0x68c0d8
mov edx, 0x241
push eax
push eax
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push eax
push 0x68c0dc
push ebx
push ebx
push eax
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
mov eax, 0x68d3dc
mov ecx, str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
push eax
push eax
push eax
push ebx
push ebx
push str.UnexpectedFailure
push 2
push 0x68c0e0
push 0x68ac34
push str.StandaloneUpdater::InitializeWithDefaultImplementations
call fcn.00409d31
lea ecx, [ebp - 0x68]
call fcn.0041395f
mov byte [ebp - 4], 0xc
mov eax, dword [ebp - 0x14]
cmp eax, 8
jb 0x40c417
mov ecx, dword [ebp - 0x28]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x104], ecx
cmp eax, esi
jb 0x40c40e
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.00413aba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x104]
push eax
push ecx
call fcn.00429b68
pop ecx
pop ecx
mov ecx, dword [ebp - 0x118]
call fcn.004111d7
mov eax, dword [ebp - 0x6c]
cmp eax, 8
jb 0x40c463
mov ecx, dword [ebp - 0x80]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x104], ecx
cmp eax, esi
jb 0x40c45a
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.00413aba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x104]
push eax
push ecx
call fcn.00429b68
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.0041395f
lea ecx, [ebp - 0x100]
call fcn.0041395f
mov eax, dword [ebp - 0x84]
cmp eax, 8
jb 0x40c4d0
mov ecx, dword [ebp - 0x98]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x104], ecx
cmp eax, esi
jb 0x40c4c7
lea eax, [ebp - 0x44]
push eax
lea eax, [ebp - 0x104]
push eax
call fcn.00413aba
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x104]
push eax
push ecx
call fcn.00429b68
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.00411e26
push 0x40
push dword [ebp - 0x50]
call fcn.00429b68
pop ecx
pop ecx
lea ecx, [ebp - 0x40]
call fcn.0041395f
call fcn.00429df7
ret 4