Function at 0x1400c2f00
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 rdi, rcx
mov rsi, r9
mov ecx, 0x10
mov r14, r8
mov rbp, rdx
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
xor r15d, r15d
mov qword [rdi + 0x58], rax
test r14, r14
mov r12d, r15d
mov rbx, r14
mov qword [rax], r15
cmovne r12, rbp
mov rax, qword [rdi + 0x58]
mov dword [rax + 8], 1
mov byte [rdi + 0x6c], r15b
mov dword [rdi + 0x74], 0x3f800000
mov byte [rdi + 0x78], 1
mov dword [rdi + 0x10], 0xffffffff
mov dword [rdi + 0x14], 0xfffffffd
mov byte [rdi + 0x60], r15b
mov qword [rdi + 0x64], r15
jne 0x1400c2ffc
lea rdx, [0x140170318]
mov rcx, rbp
call fcn.1400dcbc0
mov rbp, rax
test rax, rax
je 0x1400c3174
xor edx, edx
lea r8d, [r15 + 2]
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
xor r8d, r8d
xor edx, edx
mov rcx, rbp
movsxd rsi, eax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
lea rcx, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov rbx, rax
test rax, rax
je 0x1400c3084
mov r9, rbp
lea edx, [r15 + 1]
mov r8, rsi
mov rcx, rax
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
cmp rax, rsi
jne 0x1400c307b
mov rcx, rbp
mov byte [rbx + rsi], r15b
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
lea rax, [rsi - 1]
cmp rax, 9
jbe 0x1400c3050
cmp byte [rbx], 0x1f
jne 0x1400c3050
cmp byte [rbx + 1], 0x8b
jne 0x1400c3050
lea r9, [rsp + 0x50]
mov qword [rsp + 0x58], r15
lea r8, [rsp + 0x58]
mov qword [rsp + 0x50], r15
mov rdx, rsi
mov rcx, rbx
call fcn.1400ce0d0
test eax, eax
jne 0x1400c3092
test r14, r14
jne 0x1400c3042
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x58]
mov byte [rbx + rsi], r15b
cmp r14, rbx
jne 0x1400c30b4
test rsi, rsi
je 0x1400c30a9
lea rcx, [rsi + 1]
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_malloc]
mov r8, rsi
mov rdx, r14
mov rcx, rax
mov rbx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rbx + rsi], r15b
jmp 0x1400c30b4
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, rbp
call qword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fclose]
jmp 0x1400c3174
cmp r14, rbx
je 0x1400c3174
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
jmp 0x1400c3174
mov rcx, r14
call fcn.1400dcaa0
mov rbx, rax
movss xmm2, dword [0x140170f30]
lea rdx, [0x140174a78]
mov rcx, rbx
call fcn.1400ce3b0
mov rcx, qword [rdi + 0x58]
mov qword [rcx], rax
cmp r14, rbx
je 0x1400c30e0
mov rcx, rbx
call qword [sym.imp.api_ms_win_crt_heap_l1_1_0.dll_free]
mov rcx, qword [rdi + 0x58]
xorps xmm1, xmm1
mov rax, qword [rcx]
movss xmm2, dword [rax]
ucomiss xmm2, xmm1
jp 0x1400c30f5
je 0x1400c313b
movss xmm0, dword [rax + 4]
ucomiss xmm0, xmm1
jp 0x1400c3101
je 0x1400c313b
cvtps2pd xmm0, xmm2
addsd xmm0, qword [0x14016e1b0]
cvttsd2si eax, xmm0
mov dword [rdi + 8], eax
mov dword [rdi + 0x1c], eax
mov rax, qword [rcx]
movss xmm0, dword [rax + 4]
cvtps2pd xmm0, xmm0
mov qword [rdi + 0x10], 4
addsd xmm0, qword [0x14016e1b0]
cvttsd2si eax, xmm0
mov dword [rdi + 0xc], eax
mov dword [rdi + 0x20], eax
test r12, r12
je 0x1400c3174
cmp dword [rdi + 8], r15d
je 0x1400c3174
cmp dword [rdi + 0xc], r15d
je 0x1400c3174
mov ecx, 0x50
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
test rax, rax
je 0x1400c316c
mov r8, rdi
mov rdx, r12
mov rcx, rax
call fcn.1400cebf0
mov r15, rax
mov rcx, r15
call fcn.1400ced20
mov rbx, qword [rsp + 0x60]
mov rbp, qword [rsp + 0x68]
add rsp, 0x20
pop r15
pop r14
pop r12
pop rdi
pop rsi
ret