Function at 0x1400e8960
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 [0x14027df48]
xor rax, rsp
mov qword [rbp + 0x2f0], rax
movzx esi, r8b
mov r14, rdx
mov rdi, rcx
mov ebx, 0x8fc
test rcx, rcx
je 0x1400e8eed
test rdx, rdx
je 0x1400e8eed
xor edx, edx
lea rcx, [rbp + 0x1e0]
mov r8d, 0x104
call fcn.140104310
xor edx, edx
lea rcx, [rbp + 0xd0]
mov r8d, 0x104
call fcn.140104310
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.1401121b8
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.14012c6b8
cmp rax, 0x104
jne 0x1400e8a75
mov byte [rbp + 0x2e3], bl
jmp 0x1400e8a94
mov r9, 0xffffffffffffffff
lea r8, str.._tmp
mov edx, 0x104
lea rcx, [rbp + 0x1e0]
call fcn.140143244
mov r9, 0xffffffffffffffff
lea rcx, [rbp + 0xd0]
mov r8, r14
mov edx, 0x104
call fcn.1401121b8
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.14012c6b8
cmp rax, 0x104
jne 0x1400e8ad0
mov byte [rbp + 0x1d3], bl
jmp 0x1400e8aef
mov r9, 0xffffffffffffffff
lea r8, str.._ok_
mov edx, 0x104
lea rcx, [rbp + 0xd0]
call fcn.140143244
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8b3b
bt eax, 0xa
jae 0x1400e8b3b
lea rcx, [rbp + 0x1e0]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8b2b
test al, 0x10
je 0x1400e8b2b
lea rcx, [rbp + 0x1e0]
call fcn.14012fc74
jmp 0x1400e8b37
lea rcx, [rbp + 0x1e0]
call fcn.140114a3c
test eax, eax
jne 0x1400e8b5e
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0x1e0]
call fcn.14012f72c
test eax, eax
jne 0x1400e8b5e
lea rcx, [rbp + 0x1e0]
call fcn.140114a3c
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8baa
bt eax, 0xa
jae 0x1400e8baa
lea rcx, [rbp + 0xd0]
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8b9a
test al, 0x10
je 0x1400e8b9a
lea rcx, [rbp + 0xd0]
call fcn.14012fc74
jmp 0x1400e8ba6
lea rcx, [rbp + 0xd0]
call fcn.140114a3c
test eax, eax
jne 0x1400e8bfd
lea rdx, [rbp + 0xa0]
lea rcx, [rbp + 0xd0]
call fcn.14012f72c
test eax, eax
jne 0x1400e8bfd
mov rcx, r14
call fcn.1400e9500
lea rcx, [rbp + 0xd0]
test eax, eax
jne 0x1400e8bea
mov rdx, r14
call fcn.140114758
test eax, eax
je 0x1400e8bfd
mov ebx, 0xbba
jmp 0x1400e8eed
call fcn.140114a3c
test eax, eax
je 0x1400e8bfd
mov ebx, 0xbbc
jmp 0x1400e8eed
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8c3d
bt eax, 0xa
jae 0x1400e8c3d
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8c2d
test al, 0x10
je 0x1400e8c2d
mov rcx, rdi
call fcn.14012fc74
jmp 0x1400e8c35
mov rcx, rdi
call fcn.140114a3c
test eax, eax
jne 0x1400e8eed
lea rdx, [rsp + 0x40]
mov rcx, rdi
call fcn.14012f72c
test eax, eax
jne 0x1400e8eed
cmp dword [rsp + 0x54], ebx
jle 0x1400e8eed
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8c98
bt eax, 0xa
jae 0x1400e8c98
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_GetFileAttributesA]
cmp eax, 0xffffffff
je 0x1400e8c8c
test al, 0x10
je 0x1400e8c8c
mov rcx, r14
call fcn.14012fc74
jmp 0x1400e8c94
mov rcx, r14
call fcn.140114a3c
test eax, eax
jne 0x1400e8cb2
lea rdx, [rsp + 0x70]
mov rcx, r14
call fcn.14012f72c
test eax, eax
jne 0x1400e8cb2
test sil, sil
je 0x1400e8eed
mov ecx, dword [rsp + 0x54]
cmp dword [rbp - 0x7c], ecx
jne 0x1400e8d02
lea rdx, [rbp + 0x20]
mov rcx, rdi
call fcn.1400e99a0
test al, al
je 0x1400e8eed
lea rdx, [rbp - 0x60]
mov rcx, r14
call fcn.1400e99a0
test al, al
je 0x1400e8eed
mov r8d, 0x20
lea rdx, [rbp - 0x5c]
lea rcx, [rbp + 0x24]
call fcn.140104540
test eax, eax
je 0x1400e8eed
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.1401120e8
mov qword [rsp + 0x30], rax
mov r15, rax
test rax, rax
je 0x1400e8ed0
mov r8, r12
xor edx, edx
mov rcx, rax
call fcn.140104310
xor r8d, r8d
lea rdx, [0x14017f874]
mov rcx, rdi
call fcn.1400e9590
mov qword [rsp + 0x38], rax
mov rdi, rax
mov esi, 0xbba
test rax, rax
je 0x1400e8e9c
xor r8d, r8d
lea rdx, [0x14017faf4]
lea rcx, [rbp + 0x1e0]
call fcn.1400e9590
mov r13, rax
test rax, rax
je 0x1400e8e9c
movsxd rsi, dword [rsp + 0x54]
test rsi, rsi
je 0x1400e8e10
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.140143954
mov r15, rax
mov rax, rbx
cmp r15, rdi
jne 0x1400e8df8
mov rcx, qword [rsp + 0x30]
mov r9, r13
mov r8, r15
mov edx, 1
call fcn.140144efc
cmp rax, rdi
jne 0x1400e8e86
sub rsi, r15
mov r15, qword [rsp + 0x30]
jne 0x1400e8db0
mov rdi, qword [rsp + 0x38]
mov esi, 0xbba
mov rcx, r15
call fcn.1401120d4
test rdi, rdi
je 0x1400e8e32
mov rcx, rdi
call fcn.140144160
mov rcx, rdi
call fcn.140143b14
test r13, r13
je 0x1400e8e57
mov rcx, r13
call fcn.140144160
mov rcx, r13
call fcn.140143b14
lea rcx, [rbp + 0x1e0]
test ebx, ebx
je 0x1400e8ea6
call fcn.140114a3c
test ebx, ebx
jne 0x1400e8ed5
mov rcx, r14
call fcn.1400e9500
test eax, eax
je 0x1400e8eba
mov rcx, r14
call fcn.140114a3c
test eax, eax
je 0x1400e8eba
lea rcx, [rbp + 0xd0]
call fcn.140114a3c
mov ebx, 0xbbc
jmp 0x1400e8ed5
mov r15, qword [rsp + 0x30]
mov esi, 0xbba
mov rdi, qword [rsp + 0x38]
mov ebx, esi
jmp 0x1400e8e15
mov ebx, 0xbbb
jmp 0x1400e8e15
lea rdx, [rbp + 0xd0]
call fcn.140114758
test eax, eax
je 0x1400e8e5b
mov ebx, esi
jmp 0x1400e8ed5
mov rdx, r14
lea rcx, [rbp + 0xd0]
call fcn.140114758
test eax, eax
cmovne ebx, esi
jmp 0x1400e8ed5
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.140102a00
add rsp, 0x410
pop r14
pop rdi
pop rsi
pop rbx
pop rbp
ret