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

Disassembly:
push 0x14
mov eax, 0x1006ec7a
call fcn.1005218d
mov eax, dword [0x10092fdc]
and dword [ebp - 0x18], 0
mov esi, 0x10092fdc
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x10], eax
and dword [ebp - 4], 0
mov eax, dword [0x10092fdc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x14], eax
mov byte [ebp - 4], 1
push dword [ebp + 0xc]
lea eax, [ebp - 0x10]
push eax
call fcn.100230ae
lea eax, [ebp - 0x14]
push eax
call fcn.10037334
mov edi, dword [ebp + 8]
mov ebx, eax
mov eax, edi
call fcn.100372cb
test eax, eax
jle 0x10036bf0
lea eax, [ebp - 0x14]
lea edi, [ebp - 0x10]
call fcn.100359a7
jmp 0x10036bfe
mov eax, dword [edi]
push dword [eax - 0xc]
push eax
lea eax, [ebp - 0x10]
call fcn.10035b9e
mov edi, dword [ebp - 0x10]
mov ecx, dword [ebp + 8]
push edi
call fcn.10036da9
mov ebx, dword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
jne 0x10036d1c
push 0
push edi
call fcn.100517ef
pop ecx
pop ecx
test eax, eax
jne 0x10036d8b
mov eax, dword [0x10092fdc]
mov ecx, esi
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp + 0xc], eax
push edi
push str._s.tmp
lea eax, [ebp + 0xc]
mov byte [ebp - 4], 2
call fcn.1002d353
pop ecx
pop ecx
push dword [ebp + 0xc]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
push dword [ebp + 0xc]
push edi
call fcn.10051807
pop ecx
pop ecx
test eax, eax
je 0x10036c99
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov edi, 0x10078b74
lea eax, [ebp - 0x1c]
push edi
push eax
lea ecx, [ebp - 0x10]
call fcn.10035a38
pop ecx
pop ecx
mov byte [ebp - 4], 3
jmp 0x10036cc7
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.10011a8a
mov edi, dword [ebp - 0x10]
jmp 0x10036d8b
push 4
push 0
push dword [ebp + 0xc]
call ebx
mov ecx, dword [ebp + 8]
push edi
call fcn.10036da9
test eax, eax
jne 0x10036d0d
mov edi, 0x10078b74
lea eax, [ebp - 0x1c]
push edi
push eax
lea ecx, [ebp - 0x10]
call fcn.10035a38
pop ecx
pop ecx
mov byte [ebp - 4], 4
push dword [eax]
mov ecx, dword [ebp + 8]
call fcn.10036da9
mov esi, eax
mov byte [ebp - 4], 2
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
call fcn.10011a8a
test esi, esi
je 0x10036c86
lea eax, [ebp + 8]
push edi
push eax
lea ecx, [ebp - 0x10]
call fcn.10035a38
mov eax, dword [eax]
pop ecx
pop ecx
push 5
push dword [ebp - 0x10]
push eax
call ebx
mov eax, dword [ebp + 8]
add eax, 0xfffffff0
call fcn.10011a8a
mov edi, dword [ebp - 0x10]
mov byte [ebp - 4], 1
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
call fcn.10011a8a
cmp dword [edi - 0xc], 0
jl 0x10036d84
mov esi, str.TSVulFw_Cache
push esi
push edi
call fcn.1004d7ad
pop ecx
pop ecx
test eax, eax
je 0x10036d84
sub eax, edi
sar eax, 1
cmp eax, 0xffffffff
je 0x10036d84
lea eax, [edi - 0x10]
call fcn.10022df9
add eax, 0x10
mov dword [ebp + 8], eax
push str.TSVulFw
push esi
lea eax, [ebp + 8]
push eax
mov byte [ebp - 4], 5
call fcn.1003736f
push edi
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov esi, dword [ebp + 8]
test eax, eax
je 0x10036d7c
push 1
push esi
push edi
call ebx
test eax, eax
jne 0x10036d7c
push 5
push esi
push edi
call ebx
lea eax, [esi - 0x10]
call fcn.10011a8a
mov dword [ebp - 0x18], 1
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
call fcn.10011a8a
lea eax, [edi - 0x10]
call fcn.10011a8a
mov eax, dword [ebp - 0x18]
call fcn.10052265
ret 8