Function at 0x10029980
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.1002d6c6
mov ebx, eax
push 0x208
mov dword [ebp - 8], ebx
call fcn.1002d6c6
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
test ebx, ebx
je 0x10029c38
test edi, edi
je 0x10029c38
push ebx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x100299df
push str.WDDMCoreDump:_GetTempPath___failed._n
call fcn.10025170
add esp, 4
jmp 0x10029a92
push str.VM3D
push ebx
push str._s_s
push 0x104
push edi
call fcn.10029c50
add esp, 0x14
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x10029a22
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10029a22
push edi
push str.WDDMCoreDump:_CreateDirectory___for__S_failed._n
call fcn.10025170
add esp, 8
jmp 0x10029a92
push str.VM3D
push str.VM3D
push ebx
push str._s_s_s.dmp
push 0x104
push edi
call fcn.10029c50
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 0x10029a92
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x10029c25
push 0x208
call fcn.1002d6c6
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x10029aaa
push str.WDDMCoreDump:_malloc___failed._n
call fcn.10025170
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.1002d6a0
push edi
call fcn.1002d6a0
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.10029c50
push edi
push str.WDDMCoreDump:_Minidump_file__S_exists._Rotating_..._n
call fcn.10024c00
push 0x208
call fcn.1002d6c6
push 0x208
mov dword [ebp - 4], eax
call fcn.1002d6c6
add esp, 0x28
mov esi, eax
cmp dword [ebp - 4], 0
je 0x10029bc5
test esi, esi
je 0x10029bc5
mov edi, 9
push str..dmp
test edi, edi
jne 0x10029b24
push ebx
push str._s_s
push 0x104
push esi
call fcn.10029c50
add esp, 0x14
jmp 0x10029b3c
lea eax, [edi - 1]
push eax
push ebx
push str._s__d_s
push 0x104
push esi
call fcn.10029c50
add esp, 0x18
push str..dmp
push edi
push ebx
push str._s__d_s
push 0x104
push dword [ebp - 4]
call fcn.10029c50
add esp, 0x18
cmp edi, 9
jne 0x10029b88
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10029bb7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10029bb7
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_remove__S_n
call fcn.10024c00
add esp, 0xc
jmp 0x10029bb7
push dword [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10029bb7
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10029bb7
push dword [ebp - 4]
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_rename__S_____S_n
call fcn.10024c00
add esp, 0x10
sub edi, 1
jns 0x10029b05
mov edi, dword [ebp - 0xc]
jmp 0x10029bd7
push str.FileRotateWDDM
push str.__s:_failed_to_malloc_n
call fcn.10024c00
add esp, 8
push dword [ebp - 4]
call fcn.1002d6a0
push esi
call fcn.1002d6a0
push ebx
call fcn.1002d6a0
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 0x10029a8f
push edi
push str.WDDMCoreDump:_Cannot_rotate_open_minidump_file__S._n
call fcn.10025170
add esp, 8
jmp 0x10029a8f
push edi
push str.WDDMCoreDump:_Cannot_open_minidump_file__S._n
call fcn.10025170
add esp, 8
jmp 0x10029a92
push str.WDDMCoreDump:_malloc___failed._n
call fcn.10025170
add esp, 4
jmp 0x10029a92