Function at 0x14000c880
Capabilities:
Check if file exists
Get file attributes
Move file
Write file on windows

Disassembly:
push rbp
push rbx
push rsi
push rdi
push r14
lea rbp, [rsp - 0x310]
sub rsp, 0x410
mov rax, qword [0x14008d558]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
movzx esi, r8b
mov r14, rdx
mov rdi, rcx
mov ebx, 0x8fc
test rcx, rcx
je 0x14000ce0e
test rdx, rdx
je 0x14000ce0e
xor edx, edx
lea rcx, [rbp + 0x1e0]
mov r8d, 0x104
call fcn.1400158a0
xor edx, edx
lea rcx, [rbp + 0xd0]
mov r8d, 0x104
call fcn.1400158a0
xorps xmm0, xmm0
lea rcx, [rbp + 0x1e0]
xorps xmm1, xmm1
xor eax, eax
mov r8, r14
mov qword [rbp + 0x90], rax
mov edx, 0x104
mov qword [rbp + 0x10], rax
movups xmmword [rsp + 0x40], xmm0
lea r9, [rax - 1]
xor ebx, ebx
movups xmmword [rsp + 0x50], xmm0
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x70], xmm1
movups xmmword [rbp - 0x80], xmm1
movups xmmword [rbp - 0x70], xmm1
movups xmmword [rbp + 0x20], xmm0
movups xmmword [rbp + 0x30], xmm0
movups xmmword [rbp + 0x40], xmm0
movups xmmword [rbp + 0x50], xmm0
movups xmmword [rbp + 0x60], xmm0
movups xmmword [rbp + 0x70], xmm0
movups xmmword [rbp + 0x80], xmm0
movups xmmword [rbp - 0x60], xmm1
movups xmmword [rbp - 0x50], xmm1
movups xmmword [rbp - 0x40], xmm1
movups xmmword [rbp - 0x30], xmm1
movups xmmword [rbp - 0x20], xmm1
movups xmmword [rbp - 0x10], xmm1
movups xmmword [rbp], xmm1
call fcn.140025d24
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.14002559c
cmp rax, 0x104
jne 0x14000c995
mov byte [rbp + 0x2e3], bl
jmp 0x14000c9b4
mov r9, 0xffffffffffffffff
lea r8, str.._tmp
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.14003d33c
mov r9, 0xffffffffffffffff
lea rcx, [rbp + 0xd0]
mov r8, r14
mov edx, 0x104
call fcn.140025d24
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.14002559c
cmp rax, 0x104
jne 0x14000c9f0
mov byte [rbp + 0x1d3], bl
jmp 0x14000ca0f
mov r9, 0xffffffffffffffff
lea r8, str.._ok_
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.14003d33c
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000ca5b
bt eax, 0xa
jae 0x14000ca5b
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000ca4b
test al, 0x10
je 0x14000ca4b
lea rcx, [rbp + 0x1e0]
call fcn.140025f9c
jmp 0x14000ca57
lea rcx, [rbp + 0x1e0]
call fcn.140024ba4
test eax, eax
jne 0x14000ca7e
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x1e0]
call fcn.140041fa8
test eax, eax
jne 0x14000ca7e
lea rcx, [rbp + 0x1e0]
call fcn.140024ba4
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000caca
bt eax, 0xa
jae 0x14000caca
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000caba
test al, 0x10
je 0x14000caba
lea rcx, [rbp + 0xd0]
call fcn.140025f9c
jmp 0x14000cac6
lea rcx, [rbp + 0xd0]
call fcn.140024ba4
test eax, eax
jne 0x14000cb1d
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xd0]
call fcn.140041fa8
test eax, eax
jne 0x14000cb1d
mov rcx, r14
call fcn.14000d430
lea rcx, [rbp + 0xd0]
test eax, eax
jne 0x14000cb0a
mov rdx, r14
call fcn.14003eb10
test eax, eax
je 0x14000cb1d
mov ebx, 0xbba
jmp 0x14000ce0e
call fcn.140024ba4
test eax, eax
je 0x14000cb1d
mov ebx, 0xbbc
jmp 0x14000ce0e
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000cb5d
bt eax, 0xa
jae 0x14000cb5d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000cb4d
test al, 0x10
je 0x14000cb4d
mov rcx, rdi
call fcn.140025f9c
jmp 0x14000cb55
mov rcx, rdi
call fcn.140024ba4
test eax, eax
jne 0x14000ce0e
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.140041fa8
test eax, eax
jne 0x14000ce0e
cmp dword [rsp + 0x54], ebx
jle 0x14000ce0e
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000cbb8
bt eax, 0xa
jae 0x14000cbb8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x14000cbac
test al, 0x10
je 0x14000cbac
mov rcx, r14
call fcn.140025f9c
jmp 0x14000cbb4
mov rcx, r14
call fcn.140024ba4
test eax, eax
jne 0x14000cbd2
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.140041fa8
test eax, eax
jne 0x14000cbd2
test sil, sil
je 0x14000ce0e
mov ecx, dword [rsp + 0x54]
cmp dword [rbp - 0x7c], ecx
jne 0x14000cc22
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.14000e320
test al, al
je 0x14000ce0e
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.14000e320
test al, al
je 0x14000ce0e
mov r8d, 0x20
lea rdx, [rbp - 0x5c]
lea rcx, [rbp + 0x24]
call fcn.140015390
test eax, eax
je 0x14000ce0e
mov ecx, dword [rsp + 0x54]
mov eax, 0x1000
mov qword [rsp + 0x450], r12
cmp ecx, eax
mov qword [rsp + 0x408], r13
mov qword [rsp + 0x400], r15
mov r13, rbx
cmovle eax, ecx
movsxd r15, eax
mov rcx, r15
mov qword [rsp + 0x38], r15
call fcn.140023fac
mov r12, rax
test rax, rax
je 0x14000cdf1
mov r8, r15
xor edx, edx
mov rcx, rax
call fcn.1400158a0
xor r8d, r8d
lea rdx, [0x140077588]
mov rcx, rdi
call fcn.14000d4c0
mov qword [rsp + 0x30], rax
mov rdi, rax
test rax, rax
je 0x14000cd48
xor r8d, r8d
lea rdx, [0x14007759c]
lea rcx, [rbp + 0x1e0]
call fcn.14000d4c0
mov r13, rax
test rax, rax
je 0x14000cd48
movsxd rsi, dword [rsp + 0x54]
test rsi, rsi
je 0x14000cd4d
nop dword [rax]
nop word [rax + rax]
mov rax, qword [rsp + 0x30]
cmp rsi, r15
mov rdi, r15
mov qword [rsp + 0x20], rax
cmovbe rdi, rsi
mov r8d, 1
mov r9, rdi
mov rdx, r15
mov rcx, r12
call fcn.14003ddac
mov r15, rax
mov rax, rbx
cmp r15, rdi
jne 0x14000cd16
mov r9, r13
mov r8, r15
mov edx, 1
mov rcx, r12
call fcn.14003e8e8
cmp rax, rdi
jne 0x14000cd34
sub rsi, r15
mov r15, qword [rsp + 0x38]
jne 0x14000ccd0
mov rcx, r12
call fcn.140023f98
mov rdi, qword [rsp + 0x30]
jmp 0x14000cd5a
mov rcx, r12
mov ebx, 0xbba
call fcn.140023f98
mov rdi, qword [rsp + 0x30]
jmp 0x14000cd5a
mov ebx, 0xbbb
mov rcx, r12
call fcn.140023f98
test rdi, rdi
je 0x14000cd6a
mov rcx, rdi
call fcn.14003e5b8
mov rcx, rdi
call fcn.14003df6c
test r13, r13
je 0x14000cda8
mov rcx, r13
call fcn.14003e5b8
mov rcx, r13
call fcn.14003df6c
lea rcx, [rbp + 0x1e0]
test ebx, ebx
je 0x14000cd91
call fcn.140024ba4
jmp 0x14000cdf6
lea rdx, [rbp + 0xd0]
call fcn.14003eb10
test eax, eax
je 0x14000cdac
mov ebx, 0xbba
jmp 0x14000cdf6
test ebx, ebx
jne 0x14000cdf6
mov rcx, r14
call fcn.14000d430
test eax, eax
je 0x14000cdd7
mov rcx, r14
call fcn.140024ba4
test eax, eax
je 0x14000cdd7
lea rcx, [rbp + 0xd0]
call fcn.140024ba4
mov ebx, 0xbbc
jmp 0x14000cdf6
mov rdx, r14
lea rcx, [rbp + 0xd0]
call fcn.14003eb10
test eax, eax
je 0x14000cdf6
mov ebx, 0xbba
jmp 0x14000cdf6
mov ebx, 0x708
mov r13, qword [rsp + 0x408]
mov r12, qword [rsp + 0x450]
mov r15, qword [rsp + 0x400]
mov eax, ebx
mov rcx, qword [rbp + 0x2f0]
xor rcx, rsp
call fcn.140014190
add rsp, 0x410
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret