Function at 0x5351a0
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 8]
cmp r12, qword [r14 + 0x10]
jbe 0x5354cb
push rbp
mov rbp, rsp
add rsp, 0xffffffffffffff80
mov qword [rsp + 0xb0], rsi
mov qword [rsp + 0xa8], rdi
mov qword [rsp + 0xa0], rcx
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0x90], rax
nop
test rax, rax
je 0x5351fc
mov rdx, qword [rax + 8]
mov r8, qword [0x00bb1000]
mov r9, qword [r8]
mov r10d, dword [rax + 0x10]
jmp 0x535462
mov rdx, rax
nop
test rax, rax
jne 0x53544a
mov rcx, qword [rdx + 0x30]
mov rax, rbx
call rcx
mov rcx, qword [rax + 0x28]
lea rdx, [rcx + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rcx, [rdx + rcx]
lea rcx, [rcx + 7]
sar rcx, 3
lea rdx, [rcx + rcx]
lea rdx, [rdx + 1]
mov rbx, qword [rsp + 0xa8]
nop
cmp rbx, rdx
jne 0x53543f
mov rdx, qword [rsp + 0xa0]
cmp byte [rdx], 4
jne 0x535434
mov qword [rsp + 0x40], rcx
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rcx + 0x30]
mov rax, qword [rsp + 0x98]
call rdx
mov rcx, qword [rsp + 0xb0]
lea rdx, [rcx - 1]
mov qword [rsp + 0x38], rdx
neg rdx
sar rdx, 0x3f
and edx, 1
mov rsi, qword [rsp + 0xa0]
add rdx, rsi
mov qword [rsp + 0x70], rdx
mov rdi, qword [rsp + 0x40]
sub rcx, rdi
dec rcx
mov qword [rsp + 0x30], rcx
neg rcx
sar rcx, 0x3f
lea r9, [rdi + 1]
and rcx, r9
mov qword [rsp + 0x50], rcx
mov r9, qword [rax]
mov qword [rsp + 0x78], r9
lea rax, [0x006a6440]
call fcn.0040c9c0
mov qword [rsp + 0x60], rax
mov rbx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rax + 8]
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov rax, rdx
call fcn.00530160
mov rdx, qword [rsp + 0x60]
mov qword [rdx + 0x10], rbx
mov qword [rdx + 0x18], rcx
mov rcx, qword [rsp + 0xa8]
mov rbx, qword [rsp + 0x40]
sub rcx, rbx
mov qword [rsp + 0x48], rcx
mov rbx, qword [rsp + 0xa0]
mov rsi, qword [rsp + 0x50]
add rbx, rsi
mov qword [rsp + 0x68], rbx
cmp dword [0x00c4bdb0], 0
je 0x535350
nop
call fcn.0045c000
mov qword [r11], rax
mov rsi, qword [rdx + 8]
mov qword [r11 + 8], rsi
mov qword [rdx + 8], rax
mov byte [rdx], 0
lea rax, [0x006a6440]
nop
call fcn.0040c9c0
mov qword [rsp + 0x58], rax
mov rsi, qword [rsp + 0x48]
dec rsi
mov rbx, qword [rax + 0x10]
mov rcx, qword [rax + 0x18]
mov rdx, qword [rax + 8]
mov rdi, qword [rsp + 0x68]
mov r8, qword [rsp + 0x30]
mov rax, rdx
call fcn.00530160
mov rdx, qword [rsp + 0x58]
mov qword [rdx + 0x10], rbx
mov qword [rdx + 0x18], rcx
cmp dword [0x00c4bdb0], 0
je 0x5353b6
call fcn.0045c000
mov qword [r11], rax
mov rcx, qword [rdx + 8]
mov qword [r11 + 8], rcx
mov qword [rdx + 8], rax
mov byte [rdx], 0
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x78]
call fcn.005260a0
test rax, rax
jge 0x5353ea
mov rax, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x78]
nop dword [rax + rax]
call fcn.005260a0
test rax, rax
jl 0x5353f5
xor eax, eax
mov rbx, rax
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rdx, qword [rsp + 0x90]
mov rdx, qword [rdx + 0x28]
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
call rdx
test al, al
je 0x535429
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x58]
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor eax, eax
mov rbx, rax
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor eax, eax
mov rbx, rax
sub rsp, 0xffffffffffffff80
pop rbp
ret
xor eax, eax
mov rbx, rax
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov rdx, qword [rax + 0x18]
mov rax, rbx
mov rbx, rcx
mov rcx, rdi
mov rdi, rsi
call rdx
sub rsp, 0xffffffffffffff80
pop rbp
ret
mov r11, r10
and r10, r9
shl r10, 4
mov r12, qword [r10 + r8 + 8]
cmp r12, rdx
je 0x5354bb
lea r10, [r11 + 1]
test r12, r12
jne 0x535462
lea rax, [0x00bb1000]
mov rbx, rdx
call fcn.0040a0c0
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rsp + 0x90]
mov rbx, qword [rsp + 0x98]
mov rsi, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
jmp 0x535200
mov r8, qword [r10 + r8 + 0x10]
mov rdx, rax
mov rax, r8
jmp 0x535200
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
call fcn.0045a0c0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
jmp fcn.005351a0