Function at 0x1400233d0
Capabilities:
Check if file exists
Create directory
Get file attributes
Move file
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xf]
sub rsp, 0xc8
mov rax, qword [0x1401c6780]
xor rax, rsp
mov qword [rbp - 9], rax
mov rsi, r9
mov rax, r8
mov qword [rbp - 0x39], rax
mov qword [rsp + 0x38], rdx
mov rdi, rcx
mov rcx, qword [rbp + 0x77]
mov r15, qword [rbp + 0x7f]
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
xor ebx, ebx
mov qword [rbp - 0x19], rbx
mov qword [rbp - 0x11], 7
mov word [rbp - 0x29], bx
test rcx, rcx
je 0x14002348a
lea r8, str..saving
cmp word [rcx], bx
cmovne r8, rcx
mov rdx, rdi
lea rcx, [rbp - 0x59]
call fcn.140024040
nop
mov rdx, rax
lea rcx, [rbp - 0x79]
call fcn.140023ec0
nop
lea rdx, [rbp - 0x79]
cmp qword [rbp - 0x61], 7
cmova rdx, qword [rbp - 0x79]
mov r8, qword [rbp - 0x69]
lea rcx, [rbp - 0x29]
call fcn.14000a690
nop
lea rcx, [rbp - 0x79]
call fcn.140009810
nop
lea rcx, [rbp - 0x59]
call fcn.140009810
mov rax, qword [rbp - 0x39]
lea r13, [rbp - 0x29]
cmp qword [rbp - 0x19], 0
cmove r13, rdi
test r15, r15
je 0x1400234a6
test rax, rax
js 0x1400234a6
xor r12b, r12b
jmp 0x1400234ae
mov r12b, 1
test r15, r15
je 0x1400234b6
mov r14, qword [r15]
test r14, r14
jne 0x140023530
lea rdx, [rbp - 0x59]
mov rcx, rdi
call fcn.1400248f0
nop
mov rcx, rax
call fcn.140024a50
nop
lea rcx, [rbp - 0x59]
call fcn.140009810
lea rdx, [0x140190ac4]
mov rcx, r13
call fcn.140026c60
mov r14, rax
test r15, r15
je 0x1400234ef
mov qword [r15], rax
test rax, rax
je 0x140023530
lea r8, [rbp - 0x31]
mov rcx, rax
test rsi, rsi
jns 0x140023518
mov qword [rbp - 0x31], rbx
mov r9d, 2
mov rdx, rbx
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
xor sil, sil
jmp 0x140023538
lfence
mov qword [rbp - 0x31], rbx
xor r9d, r9d
mov rdx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointerEx]
xor sil, sil
jmp 0x140023538
xor sil, sil
test r14, r14
je 0x1400235b6
mov r8, qword [rbp - 0x39]
test r8, r8
js 0x140023574
mov rax, qword [rsp + 0x38]
test rax, rax
je 0x14002356a
mov dword [rbp - 0x39], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x39]
mov rdx, rax
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_WriteFile]
test eax, eax
mov eax, dword [rbp - 0x39]
jne 0x14002356d
mov rax, rbx
test rax, rax
setne sil
test r12b, r12b
je 0x1400236c9
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
test eax, eax
setne al
movzx edx, sil
movzx ecx, al
test sil, sil
cmove edx, ecx
movzx esi, dl
xor r8d, r8d
mov edx, dword [0x1401c73d0]
mov rcx, r13
call fcn.140026260
test r15, r15
je 0x1400235bf
mov qword [r15], rbx
jmp 0x1400235bf
test r12b, r12b
je 0x1400236c9
test sil, sil
je 0x1400236c9
cmp qword [rbp - 0x19], 0
je 0x1400236c9
mov rdx, rdi
lea rcx, [rbp - 0x29]
call fcn.140022710
test eax, eax
jne 0x1400235eb
mov sil, 1
jmp 0x1400236c9
mov rcx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x1400235f8
mov rcx, qword [rdi]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
cmp eax, 1
jne 0x140023611
xor r8d, r8d
movzx edx, al
mov rcx, rdi
call fcn.1400222b0
lea rdx, [rbp - 0x59]
mov rcx, rdi
call fcn.1400248f0
mov rbx, rax
mov rcx, rax
cmp qword [rax + 0x18], 7
jbe 0x14002362d
mov rcx, qword [rax]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsW]
mov rcx, qword [rbx + 0x18]
cmp eax, 1
jne 0x140023650
cmp rcx, 7
jbe 0x140023645
mov rbx, qword [rbx]
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
jmp 0x14002367d
mov rdx, rbx
cmp rcx, 7
jbe 0x14002365c
mov rdx, qword [rbx]
xor r8d, r8d
xor ecx, ecx
call qword [sym.imp.SHELL32.dll_SHCreateDirectoryExW]
test eax, eax
jne 0x14002367d
xor r8d, r8d
mov edx, dword [0x1401c73d0]
mov rcx, rbx
call fcn.140026260
nop
lea rcx, [rbp - 0x59]
call fcn.140009810
mov rdx, rdi
cmp qword [rdi + 0x18], 7
jbe 0x140023693
mov rdx, qword [rdi]
lea rcx, [rbp - 0x29]
cmp qword [rbp - 0x11], 7
cmova rcx, qword [rbp - 0x29]
mov r8d, 2
call qword [sym.imp.KERNEL32.dll_MoveFileExW]
test eax, eax
setne sil
test eax, eax
je 0x1400236c9
xor r8d, r8d
mov edx, dword [0x1401c73d0]
mov rcx, rdi
call fcn.140026260
nop
lea rcx, [rbp - 0x29]
call fcn.140009810
movzx eax, sil
mov rcx, qword [rbp - 9]
xor rcx, rsp
call fcn.1401219d0
add rsp, 0xc8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret