Function at 0x140056b80
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 - 0x10]
sub rsp, 0x110
mov rax, qword [0x1400df080]
xor rax, rsp
mov qword [rbp + 8], rax
mov rbx, rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x60], rdx
xor r15d, r15d
mov dword [rsp + 0x40], r15d
lea r14, [r15 - 1]
cmp qword [rdx + 0x10], r15
jne 0x140057180
lea rdi, [rcx + 0x80]
mov qword [rsp + 0x48], rdi
mov rax, qword [0x1400dff28]
sub rax, qword [0x1400dff20]
cmp rax, 0x20
jae 0x140056c14
cmp rdx, rdi
je 0x140057180
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140056c04
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.140005660
jmp 0x140057180
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
mov r9, qword [rdi + 0x18]
cmp r9, 8
jb 0x140056c28
mov rdx, qword [rdi]
test rcx, rcx
je 0x140056c5d
dec rcx
mov rax, r14
cmp rcx, r14
cmovb rax, rcx
lea r8, [rdx + rax*2]
cmp word [r8], 0x5c
je 0x140056c55
cmp r8, rdx
je 0x140056c5d
sub r8, 2
cmp word [r8], 0x5c
jne 0x140056c45
sub r8, rdx
sar r8, 1
jmp 0x140056c60
mov r8, r14
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x40], 7
mov word [rbp - 0x58], r15w
cmp qword [rdi + 0x10], r8
cmovb r8, qword [rdi + 0x10]
mov rdx, rdi
cmp r9, 8
jb 0x140056c8a
mov rdx, qword [rdi]
lea rcx, [rbp - 0x58]
call fcn.140005660
mov r12d, 8
mov dword [rsp + 0x40], r12d
mov r13, qword [0x1400dff20]
mov rax, qword [0x1400dff28]
mov qword [rsp + 0x58], rax
mov rsi, qword [rbp - 0x58]
cmp r13, rax
je 0x14005711b
movabs r8, 0x7ffffffffffffffe
mov ecx, 0xa
lea r14, [0x1400c9994]
mov rdi, qword [r13 + 0x10]
mov r11, r13
mov rsi, qword [r13 + 0x18]
cmp rsi, 8
jb 0x140056ce9
mov r11, qword [r13]
cmp rdi, 2
jb 0x140056e11
lea rbx, [rdi - 1]
lea rbx, [r11 + rbx*2]
mov rax, r11
nop
mov rcx, rbx
sub rcx, rax
sar rcx, 1
mov rdx, r15
je 0x140056d2a
cmp word [rax], 0x3a
je 0x140056d27
cmp rcx, 1
je 0x140056d2a
dec rcx
add rax, 2
cmp word [rax], 0x3a
jne 0x140056d14
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x140056e02
mov r9d, 2
mov rcx, r14
movzx edx, word [rdx]
mov r8d, 0x3a
cmp dx, r8w
jb 0x140056d76
mov r10, rax
sub r10, r14
cmp dx, r8w
ja 0x140056d76
cmp r9, 1
je 0x140056d7c
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x140056d58
add rax, 2
jmp 0x140056d00
sub rax, r11
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x140056e02
mov rbx, r13
cmp rsi, 8
jb 0x140056d95
mov rbx, qword [r13]
cmp rdi, 8
jae 0x140056dae
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x38], xmm0
mov r14d, 7
mov rsi, qword [rbp - 0x38]
jmp 0x140056ded
mov r14, rdi
or r14, 7
movabs rax, 0x7ffffffffffffffe
cmp r14, rax
cmova r14, rax
lea rdx, [r14 + 1]
lea rcx, [rbp - 0x38]
call fcn.14001de20
mov rsi, rax
mov qword [rbp - 0x38], rax
lea r8, [rdi*2 + 2]
mov rdx, rbx
mov rcx, rax
call fcn.1400785c0
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x28], rdi
lea rdi, [rbp - 0x38]
or r12d, 4
jmp 0x140056f14
movabs r8, 0x7ffffffffffffffe
mov ecx, 0xa
mov rax, r8
mov r15, qword [rbp - 0x48]
sub rax, r15
cmp rax, 1
jb 0x14005733f
lea r14, [rbp - 0x58]
cmp qword [rbp - 0x40], 8
cmovae r14, qword [rbp - 0x58]
xor eax, eax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], rax
mov qword [rbp - 0x60], rax
lea rsi, [r15 + 1]
mov ebx, 7
lea rdi, [rbp - 0x78]
cmp rsi, rbx
jbe 0x140056e8c
mov rbx, rsi
cmp rsi, 8
cmovb rbx, qword [reloc.OLEAUT32.dll_VariantClear]
or rbx, 7
cmp rbx, r8
jbe 0x140056e70
mov rbx, r8
jmp 0x140056e78
cmp rbx, 0xa
cmovb rbx, rcx
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x78]
call fcn.14001de20
mov rdi, rax
mov qword [rbp - 0x78], rax
mov qword [rbp - 0x68], rsi
mov qword [rbp - 0x60], rbx
lea rbx, [r15 + r15]
mov r8, rbx
mov rdx, r14
mov rcx, rdi
call fcn.1400785c0
movzx eax, word [0x1400c8b78]
mov word [rbx + rdi], ax
xor r15d, r15d
mov word [rdi + rsi*2], r15w
or r12d, 0x10
or r12d, 1
mov dword [rsp + 0x40], r12d
mov rdx, r13
cmp qword [r13 + 0x18], 8
jb 0x140056ed4
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
lea rcx, [rbp - 0x78]
call fcn.14002bab0
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x18], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 8], xmm1
mov qword [rax + 0x10], r15
mov qword [rax + 0x18], 7
mov word [rax], r15w
or r12d, 0x20
lea rdi, [rbp - 0x18]
or r12d, 2
mov r14, qword [rbp - 0x20]
mov rsi, qword [rbp - 0x38]
mov dword [rsp + 0x40], r12d
mov qword [rsp + 0x68], r15
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x80], r15
mov r15, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140056f35
mov rdi, qword [rdi]
cmp r15, 8
jae 0x140056f4d
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x68], xmm0
mov qword [rbp - 0x80], 7
jmp 0x140056f8f
mov rbx, r15
or rbx, 7
movabs rax, 0x7ffffffffffffffe
cmp rbx, rax
cmova rbx, rax
lea rdx, [rbx + 1]
lea rcx, [rsp + 0x68]
call fcn.14001de20
mov qword [rsp + 0x68], rax
lea r8, [r15*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.1400785c0
mov qword [rbp - 0x80], rbx
mov qword [rsp + 0x78], r15
test r12b, 4
je 0x140056fdf
and r12d, 0xfffffffb
mov dword [rsp + 0x40], r12d
cmp r14, 8
jb 0x140056fdf
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140056fd6
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057351
mov rcx, rsi
call fcn.1400761b0
nop
test r12b, 2
je 0x14005702f
and r12d, 0xfffffffd
mov dword [rsp + 0x40], r12d
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14005702f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057029
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057357
call fcn.1400761b0
nop
test r12b, 1
je 0x140057094
and r12d, 0xfffffffe
mov dword [rsp + 0x40], r12d
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x14005707e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057079
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005735d
call fcn.1400761b0
xor r15d, r15d
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
jmp 0x140057097
xor r15d, r15d
lea rcx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rcx, qword [rsp + 0x68]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
jne 0x1400572cc
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x1400570f7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400570f2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057363
call fcn.1400761b0
add r13, 0x20
cmp r13, qword [rsp + 0x58]
jne 0x140056cbe
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
mov r14, 0xffffffffffffffff
cmp qword [rbx + 0x10], 0
jne 0x140057141
cmp rbx, rdi
je 0x140057141
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140057135
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.140005660
nop
mov rax, qword [rbp - 0x40]
cmp rax, 8
jb 0x140057180
lea rdx, [rax*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140057178
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005734b
mov rcx, rsi
call fcn.1400761b0
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x14005718d
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140057253
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400571a9
mov rcx, qword [rbx]
mov qword [rsp + 0x30], r15
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 rsi, rax
cmp rax, 0xffffffffffffffff
je 0x140057253
xor eax, eax
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
je 0x140057249
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1400767e0
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.140078c70
mov dword [rsp + 0x40], r15d
mov qword [rsp + 0x20], r15
lea r9, [rsp + 0x40]
mov r8d, dword [rsp + 0x48]
mov rdx, rdi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
je 0x14005723c
movsxd rax, dword [rdi + 0x3c]
mov r14d, dword [rax + rdi + 8]
mov rcx, rdi
call fcn.1400761b0
mov rbx, qword [rsp + 0x50]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
nop
mov rdx, qword [rbx + 0x18]
cmp rdx, 8
jb 0x140057292
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x14005728d
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140057345
mov rcx, r8
call fcn.1400761b0
mov qword [rbx + 0x10], r15
mov qword [rbx + 0x18], 7
mov word [rbx], r15w
mov rax, r14
mov rcx, qword [rbp + 8]
xor rcx, rsp
call fcn.140076190
mov rbx, qword [rsp + 0x160]
add rsp, 0x110
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
lea rax, [rsp + 0x68]
mov rbx, qword [rsp + 0x50]
cmp rbx, rax
je 0x1400572f9
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140005660
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14005710b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140057335
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140057363
call fcn.1400761b0
jmp 0x14005710b
call fcn.140002550
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
nop
call fcn.14007cacc
int3