Function at 0x1004460
Capabilities:
Copy file
Delete file
Read file on windows
Set file attributes

Disassembly:
sub esp, 0x680
push ebx
push esi
push edi
mov esi, 0x200
push esi
lea eax, [esp + 0x290]
push eax
push 0x41e
mov dword [esp + 0x1c], 0x45d
call fcn.010029f0
mov ebx, dword [esp + 0x690]
lea eax, [esp + 0x28c]
push eax
push 0x856
push ebx
call fcn.01002e9b
push 0x10143c0
push esi
lea eax, [esp + 0x294]
push eax
mov edi, 0x1001890
push edi
push 0x1001880
push 0x1001454
call fcn.010035e3
test eax, eax
jne 0x10044d9
push edi
lea eax, [esp + 0x290]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push 0x104
lea eax, [esp + 0x18c]
push eax
lea eax, [esp + 0x294]
push eax
call fcn.0100322e
test eax, eax
lea eax, [esp + 0x188]
jne 0x1004517
push 0
push 0x10
push 0
push eax
push 0x46d
push ebx
call fcn.01003267
xor eax, eax
jmp 0x1004adc
push ebp
xor edi, edi
push edi
mov ebp, 0x10128bc
push ebp
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x1004568
call dword [sym.imp.KERNEL32.dll_GetLastError]
push edi
push esi
lea ecx, [esp + 0x498]
push ecx
push edi
push eax
push edi
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push edi
push 0x10
lea eax, [esp + 0x498]
push eax
push ebp
push 0x45b
push ebx
call fcn.01003267
xor eax, eax
jmp 0x1004adb
push 0x80
push ebp
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push edi
push ebp
call fcn.01008907
mov edi, eax
test edi, edi
mov dword [esp + 0x20], edi
jne 0x1004591
push eax
push 0x10
push eax
push ebp
push 0x45c
jmp 0x100455b
mov ebx, dword [sym.imp.KERNEL32.dll_lstrlenA]
mov esi, 0x1012538
push esi
call ebx
inc eax
push eax
push esi
mov esi, 0x409
push esi
push 0x1001878
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
cmp dword [0x1012424], 0
mov ebp, 0x1001870
je 0x10045db
push 0x10125b8
call ebx
inc eax
push eax
push 0x10125b8
jmp 0x10045e1
push ebp
call ebx
inc eax
push eax
push ebp
push esi
push 0x1001868
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
cmp dword [0x1012428], 0
je 0x10046e3
lea eax, [esp + 0x4c]
push eax
push 0x10127b8
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [esp + 0x6c]
sub edi, dword [esp + 0x68]
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 0x10127b8
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x1004659
push 0
push 0x10
push 0
push 0x10127b8
push 0x468
jmp 0x1004abc
lea eax, [edi + 1]
push eax
push 0x40
mov dword [esp + 0x24], eax
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
cmp eax, ecx
mov dword [esp + 0x10], eax
push ecx
jne 0x1004682
push 0x10
push ecx
push ecx
push 0x44c
jmp 0x1004abc
lea ecx, [esp + 0x28]
push ecx
push edi
push eax
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10046aa
push eax
push 0x10
push eax
push 0x10127b8
push 0x469
jmp 0x1004abc
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [esp + 0x1c]
mov edi, dword [esp + 0x14]
push edi
push esi
push 0x1001860
push 0xa
push dword [esp + 0x34]
call fcn.010082b9
test eax, eax
push edi
je 0x10048d6
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov edi, dword [esp + 0x20]
jmp 0x10046ff
push ebp
call ebx
inc eax
push eax
push ebp
push esi
push 0x1001860
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
cmp dword [0x1013e44], 0x865
je 0x10047c1
push 0x10133d8
call ebx
inc eax
push eax
push 0x10133d8
push esi
push 0x1001854
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push 0x10131d8
call ebx
inc eax
push eax
push 0x10131d8
push esi
push 0x1001844
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
cmp byte [0x1013a24], 0
je 0x1004767
push 0x1013a24
jmp 0x1004768
push ebp
call ebx
inc eax
cmp byte [0x1013a24], 0
mov ecx, 0x1013a24
jne 0x100477b
mov ecx, ebp
push eax
push ecx
push esi
push 0x100183c
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
cmp byte [0x1013c2c], 0
je 0x10047a3
push 0x1013c2c
jmp 0x10047a4
push ebp
call ebx
inc eax
cmp byte [0x1013c2c], 0
mov ecx, 0x1013c2c
jne 0x10047b7
mov ecx, ebp
push eax
push ecx
push esi
push 0x1001834
jmp 0x10047cd
push ebp
call ebx
inc eax
push eax
push ebp
push esi
push 0x1001854
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push 4
push 0x1013e48
push esi
push 0x1001828
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
cmp dword [0x101242c], 0
je 0x1004808
mov ebp, 0x10129c0
push ebp
call ebx
inc eax
push eax
push ebp
push esi
push 0x100181c
push 0xa
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
lea eax, [esp + 0x4c]
push eax
mov ebp, 0x1012ecc
push ebp
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [esp + 0x6c]
sub edi, dword [esp + 0x68]
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 ebp
call dword [sym.imp.KERNEL32.dll_CreateFileA]
cmp eax, 0xffffffff
mov dword [esp + 0x18], eax
jne 0x1004872
push 0
push 0x10
push 0
push ebp
push 0x46a
jmp 0x1004abc
lea eax, [edi + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
test eax, eax
mov dword [esp + 0x10], eax
je 0x1004a76
push 0
lea ecx, [esp + 0x28]
push ecx
push edi
push eax
push dword [esp + 0x28]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x10048b0
push eax
push 0x10
push eax
push ebp
push 0x46b
jmp 0x1004abc
push dword [esp + 0x18]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
mov edi, dword [esp + 0x14]
push edi
push esi
push 0x1001814
push 0xa
push dword [esp + 0x34]
call fcn.010082b9
test eax, eax
push edi
jne 0x10048e1
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x1004ab1
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebp, dword [0x1013e64]
push 9
pop ecx
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
jmp 0x100499a
push dword [ebp + 4]
mov edi, dword [ebp]
call ebx
push edi
mov dword [esp + 0x20], eax
call ebx
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + eax + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov edi, eax
test edi, edi
mov dword [esp + 0x1c], edi
je 0x1004a76
push dword [ebp + 4]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcpyA]
push dword [ebp]
push edi
call dword [sym.imp.KERNEL32.dll_lstrcatA]
lea eax, [esp + 0x4c]
push eax
push edi
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [esp + 0x6c]
sub edi, dword [esp + 0x68]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [esp + 0x1c]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [esp + 0x10], 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 [esp + 0x10]
add dword [esp + eax*4 + 0x28], edx
shl ecx, 1
inc eax
cmp eax, 8
mov dword [esp + 0x10], eax
jl 0x100496e
add dword [esp + 0x48], edi
mov ebp, dword [ebp + 0xc]
test ebp, ebp
jne 0x10048fd
xor ecx, ecx
lea eax, [esp + ecx*4 + 0x28]
mov edx, dword [eax]
add edx, 0x3ff
shr edx, 0xa
inc ecx
cmp ecx, 8
mov dword [eax], edx
jl 0x10049a4
mov edi, dword [esp + 0x20]
push 0x24
lea eax, [esp + 0x2c]
push eax
push esi
push 0x1001808
push 0xa
pop ebp
push ebp
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push 4
push 0x1013e54
push esi
push 0x1001800
push ebp
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push 4
push 0x1013e4c
push esi
push 0x10017f4
push ebp
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
mov eax, dword [0x1013e34]
test eax, eax
je 0x1004a3b
push eax
call ebx
inc eax
push eax
push dword [0x1013e34]
push esi
push 0x10017e4
push ebp
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push 4
push 0x1013e5c
push esi
push 0x10017d4
push ebp
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push edi
lea eax, [esp + 0x190]
push eax
push dword [esp + 0x69c]
call fcn.0100b2ae
test eax, eax
jne 0x1004a80
mov dword [esp + 0x14], 0x471
jmp 0x1004ab1
mov dword [esp + 0x14], 0x44c
jmp 0x1004ab1
mov eax, dword [0x1013e60]
test eax, eax
je 0x1004a9d
push dword [eax]
push eax
push esi
push 0x10017c8
push ebp
push edi
call fcn.010082b9
test eax, eax
je 0x1004ab1
push 0
push edi
call fcn.010084bb
test eax, eax
jne 0x1004ad8
mov dword [esp + 0x14], 0x45e
xor eax, eax
push eax
push 0x10
push eax
push eax
push dword [esp + 0x24]
push dword [esp + 0x6a8]
call fcn.01003267
push 0x10128bc
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x1004561
xor eax, eax
inc eax
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x680
ret 4