Function at 0x14014d260
Capabilities:
Write file on windows

Disassembly:
push rbx
sub rsp, 0x30
xor eax, eax
mov rbx, rcx
mov rcx, qword [rcx + 0x18]
mov dword [rsp + 0x40], eax
test rcx, rcx
je 0x14014d2cc
lea r9, [rsp + 0x40]
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
jne 0x14014d2cc
lea rcx, [rsp + 0x58]
call fcn.14014d930
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rax]
mov qword [rbx + 0x20], rdx
mov qword [rax], rcx
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14014d2cc
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014d2cc
call fcn.1400da0f0
mov eax, dword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret

Function at 0x14014d3f0
Capabilities:
Read file on windows

Disassembly:
push rbx
sub rsp, 0x30
mov rbx, rcx
xor eax, eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x14014d460
lea r9, [rsp + 0x40]
mov dword [rsp + 0x40], eax
mov qword [rsp + 0x20], rax
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x14014d45c
lea rcx, [rsp + 0x58]
call fcn.14014d930
mov rcx, qword [rbx + 0x20]
mov rdx, qword [rax]
mov qword [rbx + 0x20], rdx
mov qword [rax], rcx
mov rcx, qword [rsp + 0x58]
add rcx, 0xfffffffffffffff0
mov eax, dword [rcx]
nop
test eax, 0x30000000
jne 0x14014d45c
mov eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, 0xffffffff
jne 0x14014d45c
call fcn.1400da0f0
mov eax, dword [rsp + 0x40]
add rsp, 0x30
pop rbx
ret

Function at 0x14014d7d0
Capabilities:
Check if file exists
Delete directory
Delete file
Get file attributes

Disassembly:
push rbx
sub rsp, 0x20
mov rbx, rcx
mov rax, qword [rcx]
cmp byte [rax], 0
je 0x14014d869
mov rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
cmp eax, 0xffffffff
je 0x14014d869
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
nop
test al, 0x10
je 0x14014d845
cmp eax, 0xffffffff
je 0x14014d845
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
test eax, eax
setne cl
movzx eax, cl
add rsp, 0x20
pop rbx
ret
mov rdx, rbx
lea rcx, [rsp + 0x30]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
setne cl
movzx eax, cl
add rsp, 0x20
pop rbx
ret
mov al, 1
add rsp, 0x20
pop rbx
ret

Function at 0x14014db70
Capabilities:
Get disk information

Disassembly:
push rbx
sub rsp, 0x20
mov rdx, qword [rcx]
mov qword [rsp + 0x30], rdx
mov eax, dword [rdx - 0x10]
nop
test eax, 0x30000000
jne 0x14014db8d
lock inc dword [rdx - 0x10]
lea rdx, [rsp + 0x30]
lea rcx, [rsp + 0x38]
call fcn.14014dbf0
nop
mov rdx, rax
lea rcx, [rsp + 0x40]
call fcn.140015780
mov rcx, qword [rax]
call qword [sym.imp.KERNEL32.dll_GetDriveTypeW]
mov ebx, eax
mov rcx, qword [rsp + 0x38]
add rcx, 0xfffffffffffffff0
mov edx, dword [rcx]
nop
test edx, 0x30000000
jne 0x14014dbe0
mov edx, 0xffffffff
lock xadd dword [rcx], edx
dec edx
cmp edx, 0xffffffff
jne 0x14014dbe0
call fcn.1400da0f0
mov eax, ebx
add rsp, 0x20
pop rbx
ret