Function at 0x1400978b0
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 [0x14021a328]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
movzx esi, r8b
mov r14, rdx
mov rdi, rcx
mov ebx, 0x8fc
test rcx, rcx
je 0x140097e3d
test rdx, rdx
je 0x140097e3d
xor edx, edx
lea rcx, [rbp + 0x1e0]
mov r8d, 0x104
call fcn.1400ae310
xor edx, edx
lea rcx, [rbp + 0xd0]
mov r8d, 0x104
call fcn.1400ae310
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.1400bb838
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.1400d5db8
cmp rax, 0x104
jne 0x1400979c5
mov byte [rbp + 0x2e3], bl
jmp 0x1400979e4
mov r9, 0xffffffffffffffff
lea r8, str.._tmp
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.1400ecb38
mov r9, 0xffffffffffffffff
lea rcx, [rbp + 0xd0]
mov r8, r14
mov edx, 0x104
call fcn.1400bb838
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.1400d5db8
cmp rax, 0x104
jne 0x140097a20
mov byte [rbp + 0x1d3], bl
jmp 0x140097a3f
mov r9, 0xffffffffffffffff
lea r8, str.._ok_
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.1400ecb38
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097a8b
bt eax, 0xa
jae 0x140097a8b
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097a7b
test al, 0x10
je 0x140097a7b
lea rcx, [rbp + 0x1e0]
call fcn.1400d95ec
jmp 0x140097a87
lea rcx, [rbp + 0x1e0]
call fcn.1400bd14c
test eax, eax
jne 0x140097aae
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x1e0]
call fcn.1400d90a4
test eax, eax
jne 0x140097aae
lea rcx, [rbp + 0x1e0]
call fcn.1400bd14c
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097afa
bt eax, 0xa
jae 0x140097afa
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097aea
test al, 0x10
je 0x140097aea
lea rcx, [rbp + 0xd0]
call fcn.1400d95ec
jmp 0x140097af6
lea rcx, [rbp + 0xd0]
call fcn.1400bd14c
test eax, eax
jne 0x140097b4d
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xd0]
call fcn.1400d90a4
test eax, eax
jne 0x140097b4d
mov rcx, r14
call fcn.140098450
lea rcx, [rbp + 0xd0]
test eax, eax
jne 0x140097b3a
mov rdx, r14
call fcn.1400bce68
test eax, eax
je 0x140097b4d
mov ebx, 0xbba
jmp 0x140097e3d
call fcn.1400bd14c
test eax, eax
je 0x140097b4d
mov ebx, 0xbbc
jmp 0x140097e3d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097b8d
bt eax, 0xa
jae 0x140097b8d
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097b7d
test al, 0x10
je 0x140097b7d
mov rcx, rdi
call fcn.1400d95ec
jmp 0x140097b85
mov rcx, rdi
call fcn.1400bd14c
test eax, eax
jne 0x140097e3d
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.1400d90a4
test eax, eax
jne 0x140097e3d
cmp dword [rsp + 0x54], ebx
jle 0x140097e3d
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097be8
bt eax, 0xa
jae 0x140097be8
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x140097bdc
test al, 0x10
je 0x140097bdc
mov rcx, r14
call fcn.1400d95ec
jmp 0x140097be4
mov rcx, r14
call fcn.1400bd14c
test eax, eax
jne 0x140097c02
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.1400d90a4
test eax, eax
jne 0x140097c02
test sil, sil
je 0x140097e3d
mov ecx, dword [rsp + 0x54]
cmp dword [rbp - 0x7c], ecx
jne 0x140097c52
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.1400988f0
test al, al
je 0x140097e3d
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.1400988f0
test al, al
je 0x140097e3d
mov r8d, 0x20
lea rdx, [rbp - 0x5c]
lea rcx, [rbp + 0x24]
call fcn.1400ae540
test eax, eax
je 0x140097e3d
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 r12, eax
mov rcx, r12
call fcn.1400bb768
mov qword [rsp + 0x30], rax
mov r15, rax
test rax, rax
je 0x140097e20
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.1400ae310
xor r8d, r8d
lea rdx, [0x140127a64]
mov rcx, rdi
call fcn.1400984e0
mov qword [rsp + 0x38], rax
mov rdi, rax
mov esi, 0xbba
test rax, rax
je 0x140097dec
xor r8d, r8d
lea rdx, [0x140127ce4]
lea rcx, [rbp + 0x1e0]
call fcn.1400984e0
mov r13, rax
test rax, rax
je 0x140097dec
movsxd rsi, dword [rsp + 0x54]
test rsi, rsi
je 0x140097d60
nop dword [rax]
nop dword [rax + rax]
mov rax, qword [rsp + 0x38]
cmp rsi, r12
mov rdi, r12
mov qword [rsp + 0x20], rax
cmovbe rdi, rsi
mov r8d, 1
mov r9, rdi
mov rdx, r12
mov rcx, r15
call fcn.1400ed278
mov r15, rax
mov rax, rbx
cmp r15, rdi
jne 0x140097d48
mov rcx, qword [rsp + 0x30]
mov r9, r13
mov r8, r15
mov edx, 1
call fcn.1400ee820
cmp rax, rdi
jne 0x140097dd6
sub rsi, r15
mov r15, qword [rsp + 0x30]
jne 0x140097d00
mov rdi, qword [rsp + 0x38]
mov esi, 0xbba
mov rcx, r15
call fcn.1400bb754
test rdi, rdi
je 0x140097d82
mov rcx, rdi
call fcn.1400eda84
mov rcx, rdi
call fcn.1400ed438
test r13, r13
je 0x140097da7
mov rcx, r13
call fcn.1400eda84
mov rcx, r13
call fcn.1400ed438
lea rcx, [rbp + 0x1e0]
test ebx, ebx
je 0x140097df6
call fcn.1400bd14c
test ebx, ebx
jne 0x140097e25
mov rcx, r14
call fcn.140098450
test eax, eax
je 0x140097e0a
mov rcx, r14
call fcn.1400bd14c
test eax, eax
je 0x140097e0a
lea rcx, [rbp + 0xd0]
call fcn.1400bd14c
mov ebx, 0xbbc
jmp 0x140097e25
mov r15, qword [rsp + 0x30]
mov esi, 0xbba
mov rdi, qword [rsp + 0x38]
mov ebx, esi
jmp 0x140097d65
mov ebx, 0xbbb
jmp 0x140097d65
lea rdx, [rbp + 0xd0]
call fcn.1400bce68
test eax, eax
je 0x140097dab
mov ebx, esi
jmp 0x140097e25
mov rdx, r14
lea rcx, [rbp + 0xd0]
call fcn.1400bce68
test eax, eax
cmovne ebx, esi
jmp 0x140097e25
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.1400ac830
add rsp, 0x410
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret