Function at 0x10002da0
Capabilities:
Check if file exists
Enumerate files on windows
Get disk information
Get file attributes
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6a4
mov eax, dword [0x10019004]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x208
lea eax, [ebp - 0x420]
mov dword [ebp - 0x6a4], edx
mov ebx, ecx
mov byte [ebp - 0x699], 1
push 0
push eax
mov dword [ebp - 0x6a0], ebx
call fcn.10006250
add esp, 0xc
lea eax, [ebp - 0x420]
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push 0x10016c28
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcatW]
push 0x208
lea eax, [ebp - 0x218]
push 0
push eax
call fcn.10006250
movsx ax, byte [ebx]
add esp, 0xc
mov dword [ebp - 8], 0
push 0
push 0
push 0
push 0
mov word [ebp - 0xc], ax
mov eax, 0x3a
push 0
mov word [ebp - 0xa], ax
lea eax, [ebp - 0x218]
push 0x104
push eax
lea eax, [ebp - 0xc]
push eax
call dword [sym.imp.KERNEL32.dll_GetVolumeInformationW]
lea eax, [ebp - 0x678]
push eax
lea eax, [ebp - 0x420]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov esi, eax
push 0x208
mov dword [ebp - 8], esi
call fcn.10008514
push 0x208
mov edi, eax
call fcn.10008514
add esp, 8
mov ebx, eax
cmp esi, 0xffffffff
je 0x10003078
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
mov dword [ebp - 0x424], 0x200c
nop dword [eax]
lea eax, [ebp - 0x64c]
push eax
push 0x10016c2c
call esi
test eax, eax
je 0x10003057
lea eax, [ebp - 0x64c]
push eax
push 0x10016c30
call esi
test eax, eax
je 0x10003057
lea eax, [ebp - 0x64c]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
cmp eax, esi
jge 0x10002f5e
lea eax, [ebp - 0x218]
push eax
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov esi, eax
lea edx, [ebp - 0x218]
add esi, esi
lea eax, [ebp - 0x64c]
sub esi, 4
jb 0x10002f21
nop
mov ecx, dword [edx]
cmp ecx, dword [eax]
jne 0x10002f26
add edx, 4
add eax, 4
sub esi, 4
jae 0x10002f10
cmp esi, 0xfffffffc
je 0x10002f53
mov cl, byte [edx]
cmp cl, byte [eax]
jne 0x10002f5e
cmp esi, 0xfffffffd
je 0x10002f53
mov cl, byte [edx + 1]
cmp cl, byte [eax + 1]
jne 0x10002f5e
cmp esi, 0xfffffffe
je 0x10002f53
mov cl, byte [edx + 2]
cmp cl, byte [eax + 2]
jne 0x10002f5e
cmp esi, 0xffffffff
je 0x10002f53
mov cl, byte [edx + 3]
cmp cl, byte [eax + 3]
jne 0x10002f5e
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
jmp 0x10003057
mov esi, dword [sym.imp.KERNEL32.dll_lstrcmpW]
lea eax, [ebp - 0x64c]
push eax
lea eax, [ebp - 0x424]
push eax
call esi
test eax, eax
je 0x10003057
mov eax, dword [ebp - 0x678]
and eax, 0x16
cmp al, 0x16
je 0x10003057
push 0x208
push 0
push edi
call fcn.10006250
add esp, 0xc
push dword [ebp - 0x6a0]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
lea eax, [ebp - 0x64c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatW]
test byte [ebp - 0x678], 0x10
jne 0x10002fd0
mov ecx, edi
call fcn.10001fb0
test eax, eax
jne 0x10003057
push 0x208
push 0
push ebx
call fcn.10006250
add esp, 0xc
push dword [ebp - 0x6a4]
push ebx
call dword [sym.imp.KERNEL32.dll_lstrcpyW]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x10003050
mov eax, 0x214
mov dword [ebp - 0x698], 0
mov word [ebp - 0x688], ax
xorps xmm0, xmm0
lea eax, [ebp - 0x698]
movlpd qword [ebp - 0x686], xmm0
push eax
mov dword [ebp - 0x67e], 0
mov dword [ebp - 0x694], 1
mov dword [ebp - 0x690], edi
mov dword [ebp - 0x68c], ebx
call dword [sym.imp.SHELL32.dll_SHFileOperationW]
neg eax
sbb eax, eax
add eax, 1
jne 0x10003057
mov byte [ebp - 0x699], 0
lea eax, [ebp - 0x678]
push eax
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x10002ea0
push dword [ebp - 8]
call dword [sym.imp.KERNEL32.dll_FindClose]
push edi
call fcn.100084f7
push ebx
call fcn.100084f7
mov ecx, dword [ebp - 4]
add esp, 8
mov al, byte [ebp - 0x699]
xor ecx, ebp
pop edi
pop esi
pop ebx
call fcn.10004cce
mov esp, ebp
pop ebp
ret