Function at 0x100251a0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
mov ebx, ecx
push esi
mov dword [ebp - 0x10], ebx
cmp byte [ebx + 0x18], 0
je 0x10025455
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x10025455
movsd xmm1, qword [ebp + 8]
xorps xmm0, xmm0
divsd xmm1, qword [ebx + 0x58]
comisd xmm0, xmm1
jbe 0x100251df
subsd xmm1, qword [0x10048988]
jmp 0x100251e7
addsd xmm1, qword [0x10048988]
cvttsd2si esi, xmm1
mov dword [ebp - 8], esi
test esi, esi
js 0x10025455
cmp esi, dword [ebx + 0x50]
jge 0x10025455
mov eax, dword [ebx + 0x54]
cmp esi, eax
jne 0x10025227
movups xmm0, xmmword [ebx + 0x20]
pop esi
mov al, 1
movups xmmword [ecx], xmm0
movups xmm0, xmmword [ebx + 0x30]
movups xmmword [ecx + 0x10], xmm0
movups xmm0, xmmword [ebx + 0x40]
pop ebx
movups xmmword [ecx + 0x20], xmm0
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
push edi
test esi, esi
jne 0x1002525d
push 0
push dword [ebx + 0x60]
push dword [ebx + 0x1c]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
je 0x10025378
mov ecx, ebx
call fcn.10025140
pop edi
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, esi
test eax, eax
js 0x10025273
sub edi, eax
sub edi, 1
mov dword [ebp - 4], edi
je 0x1002537e
jmp 0x10025276
mov dword [ebp - 4], esi
lea esi, [ebx + 0x1c]
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
test edi, edi
jle 0x100252d0
push dword [esi]
push 0x400
push 0x1005d270
call edx
add esp, 0xc
test eax, eax
je 0x1002524b
mov cl, byte [eax]
test cl, cl
je 0x100252c7
nop dword [eax]
cmp cl, 0xd
jne 0x100252b1
cmp byte [eax + 1], 0xa
jne 0x100252b1
cmp byte [eax + 2], 0
je 0x100252c2
mov cl, byte [eax + 1]
inc eax
test cl, cl
jne 0x100252a0
dec edi
lea esi, [ebx + 0x1c]
jmp 0x10025363
mov word [eax], 0xa
dec edi
lea esi, [ebx + 0x1c]
jmp 0x10025363
mov byte [ebp + 0xf], 0
mov edi, 2
nop dword [eax]
push 1
test edi, edi
jle 0x1002534e
push 0xffffffffffffffff
push dword [esi]
call eax
add esp, 0xc
test eax, eax
jne 0x1002531f
push dword [esi]
lea eax, [ebp + 0xf]
push 1
push 1
push eax
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x1002531f
push dword [esi]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_ftell]
add esp, 4
cmp eax, dword [ebx + 0x60]
jl 0x1002531f
xor al, al
jmp 0x10025321
mov al, 1
cmp byte [ebp + 0xf], 0xa
jne 0x10025328
dec edi
test al, al
jne 0x1002524b
push 1
push 0xffffffffffffffff
push dword [esi]
call dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
add esp, 0xc
test eax, eax
jne 0x1002524b
mov eax, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fseek]
jmp 0x100252e0
push 1
push dword [esi]
call eax
add esp, 0xc
test eax, eax
jne 0x1002524b
mov edi, dword [ebp - 4]
inc edi
mov dword [ebp - 4], edi
test edi, edi
je 0x10025375
mov edx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
jmp 0x10025279
mov esi, dword [ebp - 8]
mov edx, dword [sym.imp.api_ms_win_crt_stdio_l1_1_0.dll_fgets]
push dword [ebx + 0x1c]
push 0x400
push 0x1005d270
call edx
push eax
call fcn.10025160
add esp, 0x10
test eax, eax
je 0x1002524b
mov dword [ebx + 0x54], esi
mov esi, 0x1005d270
mov dword [ebp + 0xc], 0
nop dword [eax]
push 0x20
push esi
call sub.VCRUNTIME140.dll_strchr
mov edi, eax
add esp, 8
test edi, edi
jne 0x100253e3
push 9
push esi
call sub.VCRUNTIME140.dll_strchr
mov edi, eax
add esp, 8
test edi, edi
jne 0x100253e3
mov ecx, esi
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100253d7
sub ecx, edx
lea edi, [ecx + esi]
mov bl, byte [edi]
push esi
mov byte [edi], 0
call dword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll_atof]
mov edx, dword [ebp - 0x10]
add esp, 4
mov ecx, dword [ebp + 0xc]
mov esi, edi
fstp qword [ebp - 0xc]
movsd xmm0, qword [ebp - 0xc]
mov eax, dword [edx + ecx*4]
movsd qword [edx + eax*8 + 0x20], xmm0
mov byte [edi], bl
test bl, bl
je 0x10025423
cmp bl, 0x20
je 0x1002541b
cmp bl, 9
jne 0x10025423
mov bl, byte [esi + 1]
inc esi
test bl, bl
jne 0x10025411
inc ecx
mov dword [ebp + 0xc], ecx
cmp ecx, 6
jl 0x100253b0
mov eax, dword [ebp + 0x10]
movups xmm0, xmmword [edx + 0x20]
pop edi
pop esi
movups xmmword [eax], xmm0
pop ebx
movups xmm0, xmmword [edx + 0x30]
movups xmmword [eax + 0x10], xmm0
movups xmm0, xmmword [edx + 0x40]
movups xmmword [eax + 0x20], xmm0
mov al, 1
mov esp, ebp
pop ebp
ret 0xc
pop esi
xor al, al
pop ebx
mov esp, ebp
pop ebp
ret 0xc