Function at 0x40dc1e
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0x17c
mov eax, 0x616a00
call fcn.00429e48
mov ebx, ecx
mov dword [ebp - 0x188], ebx
mov eax, dword [ebx]
push 0
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
mov byte [ebp - 0x17d], al
test al, al
jne 0x40dc66
mov esi, 0x8004ee05
mov dword [ebp - 0x17c], esi
mov byte [ebp - 0x61], 0
jmp 0x40dd23
cmp dword [ebx + 0x78], 1
je 0x40dc72
cmp dword [ebx + 0x78], 2
jne 0x40dc83
mov eax, dword [ebx]
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
lea eax, [ebp - 0xe0]
mov byte [ebp - 0x61], 0
mov dword [ebp - 0xe0], vtable.std::_Func_impl_no_alloc_class__lambda_2f92929b2c4746b2a3e3bae1989cd7e8___void__class_std::basic_string_wchar_t__struct_std::char_traits_wchar_t___class_std::allocator_wchar_t___const__.0
mov dword [ebp - 0xbc], eax
and dword [ebp - 4], 0
lea eax, [ebp - 0x38]
mov dword [ebp - 0x38], vtable.std::_Func_impl_no_alloc_class__lambda_142cb0e5f8b21a6a4469df2e1d6ac588___void__unsigned_long_long_unsigned___int64___long_int_.0
mov dword [ebp - 0x14], eax
lea eax, [ebp - 0xe0]
mov byte [ebp - 4], 1
push eax
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x61]
push eax
call fcn.004d2fe0
lea ecx, [ebp - 0x38]
mov esi, eax
call fcn.0041158d
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0xe0]
call fcn.0041158d
test esi, esi
jns 0x40dcea
push esi
push ecx
call 0x406f38
cmp byte [ebp - 0x61], 0
je 0x40dcfa
mov esi, 0x8004ee07
jmp 0x40dc57
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
mov esi, eax
mov edx, 0x4ac
push esi
push ecx
mov dword [ebp - 0x17c], esi
call fcn.0040604e
mov byte [ebp - 0x61], 1
push esi
call fcn.004a32e2
test al, al
je 0x40dd91
mov edi, dword [ebx + 0x40]
mov eax, dword [edi]
mov esi, dword [eax + 0x28]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
mov bl, al
mov byte [ebp - 0x184], bl
push dword [ebp - 0x184]
push ecx
call 0x406d96
test bl, bl
mov ebx, dword [ebp - 0x188]
je 0x40dd86
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
mov esi, eax
mov edx, 0x4be
push esi
push ecx
mov dword [ebp - 0x17c], esi
call fcn.0040604e
jmp 0x40dd91
mov esi, 0x8004ee39
mov dword [ebp - 0x17c], esi
push esi
mov byte [ebp - 0x184], 0
mov byte [ebp - 0x188], 0
call fcn.004a32e2
test al, al
jne 0x40ddb5
cmp esi, 0x8004ee39
jne 0x40e1e0
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 0x40e1e0
xor ecx, ecx
xor eax, eax
push 7
pop edx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc0], ecx
mov dword [ebp - 0xbc], edx
mov word [ebp - 0xd0], ax
push 2
pop esi
mov dword [ebp - 4], esi
mov dword [ebp - 0x84], ecx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x70], edx
mov word [ebp - 0x84], ax
push ecx
push esi
push 1
push 0x30066fc6
push 0x68d384
push str.StandaloneUpdater::RunUpdaterMode
push 0x4ce
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 3
call fcn.00458a4c
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.0045974a
call fcn.004594ba
mov edi, dword [0x6ceafc]
mov eax, dword [edi]
mov esi, dword [eax]
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0xd0]
mov ecx, esi
push eax
push 0x6e95f8
call dword [0x63a7a0]
mov ecx, edi
call esi
mov dword [ebp - 0x174], eax
test eax, eax
jns 0x40de89
push eax
push ecx
mov edx, 0x4d3
call fcn.0040971c
mov edi, dword [0x6ceaf4]
and dword [ebp - 0x178], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x4c]
lea eax, [ebp - 0x178]
push eax
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
cmp dword [ebp - 0x178], 0
mov esi, eax
mov dword [ebp - 0x68], esi
je 0x40defe
test esi, esi
js 0x40defe
mov edi, dword [0x6ceb04]
push dword [ebp - 0x178]
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test eax, eax
jne 0x40df07
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx esi, ax
or esi, 0x80070000
test eax, eax
cmovle esi, eax
push esi
push ecx
call 0x409785
jmp 0x40df0a
push esi
push ecx
call 0x4097f2
jmp 0x40df0a
mov esi, dword [ebp - 0x68]
xor ecx, ecx
xor eax, eax
push 7
pop edx
mov dword [ebp - 0xb4], ecx
mov dword [ebp - 0xa4], ecx
mov dword [ebp - 0xa0], edx
mov word [ebp - 0xb4], ax
mov dword [ebp - 0x9c], ecx
mov dword [ebp - 0x8c], ecx
mov dword [ebp - 0x88], edx
mov word [ebp - 0x9c], ax
mov byte [ebp - 4], 5
test esi, esi
js 0x40e102
push ecx
push 2
push 1
push 0x30066fc7
push 0x68d384
push str.StandaloneUpdater::RunUpdaterMode
push 0x4ea
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0x30]
call fcn.00458a4c
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.0045974a
call fcn.004594ba
mov edi, dword [0x6ceafc]
mov eax, dword [edi]
mov esi, dword [eax]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
push 0x6e95f8
call dword [0x63a7a0]
mov ecx, edi
call esi
mov dword [ebp - 0x68], eax
test eax, eax
jns 0x40dfc1
push eax
push ecx
mov edx, 0x4ef
call fcn.0040971c
mov edi, dword [0x6ceb04]
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
cmp dword [ebp - 0x68], 0
jl 0x40e102
cmp dword [ebp - 0x174], 0
jl 0x40e086
mov edx, dword [ebp - 0xa4]
lea eax, [ebp - 0xd0]
push 8
pop esi
cmp dword [ebp - 0xbc], esi
lea ecx, [ebp - 0xb4]
mov byte [ebp - 0x184], 1
cmovae eax, dword [ebp - 0xd0]
cmp dword [ebp - 0xa0], esi
cmovae ecx, dword [ebp - 0xb4]
cmp edx, dword [ebp - 0xc0]
jne 0x40e07f
push edx
push eax
push ecx
call fcn.004123f8
test eax, eax
jne 0x40e07f
cmp dword [ebp - 0x70], esi
lea eax, [ebp - 0x84]
mov edx, dword [ebp - 0x8c]
lea ecx, [ebp - 0x9c]
cmovae eax, dword [ebp - 0x84]
cmp dword [ebp - 0x88], esi
cmovae ecx, dword [ebp - 0x9c]
cmp edx, dword [ebp - 0x74]
jne 0x40e07f
push edx
push eax
push ecx
call fcn.004123f8
test eax, eax
jne 0x40e07f
mov byte [ebp - 0x188], 1
jmp 0x40e102
mov byte [ebp - 0x188], 0
push 0
push 2
push 1
push 0x30066fcb
push 0x68d384
push str.StandaloneUpdater::RunUpdaterMode
push 0x4fe
push str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
lea ecx, [ebp - 0x30]
call fcn.00458a4c
push 0
lea eax, [ebp - 0x30]
push eax
call fcn.0045974a
call fcn.004594ba
mov edi, dword [ebx + 0x24]
mov eax, dword [edi]
mov esi, dword [eax + 0x18]
lea eax, [ebp - 0x9c]
push eax
lea eax, [ebp - 0xb4]
mov ecx, esi
push eax
call dword [0x63a7a0]
mov ecx, edi
call esi
mov eax, dword [ebx]
mov esi, dword [eax + 0x18]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
push eax
push ecx
mov edx, 0x501
mov dword [ebp - 0x17c], eax
call fcn.0040604e
cmp dword [ebp - 0x17c], 0
jge 0x40e122
mov edi, dword [0x6ceaf4]
mov eax, dword [edi]
mov esi, dword [eax + 0x50]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
lea ecx, [ebp - 0x9c]
call fcn.0041395f
lea ecx, [ebp - 0xb4]
call fcn.0041395f
mov eax, dword [ebp - 0x70]
mov esi, 0x1000
cmp eax, 8
jb 0x40e181
mov ecx, dword [ebp - 0x84]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x174], eax
mov dword [ebp - 0x68], ecx
cmp eax, esi
jb 0x40e178
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x68]
push eax
call fcn.00413aba
mov eax, dword [ebp - 0x174]
mov ecx, dword [ebp - 0x68]
push eax
push ecx
call fcn.00429b68
pop ecx
pop ecx
and dword [ebp - 0x74], 0
xor eax, eax
or dword [ebp - 4], 0xffffffff
mov word [ebp - 0x84], ax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x70], 7
cmp eax, 8
jb 0x40e1e0
mov ecx, dword [ebp - 0xd0]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x68], eax
mov dword [ebp - 0x174], ecx
cmp eax, esi
jb 0x40e1d7
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x174]
push eax
call fcn.00413aba
mov eax, dword [ebp - 0x68]
mov ecx, dword [ebp - 0x174]
push eax
push ecx
call fcn.00429b68
pop ecx
pop ecx
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 0x40e287
mov esi, dword [ebp - 0x17c]
mov ecx, esi
call fcn.004166e1
test al, al
je 0x40e23b
cmp esi, 0x8004ee39
je 0x40e23b
call fcn.004c574b
mov edi, eax
mov ecx, dword [edi]
mov esi, dword [ecx + 8]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
push eax
push ecx
call 0x409a7c
mov edi, dword [0x6ceadc]
mov byte [ebp - 0x69], 0
mov byte [ebp - 0x68], 0
mov eax, dword [edi]
mov esi, dword [eax + 0x24]
lea eax, [ebp - 0x68]
push eax
lea eax, [ebp - 0x69]
mov ecx, esi
push eax
call dword [0x63a7a0]
mov ecx, edi
call esi
cmp byte [ebp - 0x69], 0
je 0x40e287
sub esp, 0x14
mov edx, str.UnexpectedFailure
test eax, eax
mov ecx, str.Success
cmovs ecx, edx
push dword [ebp - 0x68]
push ecx
push eax
sub esp, 0xc
call fcn.004098cc
mov edx, dword [ebp - 0x17c]
lea ecx, [ebp - 0x128]
call fcn.00416729
lea ecx, [ebp - 0x110]
mov dword [ebp - 4], 6
call fcn.004a0c1d
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 0x40e2df
lea eax, [ebp - 0x40]
push eax
call fcn.004a1fdc
push 0xc
pop ecx
mov esi, eax
lea edi, [ebp - 0x110]
rep movsd dword es:[edi], dword [esi]
xor eax, eax
cmp byte [ebx + 0x70], al
setne al
mov dword [ebp - 0x68], eax
call fcn.0044e0c2
cmp dword [ebp - 0x114], 8
lea edx, [ebp - 0x128]
mov edi, dword [ebp - 0x68]
cmovae edx, dword [ebp - 0x128]
xor ecx, ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
mov ecx, 0x68c0d8
xor esi, esi
push ecx
push ecx
push esi
push esi
push esi
push esi
push esi
push esi
push ecx
push 0x68c0dc
push esi
push esi
push ecx
xor ecx, ecx
mov esi, dword [ebp - 0x17c]
push ecx
push ecx
push ecx
push ecx
push ecx
push ecx
push dword [ebp - 0xf0]
push dword [ebp - 0xe4]
push dword [ebp - 0xe8]
push dword [ebp - 0xf4]
push dword [ebp - 0xf8]
push dword [ebp - 0x108]
push dword [ebp - 0xfc]
push dword [ebp - 0x100]
push dword [ebp - 0x10c]
push dword [ebp - 0x110]
push dword [ebp - 0x188]
push dword [ebp - 0x184]
push edi
push eax
mov eax, 0x68d3dc
push eax
push eax
push eax
push ecx
push ecx
push edx
push esi
push str.OneDriveStandaloneUpdaterOverallResult
push 0x68ac34
push str.StandaloneUpdater::RunUpdaterMode
mov edx, 0x540
mov ecx, str.D:dbs_shodct0219_230508_0cmdwclientonedriveProductStandaloneUpdaterStandaloneUpdaterLibStandaloneUpdater.cpp
call fcn.00406164
cmp dword [0x6d5f40], 5
jbe 0x40e427
push ecx
push ecx
call fcn.0040113c
test al, al
je 0x40e427
mov dword [ebp - 0x174], esi
mov dword [ebp - 0x178], edi
call fcn.0044e0c2
mov dword [ebp - 0x184], eax
xor edx, edx
lea eax, [ebp - 0x174]
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x178]
push 4
pop ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0x40]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x28], ecx
lea ecx, [ebp - 0x184]
push eax
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x2c], edx
mov dword [ebp - 0x24], edx
call fcn.00401048
lea eax, [ebp - 0x60]
push eax
push 5
push 0
push 0
push 0x6a0101
push 0x6d5f40
call fcn.00401090
cmp byte [ebp - 0x17d], 0
je 0x40e4a1
xor ecx, ecx
cmp dword [ebx + 0x78], ecx
jne 0x40e480
cmp byte [ebx + 0x7e], cl
jne 0x40e480
mov esi, dword [ebx + 0x58]
push ecx
push ecx
mov edx, esp
mov eax, dword [esi]
mov dword [edx], ecx
mov edi, dword [eax + 0xc]
mov dword [edx + 4], ecx
mov eax, dword [ebx + 0x3c]
test eax, eax
je 0x40e458
lock inc dword [eax + 4]
mov eax, dword [ebx + 0x38]
mov ecx, edi
mov dword [edx], eax
mov eax, dword [ebx + 0x3c]
mov dword [edx + 4], eax
call dword [0x63a7a0]
mov ecx, esi
call edi
mov eax, dword [ebx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, ebx
call esi
mov ecx, ebx
call fcn.004108e0
mov edi, dword [0x6cec88]
push dword [ebx + 0x68]
mov eax, dword [edi]
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
call fcn.00410700
push 0x44
lea eax, [ebp - 0x170]
push 0
push eax
call fcn.0042af50
add esp, 0xc
lea ecx, [ebp - 0x170]
call fcn.00416d27
lea ecx, [ebp - 0x170]
mov byte [ebp - 4], 7
call fcn.00416edc
cmp byte [ebx + 0x7c], 0
je 0x40e4e7
push dword [ebx + 0x24]
mov edx, dword [ebx + 0x48]
mov ecx, dword [ebx + 0x50]
call 0x41858c
cmp byte [ebp - 0x61], 0
je 0x40e547
cmp byte [ebx + 0x7e], 0
jne 0x40e547
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 0x40e547
call fcn.004a95e1
mov edi, eax
push 0x503
mov ecx, dword [edi]
mov esi, dword [ecx + 0x1c]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
test al, al
je 0x40e547
mov edi, dword [ebx + 0x40]
mov eax, dword [edi]
mov esi, dword [eax + 0x3c]
mov ecx, esi
call dword [0x63a7a0]
mov ecx, edi
call esi
lea ecx, [ebp - 0x170]
call 0x40e569
lea ecx, [ebp - 0x128]
call fcn.0041395f
mov eax, dword [ebp - 0x17c]
call fcn.00429df7
ret