Function at 0x3ff900c70
Capabilities:
Encode data using base64

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0xb8
lea rbp, [rsp + 0x80]
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov r9, qword [rdx + 0x10]
mov rdi, qword [rax]
mov qword [rbp + 0x28], rdi
xor edi, edi
mov r12, rcx
mov rsi, rdx
mov r13d, r8d
movabs rax, 0x8000000000000004
cmp r9, rax
jl 0x3ff901320
mov r10d, dword [rdx + 8]
test r10d, r10d
js 0x3ff901370
mov rax, qword [rcx]
mov rbx, qword [rdx]
mov dword [rcx + 8], 1
mov r14, qword [rcx + 0x18]
cmp rax, rbx
je 0x3ff900f40
mov edx, eax
sub rbx, 1
sub rax, 1
mov qword [rbp - 0x28], 0
sar rbx, 6
neg edx
sar rax, 6
mov edi, edx
add rbx, 1
and edi, 0x3f
mov dword [rbp - 0x38], edi
or edi, r13d
je 0x3ff900eb0
add rax, 1
mov rdi, r14
mov qword [rbp - 0x58], rax
lea r15, [rax + rax]
mov eax, r9d
mov r11, qword [rsi + 0x18]
and eax, 1
mov dword [rbp - 0x40], eax
lea rax, [r15*8]
cmp rax, 0x4000
ja 0x3ff9013a0
call fcn.3ff93a270
sub rsp, rax
lea r10, [rsp + 0x20]
cmp rbx, r15
jg 0x3ff9013d0
mov r8, r15
sub r8, rbx
je 0x3ff900ef8
shl r8, 3
mov rcx, r10
xor edx, edx
mov qword [rbp - 0x50], r11
mov qword [rbp - 0x48], r8
call fcn.3ff93a3b0
mov r9d, dword [rbp - 0x40]
mov r8, qword [rbp - 0x48]
mov r11, qword [rbp - 0x50]
mov r10, rax
test r9d, r9d
lea rcx, [rax + r8]
je 0x3ff900f10
lea rax, [rax + r8 - 8]
mov qword [rbp - 0x50], r10
mov r8, rbx
mov r9d, 1
mov qword [rbp - 0x48], rax
mov rdx, r11
call qword [sym.imp.cyggmp_10.dll___gmpn_rshift]
mov rbx, qword [rbp - 0x48]
mov r10, qword [rbp - 0x50]
mov qword [rbp - 0x48], 0
mov qword [rbx], rax
xor edx, edx
mov r9, r15
mov r8, r10
mov rcx, rdi
call qword [sym.imp.cyggmp_10.dll___gmpn_sqrtrem]
mov rbx, qword [rbp - 0x48]
xor r9d, r9d
mov r8, qword [rdi]
or rbx, rax
mov ebx, dword [rbp - 0x38]
setne r9b
xor edx, edx
cmp ebx, 0x40
je 0x3ff900e0c
mov ecx, ebx
mov edx, 1
shl rdx, cl
lea rcx, [rdx - 1]
neg rdx
and rdx, r8
and r8, rcx
movsxd rbx, dword [rbp - 0x40]
add rbx, qword [rsi + 0x10]
mov rcx, r9
mov r10d, r13d
mov r9, rbx
and r10d, 0xfffffffd
mov qword [rdi], rdx
or rcx, r8
shr r9, 0x3f
add r9, rbx
sar r9, 1
mov rbx, r9
cmp r10d, 1
je 0x3ff901158
test rcx, rcx
je 0x3ff9012d0
test r13d, r13d
jne 0x3ff901218
mov esi, dword [rbp - 0x38]
cmp esi, 0x40
je 0x3ff901448
lea ecx, [rsi - 1]
mov r15d, 0xffffffff
bt r8, rcx
jae 0x3ff90116f
mov r10d, 1
mov r11, r10
shl r11, cl
cmp r11, r8
jne 0x3ff901998
mov r11d, dword [rbp - 0x38]
mov rsi, rdx
or rax, qword [rbp - 0x48]
mov ecx, r11d
shr rsi, cl
mov rcx, rsi
and ecx, 1
or rcx, rax
je 0x3ff90116f
mov ecx, r11d
shl r10, cl
jmp 0x3ff90122f
add rax, 2
lea rdx, [rax*8]
mov qword [rbp - 0x58], rax
lea r15, [rax + rax]
cmp rdx, 0x4000
ja 0x3ff901a28
lea rax, [rdx + 0xf]
and rax, 0xfffffffffffffff0
call fcn.3ff93a270
sub rsp, rax
mov dword [rbp - 0x38], 0x40
lea rdi, [rsp + 0x20]
jmp 0x3ff900d22
mov eax, dword [rbp - 0x40]
mov rcx, r10
test eax, eax
jne 0x3ff9019a8
nop word cs:[rax + rax]
mov qword [rbp - 0x48], 0
cmp r11, rcx
je 0x3ff900dc9
lea r8, [rbx*8]
mov rdx, r11
mov qword [rbp - 0x50], r10
call sub.cygwin1.dll_memcpy
mov r10, qword [rbp - 0x50]
jmp 0x3ff900dc9
cmp rax, 0x3f
jle 0x3ff901480
lea rdx, [rax - 0x41]
cmp rdx, 0x3e
jbe 0x3ff9016b0
cmp rax, 0x40
jne 0x3ff900ce2
mov rax, qword [rsi + 0x18]
xor ebx, ebx
mov rcx, qword [rax]
test r9b, 1
je 0x3ff900f7f
mov rbx, rcx
add r9, 1
shr rcx, 1
shl rbx, 0x3f
mov rsi, r9
mov r10, rcx
lea rax, [0x3ff94f4e0]
mov rdx, rcx
shr rdx, 0x1b
shr rsi, 0x3f
shr r10, 0x36
add rsi, r9
lea r9, [rdx + 1]
sub r10, 0x100
lea rdx, [0x3ff94dce0]
sar rsi, 1
mov rdi, qword [rdx + r10*8]
mov r8, qword [rax + r10*8]
movabs r10, 0x1fffffffe
imul rdi, r9
mov rax, r8
shl r8, 0xb
shl rax, 0x39
sub rax, rdi
mov rdi, rcx
shr rax, 0x2f
add r8, rax
mov rdx, r8
mov rax, r8
imul rdx, r8
shl r8, 0xa
imul rdx, r9
neg rdx
mul rdx
shr rdx, 6
lea r11, [r8 + rdx]
mov rdx, rcx
shr rdx, 0x1f
imul rdx, r11
shr rdx, 0x20
mov rax, rdx
imul rax, rdx
sub rdi, rax
mov rax, rdi
cmp rdi, r10
jbe 0x3ff901040
lea r9, [rdx + rdx]
not r9
nop dword [rax]
add rax, r9
add rdx, 1
sub r9, 2
cmp rax, r10
ja 0x3ff901030
lea r9, [rdx + rdx]
cmp rax, r9
jbe 0x3ff901054
sub rax, 1
add rdx, 1
sub rax, r9
imul rax, r11
shl rdx, 0x20
shr rax, 0x20
add rax, rdx
mov r15, rax
movabs rax, 0x8000000000000000
cmovns r15, rax
mov rax, r15
mul r15
sub rbx, rax
sbb rcx, rdx
test rcx, rcx
jne 0x3ff9010b1
jmp 0x3ff901ac8
xor eax, eax
cmp rbx, r15
setb al
sub rbx, r15
add r15, 1
cmp rbx, r15
sbb rcx, rax
sub rbx, r15
test rcx, rcx
je 0x3ff901ac8
cmp rcx, 1
jne 0x3ff901090
lea rax, [r15 + r15]
cmp rbx, rax
ja 0x3ff901090
mov byte [rbp - 0x38], 1
mov qword [r14], r15
or rbx, rcx
mov rcx, qword [0x3ff956750]
call fcn.3ff93a260
mov rdi, qword [rax]
cmp rsi, rdi
jg 0x3ff941f43
mov rcx, qword [0x3ff956760]
call fcn.3ff93a260
mov rax, qword [rax]
cmp rsi, rax
jl 0x3ff901ec0
mov qword [r12 + 0x10], rsi
test rbx, rbx
je 0x3ff90138e
cmp r13d, 5
je 0x3ff90138e
test r13d, r13d
jne 0x3ff901e21
cmp byte [rbp - 0x38], 0
je 0x3ff901978
add r15, 1
jne 0x3ff901efe
movabs rax, 0x8000000000000000
mov qword [r14], rax
cmp rsi, rdi
je 0x3ff941f43
add rsi, 1
mov qword [r12 + 0x10], rsi
jmp 0x3ff901658
xor r15d, r15d
test rcx, rcx
setne r15b
neg r15d
cmp dword [rbp - 0x38], 0x40
je 0x3ff9012a6
movabs rax, 0x3fffffffffffffff
movabs rdx, 0x7ffffffffffffffe
add rax, rbx
cmp rax, rdx
ja 0x3ff941f2b
mov rcx, qword [rbp - 0x28]
mov qword [r12 + 0x10], rbx
test rcx, rcx
jne 0x3ff9013c0
mov rcx, qword [0x3ff956760]
call fcn.3ff93a260
cmp qword [rax], rbx
jg 0x3ff901200
mov rcx, qword [0x3ff956750]
call fcn.3ff93a260
cmp qword [rax], rbx
jl 0x3ff901200
test r15d, r15d
je 0x3ff9011d7
mov rcx, qword [0x3ff956770]
call fcn.3ff93a260
or dword [rax], 8
mov edx, r15d
mov r8d, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_check_range
mov r15d, eax
jmp 0x3ff9011d7
mov eax, dword [rbp - 0x38]
cmp eax, 0x40
je 0x3ff901a18
mov r10d, 1
mov ecx, eax
shl r10, cl
add rdx, r10
mov qword [r14], rdx
jae 0x3ff9012e0
mov rcx, qword [rbp - 0x58]
mov eax, 1
jmp 0x3ff901269
mov rsi, qword [rdi + rax*8]
lea rdx, [rsi + 1]
mov qword [r14 + rax*8], rdx
add rax, 1
test rdx, rdx
jne 0x3ff901678
cmp rcx, rax
jg 0x3ff901250
mov rax, qword [rbp - 0x58]
lea rbx, [r9 + 1]
movabs rsi, 0x8000000000000000
mov qword [r14 + rax*8 - 8], rsi
mov r15d, 1
jmp 0x3ff90116f
mov rcx, rdx
and ecx, 1
or rcx, rax
jne 0x3ff90146c
nop
mov r15d, 0xffffffff
lea rdx, [rdi + 8]
cmp rdx, r14
je 0x3ff90116f
mov rax, qword [rbp - 0x58]
mov rcx, r14
lea r8, [rax*8 - 8]
call sub.cygwin1.dll_memcpy
jmp 0x3ff90116f
xor r15d, r15d
jmp 0x3ff901165
mov r15d, 1
cmp rdi, r14
je 0x3ff90116f
mov rcx, qword [rbp - 0x58]
cmp rcx, 1
jle 0x3ff90116f
mov eax, 1
nop word [rax + rax]
mov rdx, qword [rdi + rax*8]
mov qword [r14 + rax*8], rdx
add rax, 1
cmp rcx, rax
jne 0x3ff901308
jmp 0x3ff901285
sub rax, 2
cmp r9, rax
je 0x3ff901a90
movabs rdx, 0x8000000000000001
cmp r9, rdx
je 0x3ff901ab0
mov r11d, dword [rsi + 8]
test r11d, r11d
js 0x3ff90137a
movabs rax, 0x8000000000000003
mov dword [rcx + 8], 1
xor r15d, r15d
mov qword [rcx + 0x10], rax
jmp 0x3ff9011d7
movabs rax, 0x8000000000000002
mov qword [r12 + 0x10], rax
mov rcx, qword [0x3ff956770]
call fcn.3ff93a260
or dword [rax], 4
xor r15d, r15d
jmp 0x3ff9011d7
lea rcx, [rbp - 0x28]
mov rdx, rax
mov qword [rbp - 0x48], r11
call sym.cygmpfr_6.dll_mpfr_tmp_allocate
mov r11, qword [rbp - 0x48]
mov r10, rax
jmp 0x3ff900d50
call sym.cygmpfr_6.dll_mpfr_tmp_free
mov rbx, qword [r12 + 0x10]
jmp 0x3ff9011a1
mov ecx, dword [rbp - 0x40]
sub rbx, r15
lea rdx, [r11 + rbx*8]
test ecx, ecx
jne 0x3ff9019e0
cmp r10, rdx
je 0x3ff901ae0
mov r8, qword [rbp - 0x58]
mov rcx, r10
mov qword [rbp - 0x50], r11
shl r8, 4
call sub.cygwin1.dll_memcpy
mov qword [rbp - 0x48], 0
mov r11, qword [rbp - 0x50]
mov r10, rax
mov eax, 1
test rbx, rbx
je 0x3ff900dc9
test al, al
je 0x3ff900dc9
nop dword [rax]
sub rbx, 1
mov rax, qword [r11 + rbx*8]
test rax, rax
jne 0x3ff90143a
test rbx, rbx
jne 0x3ff901428
mov qword [rbp - 0x48], rax
jmp 0x3ff900dc9
test r8, r8
jns 0x3ff9012a0
movabs rcx, 0x8000000000000000
mov rdx, qword [rdi + 8]
or rax, qword [rbp - 0x48]
cmp r8, rcx
je 0x3ff901290
sub qword [rbp - 0x58], 1
add rdi, 8
mov r10d, 1
jmp 0x3ff90122f
mov ecx, 0x40
mov edi, 1
sub rcx, rax
mov rax, qword [rdx + 0x18]
shl rdi, cl
mov r11, qword [rax]
lea r10, [rdi - 1]
test r9b, 1
je 0x3ff9014a8
shr r11, 1
add r9, 1
mov rbx, r9
mov r8, r11
lea rax, [0x3ff94f4e0]
mov rdx, r11
shr rdx, 0x1b
shr rbx, 0x3f
shr r8, 0x36
add rbx, r9
lea r9, [rdx + 1]
sub r8, 0x100
lea rdx, [0x3ff94dce0]
sar rbx, 1
mov r15, qword [rdx + r8*8]
mov rsi, qword [rax + r8*8]
imul r15, r9
mov rax, rsi
shl rsi, 0xb
shl rax, 0x39
mov r8, rsi
mov rsi, r11
sub rax, r15
shr rax, 0x2f
add r8, rax
mov rdx, r8
mov rax, r8
imul rdx, r8
shl r8, 0xa
imul rdx, r9
neg rdx
mul rdx
mov rax, r11
shr rdx, 6
add r8, rdx
shr rax, 0x1f
imul rax, r8
shr rax, 0x20
mov rdx, rax
imul rdx, rax
sub rsi, rdx
mov rdx, rsi
movabs rsi, 0x1fffffffe
cmp rdx, rsi
jbe 0x3ff901568
lea r9, [rax + rax]
not r9
nop dword [rax]
add rdx, r9
add rax, 1
sub r9, 2
cmp rdx, rsi
ja 0x3ff901558
lea r9, [rax + rax]
cmp r9, rdx
jb 0x3ff9019d0
imul r8, rdx
shl rax, 0x20
mov rdx, r10
shr rdx, 1
shr r8, 0x20
add r8, rax
lea rax, [r8 + 7]
and rax, rdx
cmp rax, 7
jbe 0x3ff901b99
sub ecx, 1
mov eax, 1
mov rsi, rdi
mov byte [rbp - 0x38], 0
shl rax, cl
neg rsi
xor r10, rax
mov qword [rbp - 0x48], rsi
and rsi, r8
and r10, r8
mov qword [r14], rsi
or r10, 1
and rax, r8
mov qword [rbp - 0x58], r10
mov qword [rbp - 0x40], rax
setne byte [rbp - 0x50]
mov rcx, qword [0x3ff956750]
call fcn.3ff93a260
mov r15, qword [rax]
cmp rbx, r15
jg 0x3ff941f43
mov rcx, qword [0x3ff956760]
call fcn.3ff93a260
mov rax, qword [rax]
cmp rbx, rax
jl 0x3ff901c34
mov qword [r12 + 0x10], rbx
cmp r13d, 5
je 0x3ff90138e
cmp byte [rbp - 0x38], 0
jne 0x3ff90138e
test r13d, r13d
jne 0x3ff901af8
cmp qword [rbp - 0x40], 0
je 0x3ff901978
add rsi, rdi
jne 0x3ff901c68
movabs rax, 0x8000000000000000
mov qword [r14], rax
cmp rbx, r15
je 0x3ff941f43
add rbx, 1
mov qword [r12 + 0x10], rbx
mov rcx, qword [0x3ff956770]
mov r15d, 1
call fcn.3ff93a260
or dword [rax], 8
jmp 0x3ff9011d7
mov r15d, 1
cmp rdi, r14
je 0x3ff90116f
mov rcx, qword [rbp - 0x58]
cmp rcx, rax
jle 0x3ff90116f
nop dword [rax]
mov rdx, qword [rdi + rax*8]
mov qword [r14 + rax*8], rdx
add rax, 1
cmp rcx, rax
jne 0x3ff901698
jmp 0x3ff901285
mov rdx, qword [rsi + 0x18]
mov r10d, pe_nt_image_headers64
sub r10, rax
mov r8, qword [rdx + 8]
test r9b, 1
je 0x3ff901a70
shr r8, 1
add r9, 1
mov qword [rbp - 8], r8
mov rax, qword [rdx + 8]
mov rcx, qword [rdx]
shl rax, 0x3f
shr rcx, 1
or rax, rcx
mov qword [rbp - 0x10], rax
mov rax, qword [rdx]
shl rax, 0x3f
mov qword [rbp - 0x18], rax
mov ecx, r10d
mov edi, 1
mov rbx, r9
mov rdx, r8
shl rdi, cl
mov rcx, r8
shr rdx, 0x1b
lea rax, [0x3ff94f4e0]
shr rbx, 0x3f
shr rcx, 0x36
lea r15, [rdi - 1]
sub rcx, 0x100
add rbx, r9
lea r9, [rdx + 1]
lea rdx, [0x3ff94dce0]
mov r11, qword [rax + rcx*8]
sar rbx, 1
mov rsi, qword [rdx + rcx*8]
mov rax, r11
mov rcx, r11
movabs r11, 0x2000000000000000
imul rsi, r9
shl rax, 0x39
shl rcx, 0xb
sub rax, rsi
shr rax, 0x2f
add rcx, rax
mov rdx, rcx
mov rax, rcx
imul rdx, rcx
shl rcx, 0xa
imul rdx, r9
neg rdx
mul rdx
shr rdx, 6
add rcx, rdx
mov rax, rcx
imul rax, rcx
mul r8
add rdx, 2
shr rdx, 1
sub r11, rdx
imul r11, rcx
shl rcx, 0x21
mov rax, r11
shr rax, 0x1d
lea r11, [rax + rcx]
mov rax, r11
mul r8
movabs rax, 0x8000000000000000
mov rcx, rdx
add rcx, r8
cmovns rcx, rax
xor r9d, r9d
mov rax, rcx
mul rcx
sub r9, rax
sbb r8, rdx
cmp r8, 0xf
jbe 0x3ff9017fc
mov rax, rcx
mov rdx, rcx
add rcx, 8
shr rax, 0x3c
shl rdx, 4
sub r9, rdx
sbb r8, rax
sub r9, 0x40
sbb r8, 0
cmp r8, 7
jbe 0x3ff901823
mov rax, rcx
lea rdx, [rcx*8]
add rcx, 4
shr rax, 0x3d
sub r9, rdx
sbb r8, rax
sub r9, 0x10
sbb r8, 0
cmp r8, 3
jbe 0x3ff901866
mov rax, rcx
lea rdx, [rcx*4]
add rcx, 2
shr rax, 0x3e
sub r9, rdx
sbb r8, rax
sub r9, 4
sbb r8, 0
jmp 0x3ff901866
mov rax, rcx
lea rdx, [rcx + rcx + 1]
add rcx, 1
shr rax, 0x3f
sub r9, rdx
sbb r8, rax
cmp r8, 1
ja 0x3ff901850
jne 0x3ff901a48
lea rax, [rcx + rcx]
cmp r9, rax
ja 0x3ff901850
xor r8d, r8d
add r9, qword [rbp - 0x10]
mov rax, r11
setb r8b
shr r9, 1
add r8, 1
mov rdx, r8
shr r8, 1
shl rdx, 0x3f
or r9, rdx
mul r9
xor eax, eax
add r9, rdx
setb al
add rcx, r8
add rcx, rax
test r8, r8
je 0x3ff9018ba
add r9, r11
adc rcx, 0
mov rdx, r15
mov qword [r14], r9
add r9, 0x1a
mov r8d, 1
shr rdx, 1
mov qword [r14 + 8], rcx
and r9, rdx
cmp r9, 0x1e
jbe 0x3ff901c70
mov rsi, qword [r14]
lea ecx, [r10 - 1]
mov eax, 1
shl rax, cl
mov rcx, rsi
and rcx, rax
xor rax, r15
and rax, rsi
mov qword [rbp - 0x40], rcx
mov rcx, qword [0x3ff956750]
or rax, r8
mov qword [rbp - 0x38], rax
mov rax, rdi
neg rax
and rsi, rax
mov qword [rbp - 0x48], rax
mov qword [r14], rsi
call fcn.3ff93a260
mov r15, qword [rax]
cmp rbx, r15
jg 0x3ff941f43
mov rcx, qword [0x3ff956760]
call fcn.3ff93a260
mov rax, qword [rax]
cmp rbx, rax
jl 0x3ff901b0c
cmp qword [rbp - 0x38], 0
mov qword [r12 + 0x10], rbx
je 0x3ff90138e
cmp r13d, 5
je 0x3ff90138e
test r13d, r13d
jne 0x3ff901b88
cmp qword [rbp - 0x40], 0
jne 0x3ff901b50
nop word [rax + rax]
mov rcx, qword [0x3ff956770]
mov r15d, 0xffffffff
call fcn.3ff93a260
or dword [rax], 8
jmp 0x3ff9011d7
mov ecx, esi
shl r10, cl
jmp 0x3ff90122f
mov qword [rbp - 0x50], r10
mov rcx, r10
mov r9d, 1
mov r8, rbx
mov rdx, r11
call qword [sym.imp.cyggmp_10.dll___gmpn_rshift]
mov r10, qword [rbp - 0x50]
mov qword [rbp - 0x48], rax
jmp 0x3ff900dc9
sub rdx, 1
add rax, 1
sub rdx, r9
jmp 0x3ff901575
mov qword [rbp - 0x60], r11
mov rcx, r10
mov r9d, 1
mov r8, r15
mov qword [rbp - 0x50], r10
call qword [sym.imp.cyggmp_10.dll___gmpn_rshift]
mov r10, qword [rbp - 0x50]
mov r11, qword [rbp - 0x60]
test rax, rax
mov qword [rbp - 0x48], rax
sete al
jmp 0x3ff901413
mov rdx, qword [rdi + 8]
jmp 0x3ff90146c
lea rcx, [rbp - 0x28]
call sym.cygmpfr_6.dll_mpfr_tmp_allocate
mov dword [rbp - 0x38], 0x40
mov r9, qword [rsi + 0x10]
mov rdi, rax
jmp 0x3ff900d22
xor edx, edx
add r9, qword [rbp - 0x10]
mov rax, r11
setb dl
shr r9, 1
shl rdx, 0x3f
or r9, rdx
mul r9
add r9, rdx
adc rcx, 0
jmp 0x3ff9018ba
mov qword [rbp - 8], r8
mov rax, qword [rdx]
mov qword [rbp - 0x18], 0
mov qword [rbp - 0x10], rax
jmp 0x3ff9016f6
mov qword [rcx + 0x10], r9
mov rcx, qword [0x3ff956770]
xor r15d, r15d
call fcn.3ff93a260
or dword [rax], 4
jmp 0x3ff9011d7
mov eax, dword [rsi + 8]
xor r15d, r15d
mov qword [rcx + 0x10], r9
mov dword [rcx + 8], eax
jmp 0x3ff9011d7
cmp r15, rbx
setb cl
setb byte [rbp - 0x38]
movzx ecx, cl
jmp 0x3ff9010c4
mov qword [rbp - 0x48], 0
mov eax, 1
jmp 0x3ff901413
mov eax, r13d
and eax, 0xfffffffd
cmp eax, 1
je 0x3ff901978
jmp 0x3ff901630
test r13d, r13d
jne 0x3ff901e78
sub rax, 1
cmp rbx, rax
jne 0x3ff941ed0
cmp qword [rbp - 0x40], 0
setne dl
cmp qword [rbp - 0x48], rsi
sete al
test dl, al
je 0x3ff941ed2
cmp qword [r14 + 8], 0xffffffffffffffff
jne 0x3ff901f29
mov qword [r12 + 0x10], rbx
nop dword [rax]
add rsi, rdi
sete al
mov qword [r14], rsi
movzx eax, al
add rax, qword [r14 + 8]
jne 0x3ff901e35
movabs rax, 0x8000000000000000
mov qword [r14 + 8], rax
cmp rbx, r15
jne 0x3ff90164f
jmp 0x3ff941f43
mov eax, r13d
and eax, 0xfffffffd
cmp eax, 1
je 0x3ff901978
jmp 0x3ff901b50
movabs rax, 0x8000000000000000
test r8, r8
cmovns r8, rax
xor r9d, r9d
mov rax, r8
mul r8
sub r9, rax
sbb r11, rdx
mov rax, r9
test r11, r11
jne 0x3ff901be5
jmp 0x3ff901bf8
xor edx, edx
cmp r8, rax
seta dl
sub rax, r8
add r8, 1
cmp rax, r8
sbb r11, rdx
sub rax, r8
test r11, r11
je 0x3ff901bf8
cmp r11, 1
jne 0x3ff901bc8
lea rdx, [r8 + r8]
cmp rdx, rax
jb 0x3ff901bc8
or rax, 1
sub ecx, 1
mov edx, 1
mov rsi, rdi
shl rdx, cl
neg rsi
xor r10, rdx
mov qword [rbp - 0x48], rsi
and rsi, r8
and r10, r8
and rdx, r8
mov qword [r14], rsi
setne byte [rbp - 0x50]
or r10, rax
mov qword [rbp - 0x40], rdx
mov qword [rbp - 0x58], r10
sete byte [rbp - 0x38]
jmp 0x3ff9015d3
test r13d, r13d
jne 0x3ff901e3e
sub rax, 1
cmp rbx, rax
jne 0x3ff941f08
cmp rsi, qword [rbp - 0x48]
jne 0x3ff941f5c
cmp byte [rbp - 0x50], 0
je 0x3ff901f33
mov qword [r12 + 0x10], rbx
jmp 0x3ff901630
mov qword [r14], rsi
jmp 0x3ff901658
mov qword [rbp - 0x38], r10
mov r8d, 2
mov rdx, r14
mov rcx, rbp
mov qword [rbp - 0x20], 0
call qword [sym.imp.cyggmp_10.dll___gmpn_sqr]
lea rdx, [rbp - 0x20]
mov r8, rbp
mov rcx, rbp
mov r9d, 3
call qword [sym.imp.cyggmp_10.dll___gmpn_sub_n]
mov rax, qword [r14]
mov rsi, qword [r14 + 8]
mov r11, qword [rbp + 0x10]
mov r9, qword [rbp + 8]
mov rdx, rax
lea rcx, [rsi + rsi]
add rax, rax
mov r8, qword [rbp]
shr rdx, 0x3f
mov r10, qword [rbp - 0x38]
or rcx, rdx
test r11, r11
jns 0x3ff901d33
mov r8, qword [rbp]
mov r9, qword [rbp + 8]
nop dword [rax]
xor edx, edx
cmp rax, 1
setbe dl
sub rcx, rdx
mov rdx, rax
sub rax, 2
lea r8, [r8 + rdx - 1]
cmp rax, r8
seta dl
seta sil
movzx edx, dl
add rdx, rcx
add r9, rdx
mov edx, 2
cmp rcx, r9
ja 0x3ff901d22
sete dl
movzx edx, dl
and rdx, rsi
add rdx, 1
add r11, rdx
js 0x3ff901ce0
mov qword [rbp + 8], r9
mov qword [rbp], r8
mov qword [rbp + 0x10], r11
xor edx, edx
jmp 0x3ff901d81
cmp r8, rax
setbe dl
cmp r9, rcx
jae 0x3ff901dd0
mov esi, 1
movzx edx, dl
add rdx, rcx
not rsi
sub r9, rdx
mov rdx, rax
add rax, 2
add r11, rsi
not rdx
add r8, rdx
xor edx, edx
cmp rax, 1
setbe dl
add rcx, rdx
mov edx, 1
cmp r11, 1
ja 0x3ff901d40
je 0x3ff901df0
test dl, dl
je 0x3ff901d9d
mov qword [rbp + 8], r9
mov qword [rbp], r8
mov qword [rbp + 0x10], 0
mov rdx, rcx
shr rax, 1
shr rdx, 1
shl rcx, 0x3f
bts rdx, 0x3f
or rax, rcx
mov qword [r14 + 8], rdx
mov qword [r14], rax
mov r8, qword [rbp + 0x10]
or r8, qword [rbp]
or r8, qword [rbp + 8]
jmp 0x3ff9018de
je 0x3ff901de0
xor esi, esi
movzx edx, dl
jmp 0x3ff901d57
xor edx, edx
cmp r8, rax
setbe dl
mov rsi, rdx
jmp 0x3ff901d57
cmp r9, rcx
jbe 0x3ff901dfd
cmp r8, rax
setbe dl
jmp 0x3ff901dd2
jne 0x3ff901f06
cmp r8, rax
ja 0x3ff901de0
test dl, dl
je 0x3ff901d9d
mov qword [rbp + 8], rcx
mov qword [rbp], r8
mov qword [rbp + 0x10], 1
jmp 0x3ff901d9d
mov eax, r13d
and eax, 0xfffffffd
cmp eax, 1
je 0x3ff901978
jmp 0x3ff901125
mov qword [r14 + 8], rax
jmp 0x3ff901658
lea edx, [r13 - 2]
and edx, 0xfffffffd
jne 0x3ff941eef
sub rax, 1
cmp rax, rbx
jne 0x3ff941eef
cmp rsi, qword [rbp - 0x48]
jne 0x3ff941eef
mov rax, qword [rbp - 0x58]
or rax, qword [rbp - 0x40]
jne 0x3ff901c5e
jmp 0x3ff941eef
lea edx, [r13 - 2]
and edx, 0xfffffffd
jne 0x3ff941eef
sub rax, 1
cmp rbx, rax
jne 0x3ff941eef
cmp qword [r14 + 8], 0xffffffffffffffff
jne 0x3ff941eef
cmp qword [rbp - 0x48], rsi
jne 0x3ff941eef
mov rax, qword [rbp - 0x40]
or rax, qword [rbp - 0x38]
jne 0x3ff901b44
jmp 0x3ff941eef
test r13d, r13d
je 0x3ff941f1a
lea edx, [r13 - 2]
and edx, 0xfffffffd
jne 0x3ff941eef
sub rax, 1
cmp rax, rsi
sete dl
cmp r15, 0xffffffffffffffff
sete al
test dl, al
je 0x3ff941eef
test rbx, rbx
je 0x3ff901f2e
mov qword [r12 + 0x10], rsi
jmp 0x3ff90112f
mov qword [r14], r15
jmp 0x3ff901658
test dl, dl
je 0x3ff901d9d
mov qword [rbp + 8], r9
mov qword [rbp], r8
mov qword [rbp + 0x10], 1
jmp 0x3ff901d9d
jmp 0x3ff941eef
jmp 0x3ff941f5c
jge 0x3ff941f5c
mov r13d, 1
jmp 0x3ff941eef
sub rax, 1
cmp rsi, rax
jge 0x3ff941f78
mov r13d, 1
jmp 0x3ff941eef
lea r8, str.expr____1___mpfr_exp_t__1______64___0_sizeof_mpfr_exp_t__sizeof_mp_limb_t__2_____expr______mpfr_exp_t__1______64___0_sizeof_mpfr_exp_t__sizeof_mp_limb_t__2___1_
mov edx, 0x2b5
lea rcx, str._mnt_share_cygpkgs_mpfr_mpfr.x86_64_src_mpfr_4.0.2_src_sqrt.c
call sym.cygmpfr_6.dll_mpfr_assert_fail
mov r8d, 1
mov edx, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_overflow
mov r15d, eax
jmp 0x3ff9011d7
mov eax, 1
xor r13d, r13d
shl rax, 0x3f
cmp rsi, rax
sete r13b
and r13d, dword [rbp - 0x38]
jmp 0x3ff941eef
test rbx, rbx
mov edx, 1
sete al
shl rdx, 0x3f
xor r13d, r13d
cmp r15, rdx
sete r13b
and r13d, eax
jmp 0x3ff941eef