Function at 0x5a8600
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x40]
cmp r12, qword [r14 + 0x10]
jbe 0x5a8cde
sub rsp, 0xc0
mov qword [rsp + 0xb8], rbp
lea rbp, [rsp + 0xb8]
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xe0], rdi
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xd0], rbx
lea rax, [0x006f9b60]
call fcn.0040bf40
mov qword [rsp + 0xa0], rax
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
lea rdi, [0x006b75e0]
mov rsi, rax
xor r8d, r8d
xor r9d, r9d
mov rax, qword [rsp + 0xd0]
call fcn.00562040
test rdi, rdi
jne 0x5a89e2
mov rdx, qword [rsp + 0xa0]
cmp qword [rdx], 1
nop dword [rax]
jne 0x5a893e
mov rsi, qword [rsp + 0xc8]
test rsi, rsi
je 0x5a86c7
mov rax, qword [rsi]
mov rbx, qword [rsi + 8]
mov rcx, qword [rsi + 0x10]
nop
call fcn.005af0e0
jmp 0x5a86e0
mov rax, qword [rdx + 0x20]
mov rbx, qword [rdx + 0x28]
mov rcx, qword [rdx + 0x30]
call fcn.005af0e0
nop dword [rax + rax]
test rax, rax
je 0x5a8903
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x90], rbx
lea rax, [0x006e68c0]
nop dword [rax]
call fcn.0040bf40
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0xa0]
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.004ee380
mov rdi, qword [rsp + 0x60]
mov qword [rdi + 0x10], rbx
mov qword [rdi + 0x18], rcx
cmp dword [0x0094d0c0], 0
jne 0x5a8751
mov qword [rdi + 8], rax
jmp 0x5a8768
lea rcx, [rdi + 8]
mov rdx, rdi
mov rdi, rcx
nop dword [rax + rax]
call fcn.00459e80
mov rdi, rdx
mov byte [rdi], 0
mov rcx, qword [rsp + 0x58]
mov rdx, qword [rcx + 0x30]
mov rax, qword [rsp + 0x90]
call rdx
mov rbx, qword [rax + 8]
mov qword [rsp + 0x68], rbx
mov rax, qword [rsp + 0x60]
call fcn.004e4b20
test rax, rax
jge 0x5a88c8
lea rax, [0x00705400]
call fcn.0040bf40
mov rcx, qword [rsp + 0x58]
mov qword [rax], rcx
cmp dword [0x0094d0c0], 0
jne 0x5a87ce
mov rdx, qword [rsp + 0x90]
mov qword [rax + 8], rdx
mov rsi, qword [rsp + 0x60]
mov qword [rax + 0x20], rsi
jmp 0x5a87ed
lea rdi, [rax + 8]
mov rdx, qword [rsp + 0x90]
call fcn.00459fa0
lea rdi, [rax + 0x20]
mov rsi, qword [rsp + 0x60]
call fcn.00459fe0
mov qword [rsp + 0x88], rax
mov rsi, qword [rsp + 0x68]
mov rdi, qword [rsi + 8]
mov rsi, qword [rsi + 0x10]
lea r8, [rsi - 1]
test r8, r8
jl 0x5a8884
mov rsi, qword [rdi + rsi*8 - 8]
nop
movabs rdi, 0x100000000
nop dword [rax + rax]
cmp rsi, rdi
jb 0x5a8830
shr rsi, 0x20
mov ebx, 0x20
jmp 0x5a8832
xor ebx, ebx
cmp rsi, 0x10000
jb 0x5a8843
shr rsi, 0x10
add rbx, 0x10
cmp rsi, 0x100
jb 0x5a8860
shr rsi, 8
add rbx, 8
nop word [rax + rax]
nop dword [rax]
cmp rsi, 0x100
jae 0x5a8cd0
shl r8, 6
lea rdi, [0x0072c19b]
movzx esi, byte [rdi + rsi]
add rsi, rbx
add rsi, r8
jmp 0x5a8886
xor esi, esi
lea rdx, [rsi + 7]
sar rdx, 0x3f
shr rdx, 0x3d
lea rcx, [rsi + rdx]
lea rcx, [rcx + 7]
sar rcx, 3
mov qword [rsp + 0x50], rcx
lea rax, [0x006c14c0]
mov rbx, rcx
call fcn.00443fe0
mov rdi, qword [rsp + 0xa0]
lea rdx, [rdi + 8]
mov rsi, qword [rsp + 0x50]
jmp 0x5a8b77
nop
lea rax, [0x006de8a0]
call fcn.0040bf40
mov qword [rax + 8], 0x2e
lea rcx, [0x007289ba]
mov qword [rax], rcx
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
nop
lea rax, [0x006de8a0]
call fcn.0040bf40
mov qword [rax + 8], 0x1c
lea rcx, [0x00724d10]
mov qword [rax], rcx
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
movups xmmword [rsp + 0xa8], xmm15
mov rax, qword [rdx]
call fcn.00409aa0
lea rcx, [0x006c0c40]
mov qword [rsp + 0xa8], rcx
mov qword [rsp + 0xb0], rax
lea rax, [0x00727875]
mov ebx, 0x27
lea rcx, [rsp + 0xa8]
mov edi, 1
mov rsi, rdi
call fcn.004cf460
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x40], rbx
lea rax, [0x006de8a0]
call fcn.0040bf40
mov rcx, qword [rsp + 0x40]
mov qword [rax + 8], rcx
cmp dword [0x0094d0c0], 0
jne 0x5a89b9
mov rdx, qword [rsp + 0x78]
mov qword [rax], rdx
jmp 0x5a89c6
mov rdi, rax
mov rdx, qword [rsp + 0x78]
call fcn.00459fa0
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov qword [rsp + 0x70], rsi
mov qword [rsp + 0x38], rdi
lea rax, [0x006ef760]
call fcn.0040bf40
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
lea rdi, [0x006b7520]
mov rsi, rax
xor r8d, r8d
xor r9d, r9d
mov rax, qword [rsp + 0xd0]
call fcn.00562040
test rdi, rdi
je 0x5a8b3c
lea rax, [0x0070cd60]
call fcn.0040bf40
mov rbx, qword [rsp + 0xd8]
mov rcx, qword [rsp + 0xe0]
lea rdi, [0x006b7720]
mov rsi, rax
xor r8d, r8d
xor r9d, r9d
mov rax, qword [rsp + 0xd0]
call fcn.00562040
test rdi, rdi
je 0x5a8b01
mov rcx, qword [rsp + 0x38]
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, [0x00727593]
call fcn.00447040
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x48], rbx
lea rax, [0x006de8a0]
call fcn.0040bf40
mov rcx, qword [rsp + 0x48]
mov qword [rax + 8], rcx
cmp dword [0x0094d0c0], 0
jne 0x5a8ad3
mov rdx, qword [rsp + 0x80]
mov qword [rax], rdx
jmp 0x5a8ae5
mov rdi, rax
mov rdx, qword [rsp + 0x80]
nop
call fcn.00459fa0
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
nop
lea rax, [0x006de8a0]
call fcn.0040bf40
mov qword [rax + 8], 0x58
lea rcx, [0x0072b629]
mov qword [rax], rcx
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
nop
lea rax, [0x006de8a0]
call fcn.0040bf40
mov qword [rax + 8], 0x58
lea rcx, [0x0072b681]
mov qword [rax], rcx
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov r8, qword [rdi + 0x10]
mov rbx, qword [rdi + 8]
mov r9, qword [rdi + 0x18]
cmp r8, rsi
jle 0x5a8c08
cmp byte [rbx], 0
jne 0x5a8bcd
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 [0x0094d0c0], 0
jne 0x5a8bbd
mov qword [rdi + 8], r8
jmp 0x5a8b77
mov rcx, rdi
mov rdi, rdx
call fcn.0045a000
mov rdi, rcx
jmp 0x5a8b77
nop
lea rax, [0x006de8a0]
call fcn.0040bf40
mov qword [rax + 8], 0x20
lea rcx, [0x00725d33]
mov qword [rax], rcx
lea rbx, [0x0079f200]
mov rcx, rax
xor eax, eax
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rcx, rsi
sub rsi, r8
cmp rcx, rsi
jb 0x5a8cc8
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 0x5a8c57
mov qword [rsp + 0x98], rax
mov rax, rdx
call fcn.0045ace0
mov rax, qword [rsp + 0x98]
mov rdi, qword [rsp + 0x50]
mov rdx, qword [rsp + 0x58]
mov rdx, qword [rdx + 0x38]
mov rbx, rax
mov rcx, rdi
mov rax, qword [rsp + 0x90]
call rdx
cmp dword [0x0094d0c0], 0
jne 0x5a8c8b
mov rdx, qword [rsp + 0x88]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x18], rbx
jmp 0x5a8cb1
mov rdi, qword [rsp + 0x88]
lea rdx, [rdi + 0x10]
mov rcx, rdi
mov rdi, rdx
nop dword [rax]
call fcn.00459e80
lea rdi, [rcx + 0x18]
call fcn.00459fc0
mov rdx, rcx
mov rax, rdx
xor ebx, ebx
xor ecx, ecx
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, rsi
call fcn.0045a3e0
mov rax, rsi
mov ecx, 0x100
call fcn.0045a340
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
call fcn.00457c40
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
jmp fcn.005a8600