Function at 0x180029570
Capabilities:
Encode data using base64

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x70
mov qword [rbp - 0x38], 0xfffffffffffffffe
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x18008f230]
xor rax, rsp
mov qword [rbp - 0x10], rax
mov rax, r8
mov qword [rbp - 0x40], rax
mov r15d, edx
mov qword [rbp - 0x48], rcx
xor ebx, ebx
test rcx, rcx
je 0x180029905
test edx, edx
je 0x180029905
mov r8d, ebx
mov qword [rbp - 0x20], rbx
lea edx, [rbx + 7]
mov qword [rbp - 0x18], rdx
mov word [rbp - 0x30], bx
lea r13d, [rbx + 2]
mov r9d, 0x2f
mov sil, bl
mov r14b, bl
lea eax, [r13 - 2]
mov dword [rbp - 0x50], eax
mov dil, byte [rax + rcx]
lea r12d, [r13 - 1]
cmp r12d, r15d
jae 0x180029600
mov sil, byte [r12 + rcx]
cmp r13d, r15d
jae 0x18002960c
mov eax, r13d
mov r14b, byte [rax + rcx]
mov cl, dil
shr cl, 2
and dil, 3
shl dil, 4
mov al, sil
shr al, 4
or dil, al
and sil, 0xf
shl sil, 2
mov al, r14b
shr al, 6
or sil, al
and r14b, 0x3f
cmp cl, 0x1a
jae 0x180029646
movzx ecx, cl
add cx, 0x41
jmp 0x18002966f
cmp cl, 0x34
jae 0x180029654
movzx ecx, cl
add cx, 0x47
jmp 0x18002966f
cmp cl, 0x3e
jae 0x180029662
movzx ecx, cl
sub cx, 4
jmp 0x18002966f
jne 0x18002966b
mov ecx, 0x2b
jmp 0x18002966f
movzx ecx, r9w
cmp r8, rdx
jae 0x180029696
lea rax, [r8 + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp rdx, 8
cmovae rax, qword [rbp - 0x30]
mov word [rax + r8*2], cx
mov word [rax + r8*2 + 2], bx
jmp 0x1800296a9
movzx r9d, cx
lea rcx, [rbp - 0x30]
call fcn.18000ba04
mov r9d, 0x2f
cmp dil, 0x1a
jae 0x1800296b9
movzx ecx, dil
add cx, 0x41
jmp 0x1800296e6
cmp dil, 0x34
jae 0x1800296c9
movzx ecx, dil
add cx, 0x47
jmp 0x1800296e6
cmp dil, 0x3e
jae 0x1800296d9
movzx ecx, dil
sub cx, 4
jmp 0x1800296e6
jne 0x1800296e2
mov ecx, 0x2b
jmp 0x1800296e6
movzx ecx, r9w
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x18]
jae 0x180029711
lea rax, [rdx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rax, qword [rbp - 0x30]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], bx
jmp 0x18002971e
movzx r9d, cx
lea rcx, [rbp - 0x30]
call fcn.18000ba04
cmp r12d, r15d
jae 0x1800297a1
cmp sil, 0x1a
jae 0x180029733
movzx ecx, sil
add cx, 0x41
jmp 0x180029751
cmp sil, 0x34
jae 0x180029743
movzx ecx, sil
add cx, 0x47
jmp 0x180029751
cmp sil, 0x3e
jae 0x180029758
movzx ecx, sil
sub cx, 4
mov edi, 0x2f
jmp 0x180029767
mov edi, 0x2f
jne 0x180029764
lea ecx, [rdi - 4]
jmp 0x180029767
movzx ecx, di
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x18]
jae 0x180029792
lea rax, [rdx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rax, qword [rbp - 0x30]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], bx
jmp 0x1800297e2
movzx r9d, cx
lea rcx, [rbp - 0x30]
call fcn.18000ba04
jmp 0x1800297e2
mov rcx, qword [rbp - 0x20]
cmp rcx, qword [rbp - 0x18]
jae 0x1800297ce
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rax, qword [rbp - 0x30]
mov edx, 0x3d
mov dword [rax + rcx*2], edx
lea edi, [rdx - 0xe]
jmp 0x1800297e7
mov r9d, 0x3d
lea rcx, [rbp - 0x30]
call fcn.18000ba04
mov edi, 0x2f
mov edx, 0x3d
cmp r13d, r15d
jae 0x180029859
cmp r14b, 0x1a
jae 0x1800297fc
movzx ecx, r14b
add cx, 0x41
jmp 0x180029828
cmp r14b, 0x34
jae 0x18002980c
movzx ecx, r14b
add cx, 0x47
jmp 0x180029828
cmp r14b, 0x3e
jae 0x18002981c
movzx ecx, r14b
sub cx, 4
jmp 0x180029828
jne 0x180029825
mov ecx, 0x2b
jmp 0x180029828
movzx ecx, di
mov rdx, qword [rbp - 0x20]
cmp rdx, qword [rbp - 0x18]
jae 0x180029853
lea rax, [rdx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rax, qword [rbp - 0x30]
mov word [rax + rdx*2], cx
mov word [rax + rdx*2 + 2], bx
jmp 0x18002988e
movzx r9d, cx
jmp 0x180029885
mov rcx, qword [rbp - 0x20]
cmp rcx, qword [rbp - 0x18]
jae 0x180029882
lea rax, [rcx + 1]
mov qword [rbp - 0x20], rax
lea rax, [rbp - 0x30]
cmp qword [rbp - 0x18], 8
cmovae rax, qword [rbp - 0x30]
mov dword [rax + rcx*2], 0x3d
jmp 0x18002988e
mov r9d, edx
lea rcx, [rbp - 0x30]
call fcn.18000ba04
mov eax, 0x1f7047dd
mov ecx, dword [rbp - 0x50]
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
imul eax, eax, 0x39
cmp ecx, eax
jne 0x1800298ba
lea rdx, [0x180073d70]
lea rcx, [rbp - 0x30]
call fcn.18000598c
add r13d, 3
lea eax, [r13 - 2]
cmp eax, r15d
jae 0x1800298d8
mov rdx, qword [rbp - 0x18]
mov r8, qword [rbp - 0x20]
mov rcx, qword [rbp - 0x48]
jmp 0x1800295dc
mov rax, qword [rbp - 0x40]
movups xmm2, xmmword [rax]
movups xmm3, xmmword [rax + 0x10]
movups xmm0, xmmword [rbp - 0x30]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbp - 0x20]
movups xmmword [rax + 0x10], xmm1
movups xmmword [rbp - 0x30], xmm2
movups xmmword [rbp - 0x20], xmm3
lea rcx, [rbp - 0x30]
call fcn.180005f20
jmp 0x180029938
mov ebx, 0x80070057
lea rax, [0x18008d218]
mov rcx, qword [0x18008d218]
cmp rcx, rax
je 0x180029938
test byte [rcx + 0x1c], 1
je 0x180029938
mov edx, 0x1b
lea r8, [0x180073f70]
mov rcx, qword [rcx + 0x10]
call fcn.180001310
mov eax, ebx
mov rcx, qword [rbp - 0x10]
xor rcx, rsp
call fcn.180040cc0
lea r11, [rsp + 0x70]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret