Function at 0x5c69c0
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x30]
cmp r12, qword [r14 + 0x10]
jbe 0x5c701a
sub rsp, 0xb0
mov qword [rsp + 0xa8], rbp
lea rbp, [rsp + 0xa8]
mov qword [rsp + 0xb8], rax
mov qword [rsp + 0xd0], rdi
mov qword [rsp + 0xc8], rcx
mov qword [rsp + 0xc0], rbx
lea rax, [0x0064db80]
call fcn.0040d9c0
mov qword [rsp + 0x90], rax
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
lea rdi, [0x006152c0]
mov rsi, rax
xor r8d, r8d
xor r9d, r9d
mov rax, qword [rsp + 0xc0]
call fcn.005a8d40
test rdi, rdi
jne 0x5c6d3e
mov rdx, qword [rsp + 0x90]
cmp qword [rdx], 1
nop dword [rax]
jne 0x5c6cdd
mov rsi, qword [rsp + 0xb8]
test rsi, rsi
je 0x5c6a87
mov rax, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
nop
call fcn.005c7060
jmp 0x5c6aa0
mov rax, qword [rdx + 0x20]
mov rbx, qword [rdx + 0x28]
mov rcx, qword [rdx + 0x30]
call fcn.005c7060
nop dword [rax + rax]
test rax, rax
je 0x5c6ca3
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x80], rbx
lea rax, [0x0063c000]
nop dword [rax]
call fcn.0040d9c0
mov qword [rsp + 0x68], rax
mov rcx, qword [rsp + 0x90]
mov rdi, qword [rcx + 8]
mov rsi, qword [rcx + 0x10]
mov r8, qword [rcx + 0x18]
mov rdx, qword [rax + 8]
mov rbx, qword [rax + 0x10]
mov r9, qword [rax + 0x18]
mov rax, rdx
mov rcx, r9
call fcn.0051e0a0
mov rdi, qword [rsp + 0x68]
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rcx
cmp dword [0x0088d090], 0
jne 0x5c6b11
mov qword [rdi + 8], rax
jmp 0x5c6b28
lea rcx, [rdi + 8]
mov rdx, rdi
mov rdi, rcx
nop dword [rax + rax]
call fcn.004658a0
mov rdi, rdx
mov byte [rdi], 0
mov rcx, qword [rsp + 0x50]
mov rdx, qword [rcx + 0x30]
mov rax, qword [rsp + 0x80]
call rdx
mov rbx, qword [rax + 8]
mov qword [rsp + 0x78], rbx
mov rax, qword [rsp + 0x68]
call fcn.00513680
test rax, rax
jge 0x5c6c69
lea rax, [0x00655560]
call fcn.0040d9c0
mov rcx, qword [rsp + 0x50]
mov qword [rax], rcx
cmp dword [0x0088d090], 0
jne 0x5c6b8e
mov rdx, qword [rsp + 0x80]
mov qword [rax + 8], rdx
mov rsi, qword [rsp + 0x68]
mov qword [rax + 0x20], rsi
jmp 0x5c6bad
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x80]
call fcn.004659c0
lea rdi, [rax + 0x20]
mov rsi, qword [rsp + 0x68]
call fcn.00465a00
mov qword [rsp + 0x60], rax
mov rsi, qword [rsp + 0x78]
mov rdi, qword [rsi + 0x10]
mov rsi, qword [rsi + 8]
lea r8, [rdi - 1]
test r8, r8
jl 0x5c6c25
mov rsi, qword [rsi + rdi*8 - 8]
mov rdi, rsi
shr rsi, 1
or rdi, rsi
mov rsi, rdi
shr rdi, 2
or rdi, rsi
mov rsi, rdi
shr rdi, 4
or rdi, rsi
mov rsi, rdi
shr rdi, 8
or rdi, rsi
mov rsi, rdi
shr rdi, 0x10
or rdi, rsi
mov rsi, rdi
shr rdi, 0x20
or rdi, rsi
bsr rsi, rdi
mov rdi, 0xffffffffffffffff
cmove rsi, rdi
shl r8, 6
lea rsi, [rsi + r8]
lea rsi, [rsi + 1]
jmp 0x5c6c27
xor esi, esi
lea rdx, [rsi + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rcx, [rdx + rsi]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x40], rcx
lea rax, [0x0061eac0]
mov rbx, rcx
call fcn.0044aaa0
mov rdi, qword [rsp + 0x90]
lea rdx, [rdi + 8]
mov rsi, qword [rsp + 0x40]
jmp 0x5c6ecd
lea rax, [0x00633140]
call fcn.0040d9c0
mov qword [rax + 8], 0x2e
lea rcx, [0x00676a22]
mov qword [rax], rcx
lea rbx, [0x006d0700]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
lea rax, [0x00633140]
call fcn.0040d9c0
mov qword [rax + 8], 0x1c
lea rcx, [0x00670cdd]
mov qword [rax], rcx
lea rbx, [0x006d0700]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
movups xmmword [rsp + 0x98], xmm15
mov rax, qword [rdx]
call fcn.0040afa0
lea rcx, [0x0061e200]
mov qword [rsp + 0x98], rcx
mov qword [rsp + 0xa0], rax
lea rax, [0x00674db1]
mov ebx, 0x27
lea rcx, [rsp + 0x98]
mov edi, 1
mov rsi, rdi
call fcn.004c09e0
mov rcx, rbx
mov rbx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x48], rdi
lea rax, [0x00644040]
call fcn.0040d9c0
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
lea rdi, [0x00615380]
mov rsi, rax
xor r8d, r8d
xor r9d, r9d
mov rax, qword [rsp + 0xc0]
nop dword [rax]
call fcn.005a8d40
test rdi, rdi
je 0x5c6e93
lea rax, [0x0065bd20]
call fcn.0040d9c0
mov rbx, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd0]
lea rdi, [0x00615340]
mov rsi, rax
xor r8d, r8d
xor r9d, r9d
mov rax, qword [rsp + 0xc0]
call fcn.005a8d40
test rdi, rdi
je 0x5c6e56
mov rcx, qword [rsp + 0x48]
mov rcx, qword [rcx + 0x18]
mov rax, qword [rsp + 0x70]
nop
call rcx
mov ecx, 0x26
mov rdi, rax
mov rsi, rbx
xor eax, eax
lea rbx, [0x006749bc]
call fcn.0044e9c0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x38], rbx
lea rax, [0x00633140]
call fcn.0040d9c0
mov rcx, qword [rsp + 0x38]
mov qword [rax + 8], rcx
cmp dword [0x0088d090], 0
jne 0x5c6e2d
mov rdx, qword [rsp + 0x58]
mov qword [rax], rdx
jmp 0x5c6e3a
mov rdi, rax
mov rdx, qword [rsp + 0x58]
call fcn.004659c0
lea rbx, [0x006d0700]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
lea rax, [0x00633140]
nop dword [rax]
call fcn.0040d9c0
mov qword [rax + 8], 0x58
lea rcx, [0x00679510]
mov qword [rax], rcx
lea rbx, [0x006d0700]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
lea rax, [0x00633140]
call fcn.0040d9c0
mov qword [rax + 8], 0x58
lea rcx, [0x00679568]
mov qword [rax], rcx
lea rbx, [0x006d0700]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov r8, qword [rdi + 0x10]
mov rbx, qword [rdi + 8]
mov r9, qword [rdi + 0x18]
cmp r8, rsi
jle 0x5c6f59
cmp byte [rbx], 0
jne 0x5c6f1f
dec r8
mov qword [rdi + 0x10], r8
lea r8, [r9 - 1]
mov qword [rdi + 0x18], r8
neg r8
sar r8, 0x3f
and r8d, 1
add r8, rbx
cmp dword [0x0088d090], 0
jne 0x5c6f0f
mov qword [rdi + 8], r8
jmp 0x5c6ecd
mov rcx, rdi
mov rdi, rdx
call fcn.00465a20
mov rdi, rcx
jmp 0x5c6ecd
lea rax, [0x00633140]
call fcn.0040d9c0
mov qword [rax + 8], 0x20
lea rcx, [0x00672614]
mov qword [rax], rcx
lea rbx, [0x006d0700]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rcx, rsi
sub rsi, r8
nop
cmp rcx, rsi
jb 0x5c7011
mov rdi, rcx
sub rcx, rsi
cmp r8, rcx
cmovl rcx, r8
mov rdx, rsi
sub rsi, rdi
sar rsi, 0x3f
and rsi, rdx
lea rdx, [rsi + rax]
cmp rbx, rdx
je 0x5c6fa9
mov qword [rsp + 0x88], rax
mov rax, rdx
call fcn.00466700
mov rax, qword [rsp + 0x88]
mov rdi, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x50]
mov rdx, qword [rdx + 0x38]
mov rbx, rax
mov rcx, rdi
mov rax, qword [rsp + 0x80]
call rdx
cmp dword [0x0088d090], 0
jne 0x5c6fda
mov rdx, qword [rsp + 0x60]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rbx
jmp 0x5c6ffa
mov rdi, qword [rsp + 0x60]
lea rdx, [rdi + 0x10]
mov rcx, rdi
mov rdi, rdx
call fcn.004658a0
lea rdi, [rcx + 0x18]
call fcn.004659e0
mov rdx, rcx
mov rax, rdx
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xa8]
add rsp, 0xb0
ret
mov rax, rsi
call fcn.00465e00
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.004636e0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.005c69c0