Function at 0x140036040
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov rsi, rcx
mov rax, qword [rcx + 8]
mov rcx, qword [rcx + 0x10]
mov rdx, rcx
sub rdx, rax
sar rdx, 3
imul r8, rdx, 0x2a
dec r8
xor r9d, r9d
cmp rcx, rax
cmovne r9, r8
mov r8, qword [rsi + 0x20]
mov r10, qword [rsi + 0x28]
add r10, r8
sub r9, r10
cmp r9, 0x2a
jb 0x1400360b5
add r8, 0x2a
mov qword [rsi + 0x20], r8
mov rax, qword [rcx - 8]
add rcx, 0xfffffffffffffff8
mov qword [rsp + 0x28], rax
mov qword [rsi + 0x10], rcx
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140036420
jmp 0x1400363bb
mov rcx, qword [rsi]
mov r9, qword [rsi + 0x18]
mov r8, r9
sub r8, rcx
mov r10, r8
sar r10, 3
cmp rdx, r10
jae 0x1400360f4
cmp rax, rcx
je 0x14003613d
mov ecx, 0xfc0
call fcn.14006fb50
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140035ce0
jmp 0x14003617b
sar r8, 2
cmp r9, rcx
mov r14d, 1
cmovne r14, r8
mov rax, r14
shr rax, 0x3d
jne 0x1400363d2
lea rcx, [r14*8]
call fcn.14006fb50
mov rbx, rax
mov ecx, 0xfc0
call fcn.14006fb50
mov rdi, rax
test r14, r14
je 0x1400361a1
lea r15, [rbx + r14*8]
jmp 0x1400361c0
mov ecx, 0xfc0
call fcn.14006fb50
mov qword [rsp + 0x28], rax
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140035b40
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax - 8]
add rax, 0xfffffffffffffff8
mov qword [rsp + 0x28], rcx
mov qword [rsi + 0x10], rax
lea rdx, [rsp + 0x28]
mov rcx, rsi
call fcn.140036420
mov rax, qword [rsi + 0x10]
mov rcx, qword [rsi + 0x20]
sub rax, qword [rsi + 8]
add rcx, 0x2a
cmp rax, 8
mov eax, 0x15
cmovne rax, rcx
mov qword [rsi + 0x20], rax
jmp 0x1400363bb
mov ecx, 8
call fcn.14006fb50
mov r14, rax
mov r15, rax
add r15, 8
mov rcx, rbx
call fcn.14006fbd0
mov rbx, r14
mov qword [rbx], rdi
mov r12, qword [rsi + 8]
lea rbp, [rbx + 8]
cmp r12, qword [rsi + 0x10]
je 0x14003636a
mov r8, rbx
jmp 0x14003620c
mov r14, rbx
mov r13, rbp
mov rbp, r15
mov r15, rbp
mov rax, qword [r12]
mov qword [r13], rax
add r12, 8
add r13, 8
mov rbp, r13
mov rbx, r14
cmp r12, qword [rsi + 0x10]
je 0x140036373
cmp rbp, r15
jne 0x1400361e0
mov rax, rbx
sub rax, r8
mov r15, r8
jbe 0x140036259
sar rax, 3
lea rcx, [rax + 1]
shr rcx, 0x3f
lea rdi, [rax + rcx]
inc rdi
shl rdi, 2
and rdi, 0xfffffffffffffff8
mov r14, rbx
sub r14, rdi
mov r8, rbp
sub r8, rbx
mov rcx, r14
mov rdx, rbx
call sub.msvcrt.dll_memmove
mov r13, rbp
sub r13, rdi
jmp 0x140036306
mov rdi, rbp
sub rdi, r15
sar rdi, 2
mov qword [rsp + 0x30], r15
cmp rbp, r15
mov eax, 1
cmove rdi, rax
movabs rax, 0x1fffffffffffffff
cmp rdi, rax
ja 0x1400363cd
lea rcx, [rdi*8]
call fcn.14006fb50
mov r15, rax
mov rdx, rdi
shr rdx, 2
lea r14, [rax + rdx*8]
mov rax, rbp
sub rax, rbx
mov r13, r14
sub rbp, rbx
je 0x1400362f3
and rax, 0xfffffffffffffff8
mov r13, rax
add r13, r14
add rbp, 0xfffffffffffffff8
cmp rbp, 0x68
jb 0x1400362d1
lea rax, [r15 + rdx*8]
sub rax, rbx
cmp rax, 0x20
jae 0x14003630e
mov rax, r14
mov rcx, rbx
nop word [rax + rax]
mov rdx, qword [rcx]
mov qword [rax], rdx
add rax, 8
add rcx, 8
cmp rax, r13
jne 0x1400362e0
lea rbp, [r15 + rdi*8]
mov rcx, qword [rsp + 0x30]
test rcx, rcx
je 0x140036306
call fcn.14006fbd0
mov r8, r15
jmp 0x1400361e9
shr rbp, 3
inc rbp
shl rdx, 3
mov r8, rbp
and r8, 0xfffffffffffffffc
lea rax, [r14 + r8*8]
lea rcx, [rbx + r8*8]
add rdx, r15
add rdx, 0x10
xor r9d, r9d
nop word cs:[rax + rax]
movups xmm0, xmmword [rbx + r9*8]
movups xmm1, xmmword [rbx + r9*8 + 0x10]
movups xmmword [rdx + r9*8 - 0x10], xmm0
movups xmmword [rdx + r9*8], xmm1
add r9, 4
cmp r8, r9
jne 0x140036340
cmp rbp, r8
jne 0x1400362e0
jmp 0x1400362f3
mov r8, rbx
mov r14, rbx
mov r13, rbp
mov rcx, qword [rsi]
mov rax, qword [rsi + 0x20]
mov qword [rsi], r8
mov qword [rsi + 8], r14
mov qword [rsi + 0x10], r13
mov qword [rsi + 0x18], r15
sub r13, r14
add rax, 0x2a
cmp r13, 8
mov edx, 0x15
cmovne rdx, rax
mov qword [rsi + 0x20], rdx
test rcx, rcx
je 0x1400363bb
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.14006fbd0
nop
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call fcn.140002f60
call fcn.140002f60
mov rsi, rax
mov rcx, rdi
call fcn.14006fbd0
mov qword [rsp + 0x30], rbx
jmp 0x140036400
mov rcx, qword [rsp + 0x30]
call fcn.14006fbd0
mov rcx, rsi
call fcn.14009a110
int3