Function at 0x4fb247
Capabilities:
Delete file
Move file

Disassembly:
mov eax, 0x678e4a
call fcn.0062921c
sub esp, 0x60
push ebx
mov ebx, dword [ebp + 0x18]
test bl, bl
push esi
push edi
sete al
movzx eax, al
push eax
push dword [ebp + 0xc]
lea eax, [ebp - 0x3c]
push dword [ebp + 0x10]
push eax
call fcn.0045b5b9
and dword [ebp - 4], 0
lea eax, [ebp - 0x54]
push ebx
push dword [ebp + 8]
push dword [ebp + 0x14]
push eax
call fcn.0045b5b9
xor edi, edi
mov dword [ebp - 0x10], 7
and dword [ebp - 0x14], edi
xor eax, eax
mov dword [ebp + 0x18], edi
mov word [ebp - 0x24], ax
mov eax, dword [ebp - 0x3c]
xor esi, esi
inc esi
mov byte [ebp - 4], 2
cmp dword [ebp - 0x28], 8
mov dword [ebp + 0x14], esi
jae 0x4fb2b1
lea eax, [ebp - 0x3c]
push eax
call fcn.00455ae5
test al, al
jne 0x4fb30e
push ebx
push dword [ebp + 0xc]
lea eax, [ebp - 0x6c]
push dword [ebp + 0x10]
push eax
call fcn.0045b5b9
push eax
lea ecx, [ebp - 0x3c]
call fcn.004232e6
push 0
push 1
lea ecx, [ebp - 0x6c]
call fcn.0042386b
lea eax, [ebp - 0x54]
push eax
lea ecx, [ebp - 0x3c]
call fcn.00434271
test eax, eax
je 0x4fb3cd
cmp dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x3c]
jae 0x4fb300
lea eax, [ebp - 0x3c]
push eax
call fcn.00455ae5
test al, al
je 0x4fb3cd
mov edi, dword [ebp + 8]
cmp dword [ebp - 0x28], 8
mov eax, dword [ebp - 0x3c]
jae 0x4fb31d
lea eax, [ebp - 0x3c]
push esi
push eax
lea eax, [ebp - 0x6c]
push str._s._d
push eax
call fcn.004607f4
add esp, 0x10
push 0xffffffffffffffff
push 0
push eax
lea ecx, [ebp - 0x24]
mov byte [ebp - 4], 3
call fcn.004238b7
push 0
push 1
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.0042386b
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x4fb35d
lea eax, [ebp - 0x24]
push eax
call fcn.00455ae5
test al, al
jne 0x4fb39d
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x4fb373
lea eax, [ebp - 0x24]
cmp dword [edi + 0x14], 8
jb 0x4fb37d
mov ebx, dword [edi]
jmp 0x4fb37f
mov ebx, edi
push eax
call fcn.0045b811
push ebx
mov esi, eax
call fcn.0045b811
push esi
push eax
call fcn.006389aa
pop ecx
pop ecx
test eax, eax
jne 0x4fb3a6
mov esi, dword [ebp + 0x14]
inc esi
mov dword [ebp + 0x14], esi
jmp 0x4fb311
mov ecx, dword [ebp - 0x24]
push 8
pop esi
cmp dword [ebp - 0x10], esi
jae 0x4fb3b4
lea ecx, [ebp - 0x24]
mov eax, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], esi
jae 0x4fb3bf
lea eax, [ebp - 0x3c]
mov ebx, dword [sym.imp.KERNEL32.DLL_MoveFileW]
push ecx
push eax
call ebx
test eax, eax
jne 0x4fb3d4
xor edi, edi
jmp 0x4fb51e
cmp byte [ebp + 0x1c], 0
je 0x4fb42c
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x40], esi
jae 0x4fb3e5
lea eax, [ebp - 0x54]
push eax
call fcn.00455ae5
test al, al
je 0x4fb42c
mov eax, dword [ebp - 0x54]
cmp dword [ebp - 0x40], esi
jae 0x4fb3fa
lea eax, [ebp - 0x54]
push eax
call dword [sym.imp.KERNEL32.DLL_DeleteFileW]
test eax, eax
jne 0x4fb42c
mov ecx, dword [ebp - 0x3c]
cmp dword [ebp - 0x28], esi
jae 0x4fb410
lea ecx, [ebp - 0x3c]
mov eax, dword [ebp - 0x24]
cmp dword [ebp - 0x10], esi
jae 0x4fb41b
lea eax, [ebp - 0x24]
push ecx
push eax
call ebx
call dword [sym.imp.KERNEL32.DLL_GetLastError]
mov edi, eax
jmp 0x4fb51e
mov ebx, dword [ebp - 0x54]
mov eax, ebx
cmp dword [ebp - 0x40], esi
jae 0x4fb439
lea eax, [ebp - 0x54]
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
mov edx, ecx
cmp esi, 8
jae 0x4fb449
lea edx, [ebp - 0x3c]
mov di, word [edx]
cmp di, word [eax]
mov edi, dword [ebp + 0x18]
jne 0x4fb47a
cmp word [edx], di
je 0x4fb476
mov di, word [edx + 2]
cmp di, word [eax + 2]
mov word [ebp + 0x1e], di
mov edi, dword [ebp + 0x18]
jne 0x4fb47a
add edx, 4
add eax, 4
cmp word [ebp + 0x1e], di
jne 0x4fb449
xor eax, eax
jmp 0x4fb47f
sbb eax, eax
or eax, 1
test eax, eax
je 0x4fb502
cmp dword [ebp - 0x40], 8
jae 0x4fb48c
lea ebx, [ebp - 0x54]
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x4fb498
lea eax, [ebp - 0x24]
push ebx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
jne 0x4fb51e
mov esi, dword [sym.imp.KERNEL32.DLL_GetLastError]
call esi
mov edi, eax
cmp edi, 3
je 0x4fb4b8
cmp edi, 2
jne 0x4fb4f8
mov eax, dword [ebp - 0x54]
xor edi, edi
cmp dword [ebp - 0x40], 8
jae 0x4fb4c6
lea eax, [ebp - 0x54]
push eax
call fcn.0045d180
test al, al
je 0x4fb4f4
cmp dword [ebp - 0x40], 8
mov ecx, dword [ebp - 0x54]
jae 0x4fb4dc
lea ecx, [ebp - 0x54]
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x4fb4e8
lea eax, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
test eax, eax
jne 0x4fb51e
call esi
mov edi, eax
test edi, edi
je 0x4fb51e
mov esi, dword [ebp - 0x28]
mov ecx, dword [ebp - 0x3c]
cmp esi, 8
jae 0x4fb50a
lea ecx, [ebp - 0x3c]
cmp dword [ebp - 0x10], 8
mov eax, dword [ebp - 0x24]
jae 0x4fb516
lea eax, [ebp - 0x24]
push ecx
push eax
call dword [sym.imp.KERNEL32.DLL_MoveFileW]
xor ebx, ebx
lea ecx, [ebp - 0x24]
push ebx
push 1
call fcn.0042386b
push ebx
push 1
lea ecx, [ebp - 0x54]
call fcn.0042386b
push ebx
push 1
lea ecx, [ebp - 0x3c]
call fcn.0042386b
mov ecx, dword [ebp - 0xc]
mov eax, edi
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
mov esp, ebp
pop ebp
ret 0x18