Function at 0x13151180
Capabilities:
Copy file
Delete file
Get file size
Hash data with md5
Read file on windows
Write file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9b4
mov eax, dword [0x131e90f0]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
push edi
push 0x200
lea eax, [ebp - 0x5a0]
mov dword [ebp - 0x9a8], edx
push 0
push eax
call fcn.1319ba80
add esp, 0xc
mov dword [ebp - 0x9a4], 0
push 0
push 0
push 3
push 0
push 1
push closesocket
push 0x13c26ed0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
mov esi, eax
cmp esi, 0xffffffff
je 0x13151308
mov ebx, dword [sym.imp.KERNEL32.dll_SetFilePointer]
push 2
push 0
push 0xfffffffffffffffc
push esi
call ebx
push 0
lea eax, [ebp - 0x9a4]
push eax
push 4
lea eax, [ebp - 0xa0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [ebp - 0x9a4], 4
jne 0x13151305
lea ecx, [ebp - 0xa0]
call fcn.13146110
lea edx, [ebp - 0x138]
sub edx, eax
nop
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x13151230
lea eax, [ebp - 0x138]
push eax
call fcn.131a85ab
add esp, 4
mov edi, eax
lea eax, [ebp - 0xa0]
push 0x96
push 0
push eax
call fcn.1319ba80
add esp, 0xc
lea eax, [ebp - 0x138]
push 0x96
push 0
push eax
call fcn.1319ba80
add esp, 0xc
lea eax, [ebp - 0x238]
push 0x96
push 0
push eax
call fcn.1319ba80
add esp, 0xc
mov eax, 0xfffffffc
sub eax, edi
push 2
push 0
push eax
push esi
call ebx
push 0
lea eax, [ebp - 0x9a4]
push eax
lea eax, [edi + 4]
push eax
lea eax, [ebp - 0xa0]
push eax
push esi
call dword [sym.imp.KERNEL32.dll_ReadFile]
lea ecx, [ebp - 0xa0]
call fcn.13146110
lea edx, [ebp - 0x138]
sub edx, eax
nop dword [eax]
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x131512d0
push edi
lea eax, [ebp - 0x138]
push eax
lea eax, [ebp - 0x238]
push eax
call fcn.131a7590
add esp, 0xc
lea ecx, [ebp - 0x238]
call fcn.1314adf0
mov edi, dword [sym.imp.KERNEL32.dll_CloseHandle]
push esi
call edi
xor ecx, ecx
nop word [eax + eax]
mov al, byte [ebp + ecx - 0x238]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x5a1], al
test al, al
jne 0x13151310
mov ebx, dword [sym.imp.KERNEL32.dll_Sleep]
push 0x3e8
call ebx
lea eax, [ebp - 0x5a0]
push str.P2k13
push eax
call fcn.1319aca0
add esp, 8
test eax, eax
jne 0x1315135d
xor al, al
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.13198da3
mov esp, ebp
pop ebp
ret
xor ecx, ecx
nop
mov al, byte [ebp + ecx - 0x5a0]
lea ecx, [ecx + 1]
mov byte [ebp + ecx - 0x109], al
test al, al
jne 0x13151360
lea esi, [ebp - 0x108]
lea ecx, [esi + 1]
nop
mov al, byte [esi]
inc esi
test al, al
jne 0x13151380
lea eax, [ebp - 0x5a0]
sub esi, ecx
push 0x131d9ef0
push eax
call fcn.131a40f9
push 0x131d9ef0
push 0
call fcn.131a40f9
push 0x63
push eax
lea eax, [ebp - 0x1a0]
push eax
call fcn.131a7590
add esp, 0x1c
push 0x64
call ebx
push 0
push 0x80
push 3
push 0
push 1
push closesocket
push 0x13c26ed0
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x9a4], eax
cmp eax, 0xffffffff
jne 0x131513f8
push eax
call edi
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.13198da3
mov esp, ebp
pop ebp
ret
push 0
push eax
call dword [sym.imp.KERNEL32.dll_GetFileSize]
mov ebx, eax
mov eax, 0xfffffffc
sub eax, esi
add ebx, eax
push ebx
call fcn.13199298
add esp, 4
mov esi, eax
push ebx
call fcn.13199298
add esp, 4
lea eax, [ebp - 0x9ac]
push 0
push eax
push ebx
push esi
push dword [ebp - 0x9a4]
call dword [sym.imp.KERNEL32.dll_ReadFile]
push dword [ebp - 0x9a4]
call edi
lea eax, [ebp - 0x108]
mov edx, ebx
push eax
mov ecx, esi
call fcn.13141d20
add esp, 4
mov edi, eax
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push eax
call fcn.131a41a9
add esp, 4
call fcn.131a4188
cdq
mov ecx, 0xf4240
idiv ecx
lea eax, [ebp - 0x3a0]
add edx, 0x64
push edx
push 0x13c27540
push str._s_d.exe
push eax
call fcn.13141a40
add esp, 0x10
push 0x64
call dword [sym.imp.KERNEL32.dll_Sleep]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.KERNEL32.dll_CreateFileA]
push 0
mov esi, eax
lea eax, [ebp - 0x9b0]
push eax
push ebx
push edi
push esi
call dword [sym.imp.KERNEL32.dll_WriteFile]
push esi
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [ebp - 0x3a0]
mov dword [ebp - 0x84], 0
push eax
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x98], 0x67452301
mov dword [ebp - 0x94], 0xefcdab89
mov dword [ebp - 0x90], 0x98badcfe
mov dword [ebp - 0x8c], 0x10325476
call fcn.13150840
lea edx, [ebp - 0x108]
sub edx, eax
mov cl, byte [eax]
lea eax, [eax + 1]
mov byte [edx + eax - 1], cl
test cl, cl
jne 0x13151525
lea ecx, [ebp - 0x108]
lea eax, [ebp - 0x1a0]
nop
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x13151560
test dl, dl
je 0x1315155c
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x13151560
add eax, 2
add ecx, 2
test dl, dl
jne 0x13151540
xor eax, eax
jmp 0x13151565
sbb eax, eax
or eax, 1
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
test eax, eax
jne 0x1315165a
mov edx, dword [ebp - 0x9a8]
mov eax, 0x131da780
mov ecx, edx
mov bl, byte [eax]
cmp bl, byte [ecx]
jne 0x131515a0
test bl, bl
je 0x1315159c
mov bl, byte [eax + 1]
cmp bl, byte [ecx + 1]
jne 0x131515a0
add eax, 2
add ecx, 2
test bl, bl
jne 0x13151580
xor eax, eax
jmp 0x131515a5
sbb eax, eax
or eax, 1
test eax, eax
je 0x13151674
mov eax, 0x131da79c
mov cl, byte [eax]
cmp cl, byte [edx]
jne 0x131515d2
test cl, cl
je 0x131515ce
mov cl, byte [eax + 1]
cmp cl, byte [edx + 1]
jne 0x131515d2
add eax, 2
add edx, 2
test cl, cl
jne 0x131515b2
xor eax, eax
jmp 0x131515d7
sbb eax, eax
or eax, 1
test eax, eax
jne 0x1315165a
push 0x131fb930
push 0x13c26ab8
lea eax, [ebp - 0x9a0]
push str._s_s
push eax
call fcn.13141a40
add esp, 0x10
lea eax, [ebp - 0x9a0]
push 0
push eax
lea eax, [ebp - 0x3a0]
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
lea eax, [ebp - 0x3a0]
push eax
call esi
push str._0127
push 0x13c24ed0
lea eax, [ebp - 0x7a0]
push str._s__s_
push eax
call fcn.13141a40
mov ecx, dword [0x131fba04]
lea edx, [ebp - 0x7a0]
call fcn.13145790
push 0x200
lea eax, [ebp - 0x7a0]
push 0
push eax
call fcn.1319ba80
add esp, 0x1c
push 0x13c26ed0
call esi
mov ecx, dword [ebp - 4]
mov al, 1
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.13198da3
mov esp, ebp
pop ebp
ret
lea edx, [ebp - 0x3a0]
mov cl, 1
call fcn.13150c50
int3