Function at 0x1400746e0
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 [0x14012a098]
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 0x140074ce0
lea rdi, [rcx + 0x80]
mov qword [rsp + 0x48], rdi
mov rax, qword [0x14012af80]
sub rax, qword [0x14012af78]
cmp rax, 0x20
jae 0x140074774
cmp rdx, rdi
je 0x140074ce0
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140074764
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.140005480
jmp 0x140074ce0
mov rcx, qword [rdi + 0x10]
mov rdx, rdi
mov r9, qword [rdi + 0x18]
cmp r9, 8
jb 0x140074788
mov rdx, qword [rdi]
test rcx, rcx
je 0x1400747bd
dec rcx
mov rax, r14
cmp rcx, r14
cmovb rax, rcx
lea r8, [rdx + rax*2]
cmp word [r8], 0x5c
je 0x1400747b5
cmp r8, rdx
je 0x1400747bd
sub r8, 2
cmp word [r8], 0x5c
jne 0x1400747a5
sub r8, rdx
sar r8, 1
jmp 0x1400747c0
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 0x1400747ea
mov rdx, qword [rdi]
lea rcx, [rbp - 0x58]
call fcn.140005480
mov r12d, 8
mov dword [rsp + 0x40], r12d
mov r13, qword [0x14012af78]
mov rax, qword [0x14012af80]
mov qword [rsp + 0x58], rax
mov rsi, qword [rbp - 0x58]
cmp r13, rax
je 0x140074c7b
movabs r8, 0x7ffffffffffffffe
mov ecx, 0xa
lea r14, [0x140111160]
mov rdi, qword [r13 + 0x10]
mov r11, r13
mov rsi, qword [r13 + 0x18]
cmp rsi, 8
jb 0x140074849
mov r11, qword [r13]
cmp rdi, 2
jb 0x140074971
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 0x14007488a
cmp word [rax], 0x3a
je 0x140074887
cmp rcx, 1
je 0x14007488a
dec rcx
add rax, 2
cmp word [rax], 0x3a
jne 0x140074874
mov rdx, rax
mov rax, rdx
test rdx, rdx
je 0x140074962
mov r9d, 2
mov rcx, r14
movzx edx, word [rdx]
mov r8d, 0x3a
cmp dx, r8w
jb 0x1400748d6
mov r10, rax
sub r10, r14
cmp dx, r8w
ja 0x1400748d6
cmp r9, 1
je 0x1400748dc
dec r9
add rcx, 2
movzx edx, word [rcx + r10]
movzx r8d, word [rcx]
cmp dx, r8w
jae 0x1400748b8
add rax, 2
jmp 0x140074860
sub rax, r11
sar rax, 1
cmp rax, 0xffffffffffffffff
je 0x140074962
mov rbx, r13
cmp rsi, 8
jb 0x1400748f5
mov rbx, qword [r13]
cmp rdi, 8
jae 0x14007490e
movups xmm0, xmmword [rbx]
movups xmmword [rbp - 0x38], xmm0
mov r14d, 7
mov rsi, qword [rbp - 0x38]
jmp 0x14007494d
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.14001dd60
mov rsi, rax
mov qword [rbp - 0x38], rax
lea r8, [rdi*2 + 2]
mov rdx, rbx
mov rcx, rax
call fcn.14009bcc0
mov qword [rbp - 0x20], r14
mov qword [rbp - 0x28], rdi
lea rdi, [rbp - 0x38]
or r12d, 4
jmp 0x140074a74
movabs r8, 0x7ffffffffffffffe
mov ecx, 0xa
mov rax, r8
mov r15, qword [rbp - 0x48]
sub rax, r15
cmp rax, 1
jb 0x140074e9f
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 0x1400749ec
mov rbx, rsi
cmp rsi, 8
cmovb rbx, qword [reloc.OLEAUT32.dll_VariantClear]
or rbx, 7
cmp rbx, r8
jbe 0x1400749d0
mov rbx, r8
jmp 0x1400749d8
cmp rbx, 0xa
cmovb rbx, rcx
lea rdx, [rbx + 1]
lea rcx, [rbp - 0x78]
call fcn.14001dd60
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.14009bcc0
movzx eax, word [0x14010fa08]
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 0x140074a34
mov rdx, qword [r13]
mov r8, qword [r13 + 0x10]
lea rcx, [rbp - 0x78]
call fcn.14004bf40
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 0x140074a95
mov rdi, qword [rdi]
cmp r15, 8
jae 0x140074aad
movups xmm0, xmmword [rdi]
movups xmmword [rsp + 0x68], xmm0
mov qword [rbp - 0x80], 7
jmp 0x140074aef
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.14001dd60
mov qword [rsp + 0x68], rax
lea r8, [r15*2 + 2]
mov rdx, rdi
mov rcx, rax
call fcn.14009bcc0
mov qword [rbp - 0x80], rbx
mov qword [rsp + 0x78], r15
test r12b, 4
je 0x140074b3f
and r12d, 0xfffffffb
mov dword [rsp + 0x40], r12d
cmp r14, 8
jb 0x140074b3f
lea rdx, [r14*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140074b36
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074eb1
mov rcx, rsi
call fcn.1400998c0
nop
test r12b, 2
je 0x140074b8f
and r12d, 0xfffffffd
mov dword [rsp + 0x40], r12d
mov rdx, qword [rbp]
cmp rdx, 8
jb 0x140074b8f
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x18]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140074b89
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074eb7
call fcn.1400998c0
nop
test r12b, 1
je 0x140074bf4
and r12d, 0xfffffffe
mov dword [rsp + 0x40], r12d
mov rdx, qword [rbp - 0x60]
cmp rdx, 8
jb 0x140074bde
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140074bd9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074ebd
call fcn.1400998c0
xor r15d, r15d
mov qword [rbp - 0x68], r15
mov qword [rbp - 0x60], 7
mov word [rbp - 0x78], r15w
jmp 0x140074bf7
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 0x140074e2c
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140074c57
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140074c52
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074ec3
call fcn.1400998c0
add r13, 0x20
cmp r13, qword [rsp + 0x58]
jne 0x14007481e
mov rbx, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x48]
mov rsi, qword [rbp - 0x58]
mov r14, 0xffffffffffffffff
cmp qword [rbx + 0x10], 0
jne 0x140074ca1
cmp rbx, rdi
je 0x140074ca1
mov r8, qword [rdi + 0x10]
cmp qword [rdi + 0x18], 8
jb 0x140074c95
mov rdi, qword [rdi]
mov rdx, rdi
mov rcx, rbx
call fcn.140005480
nop
mov rax, qword [rbp - 0x40]
cmp rax, 8
jb 0x140074ce0
lea rdx, [rax*2 + 2]
mov rax, rsi
cmp rdx, 0x1000
jb 0x140074cd8
add rdx, 0x27
mov rsi, qword [rsi - 8]
sub rax, rsi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074eab
mov rcx, rsi
call fcn.1400998c0
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140074ced
mov rcx, qword [rbx]
call qword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, 0xffffffff
je 0x140074db3
mov rcx, rbx
cmp qword [rbx + 0x18], 8
jb 0x140074d09
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 0x140074db3
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 0x140074da9
mov rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140099ef0
mov rdi, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.14009c370
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 0x140074d9c
movsxd rax, dword [rdi + 0x3c]
mov r14d, dword [rax + rdi + 8]
mov rcx, rdi
call fcn.1400998c0
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 0x140074df2
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbx]
cmp rdx, 0x1000
jb 0x140074ded
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x140074ea5
mov rcx, r8
call fcn.1400998c0
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.1400998a0
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 0x140074e59
lea rdx, [rsp + 0x68]
cmp qword [rbp - 0x80], 8
cmovae rdx, qword [rsp + 0x68]
mov r8, qword [rsp + 0x78]
mov rcx, rbx
call fcn.140005480
nop
mov rdx, qword [rbp - 0x80]
cmp rdx, 8
jb 0x140074c6b
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140074e95
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140074ec3
call fcn.1400998c0
jmp 0x140074c6b
call fcn.140002380
nop
call fcn.1400a03a4
nop
call fcn.1400a03a4
nop
call fcn.1400a03a4
nop
call fcn.1400a03a4
nop
call fcn.1400a03a4
nop
call fcn.1400a03a4
int3