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

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x68]
sub rsp, 0x168
mov qword [rbp + 0x30], 0xfffffffffffffffe
mov r14, rdx
mov rbx, rcx
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
xor r8d, r8d
xor edx, edx
lea rcx, [rsp + 0x48]
call fcn.1400106e0
mov qword [rsp + 0x48], rax
lea rdx, [rsp + 0x48]
mov rcx, rbx
call fcn.14000f300
lea rcx, [rbx + 8]
cmp qword [rcx + 0x18], 0x10
jb 0x14000fe81
mov rcx, qword [rcx]
call qword [sym.imp.SHLWAPI.dll_PathFileExistsA]
cmp eax, 1
je 0x14000febd
mov rdi, qword [rsp + 0x48]
mov rcx, qword [rdi]
mov qword [rdi], rdi
mov qword [rdi + 8], rdi
cmp rcx, rdi
je 0x14000feb0
mov rbx, qword [rcx]
call fcn.14007b800
mov rcx, rbx
cmp rbx, rdi
jne 0x14000fea0
mov rcx, rdi
call fcn.14007b800
jmp 0x140010348
mov rsi, qword [rsp + 0x48]
mov rdi, qword [rsi]
cmp rdi, rsi
je 0x140010315
lea r13, [rdi + 0x10]
mov rcx, r14
call fcn.14000cbe0
mov rsi, rax
call fcn.14000bcc0
test rax, rax
je 0x14001030a
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + Ordinal_26]
lea rbx, [rax + 0x18]
mov qword [rbp + 0xc8], rbx
test rsi, rsi
je 0x14000ff41
test rsi, 0xffffffffffff0000
jne 0x14000ff32
movzx esi, si
xor edx, edx
mov ecx, esi
call fcn.14000b6e0
test rax, rax
je 0x14000ff5c
mov r8d, esi
mov rdx, rax
lea rcx, [rbp + 0xc8]
call fcn.14000bdc0
jmp 0x14000ff55
or rax, 0xffffffffffffffff
inc rax
cmp byte [rsi + rax], 0
jne 0x14000ff36
jmp 0x14000ff43
xor eax, eax
mov r8d, eax
mov rdx, rsi
lea rcx, [rbp + 0xc8]
call fcn.14000c510
mov rbx, qword [rbp + 0xc8]
mov ecx, 1
sub ecx, dword [rbx - 8]
mov eax, dword [rbx - 0xc]
sub eax, 0x104
or ecx, eax
jge 0x14000ff88
mov edx, 0x104
lea rcx, [rbp + 0xc8]
call fcn.14000bfd0
mov rbx, qword [rbp + 0xc8]
lea rdx, [r13 + 8]
mov rcx, rbx
call qword [sym.imp.SHLWAPI.dll_PathAppendA]
movsxd rdx, dword [rbx - 0xc]
mov rcx, rbx
call fcn.1400e520c
test eax, eax
js 0x1400102ff
cmp eax, dword [rbx - 0xc]
jg 0x1400102ff
mov dword [rbx - 0x10], eax
cdqe
mov byte [rax + rbx], 0
mov qword [rbp - 0x58], reloc.WS2_32.dll_ntohs
xor esi, esi
mov qword [rbp - 0x60], rsi
mov byte [rbp - 0x70], sil
cmp byte [rbx], sil
jne 0x14000ffd7
mov r8d, esi
jmp 0x14000ffe9
or r8, 0xffffffffffffffff
nop dword [rax + rax]
inc r8
cmp byte [rbx + r8], sil
jne 0x14000ffe0
mov rdx, rbx
lea rcx, [rbp - 0x70]
call fcn.1400080d0
nop
mov qword [rsp + 0x70], reloc.WS2_32.dll_ntohs
mov qword [rsp + 0x68], rsi
mov byte [rsp + 0x58], 0
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rsp + 0x58]
call fcn.1400075c0
lea rax, [rsp + 0x58]
mov qword [rsp + 0x40], rax
xor r15b, r15b
lea rcx, [rsp + 0x58]
cmp qword [rsp + 0x70], 0x10
cmovae rcx, qword [rsp + 0x58]
mov qword [rsp + 0x30], rsi
mov dword [rsp + 0x28], esi
mov dword [rsp + 0x20], 3
xor r9d, r9d
mov edx, 0x80000000
lea r8d, [r9 + 1]
call qword [sym.imp.KERNEL32.dll_CreateFileA]
mov r12, rax
cmp rax, 0xffffffffffffffff
je 0x1400101f9
xor edx, edx
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_GetFileSize]
mov r14d, eax
cmp dword [r13 + 4], eax
sete r15b
test r15b, r15b
je 0x1400101e9
mov dword [rbp + 0xc0], esi
mov edx, r14d
lea rcx, [rsp + 0x78]
call fcn.14000b2a0
nop
mov qword [rsp + 0x20], rsi
lea r9, [rbp + 0xc0]
mov r8d, r14d
mov rsi, qword [rsp + 0x78]
mov rdx, rsi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_ReadFile]
cmp dword [rbp + 0xc0], r14d
sete r15b
test r15b, r15b
je 0x14001019a
lea rdx, [rsp + 0x78]
lea rcx, [rbp - 0x10]
call fcn.14000ea30
lea rdx, [r13 + 0x108]
cmp byte [rdx], 0
jne 0x1400100f1
xor esi, esi
jmp 0x1400100fe
or rsi, 0xffffffffffffffff
inc rsi
cmp byte [rdx + rsi], 0
jne 0x1400100f5
lea rcx, [rbp - 0x10]
mov r14, qword [rbp - 0x10]
mov r13, qword [rbp + 8]
cmp r13, 0x10
cmovae rcx, r14
mov r8, rsi
mov r15, qword [rbp]
cmp r15, rsi
cmovb r8, r15
test r8, r8
je 0x14001012e
call fcn.1400ad3f0
test eax, eax
jne 0x140010142
cmp r15, rsi
jae 0x140010138
or eax, 0xffffffff
jmp 0x140010140
xor eax, eax
cmp r15, rsi
seta al
test eax, eax
sete r15b
cmp r13, 0x10
jb 0x140010191
lea rax, [r13 + 1]
cmp rax, 0x1000
jb 0x140010189
test r14b, 0x1f
jne 0x1400102e1
mov rax, qword [r14 - 8]
cmp rax, r14
jae 0x1400102db
sub r14, rax
cmp r14, 8
jb 0x1400102d5
cmp r14, 0x27
ja 0x1400102cf
mov r14, rax
mov rcx, r14
call fcn.14007b800
lea r13, [rdi + 0x10]
mov rsi, qword [rsp + 0x78]
test rsi, rsi
je 0x1400101e7
mov rax, qword [rbp - 0x78]
sub rax, rsi
cmp rax, 0x1000
jb 0x1400101df
test sil, 0x1f
jne 0x1400102f9
mov rax, qword [rsi - 8]
cmp rax, rsi
jae 0x1400102f3
sub rsi, rax
cmp rsi, 8
jb 0x1400102ed
cmp rsi, 0x27
ja 0x1400102e7
mov rsi, rax
mov rcx, rsi
call fcn.14007b800
xor esi, esi
mov rcx, r12
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov r14, qword [rbp + 0xb8]
lea rcx, [rsp + 0x58]
call fcn.140007010
test r15b, r15b
jne 0x14001029e
mov qword [rbp + 0x28], reloc.WS2_32.dll_ntohs
mov qword [rbp + 0x20], rsi
mov byte [rbp + 0x10], r15b
mov qword [rbp - 0x38], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x40], rsi
mov byte [rbp - 0x50], r15b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x50]
call fcn.1400075c0
lea r8, [rbp + 0x10]
lea rdx, [rbp - 0x50]
lea rcx, [rbp + 0x38]
call fcn.14000fb30
nop
mov qword [rbp - 0x18], reloc.WS2_32.dll_ntohs
mov qword [rbp - 0x20], rsi
mov byte [rbp - 0x30], r15b
or r9, 0xffffffffffffffff
xor r8d, r8d
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x30]
call fcn.1400075c0
lea r8, [rbp - 0x30]
mov rdx, r13
mov rcx, qword [rbp + 0xb0]
call fcn.14000f590
nop
lea rcx, [rbp + 0x38]
call fcn.140007010
nop
lea rcx, [rbp + 0x10]
call fcn.140007010
nop
lea rcx, [rbp - 0x70]
call fcn.140007010
nop
lea rdx, [rbx - 0x18]
or eax, 0xffffffff
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x1400102c2
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.WS2_32.dll_htonl]
mov rdi, qword [rdi]
mov rsi, qword [rsp + 0x48]
jmp 0x14000fec5
call fcn.1400e462c
int3
call fcn.1400e462c
int3
call fcn.1400e462c
int3
call fcn.1400e462c
nop
call fcn.1400e462c
int3
call fcn.1400e462c
int3
call fcn.1400e462c
int3
call fcn.1400e462c
nop
mov ecx, 0x80070057
call fcn.14000b790
nop
mov ecx, 0x80004005
call fcn.14000b790
nop
mov rcx, qword [rsi]
mov qword [rsi], rsi
mov qword [rsi + 8], rsi
cmp rcx, rsi
je 0x140010334
mov rbx, qword [rcx]
call fcn.14007b800
mov rcx, rbx
cmp rbx, rsi
jne 0x140010324
mov edx, 1
mov r8d, 0x148
mov rcx, rsi
call fcn.14000c780
nop
mov rcx, r14
add rsp, 0x168
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
jmp fcn.140007010