Function at 0x140116380
Capabilities:
Encode data using base64

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x38
mov r12, qword [rdx + 0x30]
mov ebp, dword [rdx + 0x40]
call fcn.14010ae90
mov ecx, 0x1008
test eax, eax
sete r13b
call fcn.1400a5fa0
mov rsi, rax
mov rax, qword [0x1401ebe20]
lea r10, [rsi + 8]
lea rdi, [rsi + 0x10]
mov qword [rsi + 8], 0
and rdi, 0xfffffffffffffff8
mov rcx, r10
mov qword [rsi], rax
xor eax, eax
mov qword [rsi + 0x1000], 0
sub rcx, rdi
add ecx, 0x1000
shr ecx, 3
rep stosq qword [rdi], rax
test ebp, ebp
je 0x1401165d7
mov ecx, 9
xor ebx, ebx
xor r9d, r9d
nop
add r12, 1
sub ebp, 1
movzx r8d, byte [r12 - 1]
setne dl
test dl, r13b
je 0x140116422
cmp r8d, 0xd
jne 0x140116422
cmp byte [r12], 0xa
je 0x140116400
mov edx, eax
add r9d, 1
shld eax, ebx, 7
shrd edx, ebx, 0x19
lea ebx, [r8 + rdx]
cmp r8d, 0xa
je 0x140116440
cmp r9d, 0x3f
jle 0x1401164ac
imul eax, eax, 0x61
mov edi, 1
shl edi, cl
lea edx, [rax + rbx]
mov rax, rdx
imul rdx, rdx, 0x26dcc75
shr rdx, 0x2a
imul r8d, edx, 0x1a597
sub eax, r8d
lea r8d, [rdi - 1]
mov edx, eax
and r8d, eax
movsxd rax, r8d
jmp 0x140116489
cmp edx, dword [rsi + rax*8 + 8]
je 0x1401164d0
add rax, 1
xor r8d, r8d
cmp edi, eax
jle 0x14011646e
mov ebx, dword [rsi + rax*8 + 0xc]
movsxd r8, eax
test ebx, ebx
jne 0x140116478
cdqe
mov dword [rsi + rax*8 + 8], edx
mov dword [rsi + rax*8 + 0xc], r9d
sub dword [rsi + 4], 1
js 0x1401164da
xor eax, eax
xor ebx, ebx
xor r9d, r9d
test ebp, ebp
jne 0x140116400
test ecx, ecx
jne 0x1401165b1
mov rax, rsi
add rsp, 0x38
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
add r9d, ebx
mov dword [rsi + r8*8 + 0xc], r9d
jmp 0x1401164a5
lea r15d, [rdi + rdi]
movsxd r8, r15d
mov rax, r8
shr rax, 0x3d
jne 0x1401165de
shl r8, 3
lea rcx, [r8 + 8]
mov qword [rsp + 0x28], r8
call fcn.1400a5fa0
mov r8, qword [rsp + 0x28]
mov r14, rax
mov eax, dword [rsi]
lea ecx, [rax + 1]
sub eax, 2
shl eax, cl
mov dword [r14], ecx
cdq
idiv ecx
xor edx, edx
lea rcx, [r14 + 8]
mov dword [r14 + 4], eax
call sub.msvcrt.dll_memset
test edi, edi
jle 0x140116599
movsxd rdi, edi
mov rcx, rsi
lea r10d, [r15 - 1]
lea r9, [rsi + rdi*8]
jmp 0x140116549
add rcx, 8
cmp r9, rcx
je 0x140116599
mov r8d, dword [rcx + 0xc]
test r8d, r8d
je 0x140116540
mov r8d, dword [rcx + 8]
mov edx, r10d
and edx, r8d
movsxd rax, edx
jmp 0x140116573
add rax, 1
xor edx, edx
cmp r15d, eax
jle 0x14011655c
mov edx, dword [r14 + rax*8 + 0xc]
test edx, edx
jne 0x140116568
cdqe
add rcx, 8
mov dword [r14 + rax*8 + 8], r8d
mov edx, dword [rcx + 4]
mov dword [r14 + rax*8 + 0xc], edx
sub dword [r14 + 4], 1
cmp r9, rcx
jne 0x140116549
mov rcx, rsi
mov rsi, r14
call fcn.1400d2670
mov ecx, dword [r14]
xor eax, eax
xor r9d, r9d
jmp 0x1401164ac
mov edx, 1
lea r10, [rsi + 8]
shl rdx, cl
lea r9, [0x1401165f0]
mov r8d, 8
mov rcx, r10
call fcn.14007d390
jmp 0x1401164bc
mov edx, 0x200
jmp 0x1401165bd
mov edx, 8
lea rcx, [0x1401ebe00]
call fcn.1400a08a0
nop
mov eax, dword [rcx + 4]
mov r8d, dword [rdx + 4]
test eax, eax
je 0x140116618
mov eax, 0xffffffff
test r8d, r8d
je 0x140116614
mov ecx, dword [rcx]
mov edx, dword [rdx]
cmp ecx, edx
jb 0x140116614
xor eax, eax
cmp edx, ecx
setb al
ret
xor eax, eax
test r8d, r8d
setne al
ret