Function at 0x3ff93f4c0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rdi, qword [rsp + 0xb8]
xor rdi, qword [rax]
jne 0x3ff8f3570
mov eax, ebp
add rsp, 0xc8
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
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov r8d, dword [r12 + 8]
test r13d, r13d
je 0x3ff93ee1d
mov edx, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_underflow
mov r14d, eax
jmp 0x3ff93f178
mov r13d, 1
jmp 0x3ff93ee0a
push rbp
push r15
push r14
push r13
push r12
push rdi
push rsi
push rbx
sub rsp, 0x78
lea rbp, [rsp + 0x80]
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov r12, rcx
mov rsi, r8
mov r13d, r9d
mov rcx, qword [rax]
mov qword [rbp - 0x18], rcx
xor ecx, ecx
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x28], rax
mov rdi, rax
movabs rax, 0x8000000000000004
cmp rdi, rax
jl 0x3ff93f2b0
cmp r8, 1
jbe 0x3ff93f340
lea rax, [r8 - 1]
test rax, r8
je 0x3ff93f380
mov eax, dword [rdx + 8]
mov qword [rbp - 0x20], 0
mov r14, qword [rdx + 0x18]
mov r15, qword [r12 + 0x18]
mov dword [r12 + 8], eax
mov rax, qword [rdx]
lea rdi, [rax - 1]
mov rax, qword [r12]
sar rdi, 6
lea rbx, [rax - 1]
add rdi, 1
sar rbx, 6
lea rax, [rbx + 1]
add rbx, 2
mov qword [rbp - 0x40], rax
mov rax, rbx
sub rax, rdi
mov qword [rbp - 0x30], rax
lea rax, [rbx*8]
mov qword [rbp - 0x38], rax
cmp rax, 0x4000
ja 0x3ff93f3a8
add rax, 0xf
and rax, 0xfffffffffffffff0
call fcn.3ff93a270
sub rsp, rax
lea r10, [rsp + 0x30]
mov rdx, qword [rbp - 0x30]
test rdx, rdx
js 0x3ff93efe0
mov qword [rsp + 0x20], rsi
mov r9, rdi
mov r8, r14
mov qword [rbp - 0x48], r10
mov rcx, r10
sub rdi, rbx
call qword [sym.imp.cyggmp_10.dll___gmpn_divrem_1]
mov r10, qword [rbp - 0x48]
mov r11, rax
test rdi, rdi
jle 0x3ff93f47b
mov rax, r14
lea rdx, [r14 + rdi*8]
nop dword [rax]
mov rbx, qword [rax]
test rbx, rbx
je 0x3ff93f000
mov ebx, 1
mov rax, qword [rbp - 0x38]
mov edi, dword [r12]
mov r9, qword [r10 + rax - 8]
neg edi
lea r8, [rax - 8]
and edi, 0x3f
test r9, r9
jne 0x3ff93f018
cmp r10, r15
je 0x3ff93efa8
mov rdx, r10
mov rcx, r15
mov qword [rbp - 0x50], r9
mov qword [rbp - 0x48], r11
mov qword [rbp - 0x40], r10
call sub.cygwin1.dll_memcpy
mov r9, qword [rbp - 0x50]
mov r11, qword [rbp - 0x48]
mov r10, qword [rbp - 0x40]
mov rdx, qword [rbp - 0x28]
mov r8, qword [r15]
sub rdx, 0x40
test edi, edi
jne 0x3ff93f1c0
mov rax, rsi
sub rax, r11
cmp rax, r11
ja 0x3ff93f320
lea rax, [r11 + r11]
mov r9d, 1
sub rax, rsi
or rbx, rax
jmp 0x3ff93f09e
mov rax, qword [rbp - 0x30]
mov r8, r14
mov qword [rsp + 0x20], rsi
mov r9, rbx
xor edx, edx
shl rax, 3
sub r8, rax
jmp 0x3ff93ef25
add rax, 8
cmp rdx, rax
jne 0x3ff93ef50
jmp 0x3ff93ef61
mov rsi, qword [r10]
mov r8, qword [rbp - 0x40]
mov qword [rbp - 0x48], r11
lea rdx, [r10 + 8]
bsr r14, r9
xor r14d, 0x3f
mov qword [rbp - 0x30], r10
mov ecx, r14d
mov r9d, r14d
shl rsi, cl
mov rcx, r15
call qword [sym.imp.cyggmp_10.dll___gmpn_lshift]
mov r10, qword [rbp - 0x30]
mov r11, qword [rbp - 0x48]
mov rax, rbx
mov ecx, 0x40
mov r8, qword [r10]
sub ecx, r14d
or rax, r11
shr r8, cl
or r8, qword [r15]
test edi, edi
je 0x3ff93f1a0
mov rdx, 0xffffffffffffffff
lea ecx, [rdi - 1]
mov r9d, 1
or rsi, rax
mov rbx, rdx
shl r9, cl
shl rbx, cl
and r9, r8
not rbx
and rbx, r8
or rbx, rsi
mov rdx, qword [rbp - 0x28]
movsxd r14, r14d
sub rdx, r14
mov ecx, edi
mov rax, 0xffffffffffffffff
shl rax, cl
mov rcx, qword [rbp - 0x20]
and r8, rax
mov qword [r15], r8
test rcx, rcx
jne 0x3ff93f3d0
mov rcx, qword [0x3ff956760]
mov qword [rbp - 0x28], rdx
mov qword [rbp - 0x30], r9
call fcn.3ff93a260
mov rdx, qword [rbp - 0x28]
mov r8, qword [rax]
lea rax, [r8 - 1]
cmp rax, rdx
jg 0x3ff93ee00
mov r9, qword [rbp - 0x30]
mov rax, r9
or rax, rbx
je 0x3ff93f3c0
cmp r13d, 2
je 0x3ff93f210
cmp r13d, 3
je 0x3ff93f290
cmp r13d, 4
je 0x3ff93f310
mov eax, r13d
and eax, 0xfffffffb
cmp eax, 1
je 0x3ff93f300
mov r14d, dword [r12 + 8]
test r9, r9
jne 0x3ff93f3ea
neg r14d
xor r13d, r13d
nop word cs:[rax + rax]
cmp r8, rdx
mov qword [r12 + 0x10], rdx
mov qword [rbp - 0x28], rdx
jg 0x3ff93f167
mov rcx, qword [0x3ff956750]
call fcn.3ff93a260
mov rdx, qword [rbp - 0x28]
cmp qword [rax], rdx
jge 0x3ff93f1f0
mov edx, r14d
mov r8d, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_check_range
mov r14d, eax
mov rax, qword [sym.imp.cygwin1.dll___stack_chk_guard]
mov rsi, qword [rbp - 0x18]
xor rsi, qword [rax]
jne 0x3ff93f4b6
mov eax, r14d
lea rsp, [rbp - 8]
pop rbx
pop rsi
pop rdi
pop r12
pop r13
pop r14
pop r15
pop rbp
ret
movabs r9, 0x8000000000000000
and r9, rsi
sub rsi, r9
mov rbx, rsi
or rbx, rax
jmp 0x3ff93f094
lea ecx, [rdi - 1]
mov rax, 0xffffffffffffffff
mov r10, qword [r10]
mov r9d, 1
shl rax, cl
shl r9, cl
not rax
and r9, r10
and rax, r10
or rax, r11
or rbx, rax
jmp 0x3ff93f09e
test r14d, r14d
je 0x3ff93f178
mov rcx, qword [0x3ff956770]
call fcn.3ff93a260
or dword [rax], 8
jmp 0x3ff93f178
mov r14d, dword [r12 + 8]
test r14d, r14d
jle 0x3ff93f29a
mov r9, qword [r15]
mov r13d, 4
mov eax, 1
mov ecx, edi
shl rax, cl
add rax, r9
mov qword [r15], rax
jae 0x3ff93f140
mov rcx, qword [rbp - 0x38]
lea rax, [r15 + 8]
lea r9, [r15 + rcx - 8]
jmp 0x3ff93f268
mov rsi, qword [rax]
add rax, 8
lea rcx, [rsi + 1]
mov qword [rax - 8], rcx
test rcx, rcx
jne 0x3ff93f140
cmp r9, rax
jne 0x3ff93f250
mov rax, qword [rbp - 0x38]
add rdx, 1
movabs rcx, 0x8000000000000000
mov qword [r15 + rax - 0x10], rcx
jmp 0x3ff93f140
mov r14d, dword [r12 + 8]
test r14d, r14d
js 0x3ff93f21e
mov r13d, 1
neg r14d
jmp 0x3ff93f140
sub rax, 2
cmp rdi, rax
je 0x3ff93f495
movabs rcx, 0x8000000000000003
cmp qword [rbp - 0x28], rcx
je 0x3ff93f49d
test r8, r8
jne 0x3ff93f409
mov qword [r12 + 0x10], rax
mov rcx, qword [0x3ff956770]
xor r14d, r14d
call fcn.3ff93a260
or dword [rax], 4
jmp 0x3ff93f178
mov r14d, dword [r12 + 8]
jmp 0x3ff93f2a0
mov r14d, dword [r12 + 8]
jmp 0x3ff93f21e
shr rsi, 1
cmp rsi, r11
jne 0x3ff93f333
cmp qword [rbp - 0x30], 0
js 0x3ff93f428
or rbx, r11
jmp 0x3ff93f09e
mov r9d, dword [rdx + 8]
test r8, r8
jne 0x3ff93f482
mov dword [r12 + 8], r9d
mov rcx, qword [0x3ff956770]
xor r14d, r14d
movabs rax, 0x8000000000000003
mov qword [r12 + 0x10], rax
call fcn.3ff93a260
or dword [rax], 0x20
jmp 0x3ff93f178
mov r8d, 0x40
mov rcx, r12
bsr rax, rax
xor eax, 0x3f
sub r8d, eax
movsxd r8, r8d
call sym.cygmpfr_6.dll_mpfr_div_2si
mov r14d, eax
jmp 0x3ff93f178
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp - 0x20]
call sym.cygmpfr_6.dll_mpfr_tmp_allocate
mov r10, rax
jmp 0x3ff93ef0d
xor r14d, r14d
jmp 0x3ff93f140
mov qword [rbp - 0x30], r9
mov qword [rbp - 0x28], rdx
call sym.cygmpfr_6.dll_mpfr_tmp_free
mov r9, qword [rbp - 0x30]
mov rdx, qword [rbp - 0x28]
jmp 0x3ff93f0bd
mov r9, qword [r15]
mov ecx, edi
mov rax, r9
shr rax, cl
and eax, 1
or rax, rbx
je 0x3ff93f130
xor r13d, r13d
jmp 0x3ff93f227
movabs rax, 0x8000000000000001
xor r14d, r14d
mov qword [r12 + 0x10], rax
mov eax, dword [rdx + 8]
mov dword [r12 + 8], eax
jmp 0x3ff93f178
mov rax, qword [rbp - 0x30]
not rax
mov rsi, qword [r14 + rax*8]
test rsi, rsi
jns 0x3ff93f333
add rsi, rsi
mov rbx, rsi
jne 0x3ff93f465
mov rax, qword [rbp - 0x30]
xor rax, 0xffffffffffffffff
je 0x3ff93f465
lea rax, [r14 + rax*8]
nop word [rax + rax]
mov rbx, qword [r14]
test rbx, rbx
je 0x3ff93f470
mov ebx, 1
mov r9d, 1
jmp 0x3ff93f09e
add r14, 8
cmp rax, r14
jne 0x3ff93f458
jmp 0x3ff93f465
xor ebx, ebx
jmp 0x3ff93ef61
mov r8d, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_set4
mov r14d, eax
jmp 0x3ff93f178
mov rax, rdi
jmp 0x3ff93f2da
mov rax, qword [rbp - 0x28]
xor r14d, r14d
mov qword [r12 + 0x10], rax
mov eax, dword [rdx + 8]
mov dword [r12 + 8], eax
jmp 0x3ff93f178
call sub.cygwin1.dll___stack_chk_fail
nop
nop
nop
nop
nop
lea r8, [0x3ff94a450]
mov edx, 0x73
lea rcx, str._mnt_share_cygpkgs_mpfr_mpfr.x86_64_src_mpfr_4.0.2_src_exp2.c
call sym.cygmpfr_6.dll_mpfr_assert_fail
test r13d, r13d
je 0x3ff93f50d
mov r8d, 1
mov edx, r13d
mov rcx, r12
call sym.cygmpfr_6.dll_mpfr_underflow
mov ebp, eax
jmp 0x3ff8f3317
mov r13d, 1
jmp 0x3ff93f4dd