Function at 0x411440
Capabilities:
Copy file
Create directory
Enumerate files on windows
Enumerate files recursively
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4333f7
mov eax, dword fs:[0]
push eax
sub esp, 0x678
mov eax, dword [0x43f474]
xor eax, ebp
mov dword [ebp - 0x10], eax
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ecx, dword [ebp + 8]
call fcn.004018f0
mov dword [ebp - 0x5e8], eax
lea eax, [ebp - 0x2e4]
mov dword [ebp - 0x5ec], eax
mov ecx, dword [ebp - 0x5ec]
mov dword [ebp - 0x5f0], ecx
mov edx, dword [ebp - 0x5e8]
mov al, byte [edx]
mov byte [ebp - 0x5f1], al
mov ecx, dword [ebp - 0x5ec]
mov dl, byte [ebp - 0x5f1]
mov byte [ecx], dl
mov eax, dword [ebp - 0x5e8]
add eax, 1
mov dword [ebp - 0x5e8], eax
mov ecx, dword [ebp - 0x5ec]
add ecx, 1
mov dword [ebp - 0x5ec], ecx
cmp byte [ebp - 0x5f1], 0
jne 0x411493
lea edx, [ebp - 0x2e4]
add edx, 0xffffffff
mov dword [ebp - 0x5f8], edx
mov eax, dword [ebp - 0x5f8]
mov cl, byte [eax + 1]
mov byte [ebp - 0x5f9], cl
add dword [ebp - 0x5f8], 1
cmp byte [ebp - 0x5f9], 0
jne 0x4114e5
mov edi, dword [ebp - 0x5f8]
mov edx, dword [0x438580]
mov dword [edi], edx
mov al, byte [0x438584]
mov byte [edi + 4], al
lea ecx, [ebp - 0x1dc]
push ecx
lea edx, [ebp - 0x2e4]
push edx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov dword [ebp - 0x2e8], eax
cmp dword [ebp - 0x2e8], 0xffffffff
jne 0x411544
xor al, al
jmp 0x411acd
mov eax, 1
test eax, eax
je 0x411abe
mov ecx, dword [ebp - 0x1dc]
and ecx, 0x10
je 0x4117da
movsx edx, byte [ebp - 0x1b0]
cmp edx, 0x2e
je 0x4117d5
mov ecx, dword [ebp + 8]
call fcn.004018f0
mov dword [ebp - 0x600], eax
lea eax, [ebp - 0x42c]
mov dword [ebp - 0x604], eax
mov ecx, dword [ebp - 0x604]
mov dword [ebp - 0x608], ecx
mov edx, dword [ebp - 0x600]
mov al, byte [edx]
mov byte [ebp - 0x609], al
mov ecx, dword [ebp - 0x604]
mov dl, byte [ebp - 0x609]
mov byte [ecx], dl
mov eax, dword [ebp - 0x600]
add eax, 1
mov dword [ebp - 0x600], eax
mov ecx, dword [ebp - 0x604]
add ecx, 1
mov dword [ebp - 0x604], ecx
cmp byte [ebp - 0x609], 0
jne 0x411596
lea edx, [ebp - 0x42c]
add edx, 0xffffffff
mov dword [ebp - 0x610], edx
mov eax, dword [ebp - 0x610]
mov cl, byte [eax + 1]
mov byte [ebp - 0x611], cl
add dword [ebp - 0x610], 1
cmp byte [ebp - 0x611], 0
jne 0x4115e8
mov edi, dword [ebp - 0x610]
mov dx, word [0x438588]
mov word [edi], dx
lea eax, [ebp - 0x1b0]
mov dword [ebp - 0x618], eax
mov ecx, dword [ebp - 0x618]
mov dword [ebp - 0x61c], ecx
mov edx, dword [ebp - 0x618]
mov al, byte [edx]
mov byte [ebp - 0x61d], al
add dword [ebp - 0x618], 1
cmp byte [ebp - 0x61d], 0
jne 0x41162f
mov ecx, dword [ebp - 0x618]
sub ecx, dword [ebp - 0x61c]
mov edx, dword [ebp - 0x61c]
mov dword [ebp - 0x624], edx
mov dword [ebp - 0x628], ecx
lea eax, [ebp - 0x42c]
add eax, 0xffffffff
mov dword [ebp - 0x62c], eax
mov ecx, dword [ebp - 0x62c]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x62d], dl
add dword [ebp - 0x62c], 1
cmp byte [ebp - 0x62d], 0
jne 0x41167a
mov edi, dword [ebp - 0x62c]
mov esi, dword [ebp - 0x624]
mov eax, dword [ebp - 0x628]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x304]
call fcn.00401760
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x320]
call fcn.00401760
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x42c]
push ecx
lea ecx, [ebp - 0x304]
call fcn.00415f60
mov edx, dword [0x438274]
push edx
push 3
lea eax, [ebp - 0x2c]
push eax
lea ecx, [ebp - 0x304]
call fcn.004061d0
mov dword [ebp - 0x634], eax
mov ecx, dword [ebp - 0x634]
mov dword [ebp - 0x638], ecx
mov byte [ebp - 4], 2
mov edx, dword [ebp - 0x638]
push edx
mov eax, dword [ebp + 0xc]
push eax
lea ecx, [ebp - 0x48]
push ecx
call fcn.00419550
add esp, 0xc
mov dword [ebp - 0x63c], eax
mov edx, dword [ebp - 0x63c]
mov dword [ebp - 0x640], edx
mov byte [ebp - 4], 3
mov eax, dword [ebp - 0x640]
push eax
lea ecx, [ebp - 0x320]
call fcn.004018a0
mov byte [ebp - 4], 2
lea ecx, [ebp - 0x48]
call fcn.004018d0
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x2c]
call fcn.004018d0
push 0
lea ecx, [ebp - 0x320]
call fcn.004018f0
push eax
call dword [sym.imp.KERNEL32.dll_CreateDirectoryA]
lea ecx, [ebp - 0x42c]
push ecx
lea ecx, [ebp - 0x64]
call fcn.00401790
mov byte [ebp - 4], 4
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x64]
push eax
call fcn.00411440
add esp, 8
mov byte [ebp - 4], 1
lea ecx, [ebp - 0x64]
call fcn.004018d0
mov byte [ebp - 4], 0
lea ecx, [ebp - 0x320]
call fcn.004018d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x304]
call fcn.004018d0
jmp 0x411a9f
mov ecx, dword [ebp + 8]
call fcn.004018f0
mov dword [ebp - 0x644], eax
lea ecx, [ebp - 0x5e4]
mov dword [ebp - 0x648], ecx
mov edx, dword [ebp - 0x648]
mov dword [ebp - 0x64c], edx
mov eax, dword [ebp - 0x644]
mov cl, byte [eax]
mov byte [ebp - 0x64d], cl
mov edx, dword [ebp - 0x648]
mov al, byte [ebp - 0x64d]
mov byte [edx], al
mov ecx, dword [ebp - 0x644]
add ecx, 1
mov dword [ebp - 0x644], ecx
mov edx, dword [ebp - 0x648]
add edx, 1
mov dword [ebp - 0x648], edx
cmp byte [ebp - 0x64d], 0
jne 0x411800
lea eax, [ebp - 0x5e4]
add eax, 0xffffffff
mov dword [ebp - 0x654], eax
mov ecx, dword [ebp - 0x654]
mov dl, byte [ecx + 1]
mov byte [ebp - 0x655], dl
add dword [ebp - 0x654], 1
cmp byte [ebp - 0x655], 0
jne 0x411852
mov edi, dword [ebp - 0x654]
mov ax, word [0x43858c]
mov word [edi], ax
lea ecx, [ebp - 0x1b0]
mov dword [ebp - 0x65c], ecx
mov edx, dword [ebp - 0x65c]
mov dword [ebp - 0x660], edx
mov eax, dword [ebp - 0x65c]
mov cl, byte [eax]
mov byte [ebp - 0x661], cl
add dword [ebp - 0x65c], 1
cmp byte [ebp - 0x661], 0
jne 0x411898
mov edx, dword [ebp - 0x65c]
sub edx, dword [ebp - 0x660]
mov eax, dword [ebp - 0x660]
mov dword [ebp - 0x668], eax
mov dword [ebp - 0x66c], edx
lea ecx, [ebp - 0x5e4]
add ecx, 0xffffffff
mov dword [ebp - 0x670], ecx
mov edx, dword [ebp - 0x670]
mov al, byte [edx + 1]
mov byte [ebp - 0x671], al
add dword [ebp - 0x670], 1
cmp byte [ebp - 0x671], 0
jne 0x4118e3
mov edi, dword [ebp - 0x670]
mov esi, dword [ebp - 0x668]
mov edx, dword [ebp - 0x66c]
mov ecx, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [ebp - 0x448]
call fcn.00401760
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x4d8]
call fcn.00401760
mov byte [ebp - 4], 6
lea eax, [ebp - 0x5e4]
push eax
lea ecx, [ebp - 0x448]
call fcn.00415f60
mov ecx, dword [0x438274]
push ecx
push 3
lea edx, [ebp - 0x80]
push edx
lea ecx, [ebp - 0x448]
call fcn.004061d0
mov dword [ebp - 0x678], eax
mov eax, dword [ebp - 0x678]
mov dword [ebp - 0x67c], eax
mov byte [ebp - 4], 7
mov ecx, dword [ebp - 0x67c]
push ecx
mov edx, dword [ebp + 0xc]
push edx
lea eax, [ebp - 0x9c]
push eax
call fcn.00419550
add esp, 0xc
mov dword [ebp - 0x680], eax
mov ecx, dword [ebp - 0x680]
mov dword [ebp - 0x684], ecx
mov byte [ebp - 4], 8
mov edx, dword [ebp - 0x684]
push edx
lea ecx, [ebp - 0x4d8]
call fcn.004018a0
mov byte [ebp - 4], 7
lea ecx, [ebp - 0x9c]
call fcn.004018d0
mov byte [ebp - 4], 6
lea ecx, [ebp - 0x80]
call fcn.004018d0
push 0x38
push 0
lea eax, [ebp - 0x4bc]
push eax
call fcn.0041f760
add esp, 0xc
push 0x38
push 0
lea ecx, [ebp - 0x484]
push ecx
call fcn.0041f760
add esp, 0xc
lea edx, [ebp - 0x4bc]
push edx
lea ecx, [ebp - 0x448]
call fcn.004018f0
push eax
call fcn.0041b7ff
add esp, 8
lea eax, [ebp - 0x484]
push eax
lea ecx, [ebp - 0x4d8]
call fcn.004018f0
push eax
call fcn.0041b7ff
add esp, 8
mov ecx, dword [ebp - 0x1dc]
and ecx, 1
je 0x411a5e
push 0x80
lea ecx, [ebp - 0x4d8]
call fcn.004018f0
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push 0
lea ecx, [ebp - 0x4d8]
call fcn.004018f0
push eax
lea ecx, [ebp - 0x448]
call fcn.004018f0
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov byte [ebp - 4], 5
lea ecx, [ebp - 0x4d8]
call fcn.004018d0
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x448]
call fcn.004018d0
lea edx, [ebp - 0x1dc]
push edx
mov eax, dword [ebp - 0x2e8]
push eax
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x411ab9
jmp 0x411abe
jmp 0x411544
mov ecx, dword [ebp - 0x2e8]
push ecx
call dword [sym.imp.KERNEL32.dll_FindClose]
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.00419e3a
mov esp, ebp
pop ebp
ret