Function at 0x45824c
Capabilities:
Check if file exists
Copy file
Delete file
Move file

Disassembly:
push 0x6c
mov eax, 0x60de8e
call fcn.0042d958
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp + 0x10]
xor ebx, ebx
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x48], edx
mov edx, dword [ebp + 0x14]
mov dword [ebp - 0x44], edx
mov dword [ebp - 0x14], ebx
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], ebx
xorps xmm0, xmm0
mov edx, vtable.ClassPtr_class_FSItem_.0
movlpd qword [ebp - 0x58], xmm0
mov esi, ebx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], esi
movlpd qword [ebp - 0x50], xmm0
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x4c], ebx
lea edx, [ebp - 0x14]
mov byte [ebp - 4], 3
push edx
mov esi, 0x104
push esi
push eax
call fcn.00459abc
mov edi, eax
test edi, edi
jns 0x4582c4
push 0x524
push str.d:dbs_shodct1021_100423_0cmd2clientonedriveSetupStandalone_fsmanager_fsmanagerimpl.cpp
push edi
call fcn.00451940
jmp 0x4586f2
lea eax, [ebp - 0x18]
push eax
push esi
push dword [ebp - 0x48]
mov esi, dword [ebp - 0x3c]
mov ecx, esi
call fcn.00459abc
mov edi, eax
test edi, edi
jns 0x4582e3
push 0x525
jmp 0x4582b4
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4582ee
mov eax, ebx
jmp 0x4582f1
add eax, 0xc
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x458308
mov edi, 0x80070002
push 0x528
jmp 0x4582b4
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x458313
mov eax, ebx
jmp 0x458316
add eax, 0xc
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne byte [ebp - 0x3d]
test eax, eax
je 0x45833c
test byte [ebp - 0x44], 1
je 0x45833c
mov edi, 0x80070050
push 0x52c
jmp 0x4582b4
sub esi, 0xffffff80
push esi
mov dword [ebp - 0x60], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x5c], 1
mov eax, dword [ebp - 0x3c]
lea ecx, [ebp - 0x58]
push ecx
add eax, 8
mov byte [ebp - 4], 4
lea ecx, [ebp - 0x14]
mov dword [ebp - 0x48], eax
push ecx
mov ecx, eax
call fcn.0045a6c3
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x18]
push eax
call fcn.0045a6c3
push esi
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x54]
mov byte [ebp - 0x5c], bl
test esi, esi
je 0x458394
cmp byte [esi + 0x44], 0
jne 0x458400
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov edi, dword [eax + 0x10]
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4583a7
mov eax, ebx
jmp 0x4583aa
add eax, 0xc
push eax
push ecx
mov ecx, edi
call dword [0x62c6dc]
call edi
mov edi, eax
test edi, edi
jns 0x4583c6
push 0x539
jmp 0x4582b4
test esi, esi
jne 0x458413
mov esi, dword [ebp - 0x3c]
sub esi, 0xffffff80
push esi
mov dword [ebp - 0x60], esi
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x5c], 1
mov ecx, dword [ebp - 0x48]
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x14]
mov byte [ebp - 4], 5
push eax
call fcn.0045a6c3
push esi
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov esi, dword [ebp - 0x54]
test esi, esi
jne 0x458413
mov edi, 0x80040b02
push 0x544
jmp 0x4582b4
mov eax, dword [ebp - 0x4c]
cmp esi, eax
je 0x458637
cmp dword [ebp + 8], 0
jne 0x45843b
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x45842f
mov eax, ebx
jmp 0x458432
add eax, 0xc
mov ecx, dword [ebp - 0x3c]
push eax
call fcn.0045b751
mov edi, dword [ebp - 0x44]
and edi, 1
jne 0x45848d
cmp byte [ebp - 0x3d], 0
je 0x45848d
mov eax, dword [ebp - 0x18]
test eax, eax
jne 0x458454
mov eax, ebx
jmp 0x458457
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x45848d
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, edi
shr eax, 0x1f
test al, al
je 0x4586f2
push 0x555
jmp 0x4582b4
cmp dword [ebp + 8], 0
mov ecx, ebx
mov eax, dword [ebp - 0x18]
jne 0x4584e9
test eax, eax
je 0x45849f
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4584aa
mov eax, ebx
jmp 0x4584ad
add eax, 0xc
push edi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x458630
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, edi
shr eax, 0x1f
test al, al
je 0x4586f2
push 0x55c
jmp 0x4582b4
test eax, eax
je 0x4584f0
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4584fb
mov eax, ebx
jmp 0x4584fe
add eax, 0xc
push 2
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x458630
mov eax, dword [ebp - 0x18]
mov ecx, ebx
test eax, eax
je 0x45851c
lea ecx, [eax + 0xc]
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x458527
mov eax, ebx
jmp 0x45852a
add eax, 0xc
push edi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x458562
call dword [sym.imp.KERNEL32.dll_GetLastError]
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
mov eax, edi
shr eax, 0x1f
test al, al
je 0x4586f2
push 0x565
jmp 0x4582b4
test esi, esi
je 0x45857d
mov ecx, esi
call fcn.0045cfbc
mov edi, eax
test edi, edi
jns 0x45857d
push 0x56a
jmp 0x4582b4
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x458588
mov eax, ebx
jmp 0x45858b
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x458630
test byte [ebp - 0x44], 4
jne 0x458630
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4585af
mov eax, ebx
jmp 0x4585b2
add eax, 0xc
push eax
lea ecx, [ebp - 0x78]
call fcn.00414308
lea eax, [ebp - 0x78]
mov byte [ebp - 4], 6
push eax
lea ecx, [ebp - 0x38]
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x24], ebx
call fcn.004144d5
mov eax, dword [ebp - 0x44]
shr eax, 1
and al, 1
mov dword [ebp - 0x20], reloc.WS2_32.dll_accept
mov byte [ebp - 0x1c], al
lea ecx, [ebp - 0x78]
mov byte [ebp - 4], 8
call fcn.00415bf1
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ecx]
mov esi, dword [eax + 0x6c]
lea eax, [ebp - 0x38]
push eax
push ecx
mov ecx, esi
call dword [0x62c6dc]
call esi
mov edi, eax
test edi, edi
jns 0x458628
push 0x56f
push str.d:dbs_shodct1021_100423_0cmd2clientonedriveSetupStandalone_fsmanager_fsmanagerimpl.cpp
push edi
call fcn.00451940
lea ecx, [ebp - 0x38]
call fcn.00415bf1
jmp 0x4586f2
lea ecx, [ebp - 0x38]
call fcn.00415bf1
mov edi, ebx
jmp 0x4586f2
cmp dword [ebp + 8], 0
je 0x4586a7
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x458648
mov eax, ebx
jmp 0x45864b
add eax, 0xc
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x4586a2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x458682
cmp eax, 0x20
je 0x458682
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x4586a4
push 0x58a
jmp 0x4582b4
test esi, esi
jne 0x458687
int3
lea eax, [ebp - 0x14]
mov ecx, esi
push eax
call fcn.0045c6b5
mov edi, eax
test edi, edi
jns 0x4586a4
push 0x585
jmp 0x4582b4
mov bl, 1
mov eax, dword [ebp - 0x4c]
cmp esi, eax
je 0x4586c7
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x18]
push esi
push eax
call fcn.00457c67
mov edi, eax
test edi, edi
jns 0x4586c7
mov ecx, edi
mov eax, 0x5a6
jmp 0x4586e5
test bl, bl
je 0x4586f2
mov ecx, dword [ebp - 0x3c]
lea eax, [ebp - 0x14]
push esi
push eax
call fcn.0045ada6
mov edi, eax
mov ecx, edi
test edi, edi
jns 0x4586f2
mov eax, 0x5ac
push eax
push str.d:dbs_shodct1021_100423_0cmd2clientonedriveSetupStandalone_fsmanager_fsmanagerimpl.cpp
push ecx
call fcn.00451940
int3
mov ecx, dword [ebp - 0x4c]
mov byte [ebp - 4], 9
test ecx, ecx
je 0x45870d
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x62c6dc]
call esi
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 0xa
test ecx, ecx
je 0x458728
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x62c6dc]
call esi
xor ecx, ecx
lea eax, [ebp - 0x18]
xchg dword [eax], ecx
test ecx, ecx
je 0x458738
call fcn.0041700a
xor ecx, ecx
lea eax, [ebp - 0x14]
xchg dword [eax], ecx
test ecx, ecx
je 0x458748
call fcn.0041700a
mov eax, edi
call fcn.0042d907
ret 0x10