Function at 0x10022f40
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.10029c5d
mov ebx, eax
push 0x208
mov dword [ebp - 8], ebx
call fcn.10029c5d
add esp, 8
mov edi, eax
mov dword [ebp - 0xc], edi
test ebx, ebx
je 0x100231f8
test edi, edi
je 0x100231f8
push ebx
push 0x104
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
test eax, eax
jne 0x10022f9f
push str.WDDMCoreDump:_GetTempPath___failed._n
call fcn.10021f20
add esp, 4
jmp 0x10023052
push str.VM3D
push ebx
push str._s_s
push 0x104
push edi
call fcn.10023210
add esp, 0x14
push 0
push edi
call dword [sym.imp.KERNEL32.dll_CreateDirectoryW]
test eax, eax
jne 0x10022fe2
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0xb7
je 0x10022fe2
push edi
push str.WDDMCoreDump:_CreateDirectory___for__S_failed._n
call fcn.10021f20
add esp, 8
jmp 0x10023052
push str.VM3D
push str.VM3D
push ebx
push str._s_s_s.dmp
push 0x104
push edi
call fcn.10023210
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 0x10023052
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 0x50
jne 0x100231e5
push 0x208
call fcn.10029c5d
mov ebx, eax
add esp, 4
test ebx, ebx
jne 0x1002306a
push str.WDDMCoreDump:_malloc___failed._n
call fcn.10021f20
add esp, 4
mov ebx, dword [ebp - 8]
push ebx
call fcn.10029c42
push edi
call fcn.10029c42
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.10023210
push edi
push str.WDDMCoreDump:_Minidump_file__S_exists._Rotating_..._n
call fcn.100219f0
push 0x208
call fcn.10029c5d
push 0x208
mov dword [ebp - 4], eax
call fcn.10029c5d
add esp, 0x28
mov esi, eax
cmp dword [ebp - 4], 0
je 0x10023185
test esi, esi
je 0x10023185
mov edi, 9
push str..dmp
test edi, edi
jne 0x100230e4
push ebx
push str._s_s
push 0x104
push esi
call fcn.10023210
add esp, 0x14
jmp 0x100230fc
lea eax, [edi - 1]
push eax
push ebx
push str._s__d_s
push 0x104
push esi
call fcn.10023210
add esp, 0x18
push str..dmp
push edi
push ebx
push str._s__d_s
push 0x104
push dword [ebp - 4]
call fcn.10023210
add esp, 0x18
cmp edi, 9
jne 0x10023148
push esi
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x10023177
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10023177
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_remove__S_n
call fcn.100219f0
add esp, 0xc
jmp 0x10023177
push dword [ebp - 4]
push esi
call dword [sym.imp.KERNEL32.dll_MoveFileW]
test eax, eax
jne 0x10023177
call dword [sym.imp.KERNEL32.dll_GetLastError]
cmp eax, 2
je 0x10023177
push dword [ebp - 4]
push esi
push str.FileRotateWDDM
push str.__s:_failed_to_rename__S_____S_n
call fcn.100219f0
add esp, 0x10
sub edi, 1
jns 0x100230c5
mov edi, dword [ebp - 0xc]
jmp 0x10023197
push str.FileRotateWDDM
push str.__s:_failed_to_malloc_n
call fcn.100219f0
add esp, 8
push dword [ebp - 4]
call fcn.10029c42
push esi
call fcn.10029c42
push ebx
call fcn.10029c42
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 0x1002304f
push edi
push str.WDDMCoreDump:_Cannot_rotate_open_minidump_file__S._n
call fcn.10021f20
add esp, 8
jmp 0x1002304f
push edi
push str.WDDMCoreDump:_Cannot_open_minidump_file__S._n
call fcn.10021f20
add esp, 8
jmp 0x10023052
push str.WDDMCoreDump:_malloc___failed._n
call fcn.10021f20
add esp, 4
jmp 0x10023052