Function at 0x1400553d0
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 [0x1400da080]
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 0x1400559d0
lea rdi, [rcx + 0x80]
mov qword [rsp + 0x48], rdi
mov rax, qword [0x1400dae28]
sub rax, qword [0x1400dae20]
cmp rax, 0x20
jae 0x140055464
cmp rdx, rdi
je 0x1400559d0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140055454
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.140005030
jmp 0x1400559d0
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
mov r9, qword [rdi + 0x18]
cmp r9, 8
jb 0x140055478
mov rdx, qword [rdi]
test rcx, rcx
je 0x1400554ad
dec rcx
mov rax, r14
cmp rcx, r14
cmovb rax, rcx
lea r8, [rdx + rax*2]
cmp word [r8], 0x5c
je 0x1400554a5
cmp r8, rdx
je 0x1400554ad
sub r8, 2
cmp word [r8], 0x5c
jne 0x140055495
sub r8, rdx
sar r8, 1
jmp 0x1400554b0
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 0x1400554da
mov rdx, qword [rdi]
lea rcx, [rbp - 0x58]
call fcn.140005030
mov r12d, 8
mov dword [rsp + 0x40], r12d
mov r13, qword [0x1400dae20]
mov rax, qword [0x1400dae28]
mov qword [rsp + 0x58], rax
mov rsi, qword [rbp - 0x58]
cmp r13, rax
je 0x14005596b
movabs r8, 0x7ffffffffffffffe
mov ecx, 0xa
lea r14, [0x1400c7954]
mov rdi, qword [r13 + 0x10]
mov r11, r13
mov rsi, qword [r13 + 0x18]
cmp rsi, 8
jb 0x140055539
mov r11, qword [r13]
cmp rdi, 2
jb 0x140055661
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 0x14005557a
cmp word [rax], 0x3a
je 0x140055577
cmp rcx, 1
je 0x14005557a
dec rcx
add rax, 2
cmp word [rax], 0x3a
jne 0x140055564
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x140055652
mov r9d, 2
mov rcx, r14
movzx edx, word [rdx]
mov r8d, 0x3a
cmp dx, r8w
jb 0x1400555c6
mov r10, rax
sub r10, r14
cmp dx, r8w
ja 0x1400555c6
cmp r9, 1
je 0x1400555cc
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x1400555a8
add rax, 2
jmp 0x140055550
sub rax, r11
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x140055652
mov rbx, r13
cmp rsi, 8
jb 0x1400555e5
mov rbx, qword [r13]
cmp rdi, 8
jae 0x1400555fe
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x38], xmm0
mov r14d, 7
mov rsi, qword [rbp - 0x38]
jmp 0x14005563d
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.14001d7c0
mov rsi, rax
mov qword [rbp - 0x38], rax
lea r8, [rdi*2 + 2]
mov rdx, rbx
mov rcx, rax
call fcn.1400766b0
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x28], rdi
lea rdi, [rbp - 0x38]
or r12d, 4
jmp 0x140055764
movabs r8, 0x7ffffffffffffffe
mov ecx, 0xa
mov rax, r8
mov r15, qword [rbp - 0x48]
sub rax, r15
cmp rax, 1
jb 0x140055b8f
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 0x1400556dc
mov rbx, rsi
cmp rsi, 8
cmovb rbx, qword [reloc.OLEAUT32.dll_VariantClear]
or rbx, 7
cmp rbx, r8
jbe 0x1400556c0
mov rbx, r8
jmp 0x1400556c8
cmp rbx, 0xa
cmovb rbx, rcx
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x78]
call fcn.14001d7c0
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.1400766b0
movzx eax, word [0x1400c63d8]
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 0x140055724
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
lea rcx, [rbp - 0x78]
call fcn.14002b450
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 0x140055785
mov rdi, qword [rdi]
cmp r15, 8
jae 0x14005579d
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x68], xmm0
mov qword [rbp - 0x80], 7
jmp 0x1400557df
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.14001d7c0
mov qword [rsp + 0x68], rax
lea r8, [r15*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.1400766b0
mov qword [rbp - 0x80], rbx
mov qword [rsp + 0x78], r15
test r12b, 4
je 0x14005582f
and r12d, 0xfffffffb
mov dword [rsp + 0x40], r12d
cmp r14, 8
jb 0x14005582f
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140055826
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055ba1
mov rcx, rsi
call fcn.1400742a0
nop
test r12b, 2
je 0x14005587f
and r12d, 0xfffffffd
mov dword [rsp + 0x40], r12d
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x14005587f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055879
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055ba7
call fcn.1400742a0
nop
test r12b, 1
je 0x1400558e4
and r12d, 0xfffffffe
mov dword [rsp + 0x40], r12d
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x1400558ce
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1400558c9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055bad
call fcn.1400742a0
xor r15d, r15d
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
jmp 0x1400558e7
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 0x140055b1c
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140055947
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055942
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055bb3
call fcn.1400742a0
add r13, 0x20
cmp r13, qword [rsp + 0x58]
jne 0x14005550e
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
mov r14, 0xffffffffffffffff
cmp qword [rbx + 0x10], 0
jne 0x140055991
cmp rbx, rdi
je 0x140055991
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140055985
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.140005030
nop
mov rax, qword [rbp - 0x40]
cmp rax, 8
jb 0x1400559d0
lea rdx, [rax*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x1400559c8
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055b9b
mov rcx, rsi
call fcn.1400742a0
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400559dd
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140055aa3
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x1400559f9
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 0x140055aa3
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 0x140055a99
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1400748d0
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.140076d60
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 0x140055a8c
movsxd rax, dword [rdi + 0x3c]
mov r14d, dword [rax + rdi + 8]
mov rcx, rdi
call fcn.1400742a0
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 0x140055ae2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140055add
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140055b95
mov rcx, r8
call fcn.1400742a0
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.140074280
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 0x140055b49
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140005030
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x14005595b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140055b85
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140055bb3
call fcn.1400742a0
jmp 0x14005595b
call fcn.140001f20
nop
call fcn.14007abbc
nop
call fcn.14007abbc
nop
call fcn.14007abbc
nop
call fcn.14007abbc
nop
call fcn.14007abbc
nop
call fcn.14007abbc
int3