Function at 0x471c30
Capabilities:
Check if file exists
Delete file
Read file via mapping

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x23c
mov eax, dword [0x68e4d8]
xor eax, ebp
mov dword [ebp - 4], eax
mov dword [ebp - 0x214], ecx
mov eax, dword [ebp - 0x214]
cmp dword [eax + 0x10], 0
je 0x471c5c
xor eax, eax
jmp 0x471f7f
cmp dword [ebp + 0xc], 0
je 0x471c7b
cmp dword [ebp + 8], 0
jl 0x471c7b
mov ecx, dword [ebp - 0x214]
add ecx, 0x1c
call fcn.00473260
cmp dword [ebp + 8], eax
jl 0x471c82
xor eax, eax
jmp 0x471f7f
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x214]
add ecx, 0x1c
call fcn.004702d0
mov edx, dword [eax]
mov eax, dword [edx + 0x26]
and eax, 0x10
je 0x471ca5
xor eax, eax
jmp 0x471f7f
mov dword [ebp - 0x210], 0xffffffff
mov dword [ebp - 0x21c], 0
mov dword [ebp - 0x218], 0
mov dword [ebp - 0x220], 0
mov ecx, dword [ebp + 8]
push ecx
mov ecx, dword [ebp - 0x214]
add ecx, 0x1c
call fcn.004702d0
mov edx, dword [eax]
movzx eax, word [edx + 8]
and eax, 1
je 0x471cef
jmp 0x471f06
push 0x208
push 0
lea ecx, [ebp - 0x20c]
push ecx
call fcn.0058abd0
add esp, 0xc
mov edx, dword [ebp + 0xc]
push edx
push 0x104
lea eax, [ebp - 0x20c]
push eax
call fcn.005b0cd4
add esp, 0xc
lea ecx, [ebp - 0x20c]
push ecx
call dword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea edx, [ebp - 0x20c]
push edx
call dword [sym.imp.SHLWAPI.dll_PathFileExistsW]
test eax, eax
jne 0x471d4a
lea eax, [ebp - 0x20c]
push eax
push 0
call dword [sym.imp.SHELL32.dll_SHCreateDirectory]
push 0
push 0x80
push 2
push 0
push 0
push 0xc0000000
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov dword [ebp - 0x210], eax
cmp dword [ebp - 0x210], 0xffffffff
jne 0x471d7a
jmp 0x471f06
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x214]
add ecx, 0x1c
call fcn.004702d0
mov eax, dword [eax]
mov ecx, dword [eax + 0x18]
mov dword [ebp - 0x224], ecx
cmp dword [ebp - 0x224], 0
jne 0x471daf
mov dword [ebp - 0x220], 1
jmp 0x471f06
push 0
push 0
mov edx, dword [ebp - 0x224]
push edx
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_SetFilePointer]
mov dword [ebp - 0x22c], eax
cmp dword [ebp - 0x22c], 0xffffffff
jne 0x471ddb
jmp 0x471f06
mov ecx, dword [ebp - 0x210]
push ecx
call dword [sym.imp.KERNEL32.dll_SetEndOfFile]
test eax, eax
jne 0x471df1
jmp 0x471f06
push 0
push 0
push 0
push 4
push 0
mov edx, dword [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov dword [ebp - 0x21c], eax
cmp dword [ebp - 0x21c], 0
jne 0x471e1c
jmp 0x471f06
push 0
push 0
push 0
push 6
mov eax, dword [ebp - 0x21c]
push eax
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov dword [ebp - 0x218], eax
cmp dword [ebp - 0x218], 0
jne 0x471e45
jmp 0x471f06
mov ecx, dword [ebp - 0x224]
push ecx
mov edx, dword [ebp - 0x218]
push edx
mov eax, dword [ebp + 8]
push eax
mov ecx, dword [ebp - 0x214]
call fcn.00471fd0
test eax, eax
jne 0x471e6b
jmp 0x471f06
lea ecx, [ebp - 0x234]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x214]
add ecx, 0x1c
call fcn.004702d0
mov eax, dword [eax]
movzx ecx, word [eax + 0xc]
push ecx
mov edx, dword [ebp + 8]
push edx
mov ecx, dword [ebp - 0x214]
add ecx, 0x1c
call fcn.004702d0
mov eax, dword [eax]
movzx ecx, word [eax + 0xe]
push ecx
call dword [sym.imp.KERNEL32.dll_DosDateTimeToFileTime]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x471ef4
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x234]
push eax
call dword [sym.imp.KERNEL32.dll_LocalFileTimeToFileTime]
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x471ef4
lea ecx, [ebp - 0x23c]
push ecx
push 0
push 0
mov edx, dword [ebp - 0x210]
push edx
call dword [sym.imp.KERNEL32.dll_SetFileTime]
mov dword [ebp - 0x220], 1
xor eax, eax
jne 0x471ccd
cmp dword [ebp - 0x218], 0
je 0x471f26
mov ecx, dword [ebp - 0x218]
push ecx
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
mov dword [ebp - 0x218], 0
cmp dword [ebp - 0x21c], 0
je 0x471f46
mov edx, dword [ebp - 0x21c]
push edx
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x21c], 0
cmp dword [ebp - 0x210], 0xffffffff
je 0x471f66
mov eax, dword [ebp - 0x210]
push eax
call dword [sym.imp.KERNEL32.dll_CloseHandle]
mov dword [ebp - 0x210], 0xffffffff
cmp dword [ebp - 0x220], 0
jne 0x471f79
mov ecx, dword [ebp + 0xc]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov eax, dword [ebp - 0x220]
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.005367cc
mov esp, ebp
pop ebp
ret 8