Function at 0x1005c88
Capabilities:
Copy file
Delete file
Identify system language via api
Read file on windows
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x688
mov eax, dword [0x100fb04]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, 0x200
push esi
lea eax, [ebp - 0x308]
push eax
push 0x41e
mov dword [ebp - 0x678], ebx
mov dword [ebp - 0x680], 0x45d
call fcn.0100210a
lea eax, [ebp - 0x308]
push eax
push 0x856
push ebx
call fcn.01002480
push 0x1011a20
push esi
lea eax, [ebp - 0x308]
push eax
mov edi, 0x1001a20
push edi
push 0x1001a10
push 0x1001444
call fcn.01002e76
test eax, eax
jne 0x1005d10
push edi
push esi
lea eax, [ebp - 0x308]
push eax
call fcn.01002653
push 0x104
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.01003d2a
test eax, eax
lea eax, [ebp - 0x108]
jne 0x1005d4b
push 0
push 0x10
push 0
push eax
push 0x46d
push ebx
call fcn.01002a45
xor eax, eax
jmp 0x100641f
xor ebx, ebx
push ebx
mov edi, 0x100fffc
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x1005d94
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push esi
lea ecx, [ebp - 0x508]
push ecx
push ebx
push eax
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push ebx
push 0x10
lea eax, [ebp - 0x508]
push eax
push edi
push 0x45b
push dword [ebp - 0x678]
jmp 0x1005d3f
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push ebx
lea eax, [ebp - 0x108]
push eax
call fcn.010095e4
mov dword [ebp - 0x670], eax
cmp eax, ebx
jne 0x1005dc9
push ebx
push 0x10
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x45c
jmp 0x1005d8c
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
movzx ebx, ax
mov edi, 0x100fc78
push edi
mov dword [ebp - 0x684], ebx
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a08
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
cmp dword [0x100fb64], 0
je 0x1005e3a
mov edi, 0x100fcf8
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a00
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
mov edi, 0x10019f8
jmp 0x1005e60
mov edi, 0x10019f8
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a00
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
cmp dword [0x100fb68], 0
je 0x1005fa3
lea eax, [ebp - 0x66c]
push eax
mov ebx, 0x100fef8
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x64c]
sub edi, dword [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push 0x80000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x674], eax
cmp eax, 0xffffffff
jne 0x1005ed9
push 0
push 0x10
push 0
push ebx
push 0x468
push dword [ebp - 0x678]
call fcn.01002a45
push 0x100fffc
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x1005d44
lea eax, [ebp - 0x67c]
push eax
push 1
push edi
call fcn.0100c01c
test eax, eax
jns 0x1005efa
xor eax, eax
push eax
push 0x10
push eax
push eax
push 0x44c
jmp 0x1005ebe
push dword [ebp - 0x67c]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
mov dword [ebp - 0x67c], eax
push ecx
cmp eax, ecx
jne 0x1005f1b
push 0x10
push ecx
push ecx
jmp 0x1005ef3
lea ecx, [ebp - 0x688]
push ecx
push edi
push eax
push dword [ebp - 0x674]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x1005f43
push eax
push 0x10
push eax
push ebx
push 0x469
jmp 0x1005ebe
push dword [ebp - 0x674]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 1]
cmp eax, edi
jb 0x1005f92
push eax
push dword [ebp - 0x67c]
push dword [ebp - 0x684]
push 0x10019f0
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x1005f92
push dword [ebp - 0x67c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [ebp - 0x684]
mov edi, 0x10019f8
jmp 0x1005fc4
push dword [ebp - 0x67c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x100640a
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x10019f0
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
cmp dword [0x1011584], 0x865
je 0x10060b2
mov ebx, 0x1010b18
push ebx
call esi
inc eax
push eax
push ebx
mov ebx, 0x409
push ebx
push 0x10019e4
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
push 0x1010918
call esi
inc eax
push eax
push 0x1010918
push ebx
push 0x10019d4
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
cmp byte [0x1011164], 0
je 0x1006038
push 0x1011164
jmp 0x1006039
push edi
call esi
inc eax
cmp byte [0x1011164], 0
mov ecx, 0x1011164
jne 0x100604c
mov ecx, edi
push eax
push ecx
push ebx
push 0x10019cc
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
cmp byte [0x101136c], 0
je 0x1006079
push 0x101136c
jmp 0x100607a
push edi
call esi
inc eax
cmp byte [0x101136c], 0
mov ecx, 0x101136c
jne 0x100608d
mov ecx, edi
push eax
push ecx
push ebx
push 0x10019c4
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
mov ebx, dword [ebp - 0x684]
jmp 0x10060d3
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x10019e4
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
push 4
push 0x1011588
push ebx
push 0x10019b8
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
cmp dword [0x100fb6c], 0
je 0x1006103
mov edi, 0x1010100
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x10019ac
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
test eax, eax
je 0x100640a
lea eax, [ebp - 0x66c]
push eax
mov ebx, 0x101060c
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x64c]
sub edi, dword [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push 0x80000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x674], eax
cmp eax, 0xffffffff
jne 0x100617a
push 0
push 0x10
push 0
push ebx
push 0x46a
jmp 0x1005ebe
lea eax, [edi + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x67c], eax
test eax, eax
jne 0x100619f
mov dword [ebp - 0x680], 0x44c
jmp 0x100640a
push 0
lea ecx, [ebp - 0x688]
push ecx
push edi
push eax
push dword [ebp - 0x674]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10061c9
push eax
push 0x10
push eax
push ebx
push 0x46b
jmp 0x1005ebe
push dword [ebp - 0x674]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push dword [ebp - 0x67c]
push dword [ebp - 0x684]
push 0x10019a4
push 0xa
push dword [ebp - 0x670]
call fcn.01007923
push dword [ebp - 0x67c]
test eax, eax
je 0x1005f98
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [0x10115a4]
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x52c]
rep stosd dword es:[edi], eax
jmp 0x10062dc
push dword [ebx + 4]
mov edi, dword [ebx]
call esi
push edi
mov dword [ebp - 0x674], eax
call esi
mov ecx, dword [ebp - 0x674]
lea edi, [ecx + eax + 1]
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x674], eax
test eax, eax
je 0x1006190
push dword [ebx + 4]
push edi
push eax
call fcn.01002653
push dword [ebx]
push edi
push dword [ebp - 0x674]
call fcn.010026dd
lea eax, [ebp - 0x66c]
push eax
push dword [ebp - 0x674]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x64c]
sub edi, dword [ebp - 0x650]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x674]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebp - 0x674], 0
mov ecx, 0x200
xor edx, edx
mov eax, edi
div ecx
neg edx
sbb edx, edx
imul eax, ecx
and edx, ecx
add edx, eax
mov eax, dword [ebp - 0x674]
add dword [ebp + eax*4 - 0x52c], edx
add ecx, ecx
inc eax
mov dword [ebp - 0x674], eax
cmp eax, 8
jl 0x10062a7
add dword [ebp - 0x50c], edi
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x1006220
xor ecx, ecx
lea eax, [ebp + ecx*4 - 0x52c]
mov edx, dword [eax]
add edx, 0x3ff
shr edx, 0xa
inc ecx
mov dword [eax], edx
cmp ecx, 8
jl 0x10062e6
mov ebx, dword [ebp - 0x684]
mov edi, dword [ebp - 0x670]
push 0x24
lea eax, [ebp - 0x52c]
push eax
push ebx
push 0x1001998
push 0xa
push edi
call fcn.01007923
test eax, eax
je 0x100640a
push 4
push 0x1011594
push ebx
push 0x1001990
push 0xa
push edi
call fcn.01007923
test eax, eax
je 0x100640a
push 4
push 0x101158c
push ebx
push 0x1001984
push 0xa
push edi
call fcn.01007923
test eax, eax
je 0x100640a
mov eax, dword [0x1011574]
test eax, eax
je 0x100638b
push eax
call esi
inc eax
push eax
push dword [0x1011574]
push ebx
push 0x1001974
push 0xa
push edi
call fcn.01007923
test eax, eax
je 0x100640a
push 4
push 0x101159c
push ebx
push 0x1001964
push 0xa
push edi
call fcn.01007923
test eax, eax
je 0x100640a
push edi
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x678]
call fcn.0100c766
test eax, eax
jne 0x10063c7
mov dword [ebp - 0x680], 0x471
jmp 0x100640a
mov eax, dword [0x10115a0]
test eax, eax
je 0x10063e5
push dword [eax]
push eax
push ebx
push 0x1001958
push 0xa
push edi
call fcn.01007923
test eax, eax
je 0x100640a
push 0x100fffc
push edi
call fcn.01006f9a
test eax, eax
je 0x100640a
push 0
push edi
call fcn.010093f5
test eax, eax
jne 0x100641c
mov dword [ebp - 0x680], 0x45e
xor eax, eax
push eax
push 0x10
push eax
push eax
push dword [ebp - 0x680]
jmp 0x1005ebe
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0100cb7f
leave
ret 4