Function at 0x180034870
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov rax, qword [0x1800e5040]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov r13d, r8d
mov dword [rbp - 0x40], r8d
mov r14, rdx
mov rbx, rcx
mov qword [rbp - 0x38], rcx
mov qword [rbp - 0x48], rcx
xor edi, edi
test rdx, rdx
je 0x180034bec
test r8d, r8d
je 0x180034bec
xorps xmm0, xmm0
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x20], rdi
mov r8d, 0xf
mov qword [rbp - 0x18], r8
mov byte [rbp - 0x30], dil
lea eax, [r13*4]
movsxd rdx, eax
cmp rdx, r8
jbe 0x1800348f8
lea rcx, [rbp - 0x30]
call fcn.18003f120
mov qword [rbp - 0x20], rdi
mov r8, qword [rbp - 0x18]
mov eax, 0x55555556
imul r13d
mov r9d, edx
shr r9d, 0x1f
add r9d, edx
mov dword [rbp - 0x48], r9d
lea ecx, [r9*4]
mov dword [rbp - 0x50], ecx
mov eax, 0x6bca1af3
imul ecx
mov r15d, edx
sar r15d, 5
mov eax, r15d
shr eax, 0x1f
add r15d, eax
mov r12d, 0x13
mov esi, edi
js 0x180034abd
mov r13d, ecx
cmp edi, r15d
jne 0x18003495d
imul eax, r15d, 0x4c
mov ecx, r13d
sub ecx, eax
mov eax, ecx
cdq
and edx, 3
lea r12d, [rdx + rax]
sar r12d, 2
test r12d, r12d
jle 0x180034aa8
mov edi, r12d
lea r13, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
movzx ecx, byte [r14]
shl ecx, 8
movzx eax, byte [r14 + 1]
or ecx, eax
shl ecx, 8
movzx ebx, byte [r14 + 2]
or ebx, ecx
shl ebx, 8
add r14, 3
mov eax, ebx
shr rax, 0x1a
movzx r9d, byte [rax + r13]
mov rcx, qword [rbp - 0x20]
cmp rcx, r8
jae 0x1800349c3
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp r8, 0xf
cmova rax, qword [rbp - 0x30]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1800349cc
lea rcx, [rbp - 0x30]
call fcn.18003f270
mov eax, ebx
shr rax, 0x14
and eax, 0x3f
movzx r9d, byte [rax + r13]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
cmp rcx, rdx
jae 0x180034a07
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp rdx, 0xf
cmova rax, qword [rbp - 0x30]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180034a10
lea rcx, [rbp - 0x30]
call fcn.18003f270
shl ebx, 0xc
mov eax, ebx
shr rax, 0x1a
movzx r9d, byte [rax + r13]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
cmp rcx, rdx
jae 0x180034a4b
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp rdx, 0xf
cmova rax, qword [rbp - 0x30]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180034a54
lea rcx, [rbp - 0x30]
call fcn.18003f270
shr rbx, 0x14
and ebx, 0x3f
movzx r9d, byte [rbx + r13]
mov rcx, qword [rbp - 0x20]
mov rdx, qword [rbp - 0x18]
cmp rcx, rdx
jae 0x180034a8d
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp rdx, 0xf
cmova rax, qword [rbp - 0x30]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180034a96
lea rcx, [rbp - 0x30]
call fcn.18003f270
sub rdi, 1
mov r8, qword [rbp - 0x18]
jne 0x180034970
mov r13d, dword [rbp - 0x50]
inc esi
cmp esi, r15d
jle 0x180034944
mov r13d, dword [rbp - 0x40]
mov r9d, dword [rbp - 0x48]
xor edi, edi
lea eax, [r9 + r9*2]
sub r13d, eax
lea esi, [r13 + 1]
cmove esi, edi
mov dword [rbp - 0x48], esi
test esi, esi
je 0x180034bbe
mov ebx, edi
test r13d, r13d
jle 0x180034ae4
movzx ebx, byte [r14]
inc r14
shl ebx, 8
cmp r13d, 1
jle 0x180034af6
movzx eax, byte [r14]
inc r14
or ebx, eax
shl ebx, 8
cmp r13d, 2
jle 0x180034b05
movzx eax, byte [r14]
or ebx, eax
shl ebx, 8
test esi, esi
jle 0x180034b6f
mov edi, esi
lea rsi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop word [rax + rax]
mov eax, ebx
shr rax, 0x1a
movzx r9d, byte [rax + rsi]
mov rcx, qword [rbp - 0x20]
cmp rcx, r8
jae 0x180034b54
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp r8, 0xf
cmova rax, qword [rbp - 0x30]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180034b5d
lea rcx, [rbp - 0x30]
call fcn.18003f270
shl ebx, 6
sub rdi, 1
mov r8, qword [rbp - 0x18]
jne 0x180034b20
mov esi, dword [rbp - 0x48]
xor edi, edi
mov eax, 4
sub eax, esi
test eax, eax
jle 0x180034bbe
mov ebx, eax
nop dword [rax]
mov rcx, qword [rbp - 0x20]
cmp rcx, r8
jae 0x180034ba6
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp r8, 0xf
cmova rax, qword [rbp - 0x30]
mov word [rax + rcx], 0x3d
jmp 0x180034bb2
mov r9b, 0x3d
lea rcx, [rbp - 0x30]
call fcn.18003f270
sub rbx, 1
je 0x180034bbe
mov r8, qword [rbp - 0x18]
jmp 0x180034b80
mov rbx, qword [rbp - 0x38]
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rbx + 0x10], xmm1
mov qword [rbp - 0x20], rdi
mov qword [rbp - 0x18], 0xf
mov byte [rbp - 0x30], 0
lea rcx, [rbp - 0x30]
call fcn.180036c30
jmp 0x180034bf8
lea rdx, [0x1800bc0af]
call fcn.180036800
mov rax, rbx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.1800808a0
mov rbx, qword [rsp + 0xb8]
add rsp, 0x70
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret