Function at 0x14005b510
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 8], rcx
nop
sub rsp, 8
mov qword [rsp], rbx
nop
mov qword [rsp - 8], rbp
sub rsp, 8
nop
sub rsp, 8
mov qword [rsp], rsi
push rdi
push r12
push r13
nop
mov qword [rsp - 8], r14
sub rsp, 8
nop
mov qword [rsp - 8], r15
sub rsp, 8
sub rsp, 0x38
mov r15d, r8d
xchg r12, rdx
mov r8, r12
xchg r12, rdx
xchg r13, rdi
mov r13, rcx
xchg rdi, r13
xor esi, esi
mov dword [rsp + 0x24], esi
xorps xmm0, xmm0
xchg rsi, rcx
movups xmmword [rsi], xmm0
xchg rcx, rsi
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 0x14005ba35
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 0x14005b86f
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, 4
add bpl, al
movzx r14d, r12b
and r14b, 0xf
shl r14b, 2
movzx eax, r9b
shr al, 4
shr al, 1
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 rbx, rcx
mov rbx, qword [rdi + 0x10]
xchg rbx, rcx
xchg rbp, rdx
mov rbp, qword [rdi + 0x18]
xchg rdx, rbp
cmp rcx, rdx
jae 0x14005b6bb
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
cmp rdx, 0x10
jb 0x14005b6ad
xchg rbp, rax
mov rbp, qword [rdi]
xchg rbp, rax
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b6cc
movzx r8d, bl
mov edx, 1
mov rcx, rdi
call fcn.1400312b0
lea rcx, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, bpl
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
xchg r13, rdx
mov r13, qword [rdi + 0x18]
xchg rdx, r13
cmp rcx, rdx
jae 0x14005b731
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
xchg rbp, rax
mov rbp, rdi
xchg rbp, rax
cmp rdx, 0x10
jb 0x14005b723
xchg r15, rax
mov r15, qword [rdi]
xchg r15, rax
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b748
movzx r8d, bl
mov edx, 1
xchg r15, rcx
mov r15, rdi
xchg rcx, r15
call fcn.1400312b0
lea rcx, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, r14b
movzx r9d, byte [rax + rcx]
xchg rcx, rbx
mov rbx, qword [rdi + 0x10]
xchg rcx, rbx
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14005b7ad
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
xchg r8, rax
mov r8, rdi
xchg r8, rax
cmp rdx, 0x10
jb 0x14005b79f
xchg rsi, rax
mov rsi, qword [rdi]
xchg rsi, rax
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b7c4
movzx r8d, bl
mov edx, 1
xchg rcx, r10
mov r10, rdi
xchg r10, rcx
call fcn.1400312b0
lea rcx, [0x140167020]
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, byte [rsp + 0x90]
movzx r9d, byte [rax + rcx]
xchg r15, rcx
mov r15, qword [rdi + 0x10]
xchg rcx, r15
xchg rdx, r14
mov r14, qword [rdi + 0x18]
xchg r14, rdx
cmp rcx, rdx
jae 0x14005b837
lea rax, [rcx + 1]
xchg r11, rax
mov qword [rdi + 0x10], r11
xchg r11, rax
xchg rdi, rax
mov rdi, rax
xchg rdi, rax
cmp rdx, 0x10
jb 0x14005b829
xchg r8, rax
mov r8, qword [rdi]
xchg r8, rax
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b84e
movzx r8d, bl
mov edx, 1
xchg r9, rdi
mov rcx, r9
xchg r9, rdi
call fcn.1400312b0
mov ebp, esi
mov rdx, rsi
mov eax, esi
mov r14d, esi
xchg rdi, r8
mov rdi, qword [rsp + 0x88]
xchg rdi, r8
movzx r9d, byte [rsp + 0x9a]
test r15d, r15d
jne 0x14005b5ab
test ebp, ebp
je 0x14005ba35
cmp ebp, 3
jge 0x14005b8c8
mov ebx, 3
sub ebx, ebp
movsxd r8, ebx
movsxd rax, ebp
lea rcx, [rsp + 0x98]
add rcx, rax
xor edx, edx
call fcn.14014f7e6
movzx r9d, byte [rsp + 0x9a]
movzx r12d, byte [rsp + 0x99]
movzx r13d, byte [rsp + 0x98]
jmp 0x14005b8cb
lea ebx, [rax + 3]
movzx eax, r13b
shr al, 2
mov byte [rsp + 0x20], al
and r13b, 3
shl r13b, 1
shl r13b, 2
shl r13b, 1
movzx eax, r12b
shr al, 2
shr al, 2
add r13b, al
mov byte [rsp + 0x21], r13b
and r12b, 0xf
shl r12b, 1
shl r12b, 1
shr r9b, 5
shr r9b, 1
add r12b, r9b
mov byte [rsp + 0x22], r12b
lea eax, [rbp + 1]
movsxd r15, eax
test eax, eax
jle 0x14005b9b1
movzx ebx, byte [rsp + 0x90]
lea r12, [0x140167020]
xchg r13, rcx
mov r13, r12
xchg r13, rcx
cmp qword [0x140167038], 0x10
cmovae rcx, qword [0x140167020]
movzx eax, byte [rsp + rsi + 0x20]
movzx r9d, byte [rax + rcx]
mov rcx, qword [rdi + 0x10]
mov rdx, qword [rdi + 0x18]
cmp rcx, rdx
jae 0x14005b98a
lea rax, [rcx + 1]
mov qword [rdi + 0x10], rax
xchg r15, rax
mov r15, rdi
xchg r15, rax
cmp rdx, 0x10
jb 0x14005b97c
mov rax, qword [rdi]
mov byte [rax + rcx], r9b
mov byte [rax + rcx + 1], 0
jmp 0x14005b9a1
movzx r8d, bl
mov edx, 1
xchg rdi, r13
mov rcx, r13
xchg rdi, r13
call fcn.1400312b0
inc rsi
cmp rsi, r15
jl 0x14005b92c
lea ebx, [r14 + 3]
cmp ebp, 3
jge 0x14005ba35
movsxd rsi, ebx
movzx ebx, byte [rsp + 0x90]
nop dword [rax + rax]
mov rcx, qword [rdi + 0x10]
xchg rsi, rdx
mov rsi, qword [rdi + 0x18]
xchg rdx, rsi
cmp rcx, rdx
jae 0x14005ba11
lea rax, [rcx + 1]
xchg r11, rax
mov qword [rdi + 0x10], r11
xchg r11, rax
xchg rdi, r13
mov rax, r13
xchg r13, rdi
cmp rdx, 0x10
jb 0x14005ba06
mov rax, qword [rdi]
mov word [rax + rcx], 0x3d
jmp 0x14005ba2b
mov r9b, 0x3d
movzx r8d, bl
mov edx, 1
xchg rdi, r8
mov rcx, r8
xchg r8, rdi
call fcn.1400312b0
sub rsi, 1
jne 0x14005b9cd
mov rax, rdi
add rsp, 0x38
push rdx
push rdx
xchg qword [rsp + 0x10], r15
pop rdx
pop rdx
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], r14
push rcx
push rbx
push rcx
push rdx
push rbx
push rax
xchg qword [rsp + 0x30], r13
add rsp, 0x38
nop
add rsp, 8
mov r12, qword [rsp - 8]
nop
add rsp, 8
mov rdi, qword [rsp - 8]
push rax
push rbx
push rax
push rdx
xchg qword [rsp + 0x20], rsi
add rsp, 0x28
nop
xchg qword [rsp], rbp
add rsp, 8
nop
add rsp, 8
xchg qword [rsp - 8], rbx
ret