Function at 0x42ba70
Capabilities:
Check if file exists
Delete file
Get common file path
Move file
Set file attributes

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x530322
mov eax, dword fs:[0]
push eax
mov eax, 0x1528
call fcn.004ad380
mov eax, dword [0x57a438]
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 dword [ebp - 0x1530], edx
mov edi, ecx
mov dword [ebp - 0x152c], edi
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jne 0x42babf
xor eax, eax
jmp 0x42bee2
mov ebx, dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
push eax
call ebx
test eax, eax
je 0x42bab8
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42befe
mov eax, dword [ecx]
call dword [eax + 0xc]
lea esi, [eax + 0x10]
mov dword [ebp - 0x1528], esi
push 0x208
lea eax, [ebp - 0x318]
mov dword [ebp - 4], 0
push 0
push eax
call fcn.004fecc0
push 0x208
lea eax, [ebp - 0x520]
push 0
push eax
call fcn.004fecc0
add esp, 0x18
lea eax, [ebp - 0x520]
push 0x104
push eax
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryW]
lea eax, [ebp - 0x520]
push eax
call fcn.0051423c
mov eax, dword [edi]
add esp, 4
cmp dword [eax - 0xc], 0
jl 0x42bf08
movzx eax, word [eax]
push eax
call fcn.00512f94
movzx eax, ax
add esp, 4
cmp word [ebp - 0x520], ax
jne 0x42bb72
lea eax, [ebp - 0x318]
push eax
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
jmp 0x42bbc6
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
jl 0x42bf12
movzx eax, word [eax]
push eax
push str._c:.temp
lea eax, [ebp - 0x318]
push 0x104
push eax
call fcn.00429e20
add esp, 0x10
lea eax, [ebp - 0x318]
push eax
call ebx
test eax, eax
jne 0x42bbc6
lea eax, [ebp - 0x318]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push 2
lea eax, [ebp - 0x318]
push eax
call dword [sym.imp.KERNEL32.dll_SetFileAttributesW]
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42bf1c
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1524], eax
lea eax, [ebp - 0x318]
mov byte [ebp - 4], 1
push eax
lea ecx, [ebp - 0x1524]
call fcn.00406e80
test al, al
jne 0x42bc28
lea ecx, [ebp - 0x318]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42bc06
sub ecx, edx
lea eax, [ebp - 0x318]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1524]
call fcn.00406d90
mov byte [ebp - 4], 2
mov edi, dword [ebp - 0x1524]
cmp dword [edi - 0xc], 0x104
jg 0x42bd19
push 0x800
lea eax, [ebp - 0x1520]
push 0
push eax
call fcn.004fecc0
push 0x800
lea eax, [ebp - 0xd20]
push 0
push eax
call fcn.004fecc0
push edi
lea eax, [ebp - 0x1520]
push 0x400
push eax
call fcn.0051198b
push 0x100
lea eax, [ebp - 0x110]
push 0
push eax
call fcn.004fecc0
add esp, 0x30
xor ebx, ebx
nop
lea ecx, [ebp - 0x110]
call fcn.00427940
lea eax, [ebp - 0x110]
push eax
lea eax, [ebp - 0x1520]
push eax
lea eax, [ebp - 0xd20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathCombineW]
push str..tmp
lea eax, [ebp - 0xd20]
push 0x400
push eax
call fcn.0051481d
add esp, 0xc
lea eax, [ebp - 0xd20]
push eax
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42bce8
inc ebx
cmp ebx, 0xa
jl 0x42bc90
jmp 0x42bd19
lea ecx, [ebp - 0xd20]
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x42bcf1
sub ecx, edx
lea eax, [ebp - 0xd20]
sar ecx, 1
push ecx
push eax
lea ecx, [ebp - 0x1528]
call fcn.00406d90
mov esi, dword [ebp - 0x1528]
or ebx, 0xffffffff
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x42bd37
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
push 4
push 0
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileExW]
mov edi, dword [ebp - 0x152c]
push esi
push dword [edi]
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x42be4b
call fcn.00407b40
mov ecx, eax
test ecx, ecx
je 0x42bf26
mov eax, dword [ecx]
call dword [eax + 0xc]
add eax, 0x10
mov dword [ebp - 0x1524], eax
mov byte [ebp - 4], 3
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
push esi
push dword [edi]
lea eax, [ebp - 0x1524]
push str.move__s_to__s__failed__error_d
push eax
call fcn.00407210
lea ecx, [ebp - 0x1534]
call fcn.00426ed0
add esp, 0xc
mov byte [ebp - 4], 4
mov ebx, dword [eax]
lea ecx, [ebp - 0xa8]
call fcn.004093f0
mov byte [ebp - 4], 5
mov eax, 0x55fc20
mov edi, dword [ebp - 0x1524]
test edi, edi
cmovne eax, edi
push eax
lea eax, [ebp - 0xa8]
push eax
call fcn.00407550
mov eax, dword [ebx]
lea ecx, [ebp - 0xa8]
add esp, 8
push ecx
mov ecx, ebx
call dword [eax + 0xc]
lea ecx, [ebp - 0xa8]
call fcn.0040a3e0
mov byte [ebp - 4], 6
or ebx, 0xffffffff
mov ecx, dword [ebp - 0x1530]
mov dword [ebp - 0x152c], ecx
test ecx, ecx
je 0x42be29
mov eax, ebx
lock xadd dword [ecx + 4], eax
jne 0x42be29
mov eax, dword [ecx]
call dword [eax]
mov ecx, dword [ebp - 0x152c]
mov eax, ebx
lock xadd dword [ecx + 8], eax
jne 0x42be29
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [ebp - 4], 0
add edi, 0xfffffff0
mov eax, ebx
lock xadd dword [edi + 0xc], eax
dec eax
test eax, eax
jg 0x42be5e
mov ecx, dword [edi]
push edi
mov eax, dword [ecx]
call dword [eax + 4]
xor edi, edi
jmp 0x42bec4
push dword [edi]
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
je 0x42be62
mov ecx, esi
call fcn.0042b5d0
xor edi, edi
jmp 0x42bec4
mov edx, dword [ebp - 0x1530]
lea ecx, [esi - 0x10]
mov edi, dword [edx]
sub edi, 0x10
cmp ecx, edi
je 0x42bebf
cmp dword [edi + 0xc], 0
jl 0x42beb4
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x42beb4
call fcn.00417a80
mov dword [ebp - 0x152c], eax
lea edx, [edi + 0xc]
mov ecx, ebx
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x42bea7
mov ecx, dword [edi]
push edi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, dword [ebp - 0x152c]
mov ecx, dword [ebp - 0x1530]
add eax, 0x10
mov dword [ecx], eax
jmp 0x42bebf
push dword [esi - 0xc]
mov ecx, edx
push esi
call fcn.00406d90
mov edi, 1
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], ebx
dec ebx
test ebx, ebx
jg 0x42bee0
mov ecx, dword [esi]
push esi
mov edx, dword [ecx]
call dword [edx + 4]
mov eax, edi
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.004ac694
mov esp, ebp
pop ebp
ret
push 0x80004005
call fcn.00407c80
push 0x80070057
call fcn.00407c80
push 0x80070057
call fcn.00407c80
push 0x80004005
call fcn.00407c80
push 0x80004005
call fcn.00407c80
int3