Function at 0x1400114f0
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 rsi, rdx
mov rdi, rcx
lea r14, [rcx + 0x120]
nop dword [rax + rax]
mov eax, dword [0x141dc0060]
and eax, dword [0x141dc0064]
and eax, 0x5885704e
add eax, 0x9bd89e54
and eax, 0x684aa29c
cmp eax, 0x5c3d799f
ja 0x140011520
nop word cs:[rax + rax]
mov eax, dword [0x141dc0068]
sub eax, dword [0x141dc006c]
imul eax, eax, 0xd6d3d988
add eax, 0x868cd438
xor eax, 0x8452252a
cmp eax, 0x8e2c0d8e
jb 0x140011550
mov r9, qword [rdi + 0x110]
mov r12d, 0xb4cbe09d
mov eax, dword [0x141dc0070]
add eax, dword [0x141dc0074]
imul eax, eax, 0x8e6840d1
xor eax, 0xa3a07d6
cmp eax, 0x4152efae
jb 0x140011580
cmp r9, 0x3f
jae 0x1400115f0
lea r8, [r9 + 2]
mov qword [rdi + 0x110], r8
nop
mov eax, dword [0x141dc0078]
xor edx, edx
div dword [0x141dc007c]
imul eax, eax, 0x33cdd621
imul rax, r12
shr rax, 0x3f
or eax, 0x33b34798
cmp eax, 0x63d78b04
je 0x1400115b0
mov rcx, qword [rbx + r9*4]
mov r9, r8
jmp 0x140011900
jne 0x1400116e6
mov eax, dword [0x141dc0080]
sub eax, dword [0x141dc0084]
or eax, 0x29014371
imul rcx, rax, 0x1a3b71b1
shr rcx, 0x20
sub eax, ecx
shr eax, 1
add eax, ecx
shr eax, 0x1e
or eax, 0x80d4e890
cmp eax, 0xf2733046
ja 0x1400115f6
mov r13d, dword [rdi + 0x10c]
mov rcx, qword [rdi + 0x158]
test rcx, rcx
setle dl
cmp qword [rdi + 0x160], 0
sets al
or al, dl
nop dword [rax + rax]
mov edx, dword [0x141dc0088]
and edx, dword [0x141dc008c]
add edx, 0x16604777
and edx, 0x90121320
add edx, 0xf84be05
cmp edx, 0xd93ce7d6
ja 0x140011650
test al, al
je 0x1400117f1
mov eax, dword [0x141dc00a8]
add eax, dword [0x141dc00ac]
or eax, 0xf9538e55
cmp eax, 0xd335dbac
jne 0x1400116b0
mov rcx, r14
mov rdx, rbx
call fcn.140011990
nop word cs:[rax + rax]
mov eax, dword [0x141dc00b0]
add eax, dword [0x141dc00b4]
imul ebp, eax, 0x43a5cd0c
xor ebp, 0xfb580885
add ebp, 0xd9739dd5
mov rcx, r14
mov rdx, rbx
call fcn.140011990
cmp ebp, 0x1bdff1e
jb 0x1400116b0
jmp 0x140011884
mov rax, qword [rdi + 0x158]
mov ecx, dword [0x141dc00c8]
imul ecx, dword [0x141dc00cc]
imul ecx, ecx, 0xa027a66d
or ecx, 0x9731853
xor ecx, 0x3045412b
cmp ecx, 0x3a26a7da
jb 0x1400116ed
test rax, rax
jle 0x140011764
cmp qword [rdi + 0x160], 0
js 0x140011764
add rax, 0xffffffffffffff00
mov qword [rdi + 0x158], rax
mov rcx, r14
mov rdx, rbx
call fcn.1400708f0
nop dword [rax + rax]
mov eax, dword [0x141dc00d0]
and eax, dword [0x141dc00d4]
or eax, 0x3af12f5f
add eax, 0x202bb77
or eax, 0xcf930a60
cmp eax, 0xa852d502
jbe 0x140011740
jmp 0x1400117d7
mov eax, dword [0x141dc00d8]
xor edx, edx
div dword [0x141dc00dc]
and eax, 0x4be45a96
xor eax, 0x12e074a8
imul eax, eax, 0xa77da9ca
cmp eax, 0x142e600
jne 0x1400117a0
mov rcx, r14
mov rdx, rbx
call fcn.140011990
nop word cs:[rax + rax]
mov eax, dword [0x141dc00e0]
and eax, dword [0x141dc00e4]
or eax, 0x97f7e64e
imul r13, rax, 0x73272479
shr r13, 0x3d
or r13d, 0xb9c67e00
mov rcx, r14
mov rdx, rbx
call fcn.140011990
cmp r13d, 0x4e4d059
jb 0x1400117a0
mov qword [rdi + 0x110], 2
mov rcx, qword [rdi + 0x10]
mov r9d, 2
jmp 0x140011900
mov eax, dword [0x141dc0090]
or eax, dword [0x141dc0094]
imul rax, rax, 0x2ab2d693
shr rax, 0x3d
imul eax, eax, 0xd6db96c8
or eax, 0xa9a3ede6
cmp eax, 0x111ed9ca
je 0x14001193f
mov eax, dword [0x141dc0098]
xor edx, edx
div dword [0x141dc009c]
or eax, 0x785a233b
imul eax, eax, 0x681e01a7
and eax, 0xf9cc7310
lea rdx, [rcx - 0x100]
mov qword [rdi + 0x158], rdx
cmp eax, 0xd50924c3
jb 0x14001193f
mov rcx, r14
mov rdx, rbx
call fcn.1400708f0
mov eax, dword [0x141dc00a0]
imul eax, dword [0x141dc00a4]
and eax, 0x6db252
imul eax, eax, 0x86b5bc86
or eax, 0x800e9781
cmp eax, 0x6133313d
je 0x140011860
mov qword [rdi + 0x110], 1
mov ecx, dword [rdi + 0x10]
nop word cs:[rax + rax]
mov eax, dword [0x141dc00b8]
and eax, dword [0x141dc00bc]
or eax, 0x68057d7e
imul eax, eax, 0xf4e5379b
add eax, 0xe8aaf198
cmp eax, 0xd0907ec
jb 0x1400118a0
shl rcx, 0x20
nop word [rax + rax]
mov eax, dword [0x141dc00c0]
and eax, dword [0x141dc00c4]
imul eax, eax, 0xd90df4e2
add eax, 0xe8659ed4
or eax, 0x1998ce7
cmp eax, 0x4492909f
jb 0x1400118d0
or rcx, r13
mov r9d, 1
nop dword [rax]
mov r10d, dword [0x141dc00e8]
add r10d, dword [0x141dc00ec]
and r10d, 0x1060014a
or r10d, 0x6b9fbe25
mov rax, rcx
mul rsi
mov r8, rdx
imul edx, r10d, 0x80bedd9c
cmp edx, 0x9796003a
ja 0x140011900
cmp r15, rax
jb 0x140011580
jmp 0x140011952
lea rax, [rcx - 0x100]
mov qword [rdi + 0x158], rax
jmp 0x14001181e
mov eax, dword [0x141dc00f0]
xor edx, edx
div dword [0x141dc00f4]
mov eax, dword [0x141dc00f8]
or eax, dword [0x141dc00fc]
cmp eax, 0xe5600f3d
je 0x140011960
mov rax, r8
add rsp, 0x28
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret