Function at 0x3ff942a27
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, 0x1d8
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov qword [rsp + 0x48], rdx
mov r15, rcx
lea rbp, [rsp + 0x140]
lea r13, [rsp + 0x160]
mov rdi, qword [rax]
mov qword [rsp + 0x1c8], rdi
xor edi, edi
mov qword [rsp + 0xa8], rcx
mov rcx, rdx
mov edx, 1
mov dword [rsp + 0x230], r8d
xor r8d, r8d
call sym.cygmpfr_6.dll_mpfr_cmp_ui_2exp
mov rcx, qword [0x3ff956770]
mov ebx, eax
call fcn.3ff93a260
mov rcx, qword [0x3ff956760]
mov qword [rsp + 0xb8], rax
mov eax, dword [rax]
mov dword [rsp + 0x100], eax
call fcn.3ff93a260
mov rcx, qword [0x3ff956750]
mov rdi, rax
mov qword [rsp + 0xd0], rax
mov rax, qword [rax]
mov qword [rsp + 0x108], rax
call fcn.3ff93a260
mov edx, 1
mov qword [rsp + 0xd8], rax
mov rsi, rax
mov rax, qword [rax]
mov qword [rsp + 0x110], rax
movabs rax, 0xc000000000000001
mov qword [rdi], rax
movabs rax, 0x3fffffffffffffff
mov qword [rsi], rax
lea rax, [rsp + 0x120]
mov rdi, qword [r15]
mov rcx, rax
mov qword [rsp + 0x60], rax
mov qword [rsp + 0xa0], rdi
call sym.cygmpfr_6.dll_mpfr_init2
mov edx, 1
mov rcx, rbp
call sym.cygmpfr_6.dll_mpfr_init2
mov edx, 1
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_init2
lea rax, [rsp + 0x180]
mov edx, 1
mov rcx, rax
mov qword [rsp + 0x50], rax
call sym.cygmpfr_6.dll_mpfr_init2
lea rax, [rsp + 0x1a0]
mov edx, 1
mov rcx, rax
mov qword [rsp + 0x98], rax
call sym.cygmpfr_6.dll_mpfr_init2
test ebx, ebx
js 0x3ff913e80
cmp qword [rsp + 0xa0], 1
je 0x3ff914295
jle 0x3ff9429f6
mov rdi, qword [rsp + 0xa0]
mov eax, 0x40
lea rdx, [rdi - 1]
bsr rdx, rdx
xor edx, 0x3f
sub eax, edx
cdqe
add rax, rdi
cmp rax, 1
je 0x3ff914295
jle 0x3ff9429c6
lea rcx, [rax - 1]
mov edx, 0x4d
bsr rcx, rcx
xor ecx, 0x3f
sub edx, ecx
movsxd rdx, edx
add rax, rdx
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x88], rbp
mov r15, qword [sym.imp.cyggmp_10.dll___gmpz_add]
mov qword [rsp + 0xb0], 0x40
mov rcx, qword [rsp + 0x60]
mov edx, 0x35
call sym.cygmpfr_6.dll_mpfr_set_prec
xor r9d, r9d
cmp qword [rsp + 0x68], 0x64
jle 0x3ff913e65
cmp qword [rsp + 0x68], 0x1f4
jle 0x3ff9133f3
cmp qword [rsp + 0x68], 0x3e8
jle 0x3ff914225
cmp qword [rsp + 0x68], 0x7d0
jle 0x3ff91420a
cmp qword [rsp + 0x68], 0x1388
jle 0x3ff9141ef
cmp qword [rsp + 0x68], 0x2710
jg 0x3ff91427a
mov rcx, qword [rsp + 0x60]
mov r8, 0xfffffffffffffff6
mov edx, 0xd9a
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
jmp 0x3ff913409
mov rcx, qword [rsp + 0x60]
mov r8, 0xfffffffffffffff6
mov edx, 0x333
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
mov rdi, qword [rsp + 0x60]
mov r9d, 2
mov edx, 4
mov r8, 0xfffffffffffffffc
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
mov r8, qword [rsp + 0x68]
mov rdx, rdi
mov rcx, rdi
mov r9d, 2
call sym.cygmpfr_6.dll_mpfr_mul_ui
mov rcx, qword [rsp + 0x48]
mov r8d, 1
mov rdx, rdi
call sym.cygmpfr_6.dll_mpfr_cmp3
mov qword [rsp + 0x80], 3
test eax, eax
js 0x3ff9141ad
mov rdi, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x68]
mov rcx, rdi
mov rdx, rsi
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rbx, qword [rsp + 0x88]
mov rdx, rsi
mov rcx, rbx
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rdx, rsi
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rbp, qword [rsp + 0x50]
mov rdx, rsi
mov rcx, rbp
call sym.cygmpfr_6.dll_mpfr_set_prec
mov r14, qword [rsp + 0x98]
mov rdx, rsi
mov rcx, r14
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rdx, qword [rsp + 0x48]
xor r9d, r9d
mov rcx, r14
mov r8, qword [rsp + 0x80]
call sym.cygmpfr_6.dll_mpfr_add_ui
mov rdx, r14
xor r8d, r8d
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_log
mov rdx, r14
xor r9d, r9d
mov rcx, rbx
mov r8d, 1
call sym.cygmpfr_6.dll_mpfr_mul_2ui
xor r9d, r9d
mov rdx, rbx
mov rcx, rbx
mov r8d, 1
call sym.cygmpfr_6.dll_mpfr_sub_ui
xor r9d, r9d
mov r8, rbx
mov rdx, rdi
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_mul
xor r9d, r9d
mov rdx, rdi
mov rcx, rdi
mov r8d, 1
call sym.cygmpfr_6.dll_mpfr_div_2ui
mov r8, r14
xor r9d, r9d
mov rdx, rdi
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_sub
mov r8, r14
xor r9d, r9d
mov edx, 1
mov rcx, r13
mov r14, rbx
call sym.cygmpfr_6.dll_mpfr_ui_div
xor r9d, r9d
mov rdx, r13
mov rcx, rbx
mov r8d, 0xc
call sym.cygmpfr_6.dll_mpfr_div_ui
xor r8d, r8d
mov rdx, rbx
mov rcx, rbp
mov r9d, dword [rsp + 0x148]
call sym.cygmpfr_6.dll_mpfr_set4
xor r9d, r9d
mov r8, rbp
mov rdx, rdi
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_add
xor r9d, r9d
mov r8, r13
mov rdx, r13
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_mul
mov rax, qword [rsp + 0x190]
add rax, rsi
cmp qword [rsp + 0x130], rax
jg 0x3ff914269
mov ebx, 2
mov qword [rsp + 0x38], r13
mov rsi, 0xfffffffffffffff9
mov edi, 0x80000000
mov rbp, 0xfffffffffffffffb
mov r12, 0xfffffffffffffffa
mov r13, rbx
jmp 0x3ff913680
imul r8, r13
xor r9d, r9d
mov rdx, r14
mov rcx, r14
add r13, 4
call sym.cygmpfr_6.dll_mpfr_mul_ui
mov r8, r13
xor r9d, r9d
mov rdx, r14
imul r8, rbx
mov rcx, r14
mov qword [rsp + 0x40], r8
call sym.cygmpfr_6.dll_mpfr_div_ui
mov r8, qword [rsp + 0x40]
xor r9d, r9d
mov rdx, r14
mov rcx, r14
lea r8, [r8 + rbx*4]
call sym.cygmpfr_6.dll_mpfr_div_ui
mov rcx, rbx
sub rsi, 2
add rbx, 1
call sym.cygmpfr_6.dll_mpfr_bernoulli_cache
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov rdx, r14
mov r8, rax
call sym.cygmpfr_6.dll_mpfr_mul_z
mov rcx, qword [rsp + 0x60]
mov r8, qword [rsp + 0x50]
xor r9d, r9d
mov rdx, rcx
call sym.cygmpfr_6.dll_mpfr_add
mov rax, qword [rsp + 0x68]
add rax, qword [rsp + 0x190]
cmp rax, qword [rsp + 0x130]
jl 0x3ff913736
mov r8, qword [rsp + 0x38]
xor r9d, r9d
mov rdx, r14
mov rcx, r14
call sym.cygmpfr_6.dll_mpfr_mul
lea r8, [rbx - 1]
lea r11, [rbx + rbx]
cmp rbx, rdi
jbe 0x3ff9135e6
mov r8, rbp
xor r9d, r9d
mov rdx, r14
mov rcx, r14
sub r8, rsi
mov qword [rsp + 0x40], r11
add r13, 4
call sym.cygmpfr_6.dll_mpfr_mul_ui
mov r8, r12
xor r9d, r9d
mov rdx, r14
sub r8, rsi
mov rcx, r14
call sym.cygmpfr_6.dll_mpfr_mul_ui
mov r11, qword [rsp + 0x40]
xor r9d, r9d
mov rdx, r14
mov rcx, r14
mov r8, r11
call sym.cygmpfr_6.dll_mpfr_div_ui
xor r9d, r9d
mov rdx, r14
mov rcx, r14
mov r8, 0xfffffffffffffffc
sub r8, rsi
call sym.cygmpfr_6.dll_mpfr_div_ui
mov r11, qword [rsp + 0x40]
xor r9d, r9d
mov rdx, r14
mov rcx, r14
mov r8, r11
call sym.cygmpfr_6.dll_mpfr_div_ui
xor r9d, r9d
mov rdx, r14
mov rcx, r14
mov r8, 0xfffffffffffffffe
sub r8, rsi
call sym.cygmpfr_6.dll_mpfr_div_ui
jmp 0x3ff91362d
mov qword [rsp + 0xc8], rbx
mov r13, qword [rsp + 0x38]
mov rcx, qword [0x3ff956720]
call fcn.3ff93a260
mov rdi, qword [rsp + 0x50]
xor r8d, r8d
mov rdx, rax
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_cache
xor r9d, r9d
mov rdx, rdi
mov rcx, rdi
mov r8d, 1
call sym.cygmpfr_6.dll_mpfr_mul_2ui
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x88]
xor r8d, r8d
mov r9d, dword [rax + 8]
mov rdx, rax
call sym.cygmpfr_6.dll_mpfr_set4
mov rcx, qword [rsp + 0x80]
mov eax, 2
nop
mov r8, rax
add rax, 1
mov rdx, rax
imul rdx, rax
cmp rdx, rcx
jb 0x3ff9137a0
mov qword [rsp + 0x58], rax
shl rax, 5
mov rdi, r8
mov rcx, rax
mov qword [rsp + 0x40], r8
mov qword [rsp + 0xf0], rax
call sym.cygmpfr_6.dll_mpfr_allocate_func
mov qword [rsp + 0x90], rax
cmp rdi, 1
jbe 0x3ff914240
mov rax, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x68]
lea rsi, [rax + 0x40]
shl rbx, 5
mov rdi, rsi
add rbx, rax
nop word cs:[rax + rax]
mov rcx, rdi
mov rdx, rbp
call sym.cygmpfr_6.dll_mpfr_init2
mov rax, rdi
add rdi, 0x20
cmp rax, rbx
jne 0x3ff913810
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0xc0], rsi
call sym.cygmpfr_6.dll_mpfr_sqr
cmp qword [rsp + 0x40], 2
jbe 0x3ff9138b0
mov rdi, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov ebx, 3
mov rbp, qword [rsp + 0x90]
lea rsi, [rbp + 0x60]
jmp 0x3ff91388c
mov rdx, rbx
mov rcx, rsi
xor r8d, r8d
add rsi, 0x20
shr rdx, 1
shl rdx, 5
add rdx, rbp
call sym.cygmpfr_6.dll_mpfr_sqr
lea rax, [rbx + 1]
cmp rdi, rbx
je 0x3ff9138b0
mov rbx, rax
test bl, 1
je 0x3ff913864
lea rdx, [rsi - 0x20]
mov rcx, rsi
xor r9d, r9d
mov r8, r12
call sym.cygmpfr_6.dll_mpfr_mul
add rsi, 0x20
lea rax, [rbx + 1]
cmp rdi, rbx
jne 0x3ff913889
mov rax, qword [rsp + 0x58]
shl rax, 4
mov rcx, rax
mov qword [rsp + 0xf8], rax
call sym.cygmpfr_6.dll_mpfr_allocate_func
mov r12, rax
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x40]
mov rbx, r12
add rax, 1
shl rax, 4
lea rsi, [r12 + rax]
mov qword [rsp + 0xe8], rsi
mov rcx, rbx
add rbx, 0x10
call sym.cygmpfr_6.dll_mpfr_mpz_init
cmp rsi, rbx
jne 0x3ff9138f0
mov rdi, qword [rsp + 0x80]
cmp qword [rsp + 0x58], rdi
ja 0x3ff913a8c
mov esi, 1
nop dword [rax]
mov edx, 1
mov rcx, r12
call qword [sym.imp.cyggmp_10.dll___gmpz_set_ui]
cmp qword [rsp + 0x40], 0
je 0x3ff913db5
lea rbp, [r12 + 0x10]
mov rdx, r12
mov edi, 1
mov rcx, rbp
call qword [sym.imp.cyggmp_10.dll___gmpz_set]
lea rax, [rsi - 1]
mov qword [rsp + 0x70], rbp
mov rbx, qword [sym.imp.cyggmp_10.dll___gmpz_mul_ui]
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x78], r13
mov r13, rbp
nop dword [rax]
mov rax, qword [rsp + 0x38]
mov rdx, r12
mov rcx, r12
lea r8, [rdi + rax]
call rbx
cmp rdi, qword [rsp + 0x40]
je 0x3ff9139d0
lea rbp, [r13 + 0x10]
mov rdx, r13
add rdi, 1
mov rcx, rbp
call qword [sym.imp.cyggmp_10.dll___gmpz_set]
mov rax, qword [rsp + 0x38]
lea rsi, [rdi + rax]
nop dword [rax]
lea r14, [r13 - 0x10]
mov rdx, r13
mov rcx, r13
mov r8, rsi
call rbx
mov rdx, r13
mov rcx, r13
mov r8, r14
call r15
mov r13, r14
cmp r12, r14
jne 0x3ff9139a8
mov r13, rbp
jmp 0x3ff913970
mov r13, qword [rsp + 0x78]
mov rdx, r12
xor r8d, r8d
xor esi, esi
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_set_z
mov qword [rsp + 0x38], r12
mov rbp, qword [rsp + 0x40]
mov rax, qword [rsp + 0x90]
mov r12, qword [rsp + 0x70]
mov r14, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x98]
lea rbx, [rax + 0x20]
nop dword [rax]
mov rax, rsi
mov rdx, r14
mov r8, r12
mov rcx, rdi
shl rax, 5
add rax, rbx
test rsi, rsi
cmovne rdx, rax
xor r9d, r9d
add rsi, 1
add r12, 0x10
call sym.cygmpfr_6.dll_mpfr_mul_z
xor r9d, r9d
mov r8, rdi
mov rdx, r13
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_add
cmp rbp, rsi
jne 0x3ff913a10
mov r12, qword [rsp + 0x38]
mov rcx, qword [rsp + 0x88]
xor r9d, r9d
mov r8, r13
mov rdx, rcx
call sym.cygmpfr_6.dll_mpfr_mul
mov rsi, qword [rsp + 0x58]
mov rax, qword [rsp + 0x40]
add rax, rsi
cmp rax, qword [rsp + 0x80]
ja 0x3ff913a95
mov qword [rsp + 0x58], rax
jmp 0x3ff913920
mov qword [rsp + 0x58], 1
mov rbx, qword [rsp + 0xe0]
mov rsi, qword [rsp + 0xe8]
nop dword [rax]
mov rcx, rbx
add rbx, 0x10
call sym.cygmpfr_6.dll_mpfr_mpz_clear
cmp rsi, rbx
jne 0x3ff913aa8
mov rdx, qword [rsp + 0xf8]
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_free_func
mov rax, qword [rsp + 0x40]
mov rsi, qword [rsp + 0xc0]
mov rbx, rax
shl rbx, 5
add rbx, qword [rsp + 0x90]
cmp rax, 1
jbe 0x3ff913b04
nop dword [rax + rax]
mov rcx, rsi
call sym.cygmpfr_6.dll_mpfr_clear
mov rax, rsi
add rsi, 0x20
cmp rbx, rax
jne 0x3ff913af0
mov rdx, qword [rsp + 0xf0]
mov rcx, qword [rsp + 0x90]
call sym.cygmpfr_6.dll_mpfr_free_func
mov rdi, qword [rsp + 0x58]
cmp qword [rsp + 0x80], rdi
jbe 0x3ff913b73
mov rbx, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x80]
mov rbp, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x88]
nop word [rax + rax]
mov r8, rbx
xor r9d, r9d
mov rdx, rbp
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_add_ui
add rbx, 1
xor r9d, r9d
mov r8, r13
mov rdx, rsi
mov rcx, rsi
call sym.cygmpfr_6.dll_mpfr_mul
cmp rdi, rbx
jne 0x3ff913b48
mov rdi, qword [rsp + 0x88]
xor r9d, r9d
mov r8, rdi
mov rdx, rdi
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_mul
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8, rdi
mov rdx, rcx
call sym.cygmpfr_6.dll_mpfr_div
mov rcx, qword [rsp + 0x60]
xor r8d, r8d
mov rbx, qword [rsp + 0x130]
mov rdx, rcx
call sym.cygmpfr_6.dll_mpfr_exp
movabs rax, 0x8000000000000003
cmp qword [rsp + 0x130], rax
je 0x3ff913ddb
mov rdi, qword [rsp + 0x88]
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_sqrt
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov r8, rdi
mov rdx, rcx
call sym.cygmpfr_6.dll_mpfr_mul
mov rax, qword [rsp + 0xc8]
movabs rdx, 0xcccccccccccccccd
mul rdx
mov rax, rdx
shr rax, 2
lea rcx, [rax + rax*2 + 0x12]
call sym.cygmpfr_6.dll___gmpfr_int_ceil_log2
add eax, 2
cdqe
add rbx, rax
mov rax, qword [rsp + 0x80]
test rax, rax
js 0x3ff914187
pxor xmm0, xmm0
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
addsd xmm0, qword [0x3ff952518]
call sym.cygmpfr_6.dll___gmpfr_ceil_log2
lea rcx, [rbx + 1]
lea rdx, [rax + 1]
cmp rbx, rax
mov rax, rcx
cmovl rax, rdx
movabs rdx, 0x8000000000000004
cmp qword [rsp + 0x130], rdx
jl 0x3ff913e1c
mov edx, dword [rsp + 0x230]
mov rdi, qword [rsp + 0x120]
xor ecx, ecx
mov r8, qword [rsp + 0x68]
test edx, edx
lea rdx, [rdi - 1]
mov rdi, qword [rsp + 0xa0]
sete cl
sar rdx, 6
sub r8, rax
lea r9, [rcx + rdi]
mov rcx, qword [rsp + 0x138]
add rdx, 1
call sym.cygmpfr_6.dll_mpfr_round_p
test eax, eax
je 0x3ff913e1c
mov rbp, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0xa8]
mov r8d, dword [rsp + 0x230]
mov r9d, dword [rsp + 0x128]
mov rdx, rsi
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_set4
mov rcx, rsi
mov ebx, eax
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, rbp
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, qword [rsp + 0x50]
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, qword [rsp + 0x98]
call sym.cygmpfr_6.dll_mpfr_clear
mov rsi, qword [rsp + 0xb8]
mov eax, dword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
mov dword [rsi], eax
mov rsi, qword [rsp + 0xd0]
mov qword [rsi], rcx
mov rsi, qword [rsp + 0xd8]
mov qword [rsi], r8
mov rdx, qword [rdi + 0x10]
cmp r8, rdx
jl 0x3ff913d6e
cmp rcx, rdx
jle 0x3ff913dc8
mov r8d, dword [rsp + 0x230]
mov rcx, qword [rsp + 0xa8]
mov edx, ebx
call sym.cygmpfr_6.dll_mpfr_check_range
mov ebx, eax
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rdi, qword [rsp + 0x1c8]
xor rdi, qword [rax]
jne 0x3ff914359
mov eax, ebx
add rsp, 0x1d8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r8d, r8d
mov rdx, r12
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_set_z
jmp 0x3ff913a55
test ebx, ebx
je 0x3ff913d87
mov rdi, qword [rsp + 0xb8]
or eax, 8
mov dword [rdi], eax
jmp 0x3ff913d87
mov eax, dword [rsp + 0x230]
mov r9, qword [rsp + 0x60]
lea r8, [rsp + 0x100]
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0xa8]
mov dword [rsp + 0x28], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x20], rax
call fcn.3ff912f00
mov ebx, eax
test eax, eax
jne 0x3ff9142c6
movabs rax, 0x7ffffffffffffeff
sub rax, qword [rsp + 0x68]
cmp rax, qword [rsp + 0xb0]
jl 0x3ff9142ae
mov rdi, qword [rsp + 0xb0]
add qword [rsp + 0x68], rdi
mov rdi, qword [rsp + 0x68]
mov rax, rdi
shr rax, 0x3f
add rax, rdi
sar rax, 1
mov qword [rsp + 0xb0], rax
jmp 0x3ff913376
mov rcx, qword [rsp + 0x60]
mov r8, 0xfffffffffffffff6
mov edx, 0x266
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
jmp 0x3ff913409
cmp rdi, 1
je 0x3ff9142a3
jle 0x3ff9429de
mov rdi, qword [rsp + 0xa0]
mov eax, 0x40
lea rdx, [rdi - 1]
bsr rdx, rdx
xor edx, 0x3f
sub eax, edx
cdqe
add rax, rdi
cmp rax, 1
je 0x3ff9142a3
jle 0x3ff942a0e
mov r15d, 0x4e
lea rdx, [rax - 1]
bsr rdx, rdx
xor edx, 0x3f
sub r15d, edx
movsxd r15, r15d
add r15, rax
mov rcx, qword [0x3ff956720]
mov ebx, 0x40
mov r14d, 1
mov rdi, r15
mov r12, 0xffffffffffffffff
call fcn.3ff93a260
mov qword [rsp + 0x38], rbx
mov rsi, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
mov rbx, qword [rsp + 0x50]
jmp 0x3ff913f44
lea rdi, [r15 + rdi + 6]
movabs rax, 0x7ffffffffffffeff
sub rax, rdi
cmp rax, qword [rsp + 0x38]
jl 0x3ff91416f
add rdi, qword [rsp + 0x38]
mov rax, rdi
shr rax, 0x3f
add rax, rdi
sar rax, 1
mov qword [rsp + 0x38], rax
mov rdx, rdi
mov rcx, rsi
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rdx, rdi
mov rcx, rbp
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rdx, rdi
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_set_prec
mov rdx, rdi
mov rcx, rbx
call sym.cygmpfr_6.dll_mpfr_set_prec
mov r8, qword [rsp + 0x48]
mov edx, 2
mov rcx, rsi
mov r9d, 3
call sym.cygmpfr_6.dll_mpfr_ui_sub
mov rdx, qword [rsp + 0x58]
xor r8d, r8d
mov rcx, rbp
call sym.cygmpfr_6.dll_mpfr_cache
xor r8d, r8d
mov rdx, rsi
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_lngamma
mov qword [rsp + 0x40], 1
movabs rax, 0x8000000000000001
cmp qword [rsp + 0x170], rax
je 0x3ff913ffb
mov r15, qword [rsp + 0x130]
pxor xmm0, xmm0
cvtsi2sd xmm0, r15
mulsd xmm0, qword [0x3ff952510]
call sym.cygmpfr_6.dll___gmpfr_ceil_log2
lea rax, [r15 + rax + 1]
sub rax, qword [rsp + 0x170]
cmovs rax, r12
add rax, 1
mov qword [rsp + 0x40], rax
xor r9d, r9d
mov r8, rbp
mov rdx, rsi
mov rcx, rsi
call sym.cygmpfr_6.dll_mpfr_mul
xor r8d, r8d
mov rdx, rsi
mov rcx, rsi
mov r15, qword [rsp + 0x130]
call sym.cygmpfr_6.dll_mpfr_sin
sub r15, qword [rsp + 0x130]
mov rdx, qword [rsp + 0x48]
mov rcx, rbx
add r15, 3
mov r8d, 1
cmovs r15, r12
xor r9d, r9d
call sym.cygmpfr_6.dll_mpfr_sub_ui
xor r9d, r9d
mov r8, rbp
mov rdx, rbx
mov rcx, rbx
call sym.cygmpfr_6.dll_mpfr_mul
xor r9d, r9d
mov r8, rsi
mov rdx, rbx
mov rcx, rbx
call sym.cygmpfr_6.dll_mpfr_div
xor r8d, r8d
mov rdx, rbx
mov rcx, rbx
mov r9d, 1
call sym.cygmpfr_6.dll_mpfr_set4
xor r8d, r8d
mov rdx, rbx
mov rcx, rbx
call sym.cygmpfr_6.dll_mpfr_log
lea r11, [r15 + 5]
cmp r11, rdi
jge 0x3ff913f10
mov rcx, qword [rsp + 0x190]
lea rax, [r15 + 4]
mov r15, qword [rsp + 0x170]
movabs rdx, 0x8000000000000001
cmp rcx, rdx
je 0x3ff9140ce
mov rdx, r14
sub rdx, rcx
add rax, rdx
cmovs rax, r12
lea r11, [rcx + rax + 1]
mov rdx, rbx
xor r9d, r9d
mov r8, r13
mov rcx, rsi
mov qword [rsp + 0x68], r11
call sym.cygmpfr_6.dll_mpfr_sub
mov rax, qword [rsp + 0x130]
movabs rdx, 0x8000000000000004
cmp rax, rdx
jl 0x3ff913f15
mov r11, qword [rsp + 0x68]
add r15, qword [rsp + 0x40]
mov rcx, r14
mov r8, rdi
cmp r15, r11
cmovge r11, r15
sub rcx, rax
add r11, rcx
mov ecx, dword [rsp + 0x230]
cmovs r11, r12
xor eax, eax
test ecx, ecx
mov rcx, qword [rsp + 0x120]
sete al
add r11, 1
lea rdx, [rcx - 1]
mov rcx, qword [rsp + 0xa0]
sub r8, r11
sar rdx, 6
lea r9, [rax + rcx]
mov rcx, qword [rsp + 0x138]
add rdx, 1
call sym.cygmpfr_6.dll_mpfr_round_p
test eax, eax
je 0x3ff913f15
jmp 0x3ff913cd0
lea r8, [0x3ff9523c8]
mov edx, 0x1a5
lea rcx, [0x3ff952330]
call sym.cygmpfr_6.dll_mpfr_assert_fail
mov rdi, qword [rsp + 0x80]
pxor xmm0, xmm0
mov rax, rdi
and edi, 1
shr rax, 1
or rax, rdi
cvtsi2sd xmm0, rax
addsd xmm0, xmm0
jmp 0x3ff913c42
mov rdi, qword [rsp + 0x60]
mov r8, qword [rsp + 0x48]
mov r9d, 2
mov rdx, rdi
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_sub
mov edx, 2
mov rcx, rdi
call sym.cygmpfr_6.dll_mpfr_get_ui
cmp rax, 3
cmovb rax, qword [rsp + 0x80]
mov qword [rsp + 0x80], rax
jmp 0x3ff913465
mov rcx, qword [rsp + 0x60]
mov r8, 0xfffffffffffffff6
mov edx, 0x8cd
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
jmp 0x3ff913409
mov rcx, qword [rsp + 0x60]
mov r8, 0xfffffffffffffff6
mov edx, 0x6cd
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
jmp 0x3ff913409
mov rcx, qword [rsp + 0x60]
mov r8, 0xfffffffffffffff6
mov edx, 0x533
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
jmp 0x3ff913409
mov rax, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x48]
xor r8d, r8d
add rax, 0x40
mov rcx, rax
mov qword [rsp + 0xc0], rax
call sym.cygmpfr_6.dll_mpfr_sqr
jmp 0x3ff9138b0
mov qword [rsp + 0xc8], 2
jmp 0x3ff913743
mov rcx, qword [rsp + 0x60]
mov r8, 0xffffffffffffffff
mov edx, 9
call sym.cygmpfr_6.dll_mpfr_set_ui_2exp
jmp 0x3ff913409
mov qword [rsp + 0x68], 0xe
jmp 0x3ff91335b
mov r15d, 0xf
jmp 0x3ff913ed9
lea r8, [0x3ff9523c8]
mov edx, 0x2b8
lea rcx, [0x3ff952330]
call sym.cygmpfr_6.dll_mpfr_assert_fail
mov rbp, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x60]
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, rbp
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, r13
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, qword [rsp + 0x50]
call sym.cygmpfr_6.dll_mpfr_clear
mov rcx, qword [rsp + 0x98]
call sym.cygmpfr_6.dll_mpfr_clear
mov rdi, qword [rsp + 0xb8]
mov eax, dword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
mov dword [rdi], eax
mov rdi, qword [rsp + 0xd0]
mov qword [rdi], r8
mov rdi, qword [rsp + 0xd8]
mov qword [rdi], rdx
mov rdi, qword [rsp + 0xa8]
mov rcx, qword [rdi + 0x10]
cmp rcx, r8
jl 0x3ff913d6e
cmp rcx, rdx
jg 0x3ff913d6e
jmp 0x3ff913dcc
call sub.cygwin1.dll___stack_chk_fail
nop
mov rdi, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rbx, qword [rsp + 0x1b8]
xor rbx, qword [rdi]
jne 0x3ff9153ca
add rsp, 0x1c8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
call sub.cygwin1.dll___stack_chk_fail
nop
lea r8, [0x3ff9523b9]
mov edx, 0x1b1
lea rcx, [0x3ff952330]
call sym.cygmpfr_6.dll_mpfr_assert_fail
lea r8, [0x3ff9523ad]
mov edx, 0x14a
lea rcx, [0x3ff952330]
call sym.cygmpfr_6.dll_mpfr_assert_fail
lea r8, [0x3ff9523ad]
mov edx, 0x1b0
lea rcx, [0x3ff952330]
call sym.cygmpfr_6.dll_mpfr_assert_fail
lea r8, [0x3ff9523b9]
mov edx, 0x14b
lea rcx, [0x3ff952330]
call sym.cygmpfr_6.dll_mpfr_assert_fail
nop
mov r8d, 1
mov edx, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_overflow
nop
jmp 0x3ff9144b2