Function at 0x18000d19b
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x98
movaps xmmword [rsp + 0x80], xmm10
movaps xmmword [rsp + 0x70], xmm9
movaps xmmword [rsp + 0x60], xmm8
movaps xmmword [rsp + 0x50], xmm7
movaps xmmword [rsp + 0x40], xmm6
mov r14, rcx
mov rax, qword [rcx]
movabs rcx, 0x4f3e87679033e7a6
and rcx, rax
movabs rbp, 0xb0c118100f400040
movabs rbx, 0xb0c178986fcc1859
and rbx, rax
xor rbx, qword [rdx]
or rcx, rbp
xor rcx, rbp
xor rcx, rbx
mov qword [r14], rcx
mov rax, qword [rdx + 8]
xor qword [r14 + 8], rax
mov rax, qword [rdx + 0x10]
xor qword [r14 + 0x10], rax
mov rax, qword [rdx + 0x18]
xor qword [r14 + 0x18], rax
mov rax, qword [rdx + 0x20]
xor qword [r14 + 0x20], rax
mov rax, qword [rdx + 0x28]
xor qword [r14 + 0x28], rax
mov rax, qword [rdx + 0x30]
xor qword [r14 + 0x30], rax
mov rax, qword [rdx + 0x38]
xor qword [r14 + 0x38], rax
mov rax, qword [rdx + 0x40]
mov rbx, qword [r14 + 0x40]
movabs rbp, 0xcb7b6245300ad12c
mov rcx, rbx
and rcx, rbp
movabs rdi, 0x200098100e140843
or rdi, rcx
and rbp, rax
movabs rcx, 0x4953286452090
or rcx, rbp
xor rax, rbx
movabs rbp, 0x34849dbacff52ed3
and rbp, rax
xor rbp, rcx
movabs rax, 0x20040d22885128d3
xor rax, rdi
xor rax, rbp
mov qword [r14 + 0x40], rax
cmp r8, 0x49
jb 0x18000d3b5
mov rcx, qword [rdx + 0x48]
mov rbp, qword [r14 + 0x48]
mov r9, qword [r14 + 0x50]
movabs rbx, 0x62583a5c7772c3c3
mov rdi, rbp
xor rdi, rbx
and rbx, rcx
movabs rax, 0x80a6800200801c04
or rax, rbx
movabs rbx, 0x9da7c5a3888d3c3c
and rcx, rbx
xor rcx, rax
movabs rax, 0xe2feba5e77f2dfc7
xor rax, rcx
xor rbp, rbx
and rbp, rax
movabs rax, 0x1d0145a1880d2038
xor rax, rcx
and rax, rdi
or rax, rbp
mov qword [r14 + 0x48], rax
mov rax, qword [rdx + 0x50]
movabs rcx, 0x4a10712fd56ac100
mov rbp, r9
and rbp, rcx
movabs rbx, 0xb0000ec028011806
or rbx, rbp
and rcx, rax
movabs rbp, 0xa5ed085000951899
or rbp, rcx
xor rax, r9
movabs rcx, 0xb5ef8ed02a953eff
and rcx, rax
xor rcx, rbp
movabs rax, 0x15ed06902894009f
xor rax, rbx
xor rax, rcx
mov qword [r14 + 0x50], rax
mov rax, qword [rdx + 0x58]
xor qword [r14 + 0x58], rax
mov rax, qword [rdx + 0x60]
xor qword [r14 + 0x60], rax
cmp r8, 0x69
jb 0x18000d3b5
mov rax, qword [rdx + 0x68]
xor qword [r14 + 0x68], rax
mov rax, qword [rdx + 0x70]
xor qword [r14 + 0x70], rax
mov rax, qword [rdx + 0x78]
xor qword [r14 + 0x78], rax
mov rax, qword [rdx + 0x80]
xor qword [r14 + 0x80], rax
cmp r8, 0x89
jb 0x18000d3b5
mov rax, qword [rdx + 0x88]
xor qword [r14 + 0x88], rax
movabs r13, 0xe62a8d370acd285e
movabs rax, 0x2366d6cf50000000
movabs r15, 0x19d572c8f532d7a1
xor ecx, ecx
mov edx, 0x45cec13
add rax, rdx
mov qword [rsp + 0x28], rax
mov r12, 0xffffffffffffffff
movdqa xmm6, xmmword [0x180012630]
movdqa xmm7, xmmword [0x180012640]
movdqa xmm8, xmmword [0x180012650]
movdqa xmm9, xmmword [0x180012660]
movdqa xmm10, xmmword [0x180012670]
cmp rcx, 0x18
je 0x18000da4a
mov qword [rsp + 0x38], rcx
mov rcx, r14
call fcn.18000da7d
mov rcx, qword [r14 + 8]
mov rax, qword [r14 + 0x18]
lea rdx, [rcx + rcx]
shr rcx, 0x3f
mov rbp, rdx
movabs rbx, 0x17ccc0061f40832e
and rbp, rbx
movabs rdi, 0xc8112fa0e09b18d0
or rbp, rdi
movabs rdi, 0xe8333ff9e0bf7cd0
and rdx, rdi
movabs rdi, 0xdfddefa6ffdb9bff
xor rdx, rdi
xor rdx, rbp
or rcx, 0xfffffffffffffffe
and rcx, rdx
xor rcx, rbx
mov qword [r14 + 8], rcx
rol qword [r14 + 0x10], 0x3e
mov rcx, rax
shl rcx, 0x1c
shr rax, 0x24
mov rdx, rcx
or rdx, qword [rsp + 0x28]
xor rdx, r12
movabs rbp, 0x2366d6cf50000000
and rcx, rbp
or rcx, rdx
mov edx, eax
and edx, 0xba313ec
movabs rbp, 0x16242c014108802
or rdx, rbp
mov ebp, 0x45cec13
and rax, rbp
xor rax, rdx
xor rax, rcx
movabs rcx, 0xddfb6bf0bfb39bee
xor rax, rcx
mov qword [r14 + 0x18], rax
rol qword [r14 + 0x20], 0x1b
mov rax, qword [r14 + 0x28]
mov rcx, rax
shl rcx, 0x24
shr rax, 0x1c
mov rdx, rcx
movabs rbp, 0xa102e29000000000
and rdx, rbp
movabs rbp, 0x44341c6000000000
or rdx, rbp
mov rbp, rax
movabs rbx, 0x4906725b4
and rbp, rbx
movabs rbx, 0x90a08524b
or rbp, rbx
movabs rbx, 0x5efd1d6000000000
and rcx, rbx
xor rcx, rdx
movabs rdx, 0xb6f98da4b
and rax, rdx
xor rax, rbp
or rax, rcx
movabs rcx, 0x44341c690a08524b
xor rax, rcx
mov qword [r14 + 0x28], rax
rol qword [r14 + 0x30], 0x2c
rol qword [r14 + 0x38], 6
mov rax, qword [r14 + 0x40]
mov rcx, rax
shl rcx, 0x37
movabs rdx, 0x50ac0c4400c
or rcx, rdx
shr rax, 9
mov rdx, rax
movabs rbp, 0x573a61073a8043
and rdx, rbp
movabs rbp, 0x28411430803fac
or rdx, rbp
movabs rbp, 0x28c59ef8c57fbc
and rax, rbp
xor rax, rcx
xor rax, rdx
movabs rcx, 0x28441ef0447fa0
xor rax, rcx
mov qword [r14 + 0x40], rax
rol qword [r14 + 0x48], 0x14
mov rax, qword [r14 + 0x50]
lea rcx, [rax*8]
shr rax, 0x3d
movabs rdx, 0x404d4118e910040
or rax, rdx
mov rdx, rcx
movabs rbp, 0xe09b096a7020fd00
and rdx, rbp
movabs rbp, 0x1e24b01588d70250
or rdx, rbp
movabs rbp, 0x1f64f6958fdf02f8
and rcx, rbp
xor rcx, rax
xor rcx, rdx
movabs rax, 0x1a20640406460210
xor rcx, rax
mov qword [r14 + 0x50], rcx
mov rax, qword [r14 + 0x58]
mov rcx, rax
shl rcx, 0xa
shr rax, 0x36
mov rdx, rcx
movabs rbp, 0x1f08a4d606401800
and rdx, rbp
movabs rbp, 0x20831021703bc000
mov rbx, rbp
or rdx, rbp
mov ebp, eax
and ebp, 0x1e6
mov edi, 8
or rbp, rdi
movabs rsi, 0xe0f75b29f9bfe400
and rcx, rsi
xor rcx, rdx
and eax, 0x219
xor rax, rbp
or rax, rcx
lea rcx, [rbx + rdi]
xor rcx, rax
mov qword [r14 + 0x58], rcx
mov r9, qword [r14 + 0x60]
mov rbp, qword [r14 + 0x68]
mov rcx, r9
shr rcx, 0x15
movabs rax, 0x7360877f3a4
and rcx, rax
movabs rax, 0xd180146080408
or rcx, rax
mov edx, r9d
and edx, 0xa7e58
shl rdx, 0x2b
movabs rax, 0x401280056880853
or rdx, rax
movabs rax, 0x40c300110800c5b
xor rdx, rax
rol r9, 0x2b
rol rbp, 0x19
mov qword [rsp + 0x30], rbp
mov qword [r14 + 0x68], rbp
rol qword [r14 + 0x70], 0x27
movabs rax, 0xac0d38c9f7880c5b
and r9, rax
xor r9, rcx
xor r9, rdx
rol qword [r14 + 0x78], 0x29
mov rdx, qword [r14 + 0x80]
mov rcx, rdx
shl rcx, 0x2d
shr rdx, 0x13
mov rbp, rcx
movabs rax, 0x4ab51e746f44cf60
or rbp, rax
xor rbp, r12
movabs rbx, 0x4ab5000000000000
and rcx, rbx
or rcx, rbp
movabs rbp, 0xb54ae00000000000
add rbp, rdx
xor rdx, rax
and rdx, rcx
xor rcx, r12
and rcx, rbp
or rdx, rcx
mov qword [r14 + 0x80], rdx
mov rcx, qword [r14 + 0x88]
mov rdi, qword [r14 + 0x90]
mov rax, rcx
shl rax, 0xf
shr rcx, 0x31
mov rbp, rcx
mov ebx, 0x74c7
or rbp, rbx
movabs rsi, 0x28b03832c0037fff
xor rbp, rsi
and rcx, rbx
or rcx, rbp
mov rbx, rax
movabs rbp, 0x2bb23e72ed030000
and rbx, rbp
movabs rbp, 0x445818900148000
or rbx, rbp
movabs rbp, 0xd44dc18d12fc8000
and rax, rbp
xor rax, rbx
xor rax, rcx
mov rbp, rdi
shl rbp, 0x15
shr rdi, 0x2b
movabs rcx, 0x4384c2744aa00000
mov rbx, rcx
mov esi, 0x19cad6
add rcx, rsi
or rcx, rdi
xor rcx, r12
and rdi, rsi
or rdi, rcx
mov rcx, rbp
movabs rsi, 0xbc7b3d8bb5400000
and rcx, rsi
rol qword [r14 + 0x98], 8
movabs rsi, 0x80405440104a80
or rcx, rsi
and rbp, rbx
xor rbp, rcx
rol qword [r14 + 0xa0], 0x12
xor rbp, rdi
mov rcx, qword [r14 + 0xb0]
rol rcx, 0x3d
mov r10, qword [r14 + 0xa8]
mov qword [r14 + 0xb0], rcx
mov rdi, qword [r14 + 0xb8]
mov rbx, qword [r14 + 0xc0]
mov r11, qword [r14 + 8]
mov r8, qword [r14 + 0x30]
mov qword [r14 + 8], r8
movdqu xmm0, xmmword [r14 + 0x48]
mov qword [r14 + 0x48], rcx
mov rcx, qword [r14 + 0x10]
movups xmm1, xmmword [r14 + 0x98]
mov qword [r14 + 0xa0], rcx
rol rdi, 0x38
rol rbx, 0xe
mov qword [r14 + 0x10], r9
mov rcx, qword [rsp + 0x30]
mov qword [r14 + 0x60], rcx
movdqu xmm2, xmmword [r14 + 0x70]
movups xmmword [r14 + 0x68], xmm1
mov qword [r14 + 0x98], rdi
movdqu xmmword [r14 + 0xb0], xmm2
mov rcx, qword [r14 + 0x40]
movdqu xmm1, xmmword [r14 + 0x20]
mov rdi, qword [r14 + 0x18]
mov qword [r14 + 0x20], rbx
rol r10, 2
mov qword [r14 + 0xc0], r10
movabs r10, 0xa028081200cc004a
mov qword [r14 + 0xa8], rcx
mov qword [r14 + 0x40], rdx
movdqu xmmword [r14 + 0x78], xmm1
mov qword [r14 + 0x28], rdi
movabs rcx, 0xbcfb7ddff5567fa9
xor rbp, rcx
mov qword [r14 + 0x18], rbp
movabs rcx, 0x2cf5b9bbc0178b38
xor rax, rcx
mov qword [r14 + 0x90], rax
mov rax, qword [r14 + 0x58]
mov qword [r14 + 0x88], rax
mov rax, qword [r14 + 0x38]
mov qword [r14 + 0x58], rax
movdqu xmmword [r14 + 0x30], xmm0
mov qword [r14 + 0x50], r11
movabs r11, 0x81500c855020120
xor r9d, r9d
cmp r9, 0x18
ja 0x18000da2f
mov r8, qword [r14 + r9*8]
mov rdi, qword [r14 + r9*8 + 8]
mov rbx, qword [r14 + r9*8 + 0x10]
mov rax, rdi
movq xmm0, rdi
xor rdi, r12
mov rbp, rbx
movq xmm1, rbx
xor rbx, rdi
xor rbp, r12
and rax, rbp
or rax, rbx
mov rcx, r8
mov rsi, r8
and rsi, r13
and rcx, r15
or rcx, r10
xor rcx, rsi
mov rdx, rax
and rdx, r15
xor rdx, rcx
and rax, r13
or rax, r11
xor rax, rdx
or rdi, r8
movabs rcx, 0x57c2f725aa31fe95
xor rax, rcx
mov qword [r14 + r9*8], rax
mov rax, qword [r14 + r9*8 + 0x18]
and rbp, rax
movq xmm2, rbp
mov rcx, qword [r14 + r9*8 + 0x20]
xor rcx, r12
and r8, rcx
xor r8, rax
or rax, rcx
movq xmm3, rax
punpcklqdq xmm2, xmm1
movdqa xmm1, xmm2
pxor xmm1, xmm6
punpcklqdq xmm0, xmm3
movdqa xmm3, xmm0
pand xmm3, xmm6
pand xmm0, xmm7
por xmm0, xmm8
pxor xmm0, xmm3
movdqa xmm3, xmm0
pxor xmm3, xmm9
pxor xmm2, xmm7
pand xmm2, xmm3
pxor xmm0, xmm10
pand xmm0, xmm1
por xmm0, xmm2
movdqu xmmword [r14 + r9*8 + 8], xmm0
mov qword [r14 + r9*8 + 0x18], r8
xor rdi, rcx
mov qword [r14 + r9*8 + 0x20], rdi
add r9, 5
jmp 0x18000d93d
mov rcx, qword [rsp + 0x38]
lea rax, [0x1800139c0]
mov rax, qword [rax + rcx*8]
xor qword [r14], rax
inc rcx
jmp 0x18000d414
movaps xmm6, xmmword [rsp + 0x40]
movaps xmm7, xmmword [rsp + 0x50]
movaps xmm8, xmmword [rsp + 0x60]
movaps xmm9, xmmword [rsp + 0x70]
movaps xmm10, xmmword [rsp + 0x80]
add rsp, 0x98
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret