Function at 0x1401b2510
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, 0x118
mov rsi, qword [rcx]
nop word cs:[rax + rax]
mov eax, dword [0x1415ca5d0]
xor edx, edx
div dword [0x1415ca5d4]
add eax, 0xdff0b5b4
or eax, 0xef87e800
shr eax, 4
imul rax, rax, 0xa3c2469
shr rax, 0x36
cmp eax, 0xf488cf9d
je 0x1401b2530
mov r15, qword [rcx + 0x18]
mov rdi, qword [rcx + 0x28]
movzx ebx, word [r15 + 0x3d2]
movzx ebp, word [rdi + 0x3d2]
movabs rax, 0x785d5eeeedaca762
mov rdx, rbx
sub rdx, rax
lea r13, [rdx + rax]
inc r13
mov eax, ebp
and eax, r13d
mov r10, r13
or r10, rbp
add r10, rax
cmp r10, 0xc
jae 0x1401b25d7
mov eax, dword [0x1415ca5f4]
add eax, dword [0x1415ca5f0]
mov r9, qword [rcx + 8]
mov edx, eax
not edx
or edx, 0x2f8cf9
add eax, edx
inc eax
or eax, 0xff143c62
add eax, 0xfe7b1377
cmp eax, 0x2003e1c5
jae 0x1401b2660
jmp 0x1401b2714
mov eax, dword [0x1415ca5d8]
xor edx, edx
div dword [0x1415ca5dc]
imul eax, eax, 0x4a6f9bc7
add eax, 0xc011e85f
not eax
or eax, 0xd2a862c4
cmp eax, 0xe08bcef3
jb 0x1401b2624
mov eax, dword [0x1415ca5e0]
xor edx, edx
div dword [0x1415ca5e4]
add eax, 0x4a7554b7
and eax, 0x60a4ffd8
xor eax, 0x40249e40
ud2
ud2
mov eax, dword [0x1415ca5f8]
mov edx, dword [0x1415ca5fc]
not eax
mov r8d, eax
and r8d, edx
or eax, edx
not eax
or eax, r8d
mov edx, eax
not edx
mov r8d, eax
and r8d, 0x9767688f
and edx, 0x68989770
imul edx, r8d
mov r8d, eax
and r8d, 0x68989770
or eax, 0x68989770
imul eax, r8d
add eax, edx
shr eax, 1
mov edx, 0x9b64a735
imul rdx, rax
movzx r11d, word [rsi + 0x3d2]
mov r14, qword [rcx + 0x10]
imul rax, r14, 0x38
mov word [r15 + 0x3d2], r10w
mov r8, qword [rsi + rax + 0x198]
mov qword [rsp + 0x80], r8
shr rdx, 0x3d
or edx, 0xdf24b518
movups xmm0, xmmword [rsi + rax + 0x168]
movups xmm1, xmmword [rsi + rax + 0x178]
movups xmm2, xmmword [rsi + rax + 0x188]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
cmp edx, 0x4991a959
jne 0x1401b275d
imul rax, qword [rcx + 0x10], 0x38
mov word [r15 + 0x3d2], r10w
mov rdx, qword [rsi + rax + 0x198]
mov qword [rsp + 0x80], rdx
movups xmm0, xmmword [rsi + rax + 0x168]
movups xmm1, xmmword [rsi + rax + 0x178]
movups xmm2, xmmword [rsi + rax + 0x188]
movaps xmmword [rsp + 0x70], xmm2
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
jmp 0x1401b2660
mov qword [rsp + 0xb8], r10
mov qword [rsp + 0xc8], r9
lea r12, [r14 + 1]
mov rdx, r14
not rdx
mov ecx, r11d
and ecx, edx
mov qword [rsp + 0xa8], rdx
mov qword [rsp + 0xb0], r11
xor rdx, r11
lea rcx, [rdx + rcx*2]
mov qword [rsp + 0x28], rcx
imul r8, rcx, 0x38
lea r10, [rsi + rax]
add r10, 0x168
lea rdx, [rsi + rax]
add rdx, 0x1a0
mov eax, dword [0x1415ca600]
sub eax, dword [0x1415ca604]
mov ecx, eax
xor ecx, 0x928667f1
and eax, 0x6d79980e
add eax, eax
sub eax, ecx
mov ecx, eax
not ecx
and ecx, 0x6bb9e643
and eax, 0x944619bc
sub eax, ecx
mov ecx, eax
xor ecx, 0x398a7ffc
and ecx, eax
cmp ecx, 0x40e2ca0c
mov qword [rsp + 0x30], rbp
jne 0x1401b291f
mov rcx, r10
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], r10
mov qword [rsp + 0x38], rdx
call fcn.14022aa10
imul rax, rbx, 0x38
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [r15 + rax + 0x168], xmm0
movups xmmword [r15 + rax + 0x178], xmm1
movups xmmword [r15 + rax + 0x188], xmm2
mov rcx, qword [rsp + 0x80]
mov qword [r15 + rax + 0x198], rcx
lea rdx, [rdi + 0x168]
imul rax, r13, 0x38
lea rcx, [r15 + rax]
add rcx, 0x168
imul r8, rbp, 0x38
call fcn.14022aa10
mov rax, r14
shl rax, 5
lea rcx, [rsi + rax]
movups xmm0, xmmword [rsi + rax]
movups xmm1, xmmword [rsi + rax + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov rdx, r12
shl rdx, 5
add rdx, rsi
mov rbp, rbx
mov rbx, rdi
mov rdi, qword [rsp + 0x28]
mov r8, rdi
shl r8, 5
call fcn.14022aa10
mov rax, rbp
shl rax, 5
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movups xmmword [r15 + rax], xmm0
movups xmmword [r15 + rax + 0x10], xmm1
mov rcx, r13
shl rcx, 5
add rcx, r15
mov r8, qword [rsp + 0x30]
shl r8, 5
mov rdx, rbx
call fcn.14022aa10
lea rcx, [rsi + r12*8]
add rcx, 0x3d8
lea rdx, [rsi + r14*8 + 0x3e8]
lea r8, [rdi*8]
mov rdi, rbx
mov rbx, rbp
mov rbp, qword [rsp + 0x30]
call fcn.14022aa10
mov rdx, qword [rsp + 0x38]
mov r10, qword [rsp + 0x40]
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x90], rdi
mov r11, r14
imul r14, rbx, 0x38
lea rax, [rdi + 0x168]
mov qword [rsp + 0x48], rax
imul rax, r13, 0x38
add rax, r15
add rax, 0x168
mov qword [rsp + 0x40], rax
imul rax, rbp, 0x38
mov qword [rsp + 0x38], rax
mov rax, rbx
mov rcx, r11
shl rcx, 5
mov qword [rsp + 0x110], rcx
add rcx, rsi
mov qword [rsp + 0x108], rcx
mov rcx, r12
shl rcx, 5
add rcx, rsi
mov qword [rsp + 0x100], rcx
mov r9, qword [rsp + 0x28]
mov rcx, r9
shl rcx, 5
mov qword [rsp + 0xf8], rcx
mov rcx, rbx
mov qword [rsp + 0x98], rbx
shl rax, 5
mov qword [rsp + 0xf0], rax
mov qword [rsp + 0xc0], r13
shl r13, 5
add r13, r15
mov qword [rsp + 0xe8], r13
shl rbp, 5
mov qword [rsp + 0xe0], rbp
lea rax, [rsi + r12*8]
add rax, 0x3d8
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xa0], r11
lea rax, [rsi + r11*8]
add rax, 0x3e8
mov qword [rsp + 0xd0], rax
shl r9, 3
mov qword [rsp + 0x28], r9
nop word [rax + rax]
mov eax, dword [0x1415ca608]
mov ecx, dword [0x1415ca60c]
mov r11d, ecx
not r11d
mov r9d, eax
and r9d, r11d
or r11d, eax
not r11d
imul r11d, r9d
mov r9d, eax
and r9d, ecx
or eax, ecx
imul eax, r9d
add eax, r11d
mov ebp, eax
and ebp, 0x72a689c9
and eax, 0xa68101
sub ebp, eax
add ebp, 0x84fff305
or ebp, 0x9f821308
mov rcx, r10
mov r13, r8
mov rbx, r10
mov rdi, rdx
call fcn.14022aa10
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
movaps xmm2, xmmword [rsp + 0x70]
movups xmmword [r15 + r14 + 0x168], xmm0
movups xmmword [r15 + r14 + 0x178], xmm1
movups xmmword [r15 + r14 + 0x188], xmm2
mov rax, qword [rsp + 0x80]
mov qword [r15 + r14 + 0x198], rax
mov rcx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x48]
mov r8, qword [rsp + 0x38]
call fcn.14022aa10
mov rax, qword [rsp + 0x110]
movups xmm0, xmmword [rsi + rax]
movups xmm1, xmmword [rsi + rax + 0x10]
movaps xmmword [rsp + 0x60], xmm1
movaps xmmword [rsp + 0x50], xmm0
mov rcx, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x100]
mov r8, qword [rsp + 0xf8]
call fcn.14022aa10
movaps xmm0, xmmword [rsp + 0x50]
movaps xmm1, xmmword [rsp + 0x60]
mov rax, qword [rsp + 0xf0]
movups xmmword [r15 + rax], xmm0
movups xmmword [r15 + rax + 0x10], xmm1
mov rcx, qword [rsp + 0xe8]
mov rdx, qword [rsp + 0x90]
mov r8, qword [rsp + 0xe0]
call fcn.14022aa10
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xd0]
mov r8, qword [rsp + 0x28]
call fcn.14022aa10
mov rdx, rdi
mov r10, rbx
mov r8, r13
cmp ebp, 0x4143b6a0
jb 0x1401b2a10
mov r10, qword [rsp + 0xb0]
cmp r12, r10
mov rdi, qword [rsp + 0x90]
mov rbx, qword [rsp + 0xc8]
mov r14, qword [rsp + 0xc0]
jae 0x1401b2d1a
movabs rcx, 0x2ac3447bcb12d76d
mov eax, 0xbcf7faa1
mov r11, qword [rsp + 0xa8]
add r11, r10
mov rdx, r10
sub rdx, rcx
sub rdx, qword [rsp + 0xa0]
add rcx, rdx
add rcx, 0xfffffffffffffffe
nop word cs:[rax + rax]
mov edx, dword [0x1415ca610]
sub edx, dword [0x1415ca614]
mov r8d, edx
not r8d
and r8d, 0xe23e11e8
mov r9d, edx
and r9d, 0x1dc1ee17
imul r9d, r8d
mov r8d, edx
and r8d, 0xe23e11e8
or edx, 0xe23e11e8
imul edx, r8d
add edx, r9d
imul rdx, rax
shr rdx, 0x3f
or edx, 0xc48ff442
cmp edx, 0x733ae031
je 0x1401b2bc0
and r11, 3
je 0x1401b2cff
xor r8d, r8d
nop word cs:[rax + rax]
mov eax, dword [0x1415ca618]
xor edx, edx
div dword [0x1415ca61c]
mov edx, eax
not edx
and edx, 0xf5d3051
mov r9d, eax
and r9d, 0xf0a2cfae
imul r9d, edx
mov edx, eax
and edx, 0xf5d3051
or eax, 0xf5d3051
imul eax, edx
add eax, r9d
mov edx, eax
not edx
or edx, 0x40108044
and edx, 0x405a87d6
and eax, 0x9f255000
sub eax, edx
cmp eax, 0xaa9ca52e
jae 0x1401b2ca0
mov rax, qword [rsi + r12*8 + 0x3d8]
mov qword [rax + 0x160], rsi
mov word [rax + 0x3d0], r12w
nop
mov eax, dword [0x1415ca620]
sub eax, dword [str._y_Q_I]
mov edx, eax
xor edx, 0x50efc8de
or eax, 0xaf103721
and eax, edx
imul eax, eax, 0x3b714e90
mov edx, eax
not edx
and edx, 0xe7545492
and eax, 0x18abab60
sub eax, edx
mov rdx, qword [rsi + r12*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r12w
cmp eax, 0x85752d00
jb 0x1401b2ca0
inc r12
inc r8
cmp r8, r11
jne 0x1401b2c30
xor eax, eax
nop word cs:[rax + rax]
test al, al
jne 0x1401b2d10
cmp rcx, 3
jae 0x1401b2d96
movzx eax, word [rsi + 0x3d2]
dec eax
xor ecx, ecx
nop word cs:[rax + rax]
test cl, cl
jne 0x1401b2d30
mov ecx, dword [0x1415ca630]
imul ecx, dword [0x1415ca634]
mov edx, ecx
and edx, 0xcac1faaa
mov r8d, edx
not r8d
and r8d, 0x5a8da422
mov r9d, ecx
and r9d, 0x80405a88
imul r9d, r8d
and ecx, 0x4a81a022
or edx, 0x5a8da422
imul edx, ecx
lea ecx, [rdx + r9]
add ecx, 0x400189b1
cmp ecx, 0xe5ea2e01
mov r12, qword [rsp + 0xb8]
jbe 0x1401b2ed3
jmp 0x1401b2f02
mov rax, r12
not rax
xor ecx, ecx
jmp 0x1401b2db1
add r12, 4
add rax, 0xfffffffffffffffc
cmp r10, r12
je 0x1401b2d1a
mov edx, dword [0x1415ca628]
sub edx, dword [0x1415ca62c]
xor edx, 0x801020c4
or edx, 0x77ed9919
mov r8d, edx
and r8d, 0x33b38b0e
add r8d, r8d
neg r8d
add edx, r8d
add edx, 0x33b38b0e
cmp edx, 0x78df07f5
jb 0x1401b2e63
nop word [rax + rax]
mov rdx, qword [rsi + r12*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r12w
mov rdx, qword [rsi + r12*8 + 0x3e0]
mov qword [rdx + 0x160], rsi
lea r8d, [r12 + 1]
mov word [rdx + 0x3d0], r8w
mov rdx, qword [rsi + r12*8 + 0x3e8]
mov qword [rdx + 0x160], rsi
lea r8d, [r12 + 2]
mov word [rdx + 0x3d0], r8w
mov rdx, qword [rsi + r12*8 + 0x3f0]
mov qword [rdx + 0x160], rsi
lea r8d, [r12 + 3]
mov word [rdx + 0x3d0], r8w
test cl, cl
je 0x1401b2da0
mov rdx, qword [rsi + r12*8 + 0x3d8]
mov qword [rdx + 0x160], rsi
mov word [rdx + 0x3d0], r12w
mov rdx, qword [rsi + r12*8 + 0x3e0]
mov qword [rdx + 0x160], rsi
lea r8d, [r12 + 1]
mov word [rdx + 0x3d0], r8w
mov rdx, qword [rsi + r12*8 + 0x3e8]
mov qword [rdx + 0x160], rsi
lea r8d, [r12 + 2]
mov word [rdx + 0x3d0], r8w
mov rdx, qword [rsi + r12*8 + 0x3f0]
mov qword [rdx + 0x160], rsi
lea r8d, [r12 + 3]
mov word [rdx + 0x3d0], r8w
jmp 0x1401b2df0
mov ecx, dword [0x1415ca638]
mov edx, dword [0x1415ca63c]
add ecx, edx
add ecx, 0x5a8940ec
and ecx, 0xf5414288
add ecx, 0x32377ecc
mov word [rsi + 0x3d2], ax
cmp ecx, 0x322fdbb6
jae 0x1401b2f0b
mov word [rsi + 0x3d2], ax
jmp 0x1401b2ed3
cmp rbx, 2
mov r13, qword [rsp + 0x30]
jb 0x1401b30aa
lea rdx, [rdi + 0x3d8]
lea rcx, [r15 + r14*8]
add rcx, 0x3d8
nop dword [rax]
mov eax, dword [0x1415ca640]
mov r8d, dword [0x1415ca644]
add eax, r8d
add eax, 0x587e75ed
mov r8d, eax
not r8d
and r8d, 0x34193052
mov r9d, eax
and r9d, 0xcbe6cfad
imul r9d, r8d
mov r8d, eax
and r8d, 0x34193052
or eax, 0x34193052
imul eax, r8d
add eax, r9d
mov r8d, eax
not r8d
or r8d, 0x52aa4300
add r8d, eax
cmp r8d, 0x65d5962c
je 0x1401b2f30
lea r8, [r13*8]
mov eax, r8d
and eax, 8
or r8, 8
add r8, rax
call fcn.14022aa10
lea eax, [r13 + 1]
and eax, 3
je 0x1401b3000
mov rcx, qword [rsp + 0x98]
lea rdx, [r15 + rcx*8]
add rdx, 0x3e0
xor ecx, ecx
mov r8, r14
nop word [rax + rax]
inc r8
mov r9, qword [rdx + rcx*8]
mov qword [r9 + 0x160], r15
lea r10d, [r14 + rcx]
mov word [r9 + 0x3d0], r10w
inc rcx
cmp rax, rcx
jne 0x1401b2fd0
add r14, rcx
nop word cs:[rax + rax]
mov eax, dword [0x1415ca648]
xor eax, dword [0x1415ca64c]
add eax, 0x826cffe8
or eax, 0x1537e23d
cmp eax, 0x9a44dc51
jb 0x1401b3000
cmp r13w, 3
jb 0x1401b30aa
nop dword [rax + rax]
mov eax, r14d
and eax, 1
mov rcx, r14
or rcx, 1
add rcx, rax
mov rax, qword [r15 + r14*8 + 0x3d8]
mov qword [rax + 0x160], r15
mov word [rax + 0x3d0], r14w
mov rax, qword [r15 + rcx*8 + 0x3d8]
mov qword [rax + 0x160], r15
mov word [rax + 0x3d0], cx
mov rax, qword [r15 + r14*8 + 0x3e8]
mov qword [rax + 0x160], r15
lea ecx, [r14 + 2]
mov word [rax + 0x3d0], cx
mov rax, qword [r15 + r14*8 + 0x3f0]
mov qword [rax + 0x160], r15
lea rcx, [r14 + 3]
mov word [rax + 0x3d0], cx
add r14, 4
cmp rcx, r12
jne 0x1401b3030
mov rcx, qword [0x1415d3918]
xor edx, edx
mov r8, rdi
call qword [sym.imp.KERNEL32.dll_HeapFree]
nop dword [rax]
mov eax, dword [0x1415ca650]
or eax, dword [0x1415ca654]
xor eax, 0xc4a0e70c
mov ecx, eax
and ecx, 0x4bca0d4
or eax, 0x4bca0d4
add eax, ecx
xor eax, 0xfcb90ad3
cmp eax, 0xbd2afec1
jb 0x1401b30c0
mov rax, rsi
mov rdx, rbx
add rsp, 0x118
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret