Function at 0x529140
Capabilities:
Encode data using base64

Disassembly:
cmp rsp, qword [r14 + 0x10]
jbe 0x529512
push rbp
mov rbp, rsp
sub rsp, 0x60
mov qword [rsp + 0x80], rcx
mov qword [rsp + 0x98], r8
mov qword [rsp + 0x90], rsi
test rdi, rdi
jne 0x529185
mov rax, r8
xor edx, edx
xor r9d, r9d
xor ebx, ebx
xor edi, edi
nop dword [rax + rax]
jmp 0x5292a1
nop
cmp rdi, 0x14
jae 0x5294fe
mov rdx, qword [0x006f1758]
nop word [rax + rax]
cmp rdi, rdx
jae 0x5294f3
mov rdx, qword [0x006f1750]
movzx edx, byte [rdx + rdi]
cmp r8, rdx
je 0x529207
nop
lea rax, [0x00587e80]
call fcn.0040e960
mov qword [rax + 8], 0x28
lea rcx, [0x005b1647]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
lea rdx, [0x00600ec0]
xor r9d, r9d
xor r8d, r8d
xor ebx, ebx
mov rdi, rax
mov rax, qword [rsp + 0x98]
jmp 0x5292a1
mov qword [rsp + 0x48], rdx
mov rbx, qword [0x006f9530]
lea rax, [0x00583060]
mov rcx, rdi
nop dword [rax]
call fcn.00412400
test bl, bl
je 0x529256
mov rdx, qword [rax]
mov r9, qword [rax + 8]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
mov r8, qword [rsp + 0x48]
mov rbx, rdx
xor edi, edi
xor edx, edx
jmp 0x5292a1
nop
lea rax, [0x00587e80]
nop
call fcn.0040e960
mov qword [rax + 8], 0x25
lea rcx, [0x005b07bc]
mov qword [rax], rcx
mov rcx, qword [rsp + 0x80]
mov rsi, qword [rsp + 0x90]
lea rdx, [0x00600ec0]
xor r9d, r9d
xor r8d, r8d
xor ebx, ebx
mov rdi, rax
mov rax, qword [rsp + 0x98]
test rdx, rdx
jne 0x5293b5
mov rdx, qword [rcx]
mov r10, qword [rdx + 0x10]
lea r11, [r10 - 1]
lea r12, [r8 + r9]
test r11, r11
jl 0x52931f
mov rdx, qword [rdx + 8]
mov rdx, qword [rdx + r10*8 - 8]
mov r10, rdx
shr rdx, 1
or rdx, r10
mov r10, rdx
shr rdx, 2
or rdx, r10
mov r10, rdx
shr rdx, 4
or rdx, r10
mov r10, rdx
shr rdx, 8
or rdx, r10
mov r10, rdx
shr rdx, 0x10
or rdx, r10
mov r10, rdx
shr rdx, 0x20
or rdx, r10
shl r11, 6
bsr rdx, rdx
mov r10, 0xffffffffffffffff
cmove rdx, r10
lea rdx, [rdx + r11]
lea rdx, [rdx + 1]
jmp 0x529321
xor edx, edx
lea r10, [r8 + r9]
lea r10, [r10 + 0xb]
lea r11, [rdx + 7]
sar r11, 0x3f
shr r11, 0x3d
lea rdx, [r11 + rdx]
lea rdx, [rdx + 7]
sar rdx, 3
cmp r10, rdx
jg 0x52939a
mov qword [rsp + 0x40], r8
mov qword [rsp + 0x30], r12
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x50], rbx
lea rax, [0x0057b8e0]
mov rbx, rdx
mov rcx, rbx
call fcn.0044e820
mov rcx, qword [rsp + 0x28]
nop word [rax + rax]
nop
cmp rcx, 1
jbe 0x5294e9
mov byte [rax + 1], 1
mov r8, qword [rsp + 0x30]
mov edx, 2
jmp 0x5293d2
mov rdi, qword [0x006f0710]
mov rsi, qword [0x006f0718]
xor eax, eax
xor ebx, ebx
mov rcx, rbx
add rsp, 0x60
pop rbp
ret
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rsi, rdi
mov rdi, rdx
add rsp, 0x60
pop rbp
ret
mov byte [rax + rdx], 0xff
inc rdx
mov rcx, rdi
mov rdi, rcx
sub rcx, r8
lea r9, [rcx - 1]
nop dword [rax]
cmp rdx, r9
jge 0x5293ef
cmp rdx, rdi
jb 0x5293c8
jmp 0x5294de
mov r8, qword [rsp + 0x40]
mov rdx, rdi
sub rdi, r8
nop word [rax + rax]
cmp rdx, rdi
jb 0x5294d6
cmp rdi, rcx
jb 0x5294cb
mov qword [rsp + 0x58], rax
mov r8, rdi
sub rdi, rcx
mov r9, rcx
sub rcx, rdx
sar rcx, 0x3f
and r9, rcx
add r9, rax
mov r10, qword [rsp + 0x38]
cmp r10, rdi
cmovl rdi, r10
mov rbx, qword [rsp + 0x50]
nop
cmp rbx, r9
je 0x529464
mov qword [rsp + 0x48], r8
mov rax, r9
mov rcx, rdi
call fcn.0046afc0
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x28]
mov r8, qword [rsp + 0x48]
mov r9, r8
sub r8, rdx
sar r8, 0x3f
and r8, r9
add r8, rax
mov rcx, rdx
sub rcx, r9
mov r9, qword [rsp + 0x98]
cmp r9, rcx
cmovl rcx, r9
mov rbx, qword [rsp + 0x90]
cmp rbx, r8
je 0x5294a8
mov rax, r8
call fcn.0046afc0
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x28]
mov rbx, rax
mov rcx, rdx
mov rdi, rcx
mov esi, 1
mov rax, qword [rsp + 0x80]
nop
call fcn.0052cb60
add rsp, 0x60
pop rbp
ret
mov rax, rcx
mov rcx, rdi
call fcn.0046a6e0
mov rcx, rdi
call fcn.0046a6a0
mov rax, rdx
mov rcx, rdi
call fcn.0046a620
mov eax, 1
call fcn.0046a620
mov rax, rdi
mov rcx, rdx
call fcn.0046a640
lea rax, [0x0057b860]
lea rbx, [0x00600008]
call fcn.00437b40
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov qword [rsp + 0x20], rdi
mov qword [rsp + 0x28], rsi
mov qword [rsp + 0x30], r8
mov qword [rsp + 0x38], r9
call fcn.00468340
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov rdi, qword [rsp + 0x20]
mov rsi, qword [rsp + 0x28]
mov r8, qword [rsp + 0x30]
mov r9, qword [rsp + 0x38]
nop dword [rax]
jmp fcn.00529140