Function at 0x14005b560
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbx
push rbp
nop
sub rsp, 8
mov qword [rsp], rsi
nop
mov qword [rsp - 8], rdi
sub rsp, 8
push r12
nop
push 0x2e2b42dd
mov qword [rsp], r13
nop
push 0x6c042fb9
mov qword [rsp], r14
push r15
sub rsp, 0x38
mov r15d, r8d
mov r8, rdx
xchg r13, rdi
mov r13, rcx
xchg rdi, r13
xor esi, esi
mov dword [rsp + 0x24], esi
xorps xmm0, xmm0
xchg rcx, rbx
movups xmmword [rbx], xmm0
xchg rcx, rbx
mov qword [rcx + 0x10], rsi
mov qword [rcx + 0x18], 0xf
mov byte [rcx], sil
mov dword [rsp + 0x24], 1
mov ebp, esi
test r15d, r15d
je 0x14005ba6a
mov edx, esi
movzx ebx, byte [rsp + 0x90]
nop word [rax + rax]
mov ecx, ebp
dec r15d
movzx eax, byte [r8]
inc r8
mov qword [rsp + 0x88], r8
mov byte [rsp + rdx + 0x98], al
inc ebp
inc rdx
mov eax, 0xffffffff
sub eax, ecx
mov r14d, 0xffffffff
sub r14d, ecx
movzx r9d, byte [rsp + 0x9a]
movzx r12d, byte [rsp + 0x99]
movzx r13d, byte [rsp + 0x98]
cmp rdx, 3
jne 0x14005b8a5
movzx eax, r13b
shr al, 2
movzx ecx, al
mov byte [rsp + 0x20], cl
movzx ebp, r13b
and bpl, dl
shl bpl, 2
shl bpl, 1
shl bpl, 1
movzx eax, r12b
shr al, 2
shr al, 1
shr al, 1
add bpl, al
movzx r14d, r12b
and r14b, 0xf
shl r14b, 2
movzx eax, r9b
shr al, 5
shr al, 1
add r14b, al
movzx eax, r9b
and al, 0x3f
mov byte [rsp + 0x90], al
mov byte [rsp + 0x23], al
lea rax, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rax, qword [0x140167020]
movzx r9d, byte [rcx + rax]
xchg r8, rcx
mov r8, qword [rdi + 0x10]
xchg r8, rcx
xchg rdx, rsi
mov rsi, qword [rdi + 0x18]
xchg rsi, rdx
cmp rcx, rdx
jae 0x14005b6ff
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14005b6f1
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b710
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.1400313d0
lea rcx, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, bpl
movzx r9d, byte [rax + rcx]
xchg rbx, rcx
mov rbx, qword [rdi + 0x10]
xchg rbx, rcx
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14005b777
lea rax, [rcx + 1]
xchg rbp, rax
mov qword [rdi + 0x10], rbp
xchg rbp, rax
xchg rdi, rbx
mov rax, rbx
xchg rbx, rdi
cmp rdx, 0x10
jb 0x14005b769
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b78e
movzx r8d, bl
mov edx, 1
xchg r14, rcx
mov r14, rdi
xchg r14, rcx
call fcn.1400313d0
lea rcx, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, r14b
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
xchg rdx, r9
mov r9, qword [rdi + 0x18]
xchg r9, rdx
cmp rcx, rdx
jae 0x14005b7f3
lea rax, [rcx + 1]
xchg rsi, rax
mov qword [rdi + 0x10], rsi
xchg rsi, rax
xchg r10, rax
mov r10, rdi
xchg r10, rax
cmp rdx, 0x10
jb 0x14005b7e5
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b80a
movzx r8d, bl
mov edx, 1
xchg r8, rdi
mov rcx, r8
xchg r8, rdi
call fcn.1400313d0
lea rcx, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, byte [rsp + 0x90]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
xchg r14, rdx
mov r14, qword [rdi + 0x18]
xchg r14, rdx
cmp rcx, rdx
jae 0x14005b873
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
cmp rdx, 0x10
jb 0x14005b865
xchg r15, rax
mov r15, qword [rdi]
xchg r15, rax
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b88a
movzx r8d, bl
mov edx, 1
xchg r14, rcx
mov r14, rdi
xchg rcx, r14
call fcn.1400313d0
mov ebp, esi
mov rdx, rsi
mov eax, esi
mov r14d, esi
mov r8, qword [rsp + 0x88]
movzx r9d, byte [rsp + 0x9a]
test r15d, r15d
jne 0x14005b5f5
test ebp, ebp
je 0x14005ba6a
cmp ebp, 3
jge 0x14005b8fe
mov ebx, 3
sub ebx, ebp
movsxd r8, ebx
movsxd rax, ebp
lea rcx, [rsp + 0x98]
add rcx, rax
xor edx, edx
call fcn.14014fd56
movzx r9d, byte [rsp + 0x9a]
movzx r12d, byte [rsp + 0x99]
movzx r13d, byte [rsp + 0x98]
jmp 0x14005b901
lea ebx, [rax + 3]
movzx eax, r13b
shr al, 2
mov byte [rsp + 0x20], al
and r13b, 3
shl r13b, 3
shl r13b, 1
movzx eax, r12b
shr al, 4
add r13b, al
mov byte [rsp + 0x21], r13b
and r12b, 0xf
shl r12b, 2
shr r9b, 6
add r12b, r9b
mov byte [rsp + 0x22], r12b
lea eax, [rbp + 1]
movsxd r15, eax
test eax, eax
jle 0x14005b9e4
movzx ebx, byte [rsp + 0x90]
lea r12, [0x140167020]
xchg r12, r13
mov rcx, r13
xchg r12, r13
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, byte [rsp + rsi + 0x20]
movzx r9d, byte [rax + rcx]
xchg rcx, r8
mov r8, qword [rdi + 0x10]
xchg rcx, r8
xchg rcx, rdx
mov rcx, qword [rdi + 0x18]
xchg rdx, rcx
cmp rcx, rdx
jae 0x14005b9bd
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
mov rax, rdi
cmp rdx, 0x10
jb 0x14005b9af
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b9d4
movzx r8d, bl
mov edx, 1
xchg rbp, rcx
mov rbp, rdi
xchg rcx, rbp
call fcn.1400313d0
inc rsi
cmp rsi, r15
jl 0x14005b957
lea ebx, [r14 + 3]
cmp ebp, 3
jge 0x14005ba6a
movsxd rsi, ebx
movzx ebx, byte [rsp + 0x90]
nop dword [rax + rax]
xchg rdx, rcx
mov rdx, qword [rdi + 0x10]
xchg rdx, rcx
xchg rdx, rbp
mov rbp, qword [rdi + 0x18]
xchg rbp, rdx
cmp rcx, rdx
jae 0x14005ba46
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
xchg rdi, r15
mov rax, r15
xchg rdi, r15
cmp rdx, 0x10
jb 0x14005ba3b
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x14005ba60
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
xchg rcx, rdi
mov rdi, rcx
xchg rcx, rdi
call fcn.1400313d0
sub rsi, 1
jne 0x14005ba00
mov rax, rdi
add rsp, 0x38
nop
xchg qword [rsp], r15
add rsp, 8
nop
add rsp, 8
mov r14, qword [rsp - 8]
push rbx
push rcx
push rbx
push rbx
push rcx
push rbx
push rax
push rax
xchg qword [rsp + 0x40], r13
add rsp, 0x48
nop
mov r12, qword [rsp]
add rsp, 8
nop
mov rdi, qword [rsp]
add rsp, 8
nop
xchg qword [rsp], rsi
add rsp, 8
push rbx
xchg qword [rsp + 8], rbp
add rsp, 0x10
nop
mov rbx, qword [rsp]
add rsp, 8
ret