Function at 0x52e020
Capabilities:
Encode data using base64

Disassembly:
lea r12, [rsp - 0x40]
cmp r12, qword [r14 + 0x10]
jbe 0x52e5f1
sub rsp, 0xc0
mov qword [rsp + 0xb8], rbp
lea rbp, [rsp + 0xb8]
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xf0], r8
cmp byte [0x00a4ebe2], 0
nop dword [rax]
jne 0x52e441
mov qword [rsp + 0xd8], rcx
mov qword [rsp + 0xc8], rax
mov qword [rsp + 0xe0], rdi
nop
test rbx, rbx
jne 0x52e097
mov rdx, rdi
xor esi, esi
xor ebx, ebx
xor r11d, r11d
xor r12d, r12d
jmp 0x52e20b
nop
nop dword [rax + rax]
cmp rbx, 0x14
jae 0x52e5dd
mov rdx, qword [0x009ef198]
mov rsi, qword [0x009ef190]
nop dword [rax + rax]
cmp rbx, rdx
jae 0x52e5d2
mov qword [rsp + 0xf0], r8
mov qword [rsp + 0x60], r9
mov qword [rsp + 0x100], r10
movzx edx, byte [rsi + rbx]
cmp rdi, rdx
je 0x52e149
nop
lea rax, [0x005f9940]
call fcn.0040d180
mov qword [rax + 8], 0x28
lea rcx, [0x0062c1d7]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x100]
xor edi, edi
xor esi, esi
lea rbx, [0x008a3e20]
mov r11, rax
xor r12d, r12d
mov rax, qword [rsp + 0xc8]
jmp 0x52e20b
mov qword [rsp + 0x58], rdx
mov rdx, qword [0x009f78a0]
lea rax, [0x005f1780]
mov rcx, rbx
mov rbx, rdx
call fcn.00410f40
mov rdx, qword [rax]
mov rsi, qword [rax + 8]
test bl, bl
je 0x52e1ae
mov rax, qword [rsp + 0xc8]
mov rcx, qword [rsp + 0xd8]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x100]
mov rdi, qword [rsp + 0x58]
xor ebx, ebx
xor r11d, r11d
mov r12, rdx
mov rdx, qword [rsp + 0xe0]
jmp 0x52e20b
nop
lea rax, [0x005f9940]
call fcn.0040d180
mov qword [rax + 8], 0x25
lea rcx, [0x0062b18a]
mov qword [rax], rcx
mov rcx, qword [rsp + 0xd8]
mov rdx, qword [rsp + 0xe0]
mov r8, qword [rsp + 0xf0]
mov r9, qword [rsp + 0x60]
mov r10, qword [rsp + 0x100]
xor edi, edi
xor esi, esi
lea rbx, [0x008a3e20]
mov r11, rax
xor r12d, r12d
mov rax, qword [rsp + 0xc8]
test rbx, rbx
jne 0x52e42b
mov r11, qword [rax]
lea r13, [rdi + rsi]
nop
mov r15, qword [r11 + 0x10]
mov r11, qword [r11 + 8]
mov rbx, r12
lea r12, [r15 - 1]
test r12, r12
jl 0x52e252
mov r11, qword [r11 + r15*8 - 8]
bsr r11, r11
mov r15, 0xffffffffffffffff
cmove r11, r15
shl r12, 6
lea r11, [r11 + r12]
lea r11, [r11 + 1]
jmp 0x52e255
xor r11d, r11d
lea r12, [rdi + rsi]
lea r12, [r12 + 0xb]
lea r15, [r11 + 7]
sar r15, 0x3f
shr r15, 0x3d
lea r11, [r15 + r11]
lea r11, [r11 + 7]
sar r11, 3
cmp r12, r11
jg 0x52e40d
nop
cmp r9, r11
jne 0x52e3ef
mov qword [rsp + 0x50], rdi
mov qword [rsp + 0x38], r13
mov qword [rsp + 0x30], r11
mov qword [rsp + 0x40], rsi
mov qword [rsp + 0x70], rbx
mov byte [rsp + 0x98], 0
mov qword [rsp + 0xa0], 0
movups xmmword [rsp + 0xa8], xmm15
xor eax, eax
xor ebx, ebx
mov rcx, rbx
mov rdi, r8
mov rsi, r9
mov r8, r10
call fcn.004f0ae0
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0xa8], rbx
mov qword [rsp + 0xb0], rcx
mov byte [rsp + 0x98], 0
mov byte [rsp + 0x78], 0
mov qword [rsp + 0x80], 0
movups xmmword [rsp + 0x88], xmm15
lea rax, [rsp + 0x78]
mov rbx, qword [rsp + 0xc8]
lea rcx, [rsp + 0x98]
call fcn.0052f240
mov qword [rsp + 0x68], rax
mov rbx, qword [rsp + 0x30]
mov rcx, rbx
lea rax, [0x005e9720]
nop dword [rax]
call fcn.00448f60
mov rbx, rax
mov rcx, qword [rsp + 0x30]
mov rdi, rcx
mov rax, qword [rsp + 0x68]
call fcn.004e6fa0
nop word [rax + rax]
test rbx, rbx
jbe 0x52e5c8
movzx esi, byte [rax]
cmp rbx, 1
jbe 0x52e5bb
movzx edi, byte [rax + 1]
dec esi
shr esi, 0x1f
xor edi, 1
movzx edi, dil
dec edi
shr edi, 0x1f
and rsi, rdi
mov rdi, qword [rsp + 0x30]
mov r8, qword [rsp + 0x50]
mov r9, rdi
sub rdi, r8
nop
cmp rcx, r9
jb 0x52e5b0
cmp r9, rdi
jb 0x52e5a5
mov rdx, r9
sub r9, rdi
mov r8, rdi
sub rdi, rcx
sar rdi, 0x3f
and rdi, r8
add rdi, rax
mov r10, qword [rsp + 0xe0]
cmp r10, r9
je 0x52e3dc
xor edi, edi
jmp 0x52e4a5
mov r10, qword [rsp + 0xd8]
xor r11d, r11d
xor r12d, r12d
jmp 0x52e496
mov rax, qword [0x009f9100]
mov rbx, qword [0x009f9108]
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, qword [0x009f9100]
mov rbx, qword [0x009f9108]
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, rbx
mov rbx, r11
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
call fcn.0052d7e0
test rbx, rbx
je 0x52e461
mov rax, rbx
mov rbx, rcx
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
nop
lea rax, [0x005e95a0]
lea rbx, [0x008a1ea0]
call fcn.004353a0
lea r13, [r11 + 1]
mov qword [rsp + 0x48], r13
movzx r15d, byte [r11 + rdi]
movzx r13d, byte [r11 + r10]
xor r13d, r15d
or r12d, r13d
mov r13, qword [rsp + 0x48]
mov r11, r13
cmp r11, r9
jl 0x52e475
nop
movzx edi, r12b
dec edi
shr edi, 0x1f
and rdi, rsi
mov rsi, qword [rsp + 0x38]
sub rdx, rsi
cmp rdx, r8
ja 0x52e595
sub r8, rdx
mov rsi, rdx
sub rdx, rcx
sar rdx, 0x3f
and rdx, rsi
add rdx, rax
mov r9, qword [rsp + 0x40]
cmp r9, r8
je 0x52e4da
xor edx, edx
jmp 0x52e50f
mov r9, qword [rsp + 0x70]
xor ecx, ecx
xor r10d, r10d
jmp 0x52e500
lea r11, [rcx + 1]
movzx r12d, byte [rcx + rdx]
movzx r13d, byte [r9 + rcx]
xor r13d, r12d
or r10d, r13d
mov rcx, r11
nop dword [rax]
cmp rcx, r8
jl 0x52e4e6
nop
movzx edx, r10b
dec edx
shr edx, 0x1f
and rdx, rdi
lea rdi, [rsi - 1]
cmp rbx, rdi
jbe 0x52e58a
movzx ecx, byte [rsi + rax - 1]
dec ecx
shr ecx, 0x1f
and rdx, rcx
mov ecx, 2
jmp 0x52e54d
lea rsi, [rcx + 1]
movzx r8d, byte [rcx + rax]
xor r8d, 0xffffffff
movzx r8d, r8b
dec r8d
shr r8d, 0x1f
and rdx, r8
mov rcx, rsi
cmp rcx, rdi
jl 0x52e52f
cmp rdx, 1
je 0x52e576
mov rax, qword [0x009f9100]
mov rbx, qword [0x009f9108]
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
xor eax, eax
xor ebx, ebx
mov rbp, qword [rsp + 0xb8]
add rsp, 0xc0
ret
mov rax, rdi
mov rcx, rbx
call fcn.004633e0
mov rax, rdx
mov rcx, r8
nop dword [rax + rax]
call fcn.004634a0
mov rax, rdi
mov rcx, r9
call fcn.004634a0
mov rdx, rcx
mov rcx, r9
call fcn.00463460
mov eax, 1
mov rcx, rbx
call fcn.004633e0
xor eax, eax
mov rcx, rbx
call fcn.004633e0
mov rax, rbx
mov rcx, rdx
call fcn.00463400
lea rax, [0x005e95a0]
lea rbx, [0x008a1f20]
call fcn.004353a0
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
mov qword [rsp + 0x40], r10
call fcn.00460ce0
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]
mov r10, qword [rsp + 0x40]
jmp fcn.0052e020