Function at 0x3ff935010
Capabilities:
Read file on windows

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rbx
sub rsp, 0x48
mov rsi, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rax, qword [rsi]
mov qword [rsp + 0x38], rax
xor eax, eax
mov r14, rcx
mov rbx, rdx
test rdx, rdx
je 0x3ff93505b
lea r15, [rsp + 0x30]
mov r9, rdx
mov r8d, 1
mov edx, 1
mov rcx, r15
call sub.cygwin1.dll_fread
cmp rax, 1
je 0x3ff935080
mov eax, 0xffffffff
mov rbx, qword [rsp + 0x38]
xor rbx, qword [rsi]
jne 0x3ff9353aa
add rsp, 0x48
pop rbx
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
movzx r13d, byte [rsp + 0x30]
cmp r13, 7
jbe 0x3ff9350c8
sub r13, 7
mov rdx, r13
mov rcx, r14
call sym.cygmpfr_6.dll_mpfr_set_prec
mov r9, rbx
mov edx, 1
mov rcx, r15
mov r8d, 1
call sub.cygwin1.dll_fread
cmp rax, 1
je 0x3ff935140
mov rcx, r14
call sym.cygmpfr_6.dll_mpfr_set_nan
jmp 0x3ff93505b
add r13, 1
mov r9, rbx
mov r8d, 1
mov rcx, r15
mov rdx, r13
call sub.cygwin1.dll_fread
cmp rax, 1
jne 0x3ff93505b
cmp r13, 8
jne 0x3ff9350fb
cmp byte [rsp + 0x37], 0
js 0x3ff93505b
mov r8, r13
lea rcx, [rsp + 0x28]
mov rdx, r15
mov qword [rsp + 0x28], 0
call fcn.3ff934b30
mov r13, qword [rsp + 0x28]
add r13, 0xf9
je 0x3ff93505b
movabs rax, 0x7ffffffffffffeff
cmp r13, rax
jle 0x3ff935090
jmp 0x3ff93505b
movsx edx, byte [rsp + 0x30]
mov eax, edx
sar edx, 0x1f
or edx, 1
mov ecx, eax
and eax, 0x7f
mov dword [r14 + 8], edx
lea rdx, [rax - 0x5f]
and ecx, 0x7f
cmp rdx, 0x17
ja 0x3ff935308
lea r12, [rax - 0x5e]
cmp r12, 8
ja 0x3ff9350bb
mov r9, rbx
mov r8d, 1
mov rdx, r12
mov rcx, r15
call sub.cygwin1.dll_fread
mov r11, rax
cmp rax, 1
jne 0x3ff9350bb
lea rcx, [rsp + 0x28]
mov rdx, r15
mov r8, r12
mov qword [rsp + 0x28], 0
call fcn.3ff934b30
mov rdx, qword [rsp + 0x28]
lea ecx, [r12*8 - 1]
shl r11, cl
and r11, rdx
mov rax, r11
not rax
and rax, rdx
movabs rdx, 0x3fffffffffffffff
add rax, 0x2f
cmp rax, rdx
ja 0x3ff9350bb
mov r12, rax
mov rcx, qword [0x3ff956760]
neg r12
test r11, r11
cmove r12, rax
call fcn.3ff93a260
cmp qword [rax], r12
jg 0x3ff9350bb
mov rcx, qword [0x3ff956750]
call fcn.3ff93a260
cmp r12, qword [rax]
jg 0x3ff9350bb
mov qword [r14 + 0x10], r12
add r13, 7
sar r13, 3
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_allocate_func
mov r12, rax
test rax, rax
je 0x3ff9350bb
mov r9, rbx
mov r8d, 1
mov rdx, r13
mov rcx, rax
call sub.cygwin1.dll_fread
cmp eax, 1
jne 0x3ff9353a5
mov rax, qword [r14]
lea r15, [rax + 7]
sar r15, 3
cmp r13, r15
jb 0x3ff935348
mov rax, qword [sym.imp.cyggmp_10.dll___gmp_bits_per_limb]
xor edx, edx
mov r13d, dword [rax]
mov rax, r15
sar r13d, 3
movsxd r13, r13d
div r13
mov r11, rdx
test rdx, rdx
je 0x3ff9352bd
mov rax, qword [r14 + 0x18]
lea r9, [r12 + rdx]
mov qword [rax], 0
mov rbx, qword [r14 + 0x18]
mov rax, r12
lea rcx, [rbx + 7]
nop dword [rax]
movzx r8d, byte [rax]
add rax, 1
sub rcx, 1
mov byte [rcx + 1], r8b
cmp r9, rax
jne 0x3ff9352a8
xor ebx, ebx
test rdx, rdx
setne bl
shl rbx, 3
cmp r15, rdx
jbe 0x3ff9352f2
nop
mov rcx, qword [r14 + 0x18]
lea rdx, [r12 + r11]
mov r8d, 8
add rcx, rbx
add rbx, 8
call fcn.3ff934b30
add r11, r13
cmp r15, r11
ja 0x3ff9352d0
mov rdx, r15
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_free_func
xor eax, eax
jmp 0x3ff935060
cmp cl, 0x77
je 0x3ff935360
cmp rax, 0x78
je 0x3ff935390
cmp rax, 0x79
je 0x3ff935378
cmp rax, 0x5e
jg 0x3ff9350bb
mov rcx, qword [0x3ff956760]
lea r12, [rax - 0x2f]
call fcn.3ff93a260
cmp r12, qword [rax]
jl 0x3ff9350bb
jmp 0x3ff935204
xor edx, edx
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_free_func
jmp 0x3ff9350bb
movabs rax, 0x8000000000000001
mov qword [r14 + 0x10], rax
xor eax, eax
jmp 0x3ff935060
movabs rax, 0x8000000000000002
mov qword [r14 + 0x10], rax
xor eax, eax
jmp 0x3ff935060
movabs rax, 0x8000000000000003
mov qword [r14 + 0x10], rax
xor eax, eax
jmp 0x3ff935060
mov rdx, r13
jmp 0x3ff93534a
call sub.cygwin1.dll___stack_chk_fail
nop