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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x28
mov rsi, rdx
mov eax, dword [0x141dceb78]
xor edx, edx
div dword [0x141dceb7c]
mov rdi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141dceb80]
sub eax, dword [0x141dceb84]
and eax, 0x1339d2b8
add eax, 0x3b61420d
and eax, 0x1088c050
cmp eax, 0x3bfd7837
ja 0x140091070
movzx r15d, word [rsi + 0x10]
mov r12, qword [rsi]
nop word [rax + rax]
mov eax, dword [str._vp]
or eax, dword [0x141dceb8c]
add eax, 0xc3bbc42f
cmp eax, 0x24348707
jb 0x1400910a0
mov r14, qword [rsi + 8]
mov eax, 0xc2027697
nop word cs:[rax + rax]
mov ecx, dword [0x141dceb90]
mov edx, dword [0x141dceb94]
add ecx, edx
add ecx, 0xa672a1ad
imul rcx, rax
shr rcx, 0x3f
cmp ecx, 0x4fd24a8b
je 0x1400910d0
xor ebp, ebp
nop word cs:[rax + rax]
mov eax, dword [0x141dceb98]
xor edx, edx
div dword [0x141dceb9c]
xor eax, 0x1b5464f9
add eax, 0x8bfa0c6a
xor eax, 0x9b880bcc
cmp eax, 0x75a77b64
ja 0x140091100
test r15w, r15w
jne 0x14009121b
mov eax, dword [0x141dceba0]
xor edx, edx
div dword [0x141dceba4]
mov eax, dword [0x141dceba8]
mov ecx, dword [0x141dcebac]
add eax, ecx
add eax, 0x915f2383
xor eax, 0xa4354c54
imul eax, eax, 0xb49d371a
cmp eax, 0xd74e3298
je 0x14009113c
cmp r12, r14
je 0x1400914d6
lea rax, [r12 + 1]
mov qword [rsi], rax
movzx ecx, byte [r12]
nop word [rax + rax]
mov edx, dword [0x141dcebb0]
imul edx, dword [0x141dcebb4]
or edx, 0x52c0f2dc
imul rdx, rdx, 0x71538e2d
shr rdx, 0x3a
add edx, 0xa0a8c076
cmp edx, 0xfd68107a
ja 0x140091180
test cl, cl
js 0x1400911f0
mov edx, dword [0x141dcebc8]
xor edx, dword [0x141dcebcc]
imul edx, edx, 0xaaf1b5ef
add edx, 0xad4a36b7
shr edx, 2
imul rdx, rdx, 0x4224dcbd
shr rdx, 0x39
cmp edx, 0xcf8b6106
je 0x1400911b0
jmp 0x14009136b
mov eax, dword [0x141dcebb8]
sub eax, dword [0x141dcebbc]
add eax, 0xd29b5d33
and eax, 0x48c060a
cmp eax, 0x25e3a076
ja 0x1400911f0
mov r8d, ecx
and r8d, 0x1f
test bpl, bpl
je 0x140091230
jmp 0x14009125e
mov word [rsi + 0x10], 0
xor r13d, r13d
jmp 0x140091380
mov edx, dword [0x141dcebc0]
and edx, dword [0x141dcebc4]
and edx, 0xf4f6f0cd
add edx, 0x4d301f66
or edx, 0x7a6fc585
lea rax, [r12 + 2]
mov qword [rsi], rax
cmp edx, 0xcec18a53
jbe 0x140091268
lea rax, [r12 + 2]
mov qword [rsi], rax
jmp 0x140091230
movzx edx, byte [r12 + 1]
and edx, 0x3f
cmp cl, 0xdf
jbe 0x140091361
test bpl, bpl
jne 0x14009127a
lea r9, [r12 + 3]
mov qword [rsi], r9
movzx r10d, byte [rax]
shl edx, 6
and r10d, 0x3f
or r10d, edx
nop word cs:[rax + rax]
mov eax, dword [0x141dcebd0]
xor edx, edx
div dword [0x141dcebd4]
add eax, 0xd704c00c
and eax, 0xc29527d5
imul eax, eax, 0x38f29e48
cmp eax, 0x776102cc
je 0x1400912a0
cmp cl, 0xf0
jb 0x1400913e5
mov eax, dword [0x141dcebd8]
imul eax, dword [0x141dcebdc]
xor eax, 0xd7e954a8
shr eax, 3
imul rax, rax, 0x46876bb
shr rax, 0x37
or eax, 0x50420d10
cmp eax, 0xb7b52fe
jae 0x140091310
lea rax, [r12 + 4]
mov qword [rsi], rax
nop word cs:[rax + rax]
mov eax, dword [0x141dcebe0]
sub eax, dword [0x141dcebe4]
add eax, 0xb68aae53
or eax, 0x4bf81fca
lea r9, [r12 + 4]
mov qword [rsi], r9
cmp eax, 0x3f913c86
je 0x140091310
movzx ecx, byte [r12 + 3]
and r8d, 7
shl r8d, 0x12
shl r10d, 6
and ecx, 0x3f
or ecx, r10d
or ecx, r8d
cmp ecx, 0xffff
ja 0x1400913fb
mov rax, r9
jmp 0x14009136b
shl r8d, 6
or r8d, edx
mov ecx, r8d
xor r13d, r13d
mov r12, rax
mov r15d, ecx
nop word cs:[rax + rax]
mov eax, dword [0x141dcebf8]
sub eax, dword [0x141dcebfc]
imul eax, eax, 0xa51ced2d
and eax, 0x46760e0
cmp eax, 0xb872e283
je 0x140091380
mov rbx, qword [rdi + 0x10]
cmp rbx, qword [rdi]
je 0x140091445
nop dword [rax + rax]
mov eax, dword [0x141dcec00]
sub eax, dword [0x141dcec04]
add eax, 0xb83db854
and eax, 0xa15886
cmp eax, 0xa4c8a5f3
ja 0x1400913b0
mov rax, qword [rdi + 8]
mov word [rax + rbx*2], r15w
inc rbx
mov qword [rdi + 0x10], rbx
mov r15d, r13d
jmp 0x140091100
shl r8d, 0xc
or r10d, r8d
mov ecx, r10d
cmp ecx, 0xffff
jbe 0x14009135c
lea r15d, [rcx + 0xff0000]
shr r15d, 0xa
or r15d, 0xd800
and ecx, 0x3ff
mov eax, dword [0x141dcebe8]
xor eax, dword [0x141dcebec]
imul eax, eax, 0xff32c280
and eax, 0xac8d3d80
imul rdx, rax, 0x3f791e6f
shr rdx, 0x3d
movzx eax, cx
cmp edx, 0x2d4ad358
jne 0x14009148a
jmp 0x1400914ca
mov r8, r14
sub r8, r12
add r8, 3
mov rax, 0xffffffffffffffff
cmovb r8, rax
shr r8, 2
cmp r13w, 1
sbb r8, 0
add r8, 2
mov qword [rsp + 0x20], 2
mov r9d, 2
mov rcx, rdi
mov rdx, rbx
call fcn.1400fce40
jmp 0x1400913b0
mov ecx, dword [0x141dcebf0]
imul ecx, dword [0x141dcebf4]
xor ecx, 0x40036820
and ecx, 0xd0036a22
imul rcx, rcx, 0x55ab9bbf
shr rcx, 0x3e
lea r13d, [rax + 0xdc00]
mov word [rsi + 0x10], r13w
cmp ecx, 0x3f192428
ja 0x1400914ca
mov r12, r9
jmp 0x140091380
lea ecx, [rax + 0xdc00]
mov word [rsi + 0x10], cx
jmp 0x14009148a
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret