Function at 0x1400570b0
Capabilities:
Check if file exists
Get file attributes
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x27]
sub rsp, 0xd0
mov rax, qword [0x1400e0090]
xor rax, rsp
mov qword [rbp + 0x17], rax
mov rsi, rdx
mov r15, rcx
mov qword [rbp - 0x51], rdx
xor ebx, ebx
lea r12, [rbx - 1]
cmp qword [rdx + 0x10], rbx
jne 0x140057120
cmp qword [0x1400e13a0], 3
lea rdx, [0x1400e1390]
ja 0x140057105
lea rdx, [rcx + 0x60]
cmp rsi, rdx
je 0x140057120
mov r8, qword [rdx + 0x10]
cmp qword [rdx + 0x18], 8
jb 0x140057118
mov rdx, qword [rdx]
mov rcx, rsi
call fcn.140021550
mov rax, qword [rsi + 0x10]
mov r10, rsi
cmp qword [rsi + 0x18], 8
jb 0x140057131
mov r10, qword [rsi]
cmp rax, 2
jb 0x1400571b4
lea r11, [rax - 1]
lea r11, [r10 + r11*2]
mov rcx, r10
lea rdi, [0x1400c8f1c]
nop dword [rax]
mov rax, r11
sub rax, rcx
sar rax, 1
mov rdx, rbx
je 0x14005717a
cmp word [rcx], 0x3a
je 0x140057177
cmp rax, 1
je 0x14005717a
dec rax
add rcx, 2
cmp word [rcx], 0x3a
jne 0x140057164
mov rdx, rcx
mov rcx, rdx
test rdx, rdx
je 0x1400571b4
mov r8d, 2
mov rdx, rdi
mov r9, rcx
sub r9, rdi
movzx eax, word [r9 + rdx]
cmp ax, word [rdx]
jne 0x140057207
add rdx, 2
sub r8, 1
jne 0x140057191
sub rcx, r10
sar rcx, 1
cmp rcx, r12
jne 0x1400574f1
add r15, 0x60
mov r8, qword [r15 + 0x10]
mov rdx, r15
mov r9, qword [r15 + 0x18]
cmp r9, 8
jb 0x1400571cc
mov rdx, qword [r15]
test r8, r8
je 0x140057210
lea rcx, [r8 - 1]
mov rax, r12
cmp rcx, r12
cmovb rax, rcx
lea rdi, [rdx + rax*2]
cmp word [rdi], 0x5c
je 0x1400571ff
nop dword [rax]
cmp rdi, rdx
je 0x140057210
sub rdi, 2
cmp word [rdi], 0x5c
jne 0x1400571f0
sub rdi, rdx
sar rdi, 1
jmp 0x140057213
add rcx, 2
jmp 0x140057150
mov rdi, r12
xorps xmm0, xmm0
movups xmmword [rbp - 0x49], xmm0
mov qword [rbp - 0x39], rbx
mov qword [rbp - 0x31], rbx
cmp r8, rdi
cmovb rdi, r8
cmp r9, 8
jb 0x140057232
mov r15, qword [r15]
movabs r13, 0x7ffffffffffffffe
cmp rdi, r13
ja 0x14005763c
mov eax, 0xa
cmp rdi, 8
jae 0x140057284
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], 7
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r15
lea rcx, [rbp - 0x49]
call fcn.14007aae0
xor ecx, ecx
mov word [rbp + rbx - 0x49], cx
mov r14, qword [rbp - 0x31]
mov rdi, qword [rbp - 0x39]
mov r12, qword [rbp - 0x49]
jmp 0x1400572d1
mov r14, rdi
or r14, 7
cmp r14, r13
jbe 0x140057295
mov r14, r13
jmp 0x14005729c
cmp r14, rax
cmovb r14, rax
lea rdx, [r14 + 1]
lea rcx, [rbp - 0x49]
call fcn.1400207d0
mov r12, rax
mov qword [rbp - 0x49], rax
mov qword [rbp - 0x39], rdi
mov qword [rbp - 0x31], r14
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, r15
mov rcx, rax
call fcn.14007aae0
xor ecx, ecx
mov word [rbx + r12], cx
mov rax, r13
sub rax, rdi
cmp rax, 1
jb 0x140057642
lea rax, [rbp - 0x49]
cmp r14, 8
setae byte [rbp - 0x69]
cmovae rax, r12
mov qword [rbp - 0x61], rax
xorps xmm0, xmm0
movups xmmword [rbp - 0x29], xmm0
mov qword [rbp - 0x19], rcx
mov qword [rbp - 0x11], rcx
lea r13, [rdi + 1]
mov ebx, 7
lea r15, [rbp - 0x29]
cmp r13, rbx
jbe 0x140057356
mov rbx, r13
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
jbe 0x140057331
mov rbx, rax
jmp 0x14005733e
cmp rbx, 0xa
mov eax, 0xa
cmovb rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x29]
call fcn.1400207d0
mov r15, rax
mov qword [rbp - 0x29], rax
mov rax, qword [rbp - 0x61]
mov qword [rbp - 0x19], r13
mov qword [rbp - 0x11], rbx
lea rbx, [rdi + rdi]
mov r8, rbx
mov rdx, rax
mov rcx, r15
call fcn.14007aae0
mov eax, dword [0x1400c77f8]
mov word [rbx + r15], ax
xor ebx, ebx
mov word [r15 + r13*2], bx
mov rdx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14005738f
mov rdx, qword [rsi]
mov r8, qword [rsi + 0x10]
lea rcx, [rbp - 0x29]
call fcn.14002d590
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x61], xmm0
movups xmmword [rbp - 9], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x49], xmm1
movups xmmword [rbp + 7], xmm1
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], 7
mov word [rax], bx
lea rax, [rbp - 9]
cmp rsi, rax
je 0x14005742c
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x140057412
mov rcx, qword [rsi]
lea rdx, [rdx*2 + 2]
cmp rdx, 0x1000
jb 0x140057405
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140057648
mov rcx, r8
call fcn.140078830
movups xmm0, xmmword [rbp - 0x61]
movups xmm1, xmmword [rbp - 0x49]
mov qword [rsi + 0x18], 7
movups xmmword [rsi], xmm0
movups xmmword [rsi + 0x10], xmm1
mov edx, 7
mov word [rbp - 9], bx
jmp 0x140057430
mov rdx, qword [rbp + 0xf]
cmp rdx, 8
jb 0x14005746d
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 9]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057467
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057648
call fcn.140078830
nop
mov rdx, qword [rbp - 0x11]
cmp rdx, 8
jb 0x1400574ae
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x29]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400574a8
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005764e
call fcn.140078830
nop
cmp byte [rbp - 0x69], 0
je 0x1400574ea
lea rdx, [r14*2 + 2]
mov rax, r12
cmp rdx, 0x1000
jb 0x1400574e2
add rdx, 0x27
mov r12, qword [r12 - 8]
sub rax, r12
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057630
mov rcx, r12
call fcn.140078830
mov r12, 0xffffffffffffffff
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x1400574fe
mov rcx, qword [rsi]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x1400575bc
mov rcx, rsi
cmp qword [rsi + 0x18], 8
jb 0x14005751a
mov rcx, qword [rsi]
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 3]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov r14, rax
cmp rax, 0xffffffffffffffff
je 0x1400575bc
mov qword [rbp - 0x61], 0
lea rdx, [rbp - 0x61]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x1400575b2
mov rbx, qword [rbp - 0x61]
mov rcx, rbx
call fcn.140078ce8
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14007b180
xor ebx, ebx
mov dword [rbp - 0x65], ebx
mov qword [rsp + 0x20], rbx
lea r9, [rbp - 0x65]
mov r8d, dword [rbp - 0x61]
mov rdx, rdi
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x1400575aa
movsxd rax, dword [rdi + 0x3c]
mov r12d, dword [rax + rdi + 8]
mov rcx, rdi
call fcn.140078830
mov rcx, r14
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rsi + 0x18]
cmp rdx, 8
jb 0x1400575f7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsi]
cmp rdx, 0x1000
jb 0x1400575f2
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140057636
mov rcx, r8
call fcn.140078830
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], 7
mov word [rsi], bx
mov rax, r12
mov rcx, qword [rbp + 0x17]
xor rcx, rsp
call fcn.140078810
mov rbx, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.14007f464
nop
call fcn.14007f464
nop
call fcn.1400036d0
nop
call fcn.1400036d0
nop
call fcn.14007f464
nop
call fcn.14007f464
int3