Function at 0x14000d880
Capabilities:
Check if file exists
Create directory
Delete file
Print debug messages

Disassembly:
push rbp
push rsi
push rdi
push r12
push r13
lea rbp, [rsp - 0x170]
sub rsp, 0x270
mov qword [rsp + 0x40], 0xfffffffffffffffe
mov qword [rsp + 0x2b0], rbx
mov rax, qword [0x14003d880]
xor rax, rsp
mov qword [rbp + 0x160], rax
mov rsi, rdx
mov r13, rcx
lea rcx, [rsp + 0x38]
call fcn.14000e790
nop
xor eax, eax
mov word [rsp + 0x50], ax
xor edx, edx
mov r8d, 0x206
lea rcx, [rsp + 0x52]
call fcn.14001b8e0
mov r11, rsi
lea rcx, [rsp + 0x50]
sub rcx, rsi
nop
movzx eax, word [r11]
mov word [rcx + r11], ax
add r11, 2
test ax, ax
jne 0x14000d8f0
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathRemoveFileSpecW]
lea rdx, str.DriverFolder
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14000d93b
xor edx, edx
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
mov rdx, qword [rsp + 0x38]
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathAppendW]
lea rcx, [rsp + 0x50]
call qword [sym.imp.SHLWAPI.dll_PathIsDirectoryW]
test eax, eax
jne 0x14000d967
xor edx, edx
lea rcx, [rsp + 0x50]
call qword [sym.imp.KERNEL32.dll_CreateDirectoryW]
lea rcx, [0x14003e798]
mov rax, qword [0x14003e798]
call qword [rax + 0x18]
add rax, 0x18
mov qword [rsp + 0x28], rax
lea rcx, [rsp + 0x50]
lea rax, [rsp + 0x50]
test rax, 0xffffffffffff0000
jne 0x14000d9b4
movzx ebx, cx
mov ecx, ebx
call fcn.140008320
test rax, rax
je 0x14000d9c4
mov r8d, ebx
mov rdx, rax
lea rcx, [rsp + 0x28]
call fcn.14000c1b0
jmp 0x14000d9c4
lea rdx, [rsp + 0x50]
lea rcx, [rsp + 0x28]
call fcn.14000b310
nop
lea rcx, [0x14003e798]
mov rax, qword [0x14003e798]
call qword [rax + 0x18]
lea rbx, [rax + 0x18]
mov qword [rsp + 0x30], rbx
test rsi, rsi
je 0x14000da0d
test rsi, 0xffffffffffff0000
jne 0x14000da0d
movzx edi, si
mov ecx, edi
call fcn.140008320
test rax, rax
je 0x14000da1f
mov r8d, edi
mov rdx, rax
lea rcx, [rsp + 0x30]
call fcn.14000c1b0
jmp 0x14000da1a
mov rdx, rsi
lea rcx, [rsp + 0x30]
call fcn.14000b310
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
test eax, eax
jne 0x14000da31
xor r12b, r12b
jmp 0x14000da47
mov r8, qword [rsp + 0x28]
mov rdx, rbx
lea rcx, [rsp + 0x20]
call fcn.1400137c0
movzx r12d, al
lea rdx, [rbx - 0x18]
or edi, 0xffffffff
mov ecx, edi
lock xadd dword [rdx + 0x10], ecx
dec ecx
test ecx, ecx
jg 0x14000da66
mov rcx, qword [rdx]
mov r8, qword [rcx]
call qword [r8 + 8]
nop
mov rdx, qword [rsp + 0x28]
add rdx, 0xffffffffffffffe8
mov eax, edi
lock xadd dword [rdx + 0x10], eax
dec eax
test eax, eax
jg 0x14000da85
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
test r12b, r12b
jne 0x14000dabb
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
call qword [sym.imp.KERNEL32.dll_GetLastError]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x14000dab7
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
xor eax, eax
jmp 0x14000dafd
lea r8, [rsp + 0x50]
lea rdx, [0x140034fcc]
lea rcx, [r13 + 8]
call fcn.14000cb70
mov rcx, qword [r13 + 8]
call qword [sym.imp.KERNEL32.dll_OutputDebugStringW]
nop
mov rdx, qword [rsp + 0x38]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], edi
dec edi
test edi, edi
jg 0x14000daf8
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + 8]
mov eax, 1
mov rcx, qword [rbp + 0x160]
xor rcx, rsp
call fcn.140014a20
mov rbx, qword [rsp + 0x2b0]
add rsp, 0x270
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret