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

Disassembly:
push 0x90
mov eax, 0x6047e9
call fcn.004f0658
mov dword [ebp - 0x58], ecx
mov eax, dword [ebp + 0x10]
xorps xmm0, xmm0
mov esi, dword [ebp + 0xc]
xor ebx, ebx
mov dword [ebp - 0x60], eax
mov eax, dword [ebp + 0x14]
mov dword [ebp - 0x78], eax
mov eax, vtable.ClassPtr_class_FSItem_.0
movlpd qword [ebp - 0x8c], xmm0
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x88], ebx
and dword [ebp - 4], ebx
movlpd qword [ebp - 0x94], xmm0
mov dword [ebp - 0x94], eax
xor eax, eax
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x90], eax
push esi
mov byte [ebp - 4], 1
xor edi, edi
mov byte [ebp - 0x51], al
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x444548
mov edi, 0x80070002
push 0x51a
push str.D:dbs_shodct0417_205450_0cmd_bclientonedriveSetupStandalone_fsmanager_fsmanagerimpl.cpp
push edi
call fcn.0043d50f
jmp 0x444ddd
push dword [ebp - 0x60]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
setne byte [ebp - 0x59]
test eax, eax
je 0x44456d
test byte [ebp - 0x78], 1
je 0x44456d
mov edi, 0x80070050
push 0x51e
jmp 0x444538
mov eax, dword [ebp - 0x58]
add eax, 0x70
push eax
mov dword [ebp - 0x84], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x80], 1
mov eax, dword [ebp - 0x58]
lea ecx, [ebp - 0x50]
and dword [ebp - 0x50], 0
add eax, 8
and dword [ebp - 0x40], 0
mov dword [ebp - 0x64], eax
xor eax, eax
push esi
mov byte [ebp - 4], 2
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 3
push eax
call fcn.00440be3
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 2
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x70], ecx
cmp eax, 8
jb 0x444613
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x444607
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov ecx, dword [ebp - 0x38]
mov eax, dword [ebp - 0x14]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
mov ecx, dword [ebp - 0x70]
xor edx, edx
mov dword [ebp - 0x3c], 7
xor eax, eax
mov dword [ebp - 0x40], edx
mov word [ebp - 0x50], ax
cmp dword [ebp - 0x74], ecx
je 0x4446c5
mov dword [ebp - 0x50], edx
lea ecx, [ebp - 0x50]
push esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 4
call fcn.00449476
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x44466e
mov eax, dword [ebx]
push ebx
mov esi, dword [eax]
mov ecx, esi
call dword [0x62275c]
call esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x88], ebx
mov byte [ebp - 4], 2
cmp eax, 8
jb 0x4446b3
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x4446aa
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
xor edx, edx
mov dword [ebp - 0x3c], 7
xor eax, eax
mov dword [ebp - 0x40], edx
mov word [ebp - 0x50], ax
mov esi, dword [ebp - 0x60]
lea ecx, [ebp - 0x50]
xor eax, eax
mov dword [ebp - 0x50], edx
push esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 5
push eax
call fcn.00440be3
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 2
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x74], ecx
cmp eax, 8
jb 0x444748
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x44473c
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00405741
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
mov ecx, dword [ebp - 0x74]
xor edx, edx
mov dword [ebp - 0x3c], 7
xor eax, eax
mov dword [ebp - 0x40], edx
mov word [ebp - 0x50], ax
cmp dword [ebp - 0x70], ecx
je 0x4447fb
mov dword [ebp - 0x50], edx
lea ecx, [ebp - 0x50]
push esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 6
call fcn.00449476
mov ecx, dword [eax + 4]
mov dword [ebp - 0x6c], ecx
test ecx, ecx
je 0x4447a9
mov eax, dword [ecx]
push ecx
mov esi, dword [eax]
mov ecx, esi
call dword [0x62275c]
call esi
mov ecx, dword [ebp - 0x6c]
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x90], ecx
cmp eax, 8
jb 0x4447ea
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x4447e1
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
and dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
push dword [ebp - 0x84]
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 0x80], 0
test ebx, ebx
je 0x44481d
cmp byte [ebx + 0x6c], 0
jne 0x4449b0
mov ecx, dword [ebp - 0x58]
push dword [ebp - 0x68]
push ecx
mov eax, dword [ecx]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x62275c]
call esi
mov edi, eax
test edi, edi
jns 0x444843
push 0x531
jmp 0x444538
test ebx, ebx
jne 0x4449c3
mov eax, dword [ebp - 0x84]
push eax
mov dword [ebp - 0x9c], eax
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov byte [ebp - 0x98], 1
and dword [ebp - 0x50], ebx
lea ecx, [ebp - 0x50]
mov esi, dword [ebp - 0x68]
xor eax, eax
and dword [ebp - 0x40], ebx
push esi
mov byte [ebp - 4], 7
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
lea eax, [ebp - 0x7c]
mov byte [ebp - 4], 8
push eax
call fcn.00440be3
mov ecx, dword [ebp - 0x58]
mov byte [ebp - 4], 7
mov eax, dword [eax]
mov ecx, dword [ecx + 0xc]
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x74], ecx
cmp eax, 8
jb 0x4448ec
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x14], ecx
cmp eax, 0x1000
jb 0x4448e0
lea eax, [ebp - 0x38]
push eax
lea eax, [ebp - 0x14]
push eax
call fcn.00405741
mov ecx, dword [ebp - 0x14]
mov eax, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
mov ecx, dword [ebp - 0x74]
xor edx, edx
mov dword [ebp - 0x3c], 7
xor eax, eax
mov dword [ebp - 0x40], edx
mov word [ebp - 0x50], ax
cmp dword [ebp - 0x70], ecx
je 0x444999
mov dword [ebp - 0x50], edx
lea ecx, [ebp - 0x50]
push esi
mov dword [ebp - 0x40], edx
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x64]
lea eax, [ebp - 0x50]
push eax
mov byte [ebp - 4], 9
call fcn.00449476
mov ebx, dword [eax + 4]
test ebx, ebx
je 0x444947
mov eax, dword [ebx]
push ebx
mov esi, dword [eax]
mov ecx, esi
call dword [0x62275c]
call esi
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x88], ebx
cmp eax, 8
jb 0x444988
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x44497f
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
and dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
push dword [ebp - 0x84]
mov byte [ebp - 4], 1
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
mov byte [ebp - 0x98], 0
test ebx, ebx
jne 0x4449c3
mov edi, 0x80040b02
push 0x53f
jmp 0x444538
mov esi, dword [ebp - 0x68]
cmp ebx, dword [ebp - 0x6c]
je 0x444bc9
cmp dword [ebp + 8], 0
jne 0x4449de
mov ecx, dword [ebp - 0x58]
push esi
call fcn.00448013
mov edi, dword [ebp - 0x78]
and edi, 1
jne 0x444a24
cmp byte [ebp - 0x59], 0
je 0x444a24
push dword [ebp - 0x60]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x444a24
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 0x444ddd
push 0x550
jmp 0x444538
cmp dword [ebp + 8], 0
jne 0x444a68
push edi
push dword [ebp - 0x60]
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x444bc2
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 0x444ddd
push 0x557
jmp 0x444538
push 2
push dword [ebp - 0x60]
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x444bc2
push edi
push dword [ebp - 0x60]
push esi
call dword [sym.imp.KERNEL32.dll_CopyFileW]
test eax, eax
jne 0x444ab6
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 0x444ddd
push 0x560
jmp 0x444538
test ebx, ebx
je 0x444ad1
mov ecx, ebx
call fcn.00449fe9
mov edi, eax
test edi, edi
jns 0x444ad1
push 0x565
jmp 0x444538
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x444bc2
test byte [ebp - 0x78], 4
jne 0x444bc2
and dword [ebp - 0x50], eax
lea ecx, [ebp - 0x50]
and dword [ebp - 0x40], eax
push esi
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
xor eax, eax
mov byte [ebp - 4], 0xa
mov dword [ebp - 0x34], eax
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
lea eax, [ebp - 0x50]
push eax
call fcn.0040ca6e
mov eax, dword [ebp - 0x78]
shr eax, 1
and al, 1
mov dword [ebp - 0x1c], reloc.WS2_32.dll_accept
mov byte [ebp - 0x18], al
mov eax, dword [ebp - 0x3c]
mov byte [ebp - 4], 0xc
cmp eax, 8
jb 0x444b6f
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x444b66
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
mov ecx, dword [ebp - 0x58]
xor eax, eax
and dword [ebp - 0x40], 0
mov word [ebp - 0x50], ax
mov dword [ebp - 0x3c], 7
mov eax, dword [ecx]
mov esi, dword [eax + 0x6c]
lea eax, [ebp - 0x34]
push eax
push ecx
mov ecx, esi
call dword [0x62275c]
call esi
mov edi, eax
test edi, edi
jns 0x444bba
push 0x56a
push str.D:dbs_shodct0417_205450_0cmd_bclientonedriveSetupStandalone_fsmanager_fsmanagerimpl.cpp
push edi
call fcn.0043d50f
lea ecx, [ebp - 0x34]
call fcn.00405795
jmp 0x444ddd
lea ecx, [ebp - 0x34]
call fcn.00405795
xor edi, edi
jmp 0x444ddd
cmp dword [ebp + 8], 0
je 0x444ca8
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x444ca4
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 5
je 0x444c12
cmp eax, 0x20
je 0x444c12
movzx edi, ax
or edi, 0x80070000
test eax, eax
cmovle edi, eax
test edi, edi
jns 0x444ca8
push 0x585
jmp 0x444538
test ebx, ebx
jne 0x444c17
int3
and dword [ebp - 0x50], 0
lea ecx, [ebp - 0x50]
and dword [ebp - 0x40], 0
xor eax, eax
push esi
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
lea eax, [ebp - 0x50]
mov byte [ebp - 4], 0xd
push eax
mov ecx, ebx
call fcn.00449b2d
mov edi, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jb 0x444c85
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x444c7c
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
and dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
test edi, edi
jns 0x444ca8
push 0x580
jmp 0x444538
mov byte [ebp - 0x51], 1
cmp ebx, dword [ebp - 0x6c]
je 0x444d44
and dword [ebp - 0x50], 0
lea ecx, [ebp - 0x50]
push dword [ebp - 0x60]
and dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x50]
push ebx
push eax
mov byte [ebp - 4], 0xe
call fcn.00443f20
mov edi, eax
mov byte [ebp - 4], 1
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jb 0x444d23
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x444d1a
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
and dword [ebp - 0x40], 0
xor eax, eax
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
test edi, edi
jns 0x444d44
mov esi, edi
mov eax, 0x5a1
jmp 0x444dd0
cmp byte [ebp - 0x51], 0
je 0x444ddd
and dword [ebp - 0x50], 0
lea ecx, [ebp - 0x50]
and dword [ebp - 0x40], 0
xor eax, eax
push esi
mov dword [ebp - 0x3c], 7
mov word [ebp - 0x50], ax
call fcn.0040c8c9
mov ecx, dword [ebp - 0x58]
lea eax, [ebp - 0x50]
push ebx
push eax
mov byte [ebp - 4], 0xf
call fcn.00447706
mov edi, eax
mov byte [ebp - 4], 1
mov esi, eax
mov eax, dword [ebp - 0x3c]
cmp eax, 8
jb 0x444dc0
mov ecx, dword [ebp - 0x50]
lea eax, [eax*2 + 2]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], ecx
cmp eax, 0x1000
jb 0x444db7
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00405741
mov eax, dword [ebp - 0x14]
mov ecx, dword [ebp - 0x38]
push eax
push ecx
call fcn.0041b169
pop ecx
pop ecx
mov dword [ebp - 0x3c], 7
test edi, edi
jns 0x444ddd
mov eax, 0x5a7
push eax
push str.D:dbs_shodct0417_205450_0cmd_bclientonedriveSetupStandalone_fsmanager_fsmanagerimpl.cpp
push esi
call fcn.0043d50f
int3
mov ecx, dword [ebp - 0x6c]
mov byte [ebp - 4], 0x11
test ecx, ecx
je 0x444df8
mov eax, dword [ecx]
push ecx
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x62275c]
call esi
mov dword [ebp - 4], 0x12
test ebx, ebx
je 0x444e13
mov ecx, dword [ebx]
push ebx
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x62275c]
call esi
mov eax, edi
call fcn.004f0607
ret 0x10