Function at 0x58aaa0
Capabilities:
Encode data using base64

Disassembly:
mov rcx, qword gs:[0x28]
mov rcx, qword [rcx]
cmp rsp, qword [rcx + 0x10]
jbe 0x58b066
sub rsp, 0x78
mov qword [rsp + 0x70], rbp
lea rbp, [rsp + 0x70]
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x28]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
call rcx
mov rax, qword [rsp + 8]
mov rcx, qword [rsp + 0xb8]
cmp rcx, 0xffffffffffffffff
jne 0x58b015
mov rcx, rax
mov rbx, qword [rsp + 0xb0]
lea rsi, [rbx + 7]
sar rsi, 0x3f
shr rsi, 0x3d
lea rsi, [rsi + rbx]
lea rsi, [rsi + 7]
sar rsi, 3
mov rdi, qword [rsp + 0xa0]
cmp rsi, rdi
jne 0x58afcd
mov r8, qword [rsp + 0x88]
cmp rcx, r8
jne 0x58afa5
lea r9, [rax + rcx]
lea r9, [r9 + 2]
cmp rsi, r9
jl 0x58af7d
lea r9, [rsi - 1]
cmp r9, rdi
jae 0x58b055
mov rdi, qword [rsp + 0x98]
movzx r10d, byte [rsi + rdi - 1]
cmp r10b, 0xbc
jne 0x58af55
mov r10, rsi
sub rsi, rcx
lea rcx, [rsi - 1]
mov rdx, qword [rsp + 0xa8]
cmp rcx, rdx
ja 0x58b050
cmp r9, rcx
jb 0x58b045
mov r9, r10
sub r10, rsi
mov r11, rdx
sub rdx, rsi
inc rdx
mov r12, rdx
neg rdx
sar rdx, 0x3f
and rdx, rcx
add rdx, rdi
shl r9, 3
sub r9, rbx
nop
test r9, r9
jl 0x58b040
cmp r9, 8
sbb ebx, ebx
mov r13, rcx
mov rcx, r9
mov r14d, 0xffffffff
shr r14b, cl
and ebx, r14d
movzx r9d, byte [rdi]
mov r14d, ebx
not ebx
test r9b, bl
jne 0x58af2d
mov qword [rsp + 0x60], rsi
mov qword [rsp + 0x58], r13
mov qword [rsp + 0x68], rdx
mov byte [rsp + 0x47], r14b
mov qword [rsp + 0x48], r10
mov qword [rsp + 0xb8], rax
mov qword [rsp], rdi
mov qword [rsp + 8], r13
mov qword [rsp + 0x10], r11
mov rax, qword [rsp + 0xc0]
mov qword [rsp + 0x18], rax
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0x20], rcx
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x30], r10
mov qword [rsp + 0x38], r12
call fcn.0058bb80
mov rcx, qword [rsp + 0x58]
test rcx, rcx
jbe 0x58b037
mov rbx, qword [rsp + 0x98]
movzx esi, byte [rbx]
movzx edi, byte [rsp + 0x47]
and edi, esi
mov byte [rbx], dil
mov rsi, qword [rsp + 0xb8]
nop dword [rax + rax]
test rsi, rsi
je 0x58aeb7
mov rdi, qword [rsp + 0x60]
mov r8, rdi
sub rdi, rsi
lea rax, [rdi - 2]
mov rdx, qword [rsp + 0xa8]
cmp rdx, rax
jb 0x58b02f
xor esi, esi
jmp 0x58acb0
inc rsi
cmp rax, rsi
jle 0x58ace7
movzx r9d, byte [rbx + rsi]
test r9b, r9b
je 0x58acad
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
cmp rcx, rax
jbe 0x58b02a
movzx esi, byte [rdi + rbx - 2]
cmp sil, 1
jne 0x58ae8f
lea rax, [rdi - 1]
cmp rcx, rax
jb 0x58b025
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x50], rax
lea rax, [0x006b49c0]
mov qword [rsp], rax
call fcn.0040e660
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov qword [rsp + 0x10], 8
mov qword [rsp + 0x18], 8
call rcx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0x80]
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x88]
mov qword [rsp + 0x10], rbx
mov rbx, qword [rsp + 0x90]
mov qword [rsp + 0x18], rbx
call rcx
mov rax, qword [rsp + 0xc0]
mov rcx, qword [rax + 0x38]
mov rdx, qword [rsp + 0xc8]
mov qword [rsp], rdx
mov rbx, qword [rsp + 0xa8]
mov rsi, qword [rsp + 0x58]
sub rbx, rsi
inc rbx
mov rdi, rbx
neg rbx
sar rbx, 0x3f
mov r8, qword [rsp + 0x50]
and r8, rbx
mov rbx, qword [rsp + 0x98]
add rbx, r8
mov qword [rsp + 8], rbx
mov rbx, qword [rsp + 0x60]
sub rbx, rsi
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rdi
call rcx
mov rax, qword [rsp + 0xc0]
mov rax, qword [rax + 0x30]
mov rcx, qword [rsp + 0xc8]
mov qword [rsp], rcx
xorps xmm0, xmm0
movups xmmword [rsp + 8], xmm0
mov qword [rsp + 0x18], 0
call rax
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x48]
cmp rax, rdx
je 0x58ae5b
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov qword [rsp], rcx
mov rcx, qword [rsp + 0x68]
mov qword [rsp + 8], rcx
mov qword [rsp + 0x10], rax
call fcn.00402a60
cmp byte [rsp + 0x18], 0
je 0x58ae33
xorps xmm0, xmm0
movups xmmword [rsp + 0xd0], xmm0
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
nop
mov qword [rsp], rbx
mov qword [rsp + 8], rcx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x10], rax
mov byte [rsp + 0x18], 1
call fcn.00402f80
mov rax, qword [rsp + 0x20]
nop dword [rax]
test rax, rax
jl 0x58af05
mov rdi, qword [rsp + 0x60]
sub rdi, rax
lea rsi, [rdi - 2]
mov rcx, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x98]
nop
jmp 0x58ac89
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rax, qword [0x008f59f0]
mov rcx, qword [0x008f59f8]
mov qword [rsp + 0xd0], rax
mov qword [rsp + 0xd8], rcx
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
lea rax, [0x006ca180]
mov qword [rsp], rax
call fcn.0040e660
mov rax, qword [rsp + 8]
mov qword [rax + 8], 0x28
lea rcx, [0x0071b02a]
mov qword [rax], rcx
lea rcx, [0x00774cc0]
mov qword [rsp + 0xd0], rcx
mov qword [rsp + 0xd8], rax
mov rbp, qword [rsp + 0x70]
add rsp, 0x78
ret
mov rcx, rax
mov rax, qword [rsp + 0xb8]
jmp 0x58aafc
call fcn.0046cea0
call fcn.0046cde0
mov rcx, rax
call fcn.0046ce60
xor eax, eax
call fcn.0046cde0
nop
call fcn.00436e20
mov rax, rcx
mov rcx, r9
call fcn.0046cea0
call fcn.0046ce60
mov rax, r9
mov rcx, rdi
nop dword [rax + rax]
call fcn.0046cde0
nop
call fcn.0046ac00
jmp fcn.0058aaa0