Function at 0x10025210
Capabilities:
Check if file exists
Create directory
Delete file
Get common file path
Move file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push ebx
push esi
push edi
push 0x208
or esi, 0xffffffff
call fcn.10028f56
mov ebx, eax
push 0x208
mov dword [ebp - 8], ebx
call fcn.10028f56
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
test ebx, ebx
je 0x100254c8
test edi, edi
je 0x100254c8
push ebx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x1002526f
push str.WDDMCoreDump:_GetTempPath___failed._n
call fcn.100212c0
add esp, 4
jmp 0x10025322
push str.VM3D
push ebx
push str._s_s
push 0x104
push edi
call fcn.100254e0
add esp, 0x14
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x100252b2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x100252b2
push edi
push str.WDDMCoreDump:_CreateDirectory___for__S_failed._n
call fcn.100212c0
add esp, 8
jmp 0x10025322
push str.VM3D
push str.VM3D
push ebx
push str._s_s_s.dmp
push 0x104
push edi
call fcn.100254e0
add esp, 0x18
push 0
push 0x80
push 1
push 0
push 0
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x10025322
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x100254b5
push 0x208
call fcn.10028f56
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1002533a
push str.WDDMCoreDump:_malloc___failed._n
call fcn.100212c0
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.10028f30
push edi
call fcn.10028f30
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.VM3D
push str.VM3D
push dword [ebp - 8]
push str._s_s_s
push 0x104
push ebx
call fcn.100254e0
push edi
push str.WDDMCoreDump:_Minidump_file__S_exists._Rotating_..._n
call fcn.10020d70
push 0x208
call fcn.10028f56
push 0x208
mov dword [ebp - 4], eax
call fcn.10028f56
add esp, 0x28
mov esi, eax
cmp dword [ebp - 4], 0
je 0x10025455
test esi, esi
je 0x10025455
mov edi, 9
push str..dmp
test edi, edi
jne 0x100253b4
push ebx
push str._s_s
push 0x104
push esi
call fcn.100254e0
add esp, 0x14
jmp 0x100253cc
lea eax, [edi - 1]
push eax
push ebx
push str._s__d_s
push 0x104
push esi
call fcn.100254e0
add esp, 0x18
push str..dmp
push edi
push ebx
push str._s__d_s
push 0x104
push dword [ebp - 4]
call fcn.100254e0
add esp, 0x18
cmp edi, 9
jne 0x10025418
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10025447
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10025447
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_remove__S_n
call fcn.10020d70
add esp, 0xc
jmp 0x10025447
push dword [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10025447
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10025447
push dword [ebp - 4]
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_rename__S_____S_n
call fcn.10020d70
add esp, 0x10
sub edi, 1
jns 0x10025395
mov edi, dword [ebp - 0xc]
jmp 0x10025467
push str.FileRotateWDDM
push str.__s:_failed_to_malloc_n
call fcn.10020d70
add esp, 8
push dword [ebp - 4]
call fcn.10028f30
push esi
call fcn.10028f30
push ebx
call fcn.10028f30
add esp, 0xc
push 0
push 0x80
push 1
push 0
push 0
push 0x40000000
push edi
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov esi, eax
cmp esi, 0xffffffff
jne 0x1002531f
push edi
push str.WDDMCoreDump:_Cannot_rotate_open_minidump_file__S._n
call fcn.100212c0
add esp, 8
jmp 0x1002531f
push edi
push str.WDDMCoreDump:_Cannot_open_minidump_file__S._n
call fcn.100212c0
add esp, 8
jmp 0x10025322
push str.WDDMCoreDump:_malloc___failed._n
call fcn.100212c0
add esp, 4
jmp 0x10025322