Function at 0x5f2a10
Capabilities:
Encode data using base64

Disassembly:
push rdi
push rsi
push rbx
sub rsp, 0x20
mov eax, dword [rcx + 0x80]
and eax, 0x3f
mov rbx, rcx
mov rsi, rdx
lea ecx, [rax + 1]
mov byte [rbx + rax], pe_nt_image_headers64
lea rdi, [rbx + 0x40]
mov eax, ecx
add rax, rbx
cmp ecx, 0x20
jbe 0x5f2b70
mov edx, 0x40
xor r8d, r8d
sub edx, ecx
cmp edx, 0x20
jb 0x5f2c30
mov ecx, edx
mov qword [rax], 0
lea rcx, [rax + rcx + 8]
mov qword [rcx - 0x28], 0
mov qword [rcx - 0x20], 0
mov qword [rcx - 0x18], 0
mov qword [rcx - 0x10], 0
lea rcx, [rax + 8]
and rcx, 0xfffffffffffffff8
sub rax, rcx
add edx, eax
and edx, 0xffffffe0
cmp edx, 0x20
jb 0x5f2aba
and edx, 0xffffffe0
xor r9d, r9d
mov eax, r9d
add r9d, 0x20
mov qword [rcx + rax], r8
mov qword [rcx + rax + 8], r8
mov qword [rcx + rax + 0x10], r8
mov qword [rcx + rax + 0x18], r8
cmp r9d, edx
jb 0x5f2a9b
mov rdx, rdi
mov rcx, rbx
call fcn.005efe70
mov qword [rbx], 0
mov qword [rbx + 8], 0
mov qword [rbx + 0x10], 0
mov qword [rbx + 0x18], 0
mov qword [rbx + 0x20], 0
mov qword [rbx + 0x28], 0
mov rax, qword [rbx + 0x80]
mov rdx, rax
shr rdx, 0x3d
bswap rdx
mov qword [rbx + 0x30], rdx
shl rax, 3
bswap rax
mov qword [rbx + 0x38], rax
mov rdx, rdi
mov rcx, rbx
call fcn.005efe70
lea rax, [rsi + 0x10]
cmp rdi, rax
jae 0x5f2b35
lea rax, [rbx + 0x50]
cmp rsi, rax
jb 0x5f2c70
vmovups xmm1, xmmword [rbx + 0x40]
vmovups xmmword [rsi], xmm1
vmovups xmm2, xmmword [rbx + 0x50]
vmovups xmmword [rsi + 0x10], xmm2
vmovups xmm3, xmmword [rbx + 0x60]
vmovups xmmword [rsi + 0x20], xmm3
vmovups xmm0, xmmword [rbx + 0x70]
vmovups xmmword [rsi + 0x30], xmm0
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov edx, 0x20
xor r8d, r8d
sub edx, ecx
cmp edx, 0x20
jb 0x5f2bf0
mov ecx, edx
mov qword [rax], 0
lea rcx, [rax + rcx + 8]
mov qword [rcx - 0x28], 0
mov qword [rcx - 0x20], 0
mov qword [rcx - 0x18], 0
mov qword [rcx - 0x10], 0
lea rcx, [rax + 8]
and rcx, 0xfffffffffffffff8
sub rax, rcx
add edx, eax
and edx, 0xffffffe0
cmp edx, 0x20
jb 0x5f2ae4
and edx, 0xffffffe0
xor r9d, r9d
mov eax, r9d
add r9d, 0x20
mov qword [rcx + rax], r8
mov qword [rcx + rax + 8], r8
mov qword [rcx + rax + 0x10], r8
mov qword [rcx + rax + 0x18], r8
cmp r9d, edx
jb 0x5f2bcc
jmp 0x5f2ae4
test dl, 0x10
jne 0x5f2d06
test dl, 8
jne 0x5f2d2f
test dl, 4
jne 0x5f2cb7
test edx, edx
je 0x5f2ae4
mov byte [rax], 0
test dl, 2
je 0x5f2ae4
mov word [rax + rdx - 2], 0
jmp 0x5f2ae4
test dl, 0x10
jne 0x5f2cdd
test dl, 8
jne 0x5f2d44
test dl, 4
jne 0x5f2cca
test edx, edx
je 0x5f2aba
mov byte [rax], 0
test dl, 2
je 0x5f2aba
mov word [rax + rdx - 2], 0
jmp 0x5f2aba
mov rax, qword [rbx + 0x40]
mov qword [rsi], rax
mov rax, qword [rbx + 0x48]
mov qword [rsi + 8], rax
mov rax, qword [rbx + 0x50]
mov qword [rsi + 0x10], rax
mov rax, qword [rbx + 0x58]
mov qword [rsi + 0x18], rax
mov rax, qword [rbx + 0x60]
mov qword [rsi + 0x20], rax
mov rax, qword [rbx + 0x68]
mov qword [rsi + 0x28], rax
mov rax, qword [rbx + 0x70]
mov qword [rsi + 0x30], rax
mov rax, qword [rbx + 0x78]
mov qword [rsi + 0x38], rax
add rsp, 0x20
pop rbx
pop rsi
pop rdi
ret
mov dword [rax], 0
mov dword [rax + rdx - 4], 0
jmp 0x5f2ae4
mov dword [rax], 0
mov dword [rax + rdx - 4], 0
jmp 0x5f2aba
mov qword [rax], 0
mov qword [rax + 8], 0
lea rax, [rax + rdx + 0x10]
mov qword [rax - 0x20], 0
mov qword [rax - 0x18], 0
jmp 0x5f2aba
mov qword [rax], 0
mov qword [rax + 8], 0
lea rax, [rax + rdx + 0x10]
mov qword [rax - 0x20], 0
mov qword [rax - 0x18], 0
jmp 0x5f2ae4
mov qword [rax], 0
mov qword [rax + rdx - 8], 0
jmp 0x5f2ae4
mov qword [rax], 0
mov qword [rax + rdx - 8], 0
jmp 0x5f2aba