Function at 0x140050e70
Capabilities:
Read file on windows

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rbp
push rsi
push rdi
push r12
push r14
push r15
sub rsp, 0x20
mov rsi, rcx
mov rbp, r9
mov ecx, 0x10
mov r14, r8
mov r15, rdx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
xor edi, edi
mov qword [rsi + 0x58], rax
mov rbx, r14
mov qword [rax], rdi
mov rax, qword [rsi + 0x58]
mov dword [rax + 8], 1
mov rax, r14
neg rax
mov byte [rsi + 0x6c], dil
mov dword [rsi + 0x74], 0x3f800000
sbb r12, r12
mov byte [rsi + 0x78], 1
or dword [rsi + 0x10], 0xffffffff
and r12, r15
mov dword [rsi + 0x14], 0xfffffffd
mov byte [rsi + 0x60], dil
mov qword [rsi + 0x64], rdi
test r14, r14
jne 0x140050f7b
lea rdx, [0x14011ddf0]
mov rcx, r15
call fcn.140061530
mov r15, rax
test rax, rax
je 0x1400510da
xor edx, edx
lea r8d, [rdi + 2]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
xor r8d, r8d
xor edx, edx
mov rcx, r15
movsxd rbp, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
lea rcx, [rbp + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x140050f69
mov r9, r15
lea edx, [rdi + 1]
mov r8, rbp
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rbp
jne 0x140050f5d
mov byte [rbx + rbp], dil
jmp 0x140050f69
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbx, rdi
mov rcx, r15
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
test rbx, rbx
je 0x1400510da
lea rax, [rbp - 1]
cmp rax, 9
jbe 0x140050fcf
cmp byte [rbx], 0x1f
jne 0x140050fcf
cmp byte [rbx + 1], 0x8b
jne 0x140050fcf
lea r9, [rsp + 0x50]
mov qword [rsp + 0x58], rdi
lea r8, [rsp + 0x58]
mov qword [rsp + 0x50], rdi
mov rdx, rbp
mov rcx, rbx
call fcn.14005a6c0
test eax, eax
jne 0x140050ffa
test r14, r14
jne 0x140050fc1
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rbp, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov byte [rbx + rbp], dil
cmp r14, rbx
jne 0x14005101c
test rbp, rbp
je 0x140051011
lea rcx, [rbp + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, rbp
mov rdx, r14
mov rcx, rax
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rbp], dil
jmp 0x14005101c
cmp r14, rbx
je 0x1400510da
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1400510da
mov rcx, r14
call fcn.140061180
mov rbx, rax
movss xmm2, dword [0x14011c9d0]
lea rdx, [0x14011fc34]
mov rcx, rbx
call fcn.14005aa20
mov rcx, qword [rsi + 0x58]
mov qword [rcx], rax
cmp r14, rbx
je 0x140051048
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rsi + 0x58]
xorps xmm1, xmm1
mov rax, qword [rcx]
movss xmm2, dword [rax]
ucomiss xmm2, xmm1
jp 0x14005105d
je 0x1400510a3
movss xmm0, dword [rax + 4]
ucomiss xmm0, xmm1
jp 0x140051069
je 0x1400510a3
cvtps2pd xmm0, xmm2
addsd xmm0, qword [0x1400a9e48]
cvttsd2si eax, xmm0
mov dword [rsi + 8], eax
mov dword [rsi + 0x1c], eax
mov rax, qword [rcx]
movss xmm0, dword [rax + 4]
cvtps2pd xmm0, xmm0
mov qword [rsi + 0x10], 4
addsd xmm0, qword [0x1400a9e48]
cvttsd2si eax, xmm0
mov dword [rsi + 0xc], eax
mov dword [rsi + 0x20], eax
test r12, r12
je 0x1400510da
cmp dword [rsi + 8], edi
je 0x1400510da
cmp dword [rsi + 0xc], edi
je 0x1400510da
mov ecx, 0x50
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
je 0x1400510d2
mov r8, rsi
mov rdx, r12
mov rcx, rax
call fcn.14005ae28
mov rdi, rax
mov rcx, rdi
call fcn.14005af78
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret