Function at 0x525580
Capabilities:
Copy file
Delete file

Disassembly:
push ebp
mov ebp, esp
mov ecx, 0xa
push 0
push 0
dec ecx
jne 0x525588
push ecx
push ebx
push esi
push edi
mov eax, 0x522b48
call fcn.00407420
xor eax, eax
push ebp
push 0x525973
push dword fs:[eax]
mov dword fs:[eax], esp
mov eax, dword [0x532a58]
mov eax, dword [eax]
call fcn.004702f4
xor eax, eax
push ebp
push 0x525614
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.0051d180
lea edx, [ebp - 0x10]
or ecx, 0xffffffff
mov eax, 0x52598c
call fcn.0051d260
call fcn.00522610
test al, al
je 0x52560a
lea edx, [ebp - 0x10]
or ecx, 0xffffffff
mov eax, 0x5259d4
call fcn.0051d260
call fcn.00522924
call fcn.00522588
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x525958
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x52561e
lea edx, [ebp - 0x24]
xor eax, eax
call fcn.00403544
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x20], eax
mov byte [ebp - 0x1c], 0xb
lea edx, [ebp - 0x28]
mov eax, 1
call fcn.00403544
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x18], eax
mov byte [ebp - 0x14], 0xb
lea edx, [ebp - 0x20]
mov ecx, 1
mov eax, 0x5259e8
call fcn.0051d260
xor eax, eax
push ebp
push 0x5258ad
push dword fs:[eax]
mov dword fs:[eax], esp
call fcn.004034e4
test eax, eax
jle 0x5257ff
lea edx, [ebp - 0x30]
xor eax, eax
call fcn.00403544
mov eax, dword [ebp - 0x30]
lea edx, [ebp - 0x2c]
call fcn.0040a80c
mov edx, dword [ebp - 0x2c]
mov eax, 0x53952c
call fcn.00405354
mov edx, 0x539530
mov eax, 1
call fcn.00403544
mov eax, dword [0x53952c]
mov edx, 0x5259fc
call fcn.00405728
jne 0x525709
cmp dword [0x539530], 0
je 0x525709
lea edx, [ebp - 0x10]
or ecx, 0xffffffff
mov eax, 0x525a0c
call fcn.0051d260
xor ebx, ebx
jmp 0x5256ed
mov eax, dword [0x539530]
call fcn.00405790
push eax
call sub.kernel32.dll_DeleteFileA
push 0x64
call sub.kernel32.dll_Sleep_2
inc ebx
mov eax, dword [0x539530]
call fcn.0040a240
test al, al
je 0x5257ff
cmp ebx, 0x32
jl 0x5256d5
jmp 0x5257ff
mov eax, dword [0x53952c]
mov edx, 0x525a2c
call fcn.00405728
jne 0x5257ff
cmp dword [0x539530], 0
je 0x5257ff
lea edx, [ebp - 0x10]
or ecx, 0xffffffff
mov eax, 0x525a3c
call fcn.0051d260
xor ebx, ebx
jmp 0x525757
mov eax, dword [0x539530]
call fcn.00405790
push eax
call sub.kernel32.dll_DeleteFileA
push 0x64
call sub.kernel32.dll_Sleep_2
inc ebx
mov eax, dword [0x539530]
call fcn.0040a240
test al, al
je 0x52576a
cmp ebx, 0x32
jl 0x52573f
mov eax, dword [0x539530]
call fcn.0040a240
test al, al
je 0x52578a
push 0x10
push 0
push 0x525a4c
push 0
call sub.user32.dll_MessageBoxA_1
jmp 0x5257f2
lea edx, [ebp - 0x38]
xor eax, eax
call fcn.00403544
mov eax, dword [ebp - 0x38]
lea ecx, [ebp - 0x34]
mov edx, 0x5259fc
call fcn.0040a600
mov edx, dword [ebp - 0x34]
mov eax, 0x539534
call fcn.00405354
push 0
mov eax, dword [0x539534]
call fcn.00405790
push eax
lea edx, [ebp - 0x3c]
xor eax, eax
call fcn.00403544
mov eax, dword [ebp - 0x3c]
call fcn.00405790
push eax
call sub.kernel32.dll_CopyFileA
xor edx, edx
mov eax, dword [0x539534]
call fcn.0051d618
lea edx, [ebp - 0x10]
or ecx, 0xffffffff
mov eax, 0x525aac
call fcn.0051d260
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x525958
lea edx, [ebp - 0x44]
xor eax, eax
call fcn.00403544
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x40]
mov edx, 0x525a2c
call fcn.0040a600
mov edx, dword [ebp - 0x40]
mov eax, 0x539534
call fcn.00405354
lea edx, [ebp - 0x48]
mov eax, dword [0x539534]
call fcn.00472e98
mov edx, dword [ebp - 0x48]
mov eax, 0x53953c
call fcn.00405354
lea edx, [ebp - 0x50]
xor eax, eax
call fcn.00403544
mov eax, dword [ebp - 0x50]
lea edx, [ebp - 0x4c]
call fcn.00472e98
mov edx, dword [ebp - 0x4c]
mov eax, 0x539538
call fcn.00405354
mov eax, dword [0x53953c]
mov edx, dword [0x539538]
call fcn.00405728
jne 0x5258a3
xor ebx, ebx
jmp 0x525890
mov eax, dword [0x539534]
call fcn.00405790
push eax
call sub.kernel32.dll_DeleteFileA
push 0x64
call sub.kernel32.dll_Sleep_2
inc ebx
mov eax, dword [0x539534]
call fcn.0040a240
test al, al
je 0x5258a3
cmp ebx, 0x32
jl 0x525878
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
jmp 0x5258e3
push 0x525ad8
push 0
push 0
call fcn.004076b4
call sub.kernel32.dll_GetLastError_1
cmp eax, 0xb7
je 0x525958
mov eax, dword [0x532a58]
mov eax, dword [eax]
mov dl, 1
call fcn.00472128
mov eax, dword [0x532a58]
mov eax, dword [eax]
mov edx, 0x525af4
call fcn.0046fdac
mov ecx, dword [0x5328a8]
mov eax, dword [0x532a58]
mov eax, dword [eax]
mov edx, dword [0x514c20]
call fcn.0047030c
mov ecx, dword [0x532814]
mov eax, dword [0x532a58]
mov eax, dword [eax]
mov edx, dword [0x51ce5c]
call fcn.0047030c
mov eax, dword [0x532a58]
mov eax, dword [eax]
call fcn.0047038c
xor eax, eax
pop edx
pop ecx
pop ecx
mov dword fs:[eax], edx
push 0x52597a
lea eax, [ebp - 0x54]
mov edx, 0xd
call fcn.00405324
ret