Function at 0x1001c5a5
Capabilities:
Copy file
Create directory
Enumerate files on windows
Enumerate files recursively
Get file attributes

Disassembly:
push 0x2d4
mov eax, 0x10098dff
call fcn.1007684e
xor edi, edi
inc edi
mov dword [ebp - 4], edi
cmp dword [ebp + 0x38], 8
mov eax, dword [ebp + 0x24]
jae 0x1001c5c6
lea eax, [ebp + 0x24]
push 0
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
je 0x1001c5e0
cmp eax, 0xb7
je 0x1001c5e0
xor bl, bl
jmp 0x1001c5e2
mov bl, 1
push 0x5c
pop esi
push edi
push 0xffffffffffffffff
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp + 8]
mov dword [ebp - 0x2d8], esi
call fcn.100140ae
mov edi, 0x100afb00
cmp eax, dword [ebp + 0x18]
je 0x1001c618
push edi
call fcn.1005d0d1
pop ecx
push eax
push edi
lea ecx, [ebp + 8]
call fcn.100104a9
push 1
push 0xffffffffffffffff
lea eax, [ebp - 0x2d8]
push eax
lea ecx, [ebp + 0x24]
mov dword [ebp - 0x2d8], esi
call fcn.100140ae
cmp eax, dword [ebp + 0x34]
je 0x1001c647
push edi
call fcn.1005d0d1
pop ecx
push eax
push edi
lea ecx, [ebp + 0x24]
call fcn.100104a9
lea eax, [ebp - 0x84]
push 0x100b11dc
push eax
lea edi, [ebp + 8]
call fcn.10014290
push 7
pop eax
xor esi, esi
xor ecx, ecx
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x3c], esi
mov word [ebp - 0x4c], cx
mov dword [ebp - 0x1c], eax
xor eax, eax
mov dword [ebp - 0x20], esi
mov word [ebp - 0x30], ax
push 0x24c
lea eax, [ebp - 0x2d0]
push esi
mov byte [ebp - 4], 4
push eax
mov dword [ebp - 0x2d4], esi
call fcn.1005d3f0
mov eax, dword [ebp - 0x84]
add esp, 0x14
cmp dword [ebp - 0x70], 8
jae 0x1001c6a9
lea eax, [ebp - 0x84]
lea ecx, [ebp - 0x2d4]
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileW]
mov dword [ebp - 0x2d8], eax
cmp eax, 0xffffffff
je 0x1001c85f
lea eax, [ebp - 0x2a8]
push eax
push 0x100b11e0
call fcn.1005d46a
pop ecx
pop ecx
test eax, eax
je 0x1001c808
lea eax, [ebp - 0x2a8]
push eax
push 0x100b11e4
call fcn.1005d46a
pop ecx
pop ecx
test eax, eax
je 0x1001c808
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x68]
push eax
lea edi, [ebp + 8]
call fcn.10014290
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x4c]
mov byte [ebp - 4], 5
call fcn.1000fd37
push esi
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 4
call fcn.1000f89d
lea eax, [ebp - 0x2a8]
push eax
lea eax, [ebp - 0x68]
push eax
lea edi, [ebp + 0x24]
call fcn.10014290
pop ecx
pop ecx
push eax
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 6
call fcn.1000fd37
push esi
push 1
lea ecx, [ebp - 0x68]
mov byte [ebp - 4], 4
call fcn.1000f89d
mov eax, dword [ebp - 0x4c]
push 8
pop edi
cmp dword [ebp - 0x38], edi
jae 0x1001c76c
lea eax, [ebp - 0x4c]
push eax
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
test al, 0x10
je 0x1001c7de
mov eax, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x1001c782
lea eax, [ebp - 0x30]
push esi
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
cmp eax, 1
je 0x1001c7a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
jne 0x1001c825
sub esp, 0x1c
lea eax, [ebp - 0x30]
mov ecx, esp
mov dword [ebp - 0x2dc], esp
push eax
call fcn.1000f6a2
sub esp, 0x1c
lea eax, [ebp - 0x4c]
mov ecx, esp
mov dword [ebp - 0x2e0], esp
push eax
mov byte [ebp - 4], 7
call fcn.1000f6a2
mov byte [ebp - 4], 4
call fcn.1001c5a5
mov bl, al
add esp, 0x38
test bl, bl
jmp 0x1001c806
mov ecx, dword [ebp - 0x30]
cmp dword [ebp - 0x1c], edi
jae 0x1001c7e9
lea ecx, [ebp - 0x30]
mov eax, dword [ebp - 0x4c]
cmp dword [ebp - 0x38], edi
jae 0x1001c7f4
lea eax, [ebp - 0x4c]
push esi
push ecx
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileW]
lea ebx, [eax - 1]
neg ebx
sbb bl, bl
inc bl
je 0x1001c827
lea eax, [ebp - 0x2d4]
push eax
push dword [ebp - 0x2d8]
call dword [sym.imp.KERNEL32.dll_FindNextFileW]
test eax, eax
jne 0x1001c6c6
jmp 0x1001c827
xor bl, bl
mov eax, dword [ebp + 0x18]
dec eax
push eax
push esi
lea eax, [ebp - 0x68]
push eax
lea ecx, [ebp + 8]
call fcn.10013ee3
push eax
lea ecx, [ebp + 8]
mov byte [ebp - 4], 8
call fcn.1000fd37
push esi
push 1
lea ecx, [ebp - 0x68]
call fcn.1000f89d
push dword [ebp - 0x2d8]
call dword [sym.imp.KERNEL32.dll_FindClose]
jmp 0x1001c861
xor bl, bl
xor edi, edi
push esi
inc edi
push edi
lea ecx, [ebp - 0x30]
call fcn.1000f89d
push esi
push edi
lea ecx, [ebp - 0x4c]
call fcn.1000f89d
push esi
push edi
lea ecx, [ebp - 0x84]
call fcn.1000f89d
push esi
push edi
lea ecx, [ebp + 8]
call fcn.1000f89d
push esi
push edi
lea ecx, [ebp + 0x24]
call fcn.1000f89d
mov al, bl
call fcn.100768d1
ret