Function at 0x180063710
Capabilities:
Get file size
Read file on windows

Disassembly:
mov qword [rsp + 0x10], rdx
push rbp
push r12
push r13
push r14
push r15
sub rsp, 0x60
lea rbp, [rsp + 0x40]
mov qword [rbp + 8], 0xfffffffffffffffe
mov qword [rbp + 0x50], rbx
mov qword [rbp + 0x60], rsi
mov qword [rbp + 0x68], rdi
mov rax, qword [0x1801563c0]
xor rax, rbp
mov qword [rbp + 0x10], rax
mov rdi, rdx
mov r14, rcx
call fcn.18001bf24
xor r15d, r15d
mov qword [rsp + 0x30], r15
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r15 + 1]
mov rcx, qword [rdi]
call qword [sym.imp.KERNEL32.dll_CreateFileW]
mov rsi, rax
cmp rax, 0xffffffffffffffff
jne 0x1800637bd
mov rcx, qword [rdi]
add rcx, 0xfffffffffffffff4
lea rax, [0x18015f758]
cmp rcx, rax
je 0x1800637b6
or eax, esi
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jg 0x1800637b6
mov rcx, qword [rdi]
sub rcx, 0xc
call fcn.1800d1434
xor eax, eax
jmp 0x180063974
lea rdx, [rbp]
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r12d, eax
cmp eax, r15d
jne 0x180063806
mov rcx, qword [rdi]
add rcx, 0xfffffffffffffff4
lea rax, [0x18015f758]
cmp rcx, rax
je 0x1800637ff
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jg 0x1800637ff
mov rcx, qword [rdi]
sub rcx, 0xc
call fcn.1800d1434
xor eax, eax
jmp 0x180063974
xor r9d, r9d
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea r11d, [r12 + 2]
mov ebx, r11d
mov ecx, r11d
call fcn.1800d04fc
mov r13, rax
mov r8, rbx
xor edx, edx
mov rcx, rax
call fcn.1800d7640
mov qword [rsp + 0x20], r15
lea r9, [rbp]
mov r8d, r12d
mov rdx, r13
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
cmp r13, r15
jne 0x180063862
mov rbx, r15
jmp 0x1800638e1
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_lstrlenA]
lea r9d, [rax + 1]
cmp r9d, 0x3fffffff
jle 0x18006387d
mov rbx, r15
jmp 0x1800638dc
movsxd rax, r9d
add rax, rax
lea rcx, [rax + 0xf]
cmp rcx, rax
ja 0x180063896
movabs rcx, 0xffffffffffffff0
and rcx, 0xfffffffffffffff0
mov rax, rcx
call fcn.1800f12f0
sub rsp, rcx
lea rsi, [rsp + 0x40]
cmp rsi, r15
je 0x1800638d9
mov word [rsi], r15w
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], rsi
or r9d, 0xffffffff
mov r8, r13
xor edx, edx
lea ecx, [rdx + 3]
call qword [sym.imp.KERNEL32.dll_MultiByteToWideChar]
neg eax
sbb rbx, rbx
and rbx, rsi
jmp 0x1800638dc
mov rbx, r15
cmp rbx, r15
jne 0x1800638e6
mov eax, r15d
jmp 0x1800638ef
mov rcx, rbx
call qword [sym.imp.KERNEL32.dll_lstrlenW]
mov r8, rbx
mov edx, eax
mov rcx, r14
call fcn.180003e28
mov rcx, r13
call fcn.1800d1434
mov rcx, r14
call fcn.180063ff4
cmp eax, r15d
je 0x180063942
mov rcx, qword [rdi]
add rcx, 0xfffffffffffffff4
lea rax, [0x18015f758]
cmp rcx, rax
je 0x18006393e
or eax, 0xffffffff
lock xadd dword [rcx], eax
dec eax
cmp eax, r15d
jg 0x18006393e
mov rcx, qword [rdi]
sub rcx, 0xc
call fcn.1800d1434
xor eax, eax
jmp 0x180063974
mov rdx, qword [rdi]
add rdx, 0xfffffffffffffff4
lea rax, [0x18015f758]
cmp rdx, rax
je 0x18006396f
or ecx, 0xffffffff
lock xadd dword [rdx], ecx
dec ecx
cmp ecx, r15d
jg 0x18006396f
mov rcx, qword [rdi]
sub rcx, 0xc
call fcn.1800d1434
mov eax, 1
mov rcx, qword [rbp + 0x10]
xor rcx, rbp
call fcn.1800d12b0
mov rbx, qword [rbp + 0x50]
mov rsi, qword [rbp + 0x60]
mov rdi, qword [rbp + 0x68]
lea rsp, [rbp + 0x20]
pop r15
pop r14
pop r13
pop r12
pop rbp
ret