Function at 0x140034390
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x48
mov rsi, rcx
mov rax, qword [rcx + 0x20]
cmp rax, 0x2a
jb 0x14003441c
add rax, 0xffffffffffffffd6
mov qword [rsi + 0x20], rax
mov rdx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov rdi, qword [rdx]
add rdx, 8
mov qword [rsi + 8], rdx
cmp rbx, qword [rsi + 0x18]
jne 0x1400345e9
mov rax, qword [rsi]
mov rcx, rdx
sub rcx, rax
jbe 0x1400344fa
sar rcx, 3
lea rax, [rcx + 1]
shr rax, 0x3f
lea r14, [rcx + rax]
inc r14
shr r14, 1
shl r14, 3
mov rcx, rdx
sub rcx, r14
mov r8, rbx
sub r8, rdx
call sub.msvcrt.dll_memmove
sub rbx, r14
mov qword [rsi + 0x10], rbx
sub qword [rsi + 8], r14
jmp 0x1400345e9
mov r15, qword [rsi + 0x10]
mov rax, qword [rsi]
mov r12, qword [rsi + 8]
mov r14, r15
sub r14, r12
mov rbp, r14
sar rbp, 3
mov rdx, qword [rsi + 0x18]
mov rcx, rdx
sub rcx, rax
mov r8, rcx
sar r8, 3
cmp rbp, r8
jae 0x140034474
mov ecx, 0xfc0
cmp rdx, r15
je 0x1400345b5
call fcn.1400731c0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.1400348b0
jmp 0x1400346ec
sar rcx, 2
cmp rdx, rax
mov edi, 1
cmovne rdi, rcx
lea rax, [rsi + 0x18]
mov qword [rsp + 0x40], rax
mov rax, rdi
shr rax, 0x3d
jne 0x14003484e
lea rcx, [rdi*8]
call fcn.1400731c0
mov rbx, rax
mov qword [rsp + 0x20], rax
lea r13, [rax + rbp*8]
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x28], r13
lea rax, [rax + rdi*8]
mov qword [rsp + 0x38], rax
mov ecx, 0xfc0
call fcn.1400731c0
cmp rbp, rdi
jne 0x140034652
test r14, r14
jle 0x1400345f6
shr r14, 1
add r14, 4
and r14, 0xfffffffffffffff8
sub r13, r14
mov qword [rsp + 0x28], r13
jmp 0x140034652
mov rcx, rbx
sub rcx, rax
sar rcx, 2
cmp rbx, rax
mov ebx, 1
cmovne rbx, rcx
mov rax, rbx
shr rax, 0x3d
jne 0x14003484e
mov r14, rbx
shr r14, 2
lea rcx, [rbx*8]
call fcn.1400731c0
lea rdx, [rax + r14*8]
mov rcx, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
mov r10, r9
sub r10, rcx
lea r8, [rax + rbx*8]
mov rbx, rdx
sub r9, rcx
je 0x140034593
and r10, 0xfffffffffffffff8
mov rbx, r10
add rbx, rdx
add r9, 0xfffffffffffffff8
cmp r9, 0x68
jb 0x140034574
lea r10, [rax + r14*8]
sub r10, rcx
cmp r10, 0x20
jae 0x1400347a8
mov r10, rdx
mov r11, rcx
nop word [rax + rax]
mov rcx, qword [r11]
mov qword [r10], rcx
add r10, 8
add r11, 8
cmp r10, rbx
jne 0x140034580
mov rcx, qword [rsi]
mov qword [rsi], rax
mov qword [rsi + 8], rdx
mov qword [rsi + 0x10], rbx
mov qword [rsi + 0x18], r8
test rcx, rcx
je 0x1400345e9
call fcn.140073240
mov rbx, qword [rsi + 0x10]
jmp 0x1400345e9
call fcn.1400731c0
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x20]
mov rcx, rsi
call fcn.140034a50
mov rdx, qword [rsi + 8]
mov rbx, qword [rsi + 0x10]
mov rdi, qword [rdx]
add rdx, 8
mov qword [rsi + 8], rdx
cmp rbx, qword [rsi + 0x18]
je 0x1400346fe
mov qword [rbx], rdi
add qword [rsi + 0x10], 8
jmp 0x1400346ec
mov rbp, rax
movabs rax, 0x1fffffffffffffff
sar r14, 2
cmp r15, r12
mov edi, 1
cmovne rdi, r14
cmp rdi, rax
ja 0x140034853
lea rcx, [rdi*8]
call fcn.1400731c0
mov rcx, rdi
and rcx, 0xfffffffffffffffc
lea r13, [rax + rcx*2]
lea rcx, [rax + rdi*8]
mov qword [rsp + 0x20], rax
mov qword [rsp + 0x28], r13
mov qword [rsp + 0x38], rcx
mov rcx, rbx
call fcn.140073240
mov rax, rbp
mov qword [r13], rax
add r13, 8
mov qword [rsp + 0x30], r13
mov rdi, qword [rsi + 0x10]
mov r14, 0xfffffffffffffff9
sub r14, rdi
lea rbx, [rsp + 0x20]
nop word cs:[rax + rax]
cmp rdi, qword [rsi + 8]
je 0x14003469b
add rdi, 0xfffffffffffffff8
add r14, 8
mov rcx, rbx
mov rdx, rdi
call fcn.140034c00
jmp 0x140034680
mov rcx, qword [rsi]
movaps xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movups xmmword [rsi], xmm0
mov qword [rsp + 0x28], rdi
mov rax, qword [rsi + 0x10]
mov rdx, qword [rsi + 0x18]
movaps xmm0, xmmword [rsp + 0x30]
mov qword [rsp + 0x30], rax
movups xmmword [rsi + 0x10], xmm0
mov qword [rsp + 0x38], rdx
cmp rdi, rax
je 0x1400346e2
add r14, rax
neg r14
and r14, 0xfffffffffffffff8
add r14, rax
mov qword [rsp + 0x30], r14
test rcx, rcx
je 0x1400346ec
call fcn.140073240
nop
add rsp, 0x48
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rax, qword [rsi]
mov rcx, rdx
sub rcx, rax
ja 0x1400343e1
mov rcx, rbx
sub rcx, rax
sar rcx, 2
cmp rbx, rax
mov ebx, 1
cmovne rbx, rcx
mov rax, rbx
shr rax, 0x3d
jne 0x14003484e
mov r14, rbx
shr r14, 2
lea rcx, [rbx*8]
call fcn.1400731c0
lea rdx, [rax + r14*8]
mov rcx, qword [rsi + 8]
mov r9, qword [rsi + 0x10]
mov r10, r9
sub r10, rcx
lea r8, [rax + rbx*8]
mov rbx, rdx
sub r9, rcx
je 0x140034593
and r10, 0xfffffffffffffff8
mov rbx, r10
add rbx, rdx
add r9, 0xfffffffffffffff8
cmp r9, 0x68
jb 0x140034787
lea r10, [rax + r14*8]
sub r10, rcx
cmp r10, 0x20
jae 0x1400347fd
mov r10, rdx
mov r11, rcx
nop dword [rax]
mov rcx, qword [r11]
mov qword [r10], rcx
add r10, 8
add r11, 8
cmp r10, rbx
jne 0x140034790
jmp 0x140034593
shr r9, 3
inc r9
shl r14, 3
mov r15, r9
and r15, 0xfffffffffffffffc
lea r10, [rdx + r15*8]
lea r11, [rcx + r15*8]
add r14, rax
add r14, 0x10
xor r12d, r12d
nop dword [rax]
movups xmm0, xmmword [rcx + r12*8]
movups xmm1, xmmword [rcx + r12*8 + 0x10]
movups xmmword [r14 + r12*8 - 0x10], xmm0
movups xmmword [r14 + r12*8], xmm1
add r12, 4
cmp r15, r12
jne 0x1400347d0
cmp r9, r15
jne 0x140034580
jmp 0x140034593
shr r9, 3
inc r9
shl r14, 3
mov r15, r9
and r15, 0xfffffffffffffffc
lea r10, [rdx + r15*8]
lea r11, [rcx + r15*8]
add r14, rax
add r14, 0x10
xor r12d, r12d
movups xmm0, xmmword [rcx + r12*8]
movups xmm1, xmmword [rcx + r12*8 + 0x10]
movups xmmword [r14 + r12*8 - 0x10], xmm0
movups xmmword [r14 + r12*8], xmm1
add r12, 4
cmp r15, r12
jne 0x140034821
cmp r9, r15
jne 0x140034790
jmp 0x140034593
call fcn.140002ba0
call fcn.140002ba0
mov rsi, rax
mov rcx, rbp
call fcn.140073240
jmp 0x14003488f
mov rcx, qword [rsp + 0x20]
test rcx, rcx
je 0x14003489e
call fcn.140073240
mov rcx, rsi
call fcn.14009d370
int3