Function at 0x4024f7
Capabilities:
Check if file exists
Create process on windows

Disassembly:
push 0xa4
mov eax, 0x445d98
call fcn.00424e5c
mov esi, ecx
xor edi, edi
mov ebx, edi
call fcn.00416d56
test al, al
jne 0x40273f
call fcn.00402747
test al, al
je 0x40273f
xor eax, eax
mov dword [ebp - 0x48], edi
mov ebx, 0xc02500f3
mov dword [ebp - 0x44], 7
mov word [ebp - 0x58], ax
lea edx, [ebp - 0x58]
mov dword [ebp - 4], edi
mov cl, 1
call fcn.004158c7
test eax, eax
js 0x40260f
push 0x458ebc
lea ecx, [ebp - 0x58]
call fcn.004029f2
xor eax, eax
mov dword [ebp - 0xa0], 0x44
lea edi, [ebp - 0xb0]
stosd dword es:[edi], eax
push 0x40
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x9c]
xor edi, edi
push edi
push eax
call fcn.00426720
add esp, 0xc
mov dword [ebp - 0x18], edi
xor eax, eax
mov dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
mov word [ebp - 0x28], ax
push 0x458ed8
call fcn.004029c9
push esi
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 1
call fcn.004029f2
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0xa0]
push edx
push edi
push edi
push edi
push edi
push edi
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x58]
cmp dword [ebp - 0x44], 8
push edi
cmovae eax, dword [ebp - 0x58]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x402601
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xb0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x402607
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x28]
call fcn.00403265
xor eax, eax
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], 7
mov word [ebp - 0x40], ax
lea edx, [ebp - 0x40]
mov byte [ebp - 4], 2
mov ecx, SysReAllocString
call fcn.004165e8
mov edi, 0x458ef4
lea ecx, [ebp - 0x40]
push edi
mov esi, eax
call fcn.004029f2
test esi, esi
js 0x402660
cmp dword [ebp - 0x30], 0
je 0x402660
cmp dword [ebp - 0x2c], 8
lea eax, [ebp - 0x40]
cmovae eax, dword [ebp - 0x40]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x402678
lea edx, [ebp - 0x40]
mov ecx, reloc.OLEAUT32.dll_SysReAllocString
call fcn.004165e8
push edi
lea ecx, [ebp - 0x40]
mov esi, eax
call fcn.004029f2
test esi, esi
js 0x40272f
cmp dword [ebp - 0x30], 0
je 0x40272f
xor eax, eax
mov dword [ebp - 0xa0], 0x44
lea edi, [ebp - 0xb0]
xor esi, esi
stosd dword es:[edi], eax
push 0x40
push esi
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
lea eax, [ebp - 0x9c]
push eax
call fcn.00426720
add esp, 0xc
mov dword [ebp - 0x18], esi
xor eax, eax
mov dword [ebp - 0x14], 7
lea ecx, [ebp - 0x28]
mov word [ebp - 0x28], ax
push str.OneDriveSetup.exe__cleanupSingleUser
call fcn.004029c9
cmp dword [ebp - 0x14], 8
lea edx, [ebp - 0xb0]
push edx
lea edx, [ebp - 0xa0]
push edx
push esi
push esi
push esi
push esi
push esi
lea ecx, [ebp - 0x28]
cmovae ecx, dword [ebp - 0x28]
lea eax, [ebp - 0x40]
cmp dword [ebp - 0x2c], 8
push esi
cmovae eax, dword [ebp - 0x40]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CreateProcessW]
test eax, eax
je 0x402721
push dword [ebp - 0xac]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xb0]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
jmp 0x402727
call dword [sym.imp.KERNEL32.dll_GetLastError]
lea ecx, [ebp - 0x28]
call fcn.00403265
lea ecx, [ebp - 0x40]
call fcn.00403265
lea ecx, [ebp - 0x58]
call fcn.00403265
mov eax, ebx
call fcn.00424e06
ret