Function at 0x406b35
Capabilities:
Accept command line arguments
Check if file exists
Query or enumerate registry value

Disassembly:
push 0x32c
mov eax, 0x59c2fe
call fcn.00462cd6
mov ebx, ecx
mov eax, dword [ebp + 8]
lea ecx, [ebp - 0x308]
mov dword [ebp - 0x234], eax
call fcn.00409a37
lea edi, [ebx + 0x50]
push eax
mov ecx, edi
call fcn.00409a70
and dword [ebp - 4], 0
mov ecx, dword [ebp - 0x304]
test ecx, ecx
je 0x406b78
call fcn.0040a757
or dword [ebp - 4], 0xffffffff
lea eax, [ebp - 0x218]
mov esi, 0x208
push esi
push 0
push eax
call fcn.00463cc0
add esp, 0xc
mov dword [ebp - 0x278], 1
mov dword [ebp - 0x274], esi
push 0
push 0
call dword [sym.imp.ole32.dll_CoInitializeEx]
mov esi, eax
mov dword [ebp - 0x22c], str.Result
lea eax, [ebp - 0x230]
mov dword [ebp - 0x230], 3
push eax
push 1
push 1
push 0xb4e08a47
push 0x5eff88
push str.StandaloneUpdater::InitializeWithDefaultImplementations
mov edx, 0xc4
mov dword [ebp - 0x228], esi
mov ecx, str.d:dbs_shodct0423_142515cmd2clientonedriveproduct_standaloneupdater_standaloneupdaterlib_standaloneupdater.cpp
call fcn.0041da21
call fcn.0041de26
test esi, esi
js 0x406bff
mov byte [ebx + 0x67], 1
and dword [ebp - 0x2c8], 0
lea ecx, [ebp - 0x2d8]
xor eax, eax
mov dword [ebp - 0x2c4], 7
push str.StandaloneUpdate
mov word [ebp - 0x2d8], ax
call fcn.004096b4
mov dword [ebp - 4], 1
lea eax, [ebp - 0x2d8]
cmp dword [ebp - 0x2c4], 8
mov ecx, 0x641198
cmovae eax, dword [ebp - 0x2d8]
push eax
call fcn.004096b4
xorps xmm0, xmm0
movlpd qword [ebp - 0x258], xmm0
and dword [ebp - 0x258], 0
and dword [ebp - 0x254], 0
call fcn.004098f4
mov dword [ebp - 0x258], eax
lea eax, [ebp - 0x258]
mov byte [ebp - 4], 2
push eax
push dword [ebp - 0x234]
call fcn.004069d2
lea eax, [ebp - 0x274]
push eax
lea eax, [ebp - 0x218]
push eax
lea eax, [ebp - 0x278]
push eax
push 2
push str.CurrentVersionPath
push str.SoftwareMicrosoftOneDrive
call fcn.0043b708
push eax
call dword [sym.imp.ADVAPI32.dll_RegGetValueW]
mov dword [ebp - 0x304], eax
test eax, eax
jne 0x406f1d
mov byte [ebp - 0x2f4], al
mov word [ebp - 0x2fc], ax
mov byte [ebp - 0x2f8], al
lea eax, [ebp - 0x2f8]
push eax
lea eax, [ebp - 0x2fc]
push eax
lea eax, [ebp - 0x2f4]
push eax
lea eax, [ebp - 0x258]
push eax
call fcn.0040687b
call fcn.0040666b
and dword [ebp - 0x234], 0
mov byte [ebx + 0x65], al
test al, al
je 0x406d34
xor cl, cl
call fcn.00437c88
test al, al
jne 0x406d21
mov cl, 1
call fcn.00437c88
test al, al
je 0x406d34
call 0x437daf
xor ecx, ecx
test al, al
setne cl
inc ecx
mov dword [ebp - 0x234], ecx
push edi
call fcn.004066f7
call fcn.0043d642
test al, al
je 0x406d50
call 0x40124a
test eax, eax
setns al
mov byte [ebx + 0x66], al
and dword [ebp - 0x260], 0
xor eax, eax
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 3
call fcn.0043bbfe
test al, al
je 0x406dfb
lea ecx, [ebp - 0x270]
call 0x43bb8d
mov dword [ebp - 0x300], eax
test eax, eax
js 0x406deb
push str.StandaloneUpdaterlogs
lea ecx, [ebp - 0x270]
call fcn.004096dd
mov edi, dword [edi]
lea eax, [ebp - 0x270]
push eax
mov edx, dword [edi]
mov esi, dword [edx + 4]
mov ecx, esi
call dword [0x5b664c]
mov ecx, edi
call esi
test eax, eax
jne 0x406de1
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x406de1
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx ecx, ax
or ecx, 0x80070000
test eax, eax
cmovle ecx, eax
jmp 0x406de7
mov ecx, dword [ebp - 0x300]
test ecx, ecx
jns 0x406dfb
push 0x5effb0
lea ecx, [ebp - 0x270]
call fcn.004096b4
cmp dword [ebp - 0x25c], 8
lea eax, [ebp - 0x270]
cmovae eax, dword [ebp - 0x270]
push eax
push dword [ebp - 0x234]
push ecx
push dword [ebp - 0x2f8]
push dword [ebp - 0x2fc]
push dword [ebp - 0x2f4]
call fcn.0041dee9
mov esi, eax
call fcn.00406227
push dword [ebp - 0x2f8]
movzx ecx, word [ebp - 0x2fc]
push ecx
push dword [ebp - 0x2f4]
push esi
push ecx
call 0x40572d
call dword [sym.imp.KERNEL32.dll_GetCommandLineW]
push eax
lea ecx, [ebp - 0x250]
call fcn.004094f1
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 4
push eax
call fcn.0041dc3d
cmp dword [ebp - 0x23c], 8
lea eax, [ebp - 0x250]
cmovae eax, dword [ebp - 0x250]
push eax
push ecx
call 0x405dbe
cmp byte [ebx + 0x65], 0
jne 0x406ebc
push 0
push 0
push 1
push 0x404
push 0x5eff88
push str.StandaloneUpdater::InitializeWithDefaultImplementations
mov edx, 0x133
mov ecx, str.d:dbs_shodct0423_142515cmd2clientonedriveproduct_standaloneupdater_standaloneupdaterlib_standaloneupdater.cpp
call fcn.0041da21
call fcn.0041de26
xor cl, cl
call fcn.00437c88
test al, al
jne 0x406efb
mov cl, 1
call fcn.00437c88
test al, al
jne 0x406efb
push 0
push 0
push 1
push 0xc8c0bcd7
push 0x5eff88
push str.StandaloneUpdater::InitializeWithDefaultImplementations
mov edx, 0x137
mov ecx, str.d:dbs_shodct0423_142515cmd2clientonedriveproduct_standaloneupdater_standaloneupdaterlib_standaloneupdater.cpp
call fcn.0041da21
call fcn.0041de26
test esi, esi
lea ecx, [ebp - 0x250]
setns al
mov byte [ebx + 0x64], al
call fcn.0040aa69
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 2
call fcn.0040aa69
call fcn.0043bbfe
test al, al
mov edx, str.FileSyncClientUpdaterNamedMutex
mov ecx, str.GlobalPerMachineUpdaterNamedMutex
cmove ecx, edx
push ecx
lea ecx, [ebx + 4]
call fcn.004096b4
push 0x18
call fcn.00462d85
mov edi, eax
pop ecx
mov dword [ebp - 0x234], edi
xor eax, eax
mov dword [edi], vtable.std::_Ref_count_obj_class_StandaloneUpdaterFileVerification_.0
inc eax
lea esi, [edi + 0xc]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [ebp - 0x300], esi
mov dword [esi], vtable.StandaloneUpdaterFileVerification.0
and dword [esi + 8], 0
mov dword [esi + 4], vtable.ClassPtr_struct_IFSManager_.0
lea eax, [esi + 8]
mov byte [ebp - 4], 7
push eax
call fcn.00484a26
mov dword [ebx + 0x48], esi
mov ecx, dword [ebx + 0x4c]
mov dword [ebx + 0x4c], edi
mov byte [ebp - 4], 8
test ecx, ecx
je 0x406f96
call fcn.0040a757
push 0x30
mov byte [ebp - 4], 2
call fcn.00462d85
pop ecx
lea ecx, [ebx + 0x50]
mov dword [ebp - 0x234], eax
push ecx
mov ecx, eax
call fcn.00409dba
lea ecx, [eax + 0xc]
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebx + 0x34]
mov dword [ebx + 0x34], eax
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x406fcc
call fcn.0040a757
push 0x18
mov byte [ebp - 4], 2
call fcn.00462d85
mov esi, eax
xor eax, eax
inc eax
mov dword [ebp - 0x234], esi
pop ecx
lea ecx, [ebp - 0x238]
mov dword [esi + 4], eax
lea edi, [esi + 0xc]
mov dword [esi + 8], eax
lea eax, [ebx + 0x30]
push eax
mov dword [esi], vtable.std::_Ref_count_obj_class_StandaloneUpdaterSetupComponentLogger_.0
call fcn.004093ed
mov eax, ecx
mov dword [edi], vtable.StandaloneUpdaterSetupComponentLogger.0
push eax
lea ecx, [edi + 4]
call fcn.004093ed
mov byte [ebp - 4], 0xc
mov ecx, dword [ebp - 0x234]
test ecx, ecx
je 0x407025
call fcn.0040a757
mov dword [ebx + 0x38], edi
mov ecx, dword [ebx + 0x3c]
mov dword [ebx + 0x3c], esi
mov byte [ebp - 4], 0xd
test ecx, ecx
je 0x40703b
call fcn.0040a757
push 0x3c
mov byte [ebp - 4], 2
call fcn.00462d85
mov edi, eax
xor eax, eax
inc eax
mov dword [ebp - 0x234], edi
push ecx
mov ecx, esp
mov dword [edi + 4], eax
lea esi, [edi + 0xc]
mov dword [edi + 8], eax
lea eax, [ebx + 0x48]
push eax
mov dword [edi], vtable.std::_Ref_count_obj_class_StandaloneUpdaterInstallationRepair_.0
call fcn.004093ed
push ecx
push ecx
lea eax, [ebx + 0x30]
mov ecx, esp
push eax
call fcn.004093ed
push ecx
push ecx
lea eax, [ebx + 0x50]
mov ecx, esp
push eax
call fcn.004093ed
mov ecx, esi
call fcn.0041bad4
mov dword [ebx + 0x58], esi
mov ecx, dword [ebx + 0x5c]
mov dword [ebx + 0x5c], edi
mov byte [ebp - 4], 0xf
test ecx, ecx
je 0x4070a3
call fcn.0040a757
push 0x18
mov byte [ebp - 4], 2
call fcn.00462d85
mov edi, eax
pop ecx
mov dword [ebp - 0x234], edi
xor eax, eax
mov dword [edi], vtable.std::_Ref_count_obj_class_WebClientWrapper_.0
inc eax
lea esi, [edi + 0xc]
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov dword [ebp - 0x300], esi
mov dword [esi], vtable.WebClientWrapper.0
and dword [esi + 8], 0
mov dword [esi + 4], vtable.ClassPtr_class_WebClient_.0
lea eax, [esi + 8]
mov byte [ebp - 4], 0x13
push eax
call fcn.0048fac8
mov dword [ebx + 0x1c], esi
mov ecx, dword [ebx + 0x20]
mov dword [ebx + 0x20], edi
mov byte [ebp - 4], 0x14
test ecx, ecx
je 0x407103
call fcn.0040a757
push 0x24
mov byte [ebp - 4], 2
call fcn.00462d85
mov esi, eax
xor eax, eax
push 9
pop ecx
mov dword [ebp - 0x234], esi
mov edi, esi
rep stosd dword es:[edi], eax
push ecx
lea eax, [ebx + 0x50]
mov ecx, esp
push eax
call fcn.004093ed
push ecx
push ecx
mov ecx, esp
and dword [ecx], 0
and dword [ecx + 4], 0
mov eax, dword [ebx + 0x20]
test eax, eax
je 0x407141
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 fcn.0040ad38
mov edi, eax
lea eax, [ebx + 0x24]
mov ecx, dword [eax]
cmp ecx, edi
je 0x40718d
test edi, edi
je 0x407177
mov eax, dword [edi]
push edi
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5b664c]
call esi
lea eax, [ebx + 0x24]
mov ecx, dword [eax]
mov dword [eax], edi
test ecx, ecx
je 0x40718d
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x5b664c]
call esi
push 0x10
call fcn.00462d85
mov dword [ebp - 0x234], eax
pop ecx
xor ecx, ecx
inc ecx
mov dword [eax], vtable.std::_Ref_count_obj_class_UpdateXMLParser_.0
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
lea ecx, [eax + 0xc]
mov dword [ecx], vtable.UpdateXMLParser.0
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 0x2c]
mov dword [ebx + 0x2c], eax
mov byte [ebp - 4], 0x16
test ecx, ecx
je 0x4071c9
call fcn.0040a757
mov ecx, ebx
mov byte [ebp - 4], 2
call fcn.00407adb
lea edi, [ebx + 0x6c]
and dword [edi], 0
lea ecx, [ebx + 0x74]
push 0x5ef158
call fcn.004096b4
push 7
xor ecx, ecx
xor eax, eax
pop edx
mov dword [ebp - 0x2b0], ecx
mov dword [ebp - 0x2ac], edx
mov word [ebp - 0x2c0], ax
mov dword [ebp - 0x298], ecx
mov dword [ebp - 0x294], edx
mov word [ebp - 0x2a8], ax
mov byte [ebp - 4], 0x19
mov dword [ebp - 0x240], ecx
lea ecx, [ebp - 0x250]
push str._repair
mov dword [ebp - 0x23c], edx
mov word [ebp - 0x250], ax
call fcn.004096b4
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x258]
call fcn.0040924f
lea ecx, [ebp - 0x250]
mov esi, eax
call fcn.0040aa69
test esi, esi
je 0x407479
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
push str._vermismatch
mov word [ebp - 0x250], ax
call fcn.004096b4
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x258]
call fcn.0040924f
lea ecx, [ebp - 0x250]
mov esi, eax
call fcn.0040aa69
test esi, esi
je 0x40740e
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
push str._vermismatch
mov word [ebp - 0x250], ax
call fcn.004096b4
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x1a
push eax
lea ecx, [ebp - 0x258]
call fcn.004092f2
push eax
lea ecx, [ebx + 0x8c]
call fcn.0040948d
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x19
call fcn.0040aa69
mov eax, dword [0x64fbe4]
mov edi, 0x64fac0
test eax, eax
push 0xcc
cmovne edi, eax
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x5b664c]
mov ecx, edi
call esi
test al, al
je 0x407345
lea edi, [ebx + 0x6c]
mov dword [edi], 2
jmp 0x407414
push 0
push 0
push 1
push 0x6bfc1d2
push 0x5eff88
push str.StandaloneUpdater::InitializeWithDefaultImplementations
mov edx, 0x162
mov ecx, str.d:dbs_shodct0423_142515cmd2clientonedriveproduct_standaloneupdater_standaloneupdaterlib_standaloneupdater.cpp
call fcn.0041da21
call fcn.0041de26
and dword [ebp - 0x260], 0
xor eax, eax
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 0x1b
call fcn.0043bbfe
lea edx, [ebp - 0x270]
mov cl, al
call fcn.00437ef9
test eax, eax
js 0x4073ea
push 0x5ef1a8
lea ecx, [ebp - 0x270]
call fcn.004096dd
mov edi, dword [ebx + 0x50]
lea eax, [ebx + 0x8c]
sub esp, 0x18
mov ecx, esp
push eax
and dword [ecx + 0x10], 0
and dword [ecx + 0x14], 0
call fcn.00409706
mov eax, dword [edi]
lea ecx, [ebp - 0x270]
push ecx
mov esi, dword [eax + 8]
mov ecx, esi
call dword [0x5b664c]
mov ecx, edi
call esi
test eax, eax
jns 0x4073fa
push eax
push str.StandaloneUpdater::InitializeWithDefaultImplementations
mov edx, 0x16d
call fcn.0040605a
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x19
call fcn.0040aa69
lea edi, [ebx + 0x6c]
jmp 0x407414
mov dword [edi], 1
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
push str._repair
mov word [ebp - 0x250], ax
call fcn.004096b4
lea eax, [ebp - 0x2a8]
mov byte [ebp - 4], 0x1c
push eax
lea eax, [ebp - 0x2c0]
push eax
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x258]
call fcn.004092f2
push eax
mov ecx, ebx
call fcn.00408d60
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x19
call fcn.0040aa69
lea eax, [ebp - 0x320]
mov ecx, ebx
push eax
call fcn.00408cf5
lea esi, [ebx + 0x74]
mov byte [ebp - 4], 0x1d
cmp dword [esi + 0x14], 8
mov ecx, esi
jb 0x407498
mov ecx, dword [esi]
cmp dword [eax + 0x14], 8
jb 0x4074a0
mov eax, dword [eax]
push ecx
push eax
push ecx
call 0x405e3d
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x19
call fcn.0040aa69
push 0x5c
call fcn.00462d85
pop ecx
mov dword [ebp - 0x234], eax
push esi
push edi
lea ecx, [ebx + 0x58]
mov byte [ebp - 4], 0x1e
push ecx
lea ecx, [ebx + 0x50]
push ecx
lea ecx, [ebx + 0x48]
push ecx
lea ecx, [ebx + 0x28]
push ecx
lea ecx, [ebx + 0x24]
push ecx
lea esi, [ebx + 0x30]
mov ecx, eax
push esi
call 0x409e1f
lea ecx, [eax + 0xc]
mov dword [ebx + 0x40], ecx
mov ecx, dword [ebx + 0x44]
mov dword [ebx + 0x44], eax
mov byte [ebp - 4], 0x1f
test ecx, ecx
je 0x407503
call fcn.0040a757
mov byte [ebp - 4], 0x19
mov edi, dword [esi]
push dword [ebx + 0x6c]
mov eax, dword [edi]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x5b664c]
mov ecx, edi
call esi
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
mov edi, str._repair
mov word [ebp - 0x250], ax
push edi
call fcn.004096b4
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x258]
call fcn.0040924f
lea ecx, [ebp - 0x250]
mov esi, eax
call fcn.0040aa69
test esi, esi
je 0x407897
and dword [ebp - 0x234], 0
lea eax, [ebp - 0x234]
push eax
mov byte [ebp - 0x300], 1
call dword [sym.imp.USERENV.dll_GetProfileType]
cmp dword [ebp - 0x2ac], 8
lea eax, [ebp - 0x2f4]
lea edx, [ebp - 0x2c0]
mov ecx, 0x5ef158
cmovae edx, dword [ebp - 0x2c0]
push eax
call fcn.0040dd88
test eax, eax
js 0x4075c1
cmp dword [ebp - 0x2f4], 0
setne byte [ebp - 0x300]
xor al, al
cmp dword [ebp - 0x304], 0
mov byte [ebp - 0x2f8], al
jne 0x4075ea
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne al
mov byte [ebp - 0x2f8], al
mov byte [ebp - 0x2fc], 0
mov byte [ebp - 0x2f4], 0
test al, al
je 0x407767
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], ax
lea eax, [ebp - 0x218]
push eax
call fcn.004096b4
mov esi, 0x5effac
mov byte [ebp - 4], 0x21
push esi
lea ecx, [ebp - 0x250]
call fcn.004096dd
push eax
lea ecx, [ebp - 0x338]
call fcn.0040a8b7
push str.FileSyncClient.dll
lea ecx, [ebp - 0x338]
mov byte [ebp - 4], 0x22
call fcn.004096dd
push eax
lea ecx, [ebp - 0x230]
call fcn.0040a8b7
lea ecx, [ebp - 0x338]
call fcn.0040aa69
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x25
call fcn.0040aa69
and dword [ebp - 0x260], 0
lea ecx, [ebp - 0x270]
xor eax, eax
mov dword [ebp - 0x25c], 7
mov word [ebp - 0x270], ax
lea eax, [ebp - 0x218]
push eax
call fcn.004096b4
push esi
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x26
call fcn.004096dd
push eax
lea ecx, [ebp - 0x320]
call fcn.0040a8b7
push str.LoggingPlatform.dll
lea ecx, [ebp - 0x320]
mov byte [ebp - 4], 0x27
call fcn.004096dd
push eax
lea ecx, [ebp - 0x2f0]
call fcn.0040a8b7
lea ecx, [ebp - 0x320]
call fcn.0040aa69
lea ecx, [ebp - 0x270]
call fcn.0040aa69
cmp dword [ebp - 0x21c], 8
lea eax, [ebp - 0x230]
cmovae eax, dword [ebp - 0x230]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea eax, [ebp - 0x2f0]
setne byte [ebp - 0x2fc]
cmp dword [ebp - 0x2dc], 8
cmovae eax, dword [ebp - 0x2f0]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
lea ecx, [ebp - 0x2f0]
setne byte [ebp - 0x2f4]
call fcn.0040aa69
lea ecx, [ebp - 0x230]
mov byte [ebp - 4], 0x19
call fcn.0040aa69
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
push edi
mov word [ebp - 0x250], ax
call fcn.004096b4
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x28
push eax
lea ecx, [ebp - 0x258]
call fcn.004092f2
mov edx, eax
cmp dword [edx + 0x14], 8
jb 0x4077ad
mov edx, dword [edx]
cmp dword [ebp - 0x294], 8
lea ecx, [ebp - 0x2a8]
push edx
cmovae ecx, dword [ebp - 0x2a8]
lea eax, [ebp - 0x2c0]
cmp dword [ebp - 0x2ac], 8
push ecx
cmovae eax, dword [ebp - 0x2c0]
push ecx
push eax
push ecx
call 0x405eea
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x19
call fcn.0040aa69
push dword [ebp - 0x2f4]
push dword [ebp - 0x2fc]
push dword [ebp - 0x2f8]
push ecx
call 0x405fdc
and dword [ebp - 0x240], 0
lea ecx, [ebp - 0x250]
xor eax, eax
mov dword [ebp - 0x23c], 7
push edi
mov word [ebp - 0x250], ax
call fcn.004096b4
lea eax, [ebp - 0x250]
mov byte [ebp - 4], 0x29
push eax
lea ecx, [ebp - 0x258]
call fcn.004092f2
cmp dword [eax + 0x14], 8
jb 0x40784a
mov eax, dword [eax]
push dword [ebp - 0x234]
cmp dword [ebp - 0x294], 8
lea ecx, [ebp - 0x2a8]
push dword [ebp - 0x300]
cmovae ecx, dword [ebp - 0x2a8]
push dword [ebp - 0x2f4]
push dword [ebp - 0x2fc]
push dword [ebp - 0x2f8]
push eax
push ecx
push ecx
lea eax, [ebp - 0x218]
push eax
push ecx
call 0x405b39
lea ecx, [ebp - 0x250]
call fcn.0040aa69
and dword [ebp - 0x280], 0
xor eax, eax
push 7
pop ecx
mov dword [ebp - 0x27c], ecx
mov word [ebp - 0x290], ax
mov byte [ebp - 4], 0x2a
and dword [ebp - 0x260], eax
mov dword [ebp - 0x25c], ecx
lea ecx, [ebp - 0x270]
push str.DeviceIdForODC
mov word [ebp - 0x270], ax
call fcn.004096b4
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x250]
and dword [ebp - 0x240], 0
xor eax, eax
push str.SoftwareMicrosoftOneDrive
mov dword [ebp - 0x23c], 7
mov word [ebp - 0x250], ax
call fcn.004096b4
mov byte [ebp - 4], 0x2c
lea eax, [ebp - 0x290]
mov edi, dword [ebx + 0x50]
xor ebx, ebx
push eax
push ebx
lea eax, [ebp - 0x270]
mov esi, dword [edi]
push eax
lea eax, [ebp - 0x250]
push eax
mov ecx, dword [esi + 0x18]
push reloc.WS2_32.dll_accept
call dword [0x5b664c]
mov ecx, edi
call dword [esi + 0x18]
lea ecx, [ebp - 0x250]
mov esi, eax
call fcn.0040aa69
lea ecx, [ebp - 0x270]
mov byte [ebp - 4], 0x2a
call fcn.0040aa69
test esi, esi
js 0x407a7a
push 7
pop ecx
xor eax, eax
mov dword [ebp - 0x260], ebx
mov dword [ebp - 0x25c], ecx
mov word [ebp - 0x270], ax
mov byte [ebp - 4], 0x2d
mov dword [ebp - 0x23c], ecx
lea ecx, [ebp - 0x250]
push 0x5effb0
mov dword [ebp - 0x240], ebx
mov word [ebp - 0x250], ax
call fcn.004096b4
lea edx, [ebp - 0x270]
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0x250]
call fcn.0043dbf7
lea ecx, [ebp - 0x250]
mov byte [ebp - 4], 0x2d
call fcn.0040aa69
mov eax, dword [ebp - 0x260]
mov ecx, dword [ebp - 0x280]
add eax, 2
cmp ecx, eax
jne 0x407a21
xor eax, eax
mov dword [ebp - 0x240], ebx
mov word [ebp - 0x250], ax
lea eax, [ecx - 2]
push eax
push 1
lea eax, [ebp - 0x290]
mov dword [ebp - 0x23c], 7
push eax
lea ecx, [ebp - 0x250]
call fcn.004097e9
lea eax, [ebp - 0x250]
push eax
lea ecx, [ebp - 0x290]
call fcn.004094b8
lea ecx, [ebp - 0x250]
call fcn.0040aa69
lea eax, [ebp - 0x290]
push eax
lea ecx, [ebp - 0x270]
call fcn.00409d8b
cmp dword [ebp - 0x27c], 8
lea ecx, [ebp - 0x290]
mov byte [ebp - 0x304], al
lea eax, [ebp - 0x270]
cmovae ecx, dword [ebp - 0x290]
push dword [ebp - 0x304]
cmp dword [ebp - 0x25c], 8
push ecx
cmovae eax, dword [ebp - 0x270]
push eax
push ecx
call 0x405cdd
lea ecx, [ebp - 0x270]
call fcn.0040aa69
lea ecx, [ebp - 0x290]
call fcn.0040aa69
lea ecx, [ebp - 0x2a8]
call fcn.0040aa69
lea ecx, [ebp - 0x2c0]
call fcn.0040aa69
lea ecx, [ebp - 0x258]
call fcn.0040929f
push 0x40
push dword [ebp - 0x258]
call fcn.0040aa1d
lea ecx, [ebp - 0x2d8]
call fcn.0040aa69
call fcn.00462c80
ret 4