Function at 0x58a120
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x58a3d9
sub rsp, 0x60
mov qword [rsp + 0x58], rbp
lea rbp, [rsp + 0x58]
mov qword [rsp + 0x68], rax
mov qword [rsp + 0x70], rbx
mov qword [rsp + 0x80], rdi
mov qword [rsp + 0x78], rcx
lea rax, [0x005e1360]
xor ebx, ebx
mov ecx, 0x21
nop dword [rax]
call fcn.0044a840
mov qword [rsp + 0x50], rax
lea rax, [0x005f2200]
call fcn.0040da20
mov qword [rax + 0x10], 0x21
cmp dword [0x00803600], 0
jne 0x58a191
mov rdx, qword [rsp + 0x50]
mov qword [rax], rdx
jmp 0x58a19e
mov rdi, rax
mov rdx, qword [rsp + 0x50]
call fcn.00465720
mov qword [rsp + 0x40], rax
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x18]
mov rdi, qword [rsi]
mov rdi, qword [rdi + 8]
mov r8, rdi
shl rdi, 6
sub rdi, r8
sub rdi, qword [rsi + 8]
lea rsi, [rdi + 7]
sar rsi, 0x3f
shr rsi, 0x3d
add rsi, 7
lea rcx, [rdi + rsi]
sar rcx, 3
mov qword [rsp + 0x30], rcx
lea rax, [0x005e1460]
mov rbx, rcx
call fcn.0044a840
mov qword [rsp + 0x50], rax
mov rbx, qword [rsp + 0x80]
mov rcx, rax
mov rdi, qword [rsp + 0x30]
mov rsi, rdi
mov r8, rsi
mov rax, qword [rsp + 0x78]
call fcn.00490ba0
test rbx, rbx
jne 0x58a318
mov rdx, qword [rsp + 0x70]
mov r8, qword [rdx + 0x18]
mov r9, qword [r8]
mov rdi, qword [rsp + 0x30]
mov rcx, rdi
shl rdi, 3
mov r9, qword [r9 + 8]
mov r10, r9
shl r9, 6
sub r9, r10
sub r9, qword [r8 + 8]
sub rdi, r9
test rdi, rdi
jle 0x58a2ba
mov qword [rsp + 0x38], rdi
mov rcx, qword [rdx + 8]
mov rax, qword [rdx + 0x10]
mov rcx, qword [rcx + 0x30]
nop
call rcx
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x38], 5
jne 0x58a3c5
cmp dword [rcx], 0x32352d50
jne 0x58a3c5
cmp byte [rcx + 4], 0x31
jne 0x58a3c5
mov rdi, qword [rsp + 0x30]
test rdi, rdi
jbe 0x58a3b7
mov rcx, qword [rsp + 0x38]
cmp rcx, 8
sbb edx, edx
mov rbx, qword [rsp + 0x50]
movzx r8d, byte [rbx]
shr r8b, cl
and r8d, edx
mov byte [rbx], r8b
mov rcx, rdi
mov rdx, qword [rsp + 0x70]
mov rsi, qword [rdx + 0x18]
mov rax, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x50]
mov rdi, rcx
call fcn.00577060
test rbx, rbx
je 0x58a2dc
mov rsi, qword [rsp + 0x40]
jmp 0x58a2f6
mov rsi, qword [rsp + 0x40]
mov rdi, qword [rsi]
mov r8, qword [rsi + 8]
xor eax, eax
mov ecx, 1
jmp 0x58a359
test rcx, rcx
je 0x58a362
mov rdx, qword [0x007aeb00]
nop dword [rax]
test rdx, rdx
je 0x58a1a3
mov rax, qword [rdx]
call rax
mov rsi, qword [rsp + 0x40]
jmp 0x58a1a3
mov rax, qword [rsp + 0x40]
mov rdi, rcx
mov rcx, rbx
xor ebx, ebx
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
mov r9, qword [rdi + rax*8]
mov r10, r9
sub r9, 0
sbb r9, r9
xor r11d, r11d
sub r11, r10
sbb r10, r10
inc rax
neg r9
neg r10
or r9, r10
xor r9, 1
and rcx, r9
cmp rax, r8
jl 0x58a32f
nop
jmp 0x58a2f1
mov rax, qword [rsp + 0x70]
mov rdx, qword [rax]
mov rcx, qword [rdx]
call rcx
mov qword [rsp + 0x48], rax
mov rcx, qword [rsp + 0x70]
mov rbx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x40]
call fcn.00576ee0
mov rdx, qword [rsp + 0x68]
mov rsi, qword [rdx]
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x48]
call rsi
mov rdi, rcx
mov rcx, rbx
mov rbx, rax
mov rax, qword [rsp + 0x40]
mov rbp, qword [rsp + 0x58]
add rsp, 0x60
ret
xor eax, eax
mov rcx, rax
nop dword [rax]
call fcn.00465aa0
lea rax, [0x005e12a0]
lea rbx, [0x0067bcf0]
call fcn.00436440
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00463440
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.0058a120