Function at 0x10029a00
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.1003071d
mov ebx, eax
push 0x208
mov dword [ebp - 8], ebx
call fcn.1003071d
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
test ebx, ebx
je 0x10029cb8
test edi, edi
je 0x10029cb8
push ebx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x10029a5f
push str.WDDMCoreDump:_GetTempPath___failed._n
call fcn.10028110
add esp, 4
jmp 0x10029b12
push str.VM3D
push ebx
push str._s_s
push 0x104
push edi
call fcn.10029cd0
add esp, 0x14
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x10029aa2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10029aa2
push edi
push str.WDDMCoreDump:_CreateDirectory___for__S_failed._n
call fcn.10028110
add esp, 8
jmp 0x10029b12
push str.VM3D
push str.VM3D
push ebx
push str._s_s_s.dmp
push 0x104
push edi
call fcn.10029cd0
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 0x10029b12
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x10029ca5
push 0x208
call fcn.1003071d
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10029b2a
push str.WDDMCoreDump:_malloc___failed._n
call fcn.10028110
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.10030702
push edi
call fcn.10030702
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.10029cd0
push edi
push str.WDDMCoreDump:_Minidump_file__S_exists._Rotating_..._n
call fcn.10027bb0
push 0x208
call fcn.1003071d
push 0x208
mov dword [ebp - 4], eax
call fcn.1003071d
add esp, 0x28
mov esi, eax
cmp dword [ebp - 4], 0
je 0x10029c45
test esi, esi
je 0x10029c45
mov edi, 9
push str..dmp
test edi, edi
jne 0x10029ba4
push ebx
push str._s_s
push 0x104
push esi
call fcn.10029cd0
add esp, 0x14
jmp 0x10029bbc
lea eax, [edi - 1]
push eax
push ebx
push str._s__d_s
push 0x104
push esi
call fcn.10029cd0
add esp, 0x18
push str..dmp
push edi
push ebx
push str._s__d_s
push 0x104
push dword [ebp - 4]
call fcn.10029cd0
add esp, 0x18
cmp edi, 9
jne 0x10029c08
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10029c37
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10029c37
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_remove__S_n
call fcn.10027bb0
add esp, 0xc
jmp 0x10029c37
push dword [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10029c37
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10029c37
push dword [ebp - 4]
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_rename__S_____S_n
call fcn.10027bb0
add esp, 0x10
sub edi, 1
jns 0x10029b85
mov edi, dword [ebp - 0xc]
jmp 0x10029c57
push str.FileRotateWDDM
push str.__s:_failed_to_malloc_n
call fcn.10027bb0
add esp, 8
push dword [ebp - 4]
call fcn.10030702
push esi
call fcn.10030702
push ebx
call fcn.10030702
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 0x10029b0f
push edi
push str.WDDMCoreDump:_Cannot_rotate_open_minidump_file__S._n
call fcn.10028110
add esp, 8
jmp 0x10029b0f
push edi
push str.WDDMCoreDump:_Cannot_open_minidump_file__S._n
call fcn.10028110
add esp, 8
jmp 0x10029b12
push str.WDDMCoreDump:_malloc___failed._n
call fcn.10028110
add esp, 4
jmp 0x10029b12