Function at 0x3ff9153d0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
fld xword [rdx]
mov rdi, qword [rax]
mov qword [rsp + 0x88], rdi
xor edi, edi
fld st(0)
fstp xword [rsp + 0x20]
mov r12, rcx
mov esi, r8d
fucompi st(0)
jp 0x3ff9155e8
jne 0x3ff9155e8
fld xword [0x3ff952520]
fld xword [rsp + 0x20]
fcompi st(1)
ja 0x3ff915610
fchs
fld xword [rsp + 0x20]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x3ff915630
fldz
fld xword [rsp + 0x20]
fucompi st(1)
fstp st(0)
jnp 0x3ff915650
mov rcx, qword [0x3ff956770]
call fcn.3ff93a260
mov rcx, qword [0x3ff956760]
mov r13, rax
mov eax, dword [rax]
mov dword [rsp + 0x38], eax
call fcn.3ff93a260
mov rcx, qword [0x3ff956750]
mov r14, qword [rax]
mov rbp, rax
call fcn.3ff93a260
lea r10, [rsp + 0x58]
mov qword [rsp + 0x60], 0x40
fld xword [rsp + 0x20]
fldz
mov r15, qword [rax]
mov rdi, rax
mov qword [rsp + 0x78], r10
movabs rax, 0xc000000000000001
mov qword [rbp], rax
movabs rax, 0x3fffffffffffffff
mov qword [rdi], rax
fcompi st(1)
ja 0x3ff9155b8
fstp xword [rsp + 0x40]
mov r11d, 1
mov rdx, qword [rsp + 0x40]
mov eax, 1
mov qword [rsp + 0x58], rdx
nop dword [rax]
movsxd r8, eax
sub eax, 1
test rdx, rdx
je 0x3ff9154d8
bsr rdx, rdx
mov eax, edx
mov ebx, 1
xor eax, 0x3f
sub ebx, r8d
mov dword [rsp + 0x20], eax
cmp edx, 0x3f
jne 0x3ff915688
test ebx, ebx
jne 0x3ff9156e3
movzx edx, byte [rsp + 0x49]
movzx eax, byte [rsp + 0x48]
mov r9d, r11d
mov r8d, esi
mov rcx, r12
and edx, 0x7f
shl edx, 8
add edx, eax
movsxd rax, edx
sub rax, 0x3ffe
test edx, edx
mov rdx, 0xffffffffffffc003
cmove rax, rdx
movsxd rdx, dword [rsp + 0x20]
shl ebx, 6
movsxd rbx, ebx
sub rax, rdx
lea rdx, [rsp + 0x60]
sub rax, rbx
mov qword [rsp + 0x70], rax
call sym.cygmpfr_6.dll_mpfr_set4
mov ebx, dword [rsp + 0x38]
mov dword [r13], ebx
mov qword [rbp], r14
mov qword [rdi], r15
mov rdx, qword [r12 + 0x10]
cmp r14, rdx
jg 0x3ff915578
cmp r15, rdx
jge 0x3ff9155d0
mov r8d, esi
mov edx, eax
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_check_range
mov rsi, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rdi, qword [rsp + 0x88]
xor rdi, qword [rsi]
jne 0x3ff915749
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
fstp st(0)
fld xword [rsp + 0x20]
mov r11d, 0xffffffff
fchs
fstp xword [rsp + 0x40]
jmp 0x3ff9154c6
test eax, eax
je 0x3ff915585
mov edx, dword [rsp + 0x38]
or edx, 8
mov dword [r13], edx
jmp 0x3ff915585
movabs rax, 0x8000000000000002
mov rcx, qword [0x3ff956770]
mov qword [r12 + 0x10], rax
call fcn.3ff93a260
or dword [rax], 4
xor eax, eax
jmp 0x3ff915585
fstp st(0)
movabs rax, 0x8000000000000003
mov dword [rcx + 8], 1
mov qword [rcx + 0x10], rax
xor eax, eax
jmp 0x3ff915585
movabs rax, 0x8000000000000003
mov dword [rcx + 8], 0xffffffff
mov qword [rcx + 0x10], rax
xor eax, eax
jmp 0x3ff915585
jne 0x3ff915447
movabs rax, 0x8000000000000001
mov qword [rcx + 0x10], rax
mov rax, qword [rsp + 0x28]
movzx eax, ah
test al, al
js 0x3ff915727
mov dword [rcx + 8], 1
xor eax, eax
jmp 0x3ff915585
movsxd rax, ebx
mov dword [rsp + 0x3c], r11d
mov rdx, r10
mov r9d, dword [rsp + 0x20]
mov qword [rsp + 0x30], r10
lea rcx, [r10 + rax*8]
call qword [sym.imp.cyggmp_10.dll___gmpn_lshift]
test ebx, ebx
mov r10, qword [rsp + 0x30]
mov r11d, dword [rsp + 0x3c]
je 0x3ff915509
mov r9d, 8
xor edx, edx
mov rcx, r10
mov dword [rsp + 0x30], r11d
lea r8d, [rbx*8]
movsxd r8, r8d
call sub.cygwin1.dll___memset_chk
mov r11d, dword [rsp + 0x30]
jmp 0x3ff915509
movsxd rax, ebx
lea rdx, [r10 + rax*8]
lea eax, [r8*8]
cdqe
cmp rax, 8
jb 0x3ff915735
mov rcx, qword [rsp + rax + 0x50]
mov qword [rdx + rax - 8], rcx
sub rax, 1
cmp rax, 8
jb 0x3ff9156b9
and rax, 0xfffffffffffffff8
xor ecx, ecx
mov r8, qword [r10 + rcx]
mov qword [rdx + rcx], r8
add rcx, 8
cmp rcx, rax
jb 0x3ff915714
jmp 0x3ff9156b9
mov dword [rcx + 8], 0xffffffff
xor eax, eax
jmp 0x3ff915585
test rax, rax
je 0x3ff9156b9
movzx eax, byte [r10]
mov byte [rdx], al
jmp 0x3ff9156b9
call sub.cygwin1.dll___stack_chk_fail
nop
nop