Function at 0x1400447f0
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x68
xor eax, eax
mov rbp, rcx
imul rcx, r8, 4
mov rsi, rdx
mov rbx, r8
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
seto al
test r9b, r9b
je 0x140044ab8
test rax, rax
jne 0x140044d60
movabs rdi, 0x5555555555555556
mov rax, rcx
sar rcx, 0x3f
imul rdi
sub rdx, rcx
add rdx, 6
mov rcx, rdx
js 0x140044da0
lea r12, [rsp + 0x50]
mov rcx, r12
call fcn.14000a660
mov rax, rbx
imul rdi
mov rax, rbx
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
mov rdx, rbx
sub rdx, rax
mov rax, rbx
sub rax, rdx
seto r13b
mov qword [rsp + 0x30], rax
mov r14, rax
movzx r13d, r13b
jo 0x140044d60
test rax, rax
je 0x1400451c0
test rbx, rbx
jle 0x140044e78
movzx eax, byte [rsi]
shl eax, 0x10
cmp rbx, 1
je 0x140044fde
movzx edi, byte [rsi + 1]
shl edi, 8
or edi, eax
cmp rbx, 2
je 0x140044fe8
mov qword [rsp + 0x48], rdx
xor r14d, r14d
lea r10, [0x14009cc40]
mov qword [rsp + 0x28], r12
mov qword [rsp + 0xb0], rbp
mov rbp, r14
movzx eax, byte [rsi + r13 + 2]
mov qword [rsp + 0x38], r13
mov r15, r13
add r13, 3
or edi, eax
mov rax, qword [rsp + 0x50]
cmp rax, rbp
jle 0x140044e30
mov rcx, qword [rsp + 0x58]
mov r12d, edi
lea r14, [rbp + 1]
shr r12d, 0x12
test rcx, rcx
je 0x140044d30
test byte [rcx + 7], 0x40
je 0x140044d30
mov rcx, qword [rsp + 0x28]
call fcn.14000cd30
mov r9d, r12d
mov rax, qword [rsp + 0x58]
lea r10, [0x14009cc40]
movzx ecx, byte [r10 + r9]
mov byte [rax + rbp + 8], cl
mov rax, qword [rsp + 0x50]
cmp r14, rax
jge 0x140044df0
mov r11d, edi
mov rcx, qword [rsp + 0x58]
lea r12, [rbp + 2]
shr r11d, 0xc
and r11d, 0x3f
test rcx, rcx
je 0x140044d48
test byte [rcx + 7], 0x40
je 0x140044d48
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x40], r11d
call fcn.14000cd30
mov r11d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
lea r10, [0x14009cc40]
movzx ecx, byte [r10 + r11]
mov byte [rax + r14 + 8], cl
mov rax, qword [rsp + 0x50]
cmp rax, r12
jle 0x140044e10
mov r11d, edi
mov rcx, qword [rsp + 0x58]
lea r14, [rbp + 3]
shr r11d, 6
and r11d, 0x3f
test rcx, rcx
je 0x140044d88
test byte [rcx + 7], 0x40
je 0x140044d88
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x40], r11d
call fcn.14000cd30
mov r11d, dword [rsp + 0x40]
mov rax, qword [rsp + 0x58]
lea r10, [0x14009cc40]
movzx ecx, byte [r10 + r11]
mov byte [rax + r12 + 8], cl
mov rax, qword [rsp + 0x50]
cmp rax, r14
jle 0x140044df0
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140044a4a
test byte [rax + 7], 0x40
je 0x140044a4a
mov rcx, qword [rsp + 0x28]
call fcn.14000cd30
mov rax, qword [rsp + 0x58]
lea r10, [0x14009cc40]
and edi, 0x3f
add rbp, 4
movzx ecx, byte [r10 + rdi]
mov byte [rax + r14 + 8], cl
cmp qword [rsp + 0x30], r13
je 0x140044ec0
cmp rbx, r13
jle 0x140044e70
movzx eax, byte [rsi + r13]
lea rcx, [r15 + 4]
shl eax, 0x10
cmp rbx, rcx
jle 0x140044e90
movzx edi, byte [rsi + r13 + 1]
add r15, 5
shl edi, 8
or edi, eax
cmp r15, rbx
jl 0x1400448f1
mov rbp, qword [rsp + 0xb0]
lea rdx, [rbx - 1]
mov rcx, r15
call fcn.14000c0d0
jmp 0x140044d65
test rax, rax
jne 0x140044d60
movabs rdi, 0x5555555555555556
mov rax, rcx
sar rcx, 0x3f
imul rdi
sub rdx, rcx
add rdx, 6
mov rcx, rdx
js 0x140044da0
lea r12, [rsp + 0x50]
mov rcx, r12
call fcn.14000a660
mov rax, rbx
imul rdi
mov rax, rbx
sar rax, 0x3f
sub rdx, rax
lea rax, [rdx + rdx*2]
mov rdx, rbx
sub rdx, rax
mov rax, rbx
sub rax, rdx
seto r13b
mov qword [rsp + 0x30], rax
mov r14, rax
movzx r13d, r13b
jo 0x140044d60
test rax, rax
je 0x140045267
test rbx, rbx
jle 0x140044e78
movzx eax, byte [rsi]
shl eax, 0x10
cmp rbx, 1
je 0x140044fde
movzx edi, byte [rsi + 1]
shl edi, 8
or edi, eax
cmp rbx, 2
je 0x140044fe8
mov qword [rsp + 0x40], rdx
xor r14d, r14d
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
mov qword [rsp + 0xb0], rbp
mov qword [rsp + 0x28], r12
movzx eax, byte [rsi + r13 + 2]
mov r15, r13
add r13, 3
or edi, eax
mov rax, qword [rsp + 0x50]
cmp r14, rax
jge 0x140044ea6
mov rcx, qword [rsp + 0x58]
mov r12d, edi
lea rbp, [r14 + 1]
shr r12d, 0x12
test rcx, rcx
je 0x140044db8
test byte [rcx + 7], 0x40
je 0x140044db8
mov rcx, qword [rsp + 0x28]
call fcn.14000cd30
mov r9d, r12d
mov rax, qword [rsp + 0x58]
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
movzx ecx, byte [r10 + r9]
mov byte [rax + r14 + 8], cl
mov rax, qword [rsp + 0x50]
cmp rbp, rax
jge 0x140044e50
mov r11d, edi
mov rcx, qword [rsp + 0x58]
lea r12, [r14 + 2]
shr r11d, 0xc
and r11d, 0x3f
test rcx, rcx
je 0x140044dd0
test byte [rcx + 7], 0x40
je 0x140044dd0
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x38], r11d
call fcn.14000cd30
mov r11d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
movzx ecx, byte [r10 + r11]
mov byte [rax + rbp + 8], cl
mov rax, qword [rsp + 0x50]
cmp r12, rax
jge 0x140044e10
mov r11d, edi
mov rcx, qword [rsp + 0x58]
lea rbp, [r14 + 3]
shr r11d, 6
and r11d, 0x3f
test rcx, rcx
je 0x140044de0
test byte [rcx + 7], 0x40
je 0x140044de0
mov rcx, qword [rsp + 0x28]
mov dword [rsp + 0x38], r11d
call fcn.14000cd30
mov r11d, dword [rsp + 0x38]
mov rax, qword [rsp + 0x58]
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
movzx ecx, byte [r10 + r11]
mov byte [rax + r12 + 8], cl
mov rax, qword [rsp + 0x50]
cmp rbp, rax
jge 0x140044e50
mov rax, qword [rsp + 0x58]
test rax, rax
je 0x140044ccd
test byte [rax + 7], 0x40
je 0x140044ccd
mov rcx, qword [rsp + 0x28]
call fcn.14000cd30
mov rax, qword [rsp + 0x58]
lea r10, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
and edi, 0x3f
add r14, 4
movzx ecx, byte [r10 + rdi]
mov byte [rax + rbp + 8], cl
mov rax, qword [rsp + 0x30]
cmp r13, rax
je 0x140044ff3
cmp r13, rbx
jge 0x140044e70
movzx eax, byte [rsi + r13]
lea rcx, [r15 + 4]
shl eax, 0x10
cmp rbx, rcx
jle 0x140044e90
movzx edi, byte [rsi + r13 + 1]
add r15, 5
shl edi, 8
or edi, eax
cmp rbx, r15
jg 0x140044b79
jmp 0x140044a9c
mov r9d, r12d
movzx r9d, byte [r10 + r9]
mov byte [rcx + rbp + 8], r9b
jmp 0x14004495d
movzx r11d, byte [r10 + r11]
mov byte [rcx + r14 + 8], r11b
jmp 0x1400449bc
call fcn.140009060
movdqu xmm0, xmmword [rsp + 0x50]
mov rax, rbp
movups xmmword [rbp], xmm0
add rsp, 0x68
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
movzx r11d, byte [r10 + r11]
mov byte [rcx + r12 + 8], r11b
jmp 0x140044a1b
movabs r8, 0x7fffffffffffffff
xor edx, edx
call fcn.1400096a0
jmp 0x140044d65
mov r9d, r12d
movzx r9d, byte [r10 + r9]
mov byte [rcx + r14 + 8], r9b
jmp 0x140044be1
movzx r11d, byte [r10 + r11]
mov byte [rcx + rbp + 8], r11b
jmp 0x140044c3f
movzx r11d, byte [r10 + r11]
mov byte [rcx + r12 + 8], r11b
jmp 0x140044c9e
lea rdx, [rax - 1]
mov rcx, r14
mov rbp, qword [rsp + 0xb0]
call fcn.14000c0d0
jmp 0x140044d65
lea rdx, [rax - 1]
mov rcx, r12
mov rbp, qword [rsp + 0xb0]
call fcn.14000c0d0
jmp 0x140044d65
mov r14, rbp
lea rdx, [rax - 1]
mov rbp, qword [rsp + 0xb0]
mov rcx, r14
call fcn.14000c0d0
jmp 0x140044d65
mov r8, rbp
lea rdx, [rax - 1]
mov rbp, qword [rsp + 0xb0]
mov rcx, r8
call fcn.14000c0d0
jmp 0x140044d65
mov rbp, qword [rsp + 0xb0]
lea rdx, [rbx - 1]
mov rcx, r13
call fcn.14000c0d0
jmp 0x140044d65
mov rbp, qword [rsp + 0xb0]
lea rdx, [rbx - 1]
call fcn.14000c0d0
jmp 0x140044d65
lea rdx, [rax - 1]
mov rcx, r14
mov rbp, qword [rsp + 0xb0]
call fcn.14000c0d0
jmp 0x140044d65
mov rdx, qword [rsp + 0x48]
mov r14, rbp
mov r12, qword [rsp + 0x28]
mov rbp, qword [rsp + 0xb0]
cmp rdx, 1
je 0x1400450ed
cmp rdx, 2
jne 0x140044fce
mov rax, qword [rsp + 0x30]
cmp rbx, rax
jle 0x1400452be
mov rcx, qword [rsp + 0x38]
movzx eax, byte [rsi + rax]
add rcx, 4
shl eax, 0x10
cmp rbx, rcx
jle 0x140044e98
movzx edx, byte [rsi + rcx]
mov rcx, qword [rsp + 0x50]
cmp rcx, r14
jle 0x1400452ad
movzx ebx, dl
mov rcx, r12
lea rdi, [0x14009cc40]
shl ebx, 8
lea rsi, [r14 + 1]
or ebx, eax
call fcn.140044750
mov eax, ebx
shr eax, 0x12
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + r14 + 8], dl
mov rax, qword [rsp + 0x50]
cmp rax, rsi
jle 0x1400452cf
mov rcx, r12
call fcn.140044750
mov eax, ebx
shr eax, 0xc
and eax, 0x3f
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + rsi + 8], dl
mov rax, qword [rsp + 0x50]
lea rsi, [r14 + 2]
cmp rax, rsi
jle 0x1400452cf
mov rcx, r12
call fcn.140044750
mov eax, ebx
lea rbx, [r14 + 3]
shr eax, 6
and eax, 0x3c
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + rsi + 8], dl
mov rax, qword [rsp + 0x50]
cmp rax, rbx
jle 0x1400450dc
mov rcx, r12
add r14, 4
call fcn.140044750
mov rax, qword [rsp + 0x58]
mov byte [rax + rbx + 8], 0x3d
mov rdx, r14
mov rcx, r12
call fcn.14000a660
jmp 0x140044d65
mov ecx, 1
jmp 0x140044e98
mov r15d, 2
jmp 0x140044aa4
mov rdx, qword [rsp + 0x40]
mov rbp, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x28]
cmp rdx, 1
je 0x1400451f8
cmp rdx, 2
jne 0x140044fce
cmp r13, rbx
jge 0x140044e78
movzx eax, byte [rsi + r13]
lea rcx, [r13 + 1]
shl eax, 0x10
cmp rbx, rcx
jle 0x140044e98
mov rdx, qword [rsp + 0x50]
movzx ebx, byte [rsi + rcx]
cmp r14, rdx
jge 0x1400452e0
shl ebx, 8
mov rcx, r12
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
or ebx, eax
lea rsi, [r14 + 1]
call fcn.140044750
mov eax, ebx
shr eax, 0x12
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + r14 + 8], dl
mov rax, qword [rsp + 0x50]
cmp rax, rsi
jle 0x1400452cf
mov rcx, r12
call fcn.140044750
mov eax, ebx
shr eax, 0xc
and eax, 0x3f
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + rsi + 8], dl
mov rax, qword [rsp + 0x50]
lea rsi, [r14 + 2]
cmp rax, rsi
jle 0x1400452cf
mov rcx, r12
call fcn.140044750
mov eax, ebx
lea rbx, [r14 + 3]
shr eax, 6
and eax, 0x3c
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + rsi + 8], dl
mov rax, qword [rsp + 0x50]
cmp rbx, rax
jl 0x140044fb8
lea rdx, [rax - 1]
mov rcx, rbx
call fcn.14000c0d0
jmp 0x140044d65
mov rax, qword [rsp + 0x30]
add rsi, rax
cmp rbx, rax
jle 0x14004528e
mov rax, qword [rsp + 0x50]
movzx edx, byte [rsi]
cmp rax, r14
jle 0x1400451e7
mov rcx, qword [rsp + 0x58]
mov esi, edx
mov ebx, edx
shl esi, 0x10
shr ebx, 2
test rcx, rcx
je 0x140045296
test byte [rcx + 7], 0x40
je 0x140045296
mov rcx, r12
lea rdi, [0x14009cc40]
call fcn.14000cd30
mov edx, ebx
mov rax, qword [rsp + 0x58]
movzx edx, byte [rdi + rdx]
mov byte [rax + r14 + 8], dl
mov rax, qword [rsp + 0x50]
lea rbx, [r14 + 1]
cmp rbx, rax
jge 0x1400450dc
mov rcx, r12
call fcn.140044750
mov eax, esi
shr eax, 0xc
and eax, 0x30
movzx edx, byte [rdi + rax]
mov rax, qword [rsp + 0x58]
mov byte [rax + rbx + 8], dl
mov rax, qword [rsp + 0x50]
lea rbx, [r14 + 2]
cmp rax, rbx
jle 0x1400450dc
mov rcx, r12
call fcn.140044750
mov rax, qword [rsp + 0x58]
mov byte [rax + rbx + 8], 0x3d
mov rax, qword [rsp + 0x50]
lea rbx, [r14 + 3]
cmp rax, rbx
jle 0x1400450dc
jmp 0x140044fb8
cmp rdx, 1
je 0x1400450fe
cmp rdx, 2
jne 0x140045286
movzx eax, byte [rsi]
xor r14d, r14d
mov ecx, 1
shl eax, 0x10
jmp 0x140044f0c
lea rdx, [rax - 1]
mov rcx, r14
call fcn.14000c0d0
jmp 0x140044d65
cmp r13, rbx
jge 0x140044e78
add rsi, r13
mov rax, qword [rsp + 0x50]
movzx edx, byte [rsi]
cmp rax, r14
jle 0x1400451e7
mov rcx, qword [rsp + 0x58]
mov esi, edx
mov ebx, edx
shl esi, 0x10
shr ebx, 2
test rcx, rcx
je 0x1400452f1
test byte [rcx + 7], 0x40
je 0x1400452f1
mov rcx, r12
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
call fcn.14000cd30
mov rax, qword [rsp + 0x58]
movzx edx, byte [rdi + rbx]
mov byte [rax + r14 + 8], dl
mov rax, qword [rsp + 0x50]
lea rbx, [r14 + 1]
cmp rax, rbx
jle 0x1400450dc
jmp 0x140045162
cmp rdx, 1
je 0x140045204
cmp rdx, 2
jne 0x140045286
movzx eax, byte [rsi]
xor r14d, r14d
mov ecx, 1
shl eax, 0x10
jmp 0x140045033
xor r14d, r14d
jmp 0x140044fce
mov rcx, rax
jmp 0x140044e98
lea rdi, [0x14009cc40]
mov edx, ebx
movzx edx, byte [rdi + rdx]
mov byte [rcx + r14 + 8], dl
jmp 0x140045155
lea rdx, [rcx - 1]
mov rcx, r14
call fcn.14000c0d0
jmp 0x140044d65
lea rdx, [rbx - 1]
mov rcx, rax
call fcn.14000c0d0
jmp 0x140044d65
lea rdx, [rax - 1]
mov rcx, rsi
call fcn.14000c0d0
jmp 0x140044d65
sub rdx, 1
mov rcx, r14
call fcn.14000c0d0
jmp 0x140044d65
lea rdi, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789__
movzx edx, byte [rdi + rbx]
mov byte [rcx + r14 + 8], dl
jmp 0x140045255