Function at 0x59ed80
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ffbdb
mov eax, dword fs:[0]
push eax
sub esp, 0x284
mov eax, dword [0x70f200]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov ebx, edx
mov dword [ebp - 0x288], ebx
mov dword [ebp - 0x284], ecx
mov esi, dword [ebp + 0xc]
call fcn.005d8c40
mov edi, eax
mov dword [ebp - 0x28c], edi
test edi, edi
je 0x59ede2
push ecx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x59ede2
xor al, al
jmp 0x59f1a9
push 1
xorps xmm0, xmm0
mov dword [ebp - 0x14], 0
push esi
lea ecx, [ebp - 0x1c]
movq qword [ebp - 0x1c], xmm0
call fcn.005dc570
mov dword [ebp - 4], 0
lea ecx, [ebp - 0x40]
xorps xmm0, xmm0
mov dword [ebp - 0x38], 0
movq qword [ebp - 0x40], xmm0
call fcn.005dc5e0
xorps xmm0, xmm0
mov dword [ebp - 0x2c], 0
lea ecx, [ebp - 0x34]
movq qword [ebp - 0x34], xmm0
call fcn.005dc5e0
push ebx
mov byte [ebp - 4], 2
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x59f18d
test edi, edi
jne 0x59ee58
lea ecx, [ebp - 0x1c]
call fcn.005dc3a0
test eax, eax
je 0x59f18d
sub esp, 8
mov dword [ebp - 0x20], 0
xorps xmm0, xmm0
lea ecx, [ebp - 0x28]
movq qword [ebp - 0x28], xmm0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push str.temp.zip
push ebx
call fcn.005dc520
push 1
lea ecx, [ebp - 0x28]
mov byte [ebp - 4], 3
call fcn.005dc190
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExW]
push eax
push ebx
call esi
xor bl, bl
test eax, eax
je 0x59f183
lea ecx, [ebp - 0x1c]
mov byte [ebp - 0x271], bl
mov dword [ebp - 0x27c], 0
xor edi, edi
call fcn.005dc3a0
test eax, eax
jne 0x59eef9
push dword [ebp - 0x284]
lea ecx, [ebp - 0x1c]
call fcn.005dc510
push 1
lea ecx, [ebp - 0x1c]
call fcn.005dbf40
cmp byte [eax + 8], bl
je 0x59f14a
lea ecx, [ebp - 0x1c]
call fcn.005dc3a0
test eax, eax
je 0x59f14a
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0x6287bc
lea ecx, [ebp - 0x1c]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x34]
call fcn.005dc200
lea ecx, [ebp - 0x28]
call fcn.005dc190
mov ecx, eax
call fcn.0059f790
mov ebx, eax
test ebx, ebx
je 0x59f144
mov ecx, dword [ebp - 0x288]
call fcn.0059f430
mov dword [ebp - 0x278], eax
test eax, eax
je 0x59f0f7
lea eax, [ebp - 0x270]
or edx, 0xffffffff
push eax
mov ecx, ebx
call fcn.0059f730
add esp, 4
test eax, eax
jne 0x59f0f7
mov eax, dword [ebp - 0x270]
mov dword [ebp - 0x280], eax
test eax, eax
je 0x59f0b5
xor esi, esi
test eax, eax
jle 0x59efbb
nop dword [eax + eax]
lea eax, [ebp - 0x270]
mov edx, esi
push eax
mov ecx, ebx
call fcn.0059f730
add esp, 4
test eax, eax
jne 0x59f0f7
cmp dword [ebp - 0x44], edi
cmovg edi, dword [ebp - 0x44]
inc esi
cmp esi, dword [ebp - 0x280]
jl 0x59ef90
add edi, 0x400
push 0x61e70c
push edi
call fcn.0041e7d8
mov esi, eax
add esp, 8
mov dword [ebp - 0x27c], esi
test esi, esi
je 0x59f0f9
xor esi, esi
cmp dword [ebp - 0x280], esi
jle 0x59f0b5
nop dword [eax]
lea eax, [ebp - 0x270]
mov edx, esi
push eax
mov ecx, ebx
call fcn.0059f730
add esp, 4
test eax, eax
jne 0x59f0c5
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x1c]
call fcn.005dc4c0
test al, al
jne 0x59f0a8
lea eax, [ebp - 0x26c]
push eax
lea ecx, [ebp - 0x40]
call fcn.005dc510
push 0
push 1
push 1
push 0
lea ecx, [ebp - 0x34]
call fcn.005dc190
push eax
lea ecx, [ebp - 0x40]
call fcn.005daa70
cmp eax, 1
je 0x59f0a8
test byte [ebp - 0x64], 0x10
je 0x59f068
mov ecx, dword [ebp - 0x278]
lea edx, [ebp - 0x26c]
call fcn.005a3c00
jmp 0x59f0a4
mov eax, dword [ebp - 0x44]
test eax, eax
je 0x59f089
push edi
push dword [ebp - 0x27c]
mov edx, esi
mov ecx, ebx
call fcn.0059f650
add esp, 8
test eax, eax
jne 0x59f0c5
mov eax, dword [ebp - 0x44]
mov ecx, dword [ebp - 0x278]
lea edx, [ebp - 0x26c]
push eax
push dword [ebp - 0x27c]
call fcn.005a3c20
add esp, 8
test eax, eax
jne 0x59f0c5
inc esi
cmp esi, dword [ebp - 0x280]
jl 0x59eff0
cmp dword [ebp - 0x28c], 0
jne 0x59f0cd
mov byte [ebp - 0x271], 1
mov esi, dword [ebp - 0x27c]
jmp 0x59f0f9
lea ecx, [ebp - 0x1c]
call fcn.005dc190
mov edi, dword [ebp - 0x278]
mov edx, edi
mov ecx, dword [ebp - 0x284]
push eax
call fcn.0059f1d0
mov esi, dword [ebp - 0x27c]
mov byte [ebp - 0x271], al
jmp 0x59f0ff
xor esi, esi
mov edi, dword [ebp - 0x278]
mov ecx, ebx
call fcn.005a3b90
test al, al
je 0x59f111
call fcn.005a3ba0
jmp 0x59f116
call fcn.0059f5f0
test edi, edi
je 0x59f131
mov ecx, edi
call fcn.005a3b90
test al, al
je 0x59f12c
call fcn.005a3ba0
jmp 0x59f131
call fcn.0059f5f0
test esi, esi
je 0x59f13e
push esi
call fcn.0041e1c3
add esp, 4
mov esi, dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov bl, byte [ebp - 0x271]
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x59f183
test bl, bl
jne 0x59f174
push 1
push dword [ebp - 0x288]
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
call esi
lea ecx, [ebp - 0x28]
call fcn.005dc190
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
lea ecx, [ebp - 0x28]
call fcn.005dc430
jmp 0x59f18f
xor bl, bl
lea ecx, [ebp - 0x34]
call fcn.005dc430
lea ecx, [ebp - 0x40]
call fcn.005dc430
lea ecx, [ebp - 0x1c]
call fcn.005dc430
mov al, bl
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0041e1b5
mov esp, ebp
pop ebp
ret 8