Function at 0x180043420
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
mov rbp, rsp
sub rsp, 0x50
mov rax, qword [0x1800ae1f0]
xor rax, rsp
mov qword [rbp - 8], rax
mov rbx, qword [rdx]
mov r12, rcx
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], 0
mov qword [rbp - 0x18], 0
mov r15d, 0xf
mov qword [rbp - 0x10], r15
mov byte [rbp - 0x28], 0
mov rdi, qword [rdx + 8]
lea rcx, [rdi + 2]
movabs rax, 0xaaaaaaaaaaaaaaab
mul rcx
shr rdx, 1
shl rdx, 2
lea rcx, [rbp - 0x28]
call fcn.18001df80
add rdi, rbx
cmp rbx, rdi
je 0x180043643
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
nop word [rax + rax]
movzx esi, byte [rbx]
inc rbx
mov r13, rbx
mov eax, esi
shr rax, 2
movzx r9d, byte [rax + r8]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
cmp rcx, rdx
jae 0x1800434f1
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180043508
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.180008030
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp rbx, rdi
je 0x180043516
movzx r14d, byte [rbx]
inc rbx
jmp 0x180043519
xor r14d, r14d
mov qword [rbp - 0x30], rbx
and esi, 3
shl esi, 4
mov eax, r14d
shr eax, 4
add esi, eax
movzx r9d, byte [rsi + r8]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
cmp rcx, rdx
jae 0x18004355d
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x180043574
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.180008030
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp r13, rdi
je 0x1800437c6
cmp rbx, rdi
je 0x18004358a
movzx esi, byte [rbx]
inc rbx
jmp 0x18004358c
xor esi, esi
and r14d, 0xf
mov eax, esi
shr eax, 6
lea eax, [rax + r14*4]
movzx r9d, byte [rax + r8]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
cmp rcx, rdx
jae 0x1800435cb
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x1800435e2
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.180008030
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp qword [rbp - 0x30], rdi
je 0x180043697
mov eax, esi
and eax, 0x3f
movzx r9d, byte [rax + r8]
mov rcx, qword [rbp - 0x18]
mov rdx, qword [rbp - 0x10]
cmp rcx, rdx
jae 0x180043623
lea rax, [rcx + 1]
mov qword [rbp - 0x18], rax
lea rax, [rbp - 0x28]
cmp rdx, 0x10
cmovae rax, qword [rbp - 0x28]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x18004363a
xor r8d, r8d
lea edx, [r8 + 1]
lea rcx, [rbp - 0x28]
call fcn.180008030
lea r8, str.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_
cmp rbx, rdi
jne 0x1800434b0
mov qword [r12], 0
mov qword [r12 + 0x10], 0
mov qword [r12 + 0x18], 0
movups xmm0, xmmword [rbp - 0x28]
movups xmmword [r12], xmm0
movups xmm1, xmmword [rbp - 0x18]
movups xmmword [r12 + 0x10], xmm1
mov rax, r12
mov rcx, qword [rbp - 8]
xor rcx, rsp
call fcn.18004e170
mov rbx, qword [rsp + 0xa0]
add rsp, 0x50
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rbp - 0x18]
sub rax, rsi
cmp rax, 1
jb 0x180043904
lea rdx, [rbp - 0x28]
mov rdi, qword [rbp - 0x28]
mov r13, qword [rbp - 0x10]
cmp r13, 0x10
cmovae rdx, rdi
mov qword [rbp - 0x30], rdx
xor r8d, r8d
mov qword [r12], r8
mov qword [r12 + 0x10], r8
mov qword [r12 + 0x18], r8
lea r14, [rsi + 1]
mov rbx, r12
cmp r14, 0xf
jbe 0x180043768
mov r15, r14
or r15, 0xf
cmp r15, rcx
jbe 0x180043706
mov r15, rcx
movabs rcx, 0x8000000000000027
jmp 0x18004372b
mov eax, 0x16
cmp r15, rax
cmovb r15, rax
lea rax, [r15 + 1]
cmp rax, 0x1000
jb 0x18004374b
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x1800438f8
call fcn.18004e1a0
test rax, rax
je 0x1800438f2
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
mov rdx, qword [rbp - 0x30]
jmp 0x180043764
test rax, rax
je 0x180043761
mov rcx, rax
call fcn.18004e1a0
mov rbx, rax
mov rdx, qword [rbp - 0x30]
jmp 0x180043764
mov rbx, r8
mov qword [r12], rbx
mov qword [r12 + 0x10], r14
mov qword [r12 + 0x18], r15
mov r8, rsi
mov rcx, rbx
call fcn.180050790
mov byte [rsi + rbx], 0x3d
mov byte [rbx + r14], 0
cmp r13, 0x10
jb 0x180043670
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800437b9
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800438fe
mov rcx, rdi
call fcn.18004e190
jmp 0x180043670
movabs rcx, 0x7fffffffffffffff
mov rax, rcx
mov rsi, qword [rbp - 0x18]
sub rax, rsi
cmp rax, 2
jb 0x180043904
lea rdx, [rbp - 0x28]
mov rdi, qword [rbp - 0x28]
mov r13, qword [rbp - 0x10]
cmp r13, 0x10
cmovae rdx, rdi
mov qword [rbp - 0x30], rdx
xor r8d, r8d
mov qword [r12], r8
mov qword [r12 + 0x10], r8
mov qword [r12 + 0x18], r8
lea r14, [rsi + 2]
mov rbx, r12
cmp r14, 0xf
jbe 0x180043897
mov r15, r14
or r15, 0xf
cmp r15, rcx
jbe 0x180043853
mov r15, rcx
movabs rcx, 0x8000000000000027
call fcn.18004e1a0
test rax, rax
je 0x1800438f2
lea rbx, [rax + 0x27]
and rbx, 0xffffffffffffffe0
mov qword [rbx - 8], rax
mov rdx, qword [rbp - 0x30]
jmp 0x180043893
mov eax, 0x16
cmp r15, rax
cmovb r15, rax
lea rax, [r15 + 1]
cmp rax, 0x1000
jb 0x18004387a
lea rcx, [rax + 0x27]
cmp rcx, rax
jbe 0x1800438f8
jmp 0x180043833
test rax, rax
je 0x180043890
mov rcx, rax
call fcn.18004e1a0
mov rbx, rax
mov rdx, qword [rbp - 0x30]
jmp 0x180043893
mov rbx, r8
mov qword [r12], rbx
mov qword [r12 + 0x10], r14
mov qword [r12 + 0x18], r15
mov r8, rsi
mov rcx, rbx
call fcn.180050790
mov eax, 0x3d3d
mov word [rsi + rbx], ax
mov byte [rbx + r14], 0
cmp r13, 0x10
jb 0x180043670
lea rdx, [r13 + 1]
mov rax, rdi
cmp rdx, 0x1000
jb 0x1800437b9
add rdx, 0x27
mov rdi, qword [rdi - 8]
sub rax, rdi
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1800438fe
jmp 0x1800437b9
call fcn.180055c10
int3
call fcn.180001960
nop
call fcn.180055c10
nop
call fcn.180001a00
int3