Function at 0x558900
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x90]
cmp r12, qword [r14 + 0x10]
jbe 0x558c30
sub rsp, 0x110
mov qword [rsp + 0x108], rbp
lea rbp, [rsp + 0x108]
mov qword [rsp + 0x118], rax
mov qword [rsp + 0x120], rbx
mov qword [rsp + 0xd8], 0
movups xmmword [rsp + 0xe0], xmm15
mov rcx, qword [rsp + 0x118]
test byte [rcx], al
mov rdx, qword [rcx]
mov qword [rsp + 0x88], rdx
movups xmm0, xmmword [rcx + 8]
movups xmmword [rsp + 0x90], xmm0
movups xmm0, xmmword [rcx + 0x18]
movups xmmword [rsp + 0xa0], xmm0
lea rax, [rsp + 0x88]
call fcn.00557f40
mov qword [rsp + 0x48], 0
movups xmmword [rsp + 0xb0], xmm15
movups xmmword [rsp + 0xb8], xmm15
movups xmmword [rsp + 0xc8], xmm15
mov rcx, qword [rsp + 0x88]
mov qword [rsp + 0xb0], rcx
mov rcx, qword [rsp + 0x90]
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0x98]
mov qword [rsp + 0xc0], rcx
mov rcx, qword [rsp + 0xa0]
mov qword [rsp + 0xc8], rcx
mov rcx, qword [rsp + 0xa8]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 5
jmp 0x558a10
mov rdx, qword [rsp + 0x78]
cmp qword [rsp + 0x70], rdx
jg 0x558a25
nop dword [rax]
jmp 0x558af2
mov rdx, qword [rsp + 0x78]
mov qword [rsp + 0x40], rdx
mov rdx, qword [rsp + 0x78]
lea rdx, [rsp + rdx*8 + 0xb0]
mov rdx, qword [rdx]
mov qword [rsp + 0x30], rdx
mov rdx, qword [rsp + 0x40]
imul rdx, rdx, 0x33
mov qword [rsp + 0x50], rdx
lea rdx, [rsp + 0x48]
test byte [rdx], al
jmp 0x558a5b
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], 8
mov qword [rsp + 0x100], 8
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x50]
mov rdx, rcx
sar rcx, 0x3f
shr rcx, 0x3d
lea rsi, [rdx + rcx]
sar rsi, 3
shl rsi, 3
sub rdx, rsi
cmp rdx, 0x40
sbb rsi, rsi
mov rcx, rdx
shl rdi, cl
and rdi, rsi
mov qword [rsp + 0x68], rdi
mov rax, qword [rsp + 0xf0]
mov rbx, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x100]
call fcn.0048f6a0
mov rdx, qword [rsp + 0x48]
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x58], 8
jmp 0x558b5e
mov rdx, qword [rsp + 0x120]
test byte [rdx], al
jmp 0x558afe
mov qword [rsp + 0xf0], rdx
mov qword [rsp + 0xf8], 0x20
mov qword [rsp + 0x100], 0x20
mov qword [rsp + 0xd8], rdx
mov qword [rsp + 0xe0], 0x20
mov qword [rsp + 0xe8], 0x20
mov rax, qword [rsp + 0xd8]
mov ebx, 0x20
mov rcx, rbx
mov rbp, qword [rsp + 0x108]
add rsp, 0x110
ret
mov rdx, qword [rsp + 0x60]
cmp qword [rsp + 0x58], rdx
jg 0x558b6f
jmp 0x558c05
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x38], rdx
mov rdx, qword [rsp + 0x60]
lea rdx, [rsp + rdx + 0x80]
movzx edx, byte [rdx]
mov byte [rsp + 0x27], dl
mov rdx, qword [rsp + 0x50]
mov rsi, rdx
sar rdx, 0x3f
shr rdx, 0x3d
lea rax, [rsi + rdx]
sar rax, 3
add rax, qword [rsp + 0x38]
mov qword [rsp + 0x28], rax
cmp rax, 0x20
jge 0x558bb7
jmp 0x558bb9
jmp 0x558c07
mov rdx, qword [rsp + 0x120]
test byte [rdx], al
cmp rax, 0x20
jb 0x558bcb
jmp 0x558c25
mov rsi, qword [rsp + 0x120]
test byte [rsi], al
add rdx, rax
movzx edx, byte [rdx]
movzx r8d, byte [rsp + 0x27]
or edx, r8d
cmp rax, 0x20
jb 0x558bec
jmp 0x558c1b
add rsi, rax
mov byte [rsi], dl
jmp 0x558bf3
mov rdx, qword [rsp + 0x60]
inc rdx
mov qword [rsp + 0x60], rdx
jmp 0x558b5e
jmp 0x558c07
jmp 0x558c09
mov rdx, qword [rsp + 0x78]
inc rdx
mov qword [rsp + 0x78], rdx
jmp 0x558a10
mov ecx, 0x20
call fcn.00466520
mov ecx, 0x20
call fcn.00466520
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
call fcn.00463e40
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
jmp fcn.00558900