Function at 0x140010d20
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 r15, rdx
shl r15, 0x3c
dec r15
lea rbx, [rcx + 0x10]
mov r13, rdx
mov rdi, rcx
nop word cs:[rax + rax]
mov eax, dword [0x141f2dfc8]
xor edx, edx
div dword [0x141f2dfcc]
add eax, 0xb9ddee84
xor eax, 0x563df0ad
add eax, 0x2394352b
cmp eax, 0x5f5ae9e2
ja 0x140010d50
lea r14, [rdi + 0x120]
mov rcx, qword [rdi + 0x110]
xor r10d, r10d
mov r12d, 0x9540365d
mov qword [rsp + 0x20], r13
jmp 0x140010daf
mul r13
mov rcx, r8
cmp r15, rax
jae 0x1400110e1
cmp rcx, 0x3f
jae 0x140010df0
lea r8, [rcx + 2]
mov qword [rdi + 0x110], r8
mov eax, dword [0x141f2dfd8]
and eax, dword [0x141f2dfdc]
add eax, 0xa22640d9
or eax, 0x9bf9863c
imul rax, rax, 0x1306919f
shr rax, 0x3c
cmp eax, 0xe1c2b0d2
jae 0x140010dc0
mov rax, qword [rbx + rcx*4]
jmp 0x140010da0
mov eax, dword [0x141f2dfd0]
xor eax, dword [0x141f2dfd4]
and eax, 0x740ff1f3
imul eax, eax, 0xde9ba938
add eax, 0xc1150610
cmp eax, 0xe7d89b33
jb 0x140010df0
cmp rcx, 0x3f
jne 0x140010ee0
mov eax, dword [0x141f2dfe0]
xor edx, edx
div dword [0x141f2dfe4]
imul rax, rax, 0x9658da3
shr rax, 0x3a
imul eax, eax, 0xf776169c
add eax, 0x965e76bc
cmp eax, 0x7006f8be
jb 0x140010e1d
mov r13d, dword [rdi + 0x10c]
mov rbp, qword [rdi + 0x158]
mov rax, qword [rdi + 0x160]
nop dword [rax]
test rax, rax
sets cl
test rbp, rbp
setle dl
mov r8d, dword [0x141f2dfe8]
or r8d, dword [0x141f2dfec]
or r8d, 0x88180500
and r8d, 0xca1ab51b
imul r8, r12
shr r8, 0x3c
cmp r8d, 0xe7494c57
je 0x140010e60
or dl, cl
je 0x140010fb0
mov rcx, r14
mov rdx, rbx
call fcn.140011100
nop dword [rax]
mov eax, dword [0x141f2e000]
xor edx, edx
div dword [0x141f2e004]
xor eax, 0xa0020014
and eax, 0xb9060014
cmp eax, 0xd1944c0d
ja 0x140010eb0
jmp 0x140011037
mov rax, qword [rdi + 0x158]
nop word [rax + rax]
mov ecx, dword [0x141f2e010]
or ecx, dword [0x141f2e014]
or ecx, 0xbcfaf9ff
imul ecx, ecx, 0x7711ef3f
cmp ecx, 0x205aa548
jb 0x140010ef0
mov rcx, qword [rdi + 0x160]
nop word [rax + rax]
test rax, rax
setle dl
mov r9d, dword [0x141f2e018]
and r9d, dword [0x141f2e01c]
and r9d, 0x46df42e9
add r9d, 0x6f6f798b
test rcx, rcx
sets r8b
cmp r9d, 0xdad4b47b
ja 0x140010f20
or dl, r8b
je 0x140011079
test r10b, r10b
je 0x140010f70
mov rcx, r14
mov rdx, rbx
call fcn.140011100
nop dword [rax + rax]
mov eax, dword [0x141f2e020]
xor eax, dword [0x141f2e024]
imul rsi, rax, 0x5ceb09c5
shr rsi, 0x3d
and esi, 1
mov rcx, r14
mov rdx, rbx
call fcn.140011100
cmp esi, 0x8150e50c
je 0x140010f70
jmp 0x140011091
test r10b, r10b
jne 0x140010fb0
add rbp, 0xffffffffffffff00
mov eax, dword [0x141f2dff0]
and eax, dword [0x141f2dff4]
mov ecx, 0x8ca03603
imul rax, rcx
shr rax, 0x3e
add eax, 0x806e432b
and eax, 0x684001
cmp eax, 0xdb2a2525
jbe 0x140011000
mov qword [rdi + 0x158], rbp
mov rcx, r14
mov rdx, rbx
call fcn.140075dc0
nop dword [rax + rax]
mov eax, dword [0x141f2dff8]
or eax, dword [0x141f2dffc]
or eax, 0x29d15c5d
imul esi, eax, 0xdc4f6b53
add esi, 0xc3901b2
mov qword [rdi + 0x158], rbp
mov rcx, r14
mov rdx, rbx
call fcn.140075dc0
cmp esi, 0xe3c1ec0e
ja 0x140011000
mov qword [rdi + 0x110], 1
mov eax, dword [rdi + 0x10]
mov ecx, dword [0x141f2e008]
add ecx, dword [0x141f2e00c]
and ecx, 0x964cdbad
cmp ecx, 0x1fdda697
je 0x140011045
shl rax, 0x20
or rax, r13
mov r8d, 1
mov r13, qword [rsp + 0x20]
xor r10d, r10d
jmp 0x140010da0
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov rcx, r14
mov rdx, rbx
call fcn.140075dc0
mov qword [rdi + 0x110], 2
xor r10d, r10d
test r10b, r10b
jne 0x14001109f
mov rax, qword [rbx]
nop word [rax + rax]
mov ecx, dword [0x141f2e028]
sub ecx, dword [0x141f2e02c]
add ecx, 0x51f3f514
and ecx, 0x70b7592a
xor ecx, 0x5863fc58
cmp ecx, 0x76c1ec4c
ja 0x1400110b0
mov r8d, 2
jmp 0x140010da0
mov rax, rdx
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret