Function at 0x18005a5e0
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x90
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
mov rax, qword [0x1800a9e28]
xor rax, rsp
mov qword [rsp + 0x58], rax
mov rdi, qword [rsp + 0x30]
lea r10, [0x180000000]
movdqa xmm7, xmmword [rsp + 0x30]
mov rsi, r9
movdqa xmm6, xmmword [rsp + 0x30]
lea r9d, [rcx - 0x25]
movdqa xmm8, xmmword [rsp + 0x30]
mov r14, r8
mov dword [rsp + 0x48], ecx
mov r13, rdx
mov dword [rsp + 0x28], ecx
mov ebx, ecx
mov dword [rsp + 0x20], r9d
cmp ecx, r9d
jbe 0x18005a84f
mov r15d, dword [rsp + 0x48]
lea r9d, [rcx - 0xb7]
mov ebp, dword [rsp + 0x48]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov r12d, dword [rsp + 0x48]
mov eax, dword [rsp + 0x20]
mov dword [rsp + 0x24], r9d
cmp r9d, 0x6f
ja case.default.0x18005a69f
movzx eax, byte [r10 + r9 + 0x5b0f8]
mov ecx, dword [r10 + rax*4 + 0x5b068]
add rcx, r10
jmp rcx
movdqa xmm7, xmm6
add rsi, 0x10
psrld xmm7, 0xa
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
jmp case.0x18005a69f.35
movdqa xmm0, xmm6
pslld xmm0, 0x16
por xmm0, xmm7
movdqa xmm7, xmm0
jmp case.0x18005a69f.35
movdqu xmmword [rsi], xmm7
movdqa xmm7, xmm6
psrld xmm7, 0x12
add rsi, 0x10
jmp case.0x18005a69f.35
movdqa xmm7, xmm6
add rsi, 0x10
psrld xmm7, 3
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
jmp case.0x18005a69f.35
movdqa xmm7, xmm6
psrld xmm7, 0x19
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 4
por xmm0, xmm7
movdqa xmm7, xmm0
add rdi, 0x10
jmp case.0x18005a69f.35
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x18
por xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm0
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
psrld xmm6, 0x14
movdqa xmm0, xmm6
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm7, xmm6
pslld xmm7, 7
por xmm7, xmm0
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0xe
por xmm0, xmm7
movdqa xmm7, xmm0
jmp case.0x18005a69f.35
movdqu xmmword [rsi], xmm7
jmp case.0x18005a69f.35
xor ebx, ebx
cmp qword [r13], rbx
jbe 0x18005ace4
nop word [rax + rax]
mov rax, qword [rsi]
lea rdx, [rsp + 0x40]
mov qword [rsp + 0x30], rax
lea rcx, [rsp + 0x30]
mov rax, qword [r14 + rbx*8]
mov r8d, 0xb9
mov qword [rsp + 0x40], rax
call fcn.1800787a0
test al, al
jne 0x18005aced
inc rbx
cmp rbx, qword [r13]
jb 0x18005a7e0
mov ebx, dword [rsp + 0x28]
mov r9d, dword [rsp + 0x24]
movabs rdx, 0xaaaaaaaaaaaaaaab
lea r10, [0x180000000]
mov eax, dword [rsp + 0x20]
dec ebx
dec r9d
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x24], r9d
cmp ebx, eax
ja 0x18005a681
mov ecx, dword [rsp + 0x48]
lea eax, [rcx + 0x24]
cmp ecx, eax
jae 0x18005b02b
lea edx, [rcx - 0x126]
mov r8d, 0x24
cmp edx, 0x23
ja case.default.0x18005a87a
mov ecx, dword [r10 + rdx*4 + 0x5b168]
add rcx, r10
jmp rcx
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x1f
por xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm0
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
psrld xmm6, 1
movdqa xmm0, xmm6
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm7, xmm6
pslld xmm7, 0x1a
por xmm7, xmm0
jmp case.0x18005a69f.35
add rsi, 0x10
movdqa xmm7, xmm6
psrld xmm7, 0xf
add rdi, 0x10
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0xc
por xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm0
add rsi, 0x10
jmp case.0x18005a69f.35
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x1b
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 5
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rsi, 0x10
add rdi, 0x10
movdqa xmm7, xmm6
psrld xmm7, 8
jmp case.0x18005a69f.35
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x13
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 0xd
jmp case.0x18005a69f.35
movdqa xmm0, xmm6
pslld xmm0, 9
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 0x17
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x10
por xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm0
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x1d
por xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm0
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x20
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 2
por xmm0, xmm7
movdqa xmm7, xmm0
jmp case.0x18005a69f.35
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x15
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 0xb
jmp case.0x18005a69f.35
mov rcx, qword [r14 + 0x10]
mov rax, rdx
add rcx, 2
xor r8d, r8d
mul rcx
mov rcx, r13
shr rdx, 1
shl rdx, 2
call fcn.18006e370
jmp 0x18005a81b
movdqu xmm8, xmmword [rdi + 0x10]
add rsi, 0x10
add rdi, 0x10
movdqa xmm7, xmm6
psrld xmm7, 6
jmp case.0x18005a69f.35
cmp qword [r14 + 0x18], 0x10
mov r10, r14
jb 0x18005aaa9
mov r10, qword [r14]
cmp qword [r13 + 0x18], 0x10
mov r8, r13
jb 0x18005aab7
mov r8, qword [r13]
mov rcx, qword [r14 + 0x10]
mov rax, rdx
mul rcx
xor r11d, r11d
shr rdx, 1
lea rax, [rdx + rdx*2]
test rax, rax
je 0x18005abb0
lea rcx, [rax - 1]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
inc rdx
lea r11, [rdx + rdx*2]
nop
mov r9d, 0x79
mov eax, r9d
sub eax, 0x79
je 0x18005ab2d
sub eax, 0x44
je 0x18005ab12
cmp eax, 0x44
jne 0x18005ab8c
add r10, 3
jmp 0x18005ab8c
movzx ecx, byte [r10 + 2]
mov rax, qword [0x1800a9f90]
and ecx, 0x3f
movzx ecx, byte [rcx + rax]
mov byte [r8], cl
inc r8
jmp 0x18005ab8c
mov rax, qword [0x1800a9f90]
movzx ecx, byte [r10]
shr rcx, 2
movzx ecx, byte [rcx + rax]
mov byte [r8], cl
movzx ecx, byte [r10]
movzx eax, byte [r10 + 1]
and ecx, 3
shl ecx, 4
shr eax, 4
add ecx, eax
mov rax, qword [0x1800a9f90]
movzx ecx, byte [rcx + rax]
mov byte [r8 + 1], cl
movzx ecx, byte [r10 + 1]
movzx eax, byte [r10 + 2]
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800a9f90]
movzx ecx, byte [rcx + rax]
mov byte [r8 + 2], cl
add r8, 3
add r9d, 0x44
cmp r9d, 0x145
jb 0x18005aaf6
sub rdx, 1
jne 0x18005aaf0
mov rcx, qword [r14 + 0x10]
mov r9d, dword [rsp + 0x24]
cmp r11, rcx
jae 0x18005a820
mov edx, 0xf2
nop
cmp edx, 0xf2
je 0x18005ac5c
cmp edx, 0x19e
je 0x18005ac42
cmp edx, 0x24a
je 0x18005ac30
cmp edx, 0x2f6
je 0x18005abf9
cmp edx, 0x3a2
jne 0x18005ac76
mov byte [r8], 0x3d
inc r8
jmp 0x18005ac76
lea rax, [r11 + 1]
cmp rax, qword [r14 + 0x10]
jae 0x18005ac25
mov ecx, ebp
mov eax, r12d
and ecx, 0xf
shr eax, 6
lea ecx, [rax + rcx*4]
mov rax, qword [0x1800a9f90]
movzx r9d, byte [rcx + rax]
mov byte [r8], r9b
inc r8
jmp 0x18005ac76
mov r9b, 0x3d
mov byte [r8], r9b
inc r8
jmp 0x18005ac76
mov ecx, r15d
mov eax, ebp
and ecx, 3
shr eax, 4
shl ecx, 4
add ecx, eax
jmp 0x18005ac49
mov ecx, r15d
shr rcx, 2
mov rax, qword [0x1800a9f90]
movzx ecx, byte [rcx + rax]
mov byte [r8], cl
inc r8
jmp 0x18005ac76
movzx r15d, byte [r10]
lea rax, [r11 + 1]
cmp rax, qword [r14 + 0x10]
jae 0x18005ac71
movzx ebp, byte [r10 + 1]
jmp 0x18005ac73
xor ebp, ebp
xor r12d, r12d
add edx, 0xac
cmp edx, 0x44e
jb 0x18005abc0
jmp 0x18005a81b
movdqu xmmword [rsi], xmm7
add rsi, 0x10
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [r13]
mov rdi, r13
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm7, xmm6
jmp case.0x18005a69f.35
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x11
por xmm0, xmm7
movdqa xmm7, xmm0
movdqu xmmword [rsi], xmm0
jmp case.0x18005a69f.35
mov ebx, dword [rsp + 0x28]
jmp case.0x18005a69f.35
mov rax, rbx
jmp 0x18005b030
mov qword [rsp + 0x48], 0x783040
lea rdx, [0x180081ff0]
mov rax, qword [rsp + 0x48]
lea rcx, [rsp + 0x53]
mov r8, r14
mov qword [rsp + 0x50], rax
call fcn.18007dc10
lea rax, [rsp + 0x50]
mov r8d, 0x1b
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
mov rax, qword [r14]
mov rcx, qword [rax]
mov qword [rsp + 0x40], rcx
lea rcx, [rsp + 0x40]
call fcn.18003c530
jmp 0x18005b030
mov rax, 0xffffffffffffffff
jmp 0x18005b030
movdqa xmm7, xmm6
psrld xmm7, 0xc
add rdi, 0x10
jmp case.default.0x18005a87a
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x12
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 0xe
jmp case.default.0x18005a87a
movdqa xmm7, xmm6
psrld xmm7, 0x10
jmp case.default.0x18005a87a
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0xb
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 0x15
jmp case.default.0x18005a87a
movdqa xmm7, xmm6
add rsi, 0x10
psrld xmm7, 0x1a
jmp case.default.0x18005a87a
movdqa xmm0, xmm6
add rdi, 0x10
pslld xmm0, 1
por xmm0, xmm7
jmp 0x18005b01b
movdqu xmmword [rsi], xmm7
add rsi, 0x10
jmp case.default.0x18005a87a
movdqa xmm7, xmm6
psrld xmm7, 9
add rdi, 0x10
movdqu xmm8, xmmword [rdi]
jmp case.default.0x18005a87a
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
psrld xmm6, 7
movdqa xmm0, xmm6
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm7, xmm6
pslld xmm7, 0x14
por xmm7, xmm0
jmp case.default.0x18005a87a
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 5
jmp 0x18005b013
movdqu xmmword [rsi], xmm7
add rsi, 0x10
movdqa xmm7, xmm6
add rdi, 0x10
psrld xmm7, 0x16
jmp case.default.0x18005a87a
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0xd
por xmm0, xmm7
jmp 0x18005b01b
movdqa xmm7, xmm6
psrld xmm7, 0x13
jmp case.default.0x18005a87a
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x1c
por xmm0, xmm7
jmp 0x18005b01b
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0xa
por xmm0, xmm7
jmp 0x18005b01b
movdqu xmmword [rsi], xmm7
add rsi, 0x10
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm7, xmm6
psrld xmm7, 0x11
jmp case.default.0x18005a87a
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0xf
por xmm0, xmm7
jmp 0x18005b01b
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 0x19
por xmm0, xmm7
jmp 0x18005b01b
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
pslld xmm6, 3
movdqa xmm0, xmm6
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
por xmm0, xmm7
movdqa xmm7, xmm0
movdqa xmm0, xmm6
pslld xmm0, 0x1e
por xmm7, xmm0
jmp case.default.0x18005a87a
movdqa xmm7, xmm6
add rsi, 0x10
psrld xmm7, 4
add rdi, 0x10
movdqu xmm8, xmmword [rdi]
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
jmp case.default.0x18005a87a
movdqa xmm0, xmm6
pslld xmm0, 8
por xmm0, xmm7
movdqa xmm7, xmm6
movdqu xmmword [rsi], xmm0
add rsi, 0x10
psrld xmm7, 0x18
jmp case.default.0x18005a87a
movdqu xmmword [rsi], xmm7
add rsi, 0x10
movdqa xmm7, xmm6
add rdi, 0x10
psrld xmm7, 2
jmp case.default.0x18005a87a
movdqa xmm0, xmm6
pslld xmm0, 0x17
por xmm0, xmm7
jmp 0x18005b01b
movdqu xmmword [rsi], xmm7
jmp case.default.0x18005a87a
movdqu xmm8, xmmword [rdi + 0x10]
add rdi, 0x10
movdqa xmm6, xmm8
psubd xmm6, xmmword [r14]
movdqa xmm0, xmm6
pslld xmm0, 6
por xmm0, xmm7
movdqu xmmword [rsi], xmm0
movdqa xmm7, xmm0
inc edx
sub r8, 1
jne 0x18005a866
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.18007e380
lea r11, [rsp + 0x90]
mov rbx, qword [r11 + 0x40]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [rsp + 0x70]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret