Function at 0x140070c60
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
movabs r10, 0xfffffffffffff
movq rdi, xmm0
mov rax, rdi
and rax, r10
mov rcx, rdi
shr rcx, 0x34
test rdi, rdi
js 0x140070ca1
xor r8d, r8d
and ecx, 0x7ff
test rax, rax
je 0x140070cb5
jmp 0x140070cd3
mov byte [rdx], 0x2d
mov r8d, 1
and ecx, 0x7ff
test rax, rax
jne 0x140070cd3
test ecx, ecx
jne 0x140070cd3
mov byte [rdx + r8 + 2], 0x30
mov word [rdx + r8], 0x2e30
shr rdi, 0x3f
add rdi, 3
jmp 0x140071598
mov qword [rsp + 0x20], rdx
mov qword [rsp + 0x30], r8
lea edx, [rcx - 0x435]
inc r10
or r10, rax
test ecx, ecx
mov ebp, 0xfffffbcc
cmovne ebp, edx
cmove r10, rax
mov qword [rsp + 0x28], r10
lea r11, [r10*4]
test rax, rax
setne al
cmp ecx, 2
setb dil
or dil, al
movzx esi, dil
test ebp, ebp
js 0x140070e52
imul r13d, ebp, 0x13441
shr r13d, 0x12
cmp ebp, 4
adc r13d, 0xffffffff
imul r9d, r13d, 0x12934f
shr r9d, 0x13
mov rax, r13
shl rax, 4
lea rcx, [0x1400aea90]
mov r14, qword [rax + rcx]
mov r8, qword [rax + rcx + 8]
mov rdi, r11
or rdi, 2
mov rax, r14
mul rdi
mov rcx, rdx
mov rax, r8
mul rdi
mov r10, rdx
mov rbx, rax
add rbx, rcx
adc r10, 0
mov ecx, r13d
sub ecx, ebp
add ecx, r9d
add cl, 0x3d
shrd rbx, r10, cl
shr r10, cl
mov r9, rsi
not r9
add r9, r11
mov rax, r14
mul r9
mov r12, rdx
mov rax, r8
mul r9
mov r9, rdx
mov r15, rax
add r15, r12
adc r9, 0
shrd r15, r9, cl
shr r9, cl
mov rax, r14
mul r11
mov r14, rdx
mov rax, r8
mul r11
mov r8, rdx
add rax, r14
adc r8, 0
shrd rax, r8, cl
shr r8, cl
test cl, 0x40
cmove r10, rbx
cmove r9, r15
cmove r8, rax
cmp r13d, 0x16
jae 0x140070f37
movabs rcx, 0xcccccccccccccccd
movabs rdx, 0x3333333333333334
mov rax, r11
mul rdx
movabs rax, 0x3333333333333333
lea edx, [rdx + rdx*4]
cmp edx, r11d
mov rbp, qword [rsp + 0x20]
jne 0x140070f6c
mov edx, 0xffffffff
nop dword [rax + rax]
imul r11, rcx
inc edx
cmp r11, rax
jbe 0x140070e30
cmp edx, r13d
setae r14b
xor edi, edi
test dil, dil
je 0x140070fdc
jmp 0x140071040
imul ebx, ebp, 0xfff4d105
shr ebx, 0x14
xor eax, eax
cmp ebp, 0xffffffff
setne al
sub ebx, eax
add ebp, ebx
mov eax, ebp
neg eax
imul r9d, ebp, 0x3ed6cb1
shr r9d, 0x13
cdqe
shl rax, 4
lea rcx, [0x1400afff0]
mov r15, qword [rax + rcx]
mov r8, qword [rax + rcx + 8]
mov r10, r11
or r10, 2
mov rax, r15
mul r10
mov rcx, rdx
mov rax, r8
mul r10
mov r10, rdx
mov r14, rax
add r14, rcx
adc r10, 0
mov ecx, ebx
sub ecx, r9d
add cl, 0x3c
shrd r14, r10, cl
shr r10, cl
not rsi
add rsi, r11
mov rax, r15
mul rsi
mov r13, rdx
mov rax, r8
mul rsi
mov r9, rdx
mov r12, rax
add r12, r13
adc r9, 0
shrd r12, r9, cl
shr r9, cl
mov rax, r15
mul r11
mov r15, rdx
mov rax, r8
mul r11
mov r8, rdx
add rax, r15
adc r8, 0
shrd rax, r8, cl
shr r8, cl
test cl, 0x40
cmove r10, r14
cmove r9, r12
cmove r8, rax
cmp ebx, 2
jae 0x140070f4f
mov rax, qword [rsp + 0x28]
and eax, 1
sete cl
and dil, cl
sub r10, rax
mov r14b, 1
mov r13d, ebp
jmp 0x140071040
xor r14d, r14d
xor edi, edi
mov rbp, qword [rsp + 0x20]
test dil, dil
je 0x140070fdc
jmp 0x140071040
cmp ebx, 0x3f
jae 0x140070f9f
mov rax, 0xffffffffffffffff
mov ecx, ebx
shl rax, cl
not rax
test r11, rax
sete r14b
jmp 0x140070fa2
test byte [rsp + 0x28], 1
jne 0x140070fb6
not rsi
add rsi, r11
mov edx, 0xffffffff
nop
imul rsi, rcx
inc edx
cmp rsi, rax
jbe 0x140070f80
cmp edx, r13d
setae dil
xor r14d, r14d
test dil, dil
je 0x140070fdc
jmp 0x140071040
xor r14d, r14d
xor edi, edi
mov r13d, ebp
mov rbp, qword [rsp + 0x20]
test dil, dil
je 0x140070fdc
jmp 0x140071040
mov edx, 0xffffffff
nop dword [rax + rax]
imul rdi, rcx
inc edx
cmp rdi, rax
jbe 0x140070fc0
cmp edx, r13d
adc r10, 0xffffffffffffffff
xor r14d, r14d
xor edi, edi
test dil, dil
jne 0x140071040
test r14b, r14b
jne 0x140071040
mov rax, r10
shr rax, 2
movabs rdi, 0x28f5c28f5c28f5c3
mul rdi
mov r11, rdx
shr r11, 2
mov rax, r9
shr rax, 2
mul rdi
mov rcx, rdx
shr rcx, 2
xor esi, esi
cmp r11, rcx
jbe 0x14007118b
mov rax, r8
shr rax, 2
mul rdi
shr rdx, 2
imul eax, edx, 0xffffff9c
add eax, r8d
cmp eax, 0x32
setae sil
mov ebx, 2
mov r8, rdx
jmp 0x140071193
movabs rsi, 0xcccccccccccccccd
mov rax, r10
mul rsi
mov r11, rdx
shr r11, 3
mov rax, r9
mul rsi
shr rdx, 3
xor ebp, ebp
xor ebx, ebx
cmp r11, rdx
jbe 0x1400710d4
xor r15d, r15d
nop dword [rax]
mov rcx, rdx
lea r12d, [rdx + rdx]
mov rax, r8
mul rsi
mov r10, rdx
lea eax, [r12 + r12*4]
shr r10, 3
lea edx, [r10 + r10]
lea ebp, [rdx + rdx*4]
neg ebp
add bpl, r8b
cmp eax, r9d
sete al
and dil, al
test r15b, r15b
sete al
and r14b, al
mov rax, r11
mul rsi
inc ebx
mov r11, rdx
shr r11, 3
mov rax, rcx
mul rsi
shr rdx, 3
mov r8, r10
mov r9, rcx
mov r15d, ebp
cmp r11, rdx
ja 0x140071070
test dil, dil
jne 0x1400710df
jmp 0x140071149
mov rcx, r9
mov r10, r8
test dil, dil
je 0x140071149
mov rax, rcx
mul rsi
mov r9, rdx
shr r9, 3
lea eax, [r9 + r9]
lea eax, [rax + rax*4]
cmp eax, ecx
jne 0x140071149
nop word [rax + rax]
mov rax, r10
mul rsi
mov r8, rdx
shr r8, 3
lea eax, [r8 + r8]
lea r11d, [rax + rax*4]
neg r11d
add r11b, r10b
test bpl, bpl
sete al
and r14b, al
inc ebx
mov rax, r9
mul rsi
shr rdx, 3
lea eax, [rdx + rdx]
lea eax, [rax + rax*4]
mov rcx, r9
mov r10, r8
mov ebp, r11d
cmp eax, r9d
mov r9, rdx
je 0x140071100
jmp 0x14007114f
mov r11d, ebp
mov r8, r10
cmp r11b, 5
setne dl
not r14b
setae r9b
cmp r8, rcx
not dil
sete al
or dil, byte [rsp + 0x28]
and dil, al
mov eax, r8d
or al, r14b
or al, dl
and al, r9b
or al, dil
mov rdi, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x20]
jmp 0x140071211
xor ebx, ebx
mov rcx, r9
mov r11, r10
movabs rdi, 0xcccccccccccccccd
mov rax, r11
mul rdi
mov r9, rdx
mov rax, rcx
mul rdi
shr r9, 3
shr rdx, 3
cmp r9, rdx
jbe 0x140071203
nop dword [rax]
mov r10, r8
mov rcx, rdx
mov rax, r8
mul rdi
mov r8, rdx
shr r8, 3
inc ebx
mov rax, r9
mul rdi
mov r9, rdx
mov rax, rcx
mul rdi
shr r9, 3
shr rdx, 3
cmp r9, rdx
ja 0x1400711c0
lea eax, [r8 + r8]
lea eax, [rax + rax*4]
sub r10d, eax
cmp r10d, 5
setae sil
cmp r8, rcx
sete al
or al, sil
mov rdi, qword [rsp + 0x30]
add r13d, ebx
movzx ebx, al
add rbx, r8
mov eax, 0x11
movabs rcx, 0x2386f26fc0ffff
cmp rbx, rcx
ja 0x14007133b
mov eax, 0x10
movabs rcx, 0x38d7ea4c67fff
cmp rbx, rcx
ja 0x14007133b
mov eax, 0xf
movabs rcx, 0x5af3107a3fff
cmp rbx, rcx
ja 0x14007133b
mov rcx, rbx
shr rcx, 0xd
mov eax, 0xe
cmp rcx, 0x48c27394
ja 0x14007133b
mov rcx, rbx
shr rcx, 0xc
mov eax, 0xd
cmp rcx, 0xe8d4a50
ja 0x14007133b
mov rcx, rbx
shr rcx, 0xb
mov eax, 0xc
cmp rcx, 0x2e90edc
ja 0x14007133b
mov rcx, rbx
shr rcx, 0xa
mov eax, 0xb
cmp rcx, 0x9502f8
ja 0x14007133b
mov eax, 0xa
cmp rbx, 0x3b9ac9ff
ja 0x14007133b
mov eax, 9
cmp rbx, 0x5f5e0ff
ja 0x14007133b
mov eax, 8
cmp rbx, 0x98967f
ja 0x14007133b
mov eax, 7
cmp rbx, 0xf423f
ja 0x14007133b
mov eax, 6
cmp rbx, 0x1869f
ja 0x14007133b
mov eax, 5
cmp rbx, 0x270f
ja 0x14007133b
mov eax, 4
cmp rbx, 0x3e7
ja 0x14007133b
mov eax, 3
cmp rbx, 0x63
ja 0x14007133b
cmp rbx, 0xa
mov eax, 1
sbb eax, 0xffffffff
mov r15d, eax
movsxd r12, r13d
lea r14, [r15 + r12]
test r12d, r12d
js 0x14007138a
cmp r14, 0x11
jge 0x14007138a
add r15, rdi
add r15, rbp
mov rcx, rbx
mov rdx, r15
call fcn.140070ad0
test r13d, r13d
je 0x140071373
mov rcx, r15
mov dl, 0x30
mov r8, r12
call fcn.140090530
lea rax, [r14 + rdi]
mov word [rbp + rax], 0x302e
add rdi, r14
add rdi, 2
jmp 0x140071598
lea rsi, [r14 - 1]
cmp rsi, 0x10
jae 0x1400713c8
lea rsi, [rdi + r15]
inc rsi
lea rdx, [rsi + rbp]
mov rcx, rbx
call fcn.140070ad0
lea rdx, [rdi + rbp]
inc rdx
lea rcx, [rdi + rbp]
mov r8, r14
call fcn.14008fda0
add r14, rdi
mov byte [rbp + r14], 0x2e
jmp 0x140071595
lea rax, [r14 + 4]
cmp rax, 5
jae 0x140071420
mov word [rbp + rdi], 0x2e30
mov esi, 2
sub rsi, r14
test r14, r14
jns 0x140071407
lea rcx, [rdi + rbp]
add rcx, 2
cmp rsi, 4
mov r8d, 3
cmovge r8, rsi
add r8, 0xfffffffffffffffe
mov dl, 0x30
call fcn.140090530
add rdi, r15
add rdi, rsi
add rbp, rdi
mov rcx, rbx
mov rdx, rbp
call fcn.140070ad0
jmp 0x140071598
cmp r15d, 1
jne 0x140071444
add bl, 0x30
mov byte [rbp + rdi], bl
mov byte [rbp + rdi + 1], 0x65
lea rax, [rdi + rbp]
add rax, 2
test r14, r14
jle 0x140071488
mov rcx, rsi
jmp 0x140071496
mov r12, rdi
add rdi, r15
lea rdx, [rdi + rbp]
inc rdx
mov rcx, rbx
call fcn.140070ad0
movzx eax, byte [rbp + r12 + 1]
mov byte [rbp + r12], al
mov byte [rbp + r12 + 1], 0x2e
mov byte [rbp + rdi + 1], 0x65
lea rax, [rdi + rbp]
add rax, 2
test r14, r14
jle 0x140071500
mov rdx, rsi
jmp 0x14007150e
mov byte [rax], 0x2d
inc rax
mov ecx, 1
sub rcx, r14
or rdi, 2
cmp rcx, 0x63
jbe 0x1400714d8
mov edx, ecx
imul rdx, rdx, 0x51eb851f
shr rdx, 0x25
lea r8d, [rdx + 0x30]
mov byte [rax], r8b
imul edx, edx, 0x64
sub ecx, edx
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899called__Option::unwrap____on_a__None__value
movzx ecx, word [rdx + rcx*2]
mov word [rax + 1], cx
shr rsi, 0x3f
add rsi, 3
add rdi, rsi
jmp 0x140071598
cmp rcx, 9
jbe 0x140071575
lea rdx, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899called__Option::unwrap____on_a__None__value
movzx ecx, word [rdx + rcx*2]
mov word [rax], cx
shr rsi, 0x3f
or rsi, 2
add rdi, rsi
jmp 0x140071598
mov byte [rax], 0x2d
inc rax
mov edx, 1
sub rdx, r14
mov rcx, qword [rsp + 0x30]
add rcx, r15
add rcx, 2
cmp rdx, 0x63
jbe 0x140071556
mov r8d, edx
imul r8, r8, 0x51eb851f
shr r8, 0x25
lea r9d, [r8 + 0x30]
mov byte [rax], r9b
imul r8d, r8d, 0x64
sub edx, r8d
lea r8, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899called__Option::unwrap____on_a__None__value
movzx edx, word [r8 + rdx*2]
mov word [rax + 1], dx
shr rsi, 0x3f
add rsi, 3
jmp 0x140071592
cmp rdx, 9
jbe 0x140071586
lea r8, str.00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899called__Option::unwrap____on_a__None__value
movzx edx, word [r8 + rdx*2]
mov word [rax], dx
shr rsi, 0x3f
or rsi, 2
jmp 0x140071592
add cl, 0x30
mov byte [rax], cl
shr rsi, 0x3f
inc rsi
add rdi, rsi
jmp 0x140071598
add dl, 0x30
mov byte [rax], dl
shr rsi, 0x3f
inc rsi
add rsi, rcx
mov rdi, rsi
mov rax, rdi
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret