Function at 0x4281da
Capabilities:
Copy file
Create directory
Enumerate files on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc5c
mov eax, dword [0x485008]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExA]
lea eax, [ebp - 0xb10]
push esi
push edi
push 0x200
push eax
push 0
push dword [0x491210]
call ebx
mov edx, 0x476724
lea ecx, [ebp - 0xb10]
call fcn.004019b8
mov esi, str.data_setups
push 0x200
lea edi, [eax + 1]
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0x510]
push eax
push 0
push dword [0x491210]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
call ebx
mov edx, 0x47672c
lea ecx, [ebp - 0x510]
call fcn.004019b8
mov dword [eax + 1], 0x746573
lea eax, [ebp - 0x510]
push eax
call fcn.00454f60
lea edi, [ebp - 0x510]
pop ecx
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42826a
mov ax, word [0x476730]
or dword [ebp - 0xc58], 0xffffffff
and dword [ebp - 0xc54], 0
cmp byte [0x485970], 0
mov word [edi], ax
je 0x428305
mov ebx, 0x485970
lea eax, [ebp - 0x510]
mov edx, 0x200
push eax
lea ecx, [ebp - 0x310]
call fcn.004014cb
pop ecx
mov esi, ebx
mov al, byte [ebx]
inc ebx
test al, al
jne 0x4282b1
lea edi, [ebp - 0x310]
sub ebx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x4282c1
mov ecx, ebx
lea eax, [ebp - 0x310]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00454f60
mov esi, dword [ebp - 0xc54]
inc dword [ebp - 0xc58]
inc esi
imul eax, esi, 0xa
pop ecx
mov dword [ebp - 0xc54], esi
lea ebx, [eax + 0x485970]
cmp byte [ebx], 0
jne 0x428297
lea eax, [ebp - 0x510]
mov edx, 0x200
push eax
lea ecx, [ebp - 0x310]
call fcn.004014cb
pop ecx
lea ecx, [ebp - 0x310]
dec ecx
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x428324
mov eax, dword [0x46e068]
mov dword [ecx], eax
mov al, byte [0x46e06c]
mov byte [ecx + 4], al
lea eax, [ebp - 0x310]
push eax
call fcn.00454f60
pop ecx
lea eax, [ebp - 0x510]
mov edx, 0x200
push eax
lea ecx, [ebp - 0x310]
call fcn.004014cb
pop ecx
lea ecx, [ebp - 0x310]
dec ecx
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x428367
mov eax, dword [0x46e070]
mov dword [ecx], eax
mov ax, word [0x46e074]
mov word [ecx + 4], ax
lea eax, [ebp - 0x310]
push eax
call fcn.00454f60
pop ecx
lea eax, [ebp - 0xc50]
push eax
lea eax, [ebp - 0xb10]
push eax
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov ebx, eax
mov dword [ebp - 0xc54], ebx
cmp ebx, 0xffffffff
je 0x4285a4
test byte [ebp - 0xc50], 0x10
jne 0x428587
push 0x200
lea eax, [ebp - 0x710]
push eax
push 0
push dword [0x491210]
call dword [sym.imp.KERNEL32.dll_K32GetModuleFileNameExA]
mov edx, 0x476744
lea ecx, [ebp - 0x710]
call fcn.004019b8
mov esi, str.data_setups_
lea edx, [ebp - 0xc24]
lea edi, [eax + 1]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsb byte es:[edi], byte [esi]
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x4283fd
lea edi, [ebp - 0x710]
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x42840d
mov ecx, edx
lea eax, [ebp - 0x110]
shr ecx, 2
mov ebx, 0x104
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
push ebx
and ecx, 3
push 0
rep movsb byte es:[edi], byte [esi]
push eax
call fcn.00447370
add esp, 0xc
lea eax, [ebp - 0xc24]
mov edx, ebx
lea ecx, [ebp - 0x110]
push eax
call fcn.004014cb
pop ecx
lea ecx, [ebp - 0x110]
call fcn.004019d7
mov eax, dword [ebp - 0xc58]
xor ebx, ebx
mov edi, eax
test eax, eax
js 0x4284bb
imul esi, eax, 0xa
add esi, 0x485970
push esi
lea eax, [ebp - 0x310]
push 0x476748
push eax
call fcn.00401468
lea ecx, [ebp - 0x310]
add esp, 0xc
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x42848f
sub ecx, edx
lea edx, [ebp - 0x310]
push ecx
lea ecx, [ebp - 0x10d]
call fcn.00402fa3
pop ecx
test eax, eax
je 0x4285cb
sub esi, 0xa
sub edi, 1
jns 0x428471
push 4
mov edx, str._AU3
lea ecx, [ebp - 0x10d]
call fcn.00402fa3
pop ecx
test eax, eax
je 0x428500
push 4
mov edx, str._AU4
lea ecx, [ebp - 0x10d]
call fcn.00402fa3
pop ecx
test eax, eax
je 0x428500
push 5
mov edx, str._DRAG
lea ecx, [ebp - 0x10d]
call fcn.00402fa3
pop ecx
test eax, eax
jne 0x428540
lea eax, [ebp - 0xc24]
push eax
push 0x46e068
lea eax, [ebp - 0x510]
push eax
push 0x476770
lea eax, [ebp - 0x910]
push eax
call fcn.00401468
add esp, 0x14
lea eax, [ebp - 0x910]
push 1
push eax
lea eax, [ebp - 0x710]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
xor ebx, ebx
inc ebx
test ebx, ebx
jne 0x428581
lea eax, [ebp - 0xc24]
push eax
push 0x46e070
lea eax, [ebp - 0x510]
push eax
lea eax, [ebp - 0x910]
push str._s_s_s
push eax
call fcn.00401468
add esp, 0x14
lea eax, [ebp - 0x910]
push 1
push eax
lea eax, [ebp - 0x710]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
mov ebx, dword [ebp - 0xc54]
lea eax, [ebp - 0xc50]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_FindNextFileA]
test eax, eax
jne 0x4283b2
push ebx
call dword [sym.imp.KERNEL32.dll_FindClose]
mov ecx, dword [0x7ef830]
xor edx, edx
inc edx
mov dword [0x7ef820], 1
call fcn.0041d5bb
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00445b7e
leave
ret
lea eax, [ebp - 0xc24]
push eax
imul eax, edi, 0xa
add eax, 0x485970
push eax
lea eax, [ebp - 0x510]
push eax
push 0x47674c
jmp 0x428518