Function at 0x6f8e7060
Capabilities:
Encode data using base64
Hash data using murmur3

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x18]
jbe 0x6f8e7876
sub rsp, 0x90
mov qword [rsp + 0x88], rbp
lea rbp, [rsp + 0x88]
mov byte [rsp + 0xa8], cl
mov byte [rsp + 0xa9], dil
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rbx
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
mov qword [rsp + 0x80], rdx
nop dword [rax + rax]
test rdx, rdx
je 0x6f8e71a2
cmp rbx, 0x10
jae 0x6f8e71a2
cmp qword [rdx + 0x50], 0
jne 0x6f8e712c
test byte [rax], al
nop
nop dword [rax]
call dbg.runtime.lock2
mov rax, qword [rsp + 0x98]
lea rcx, [rax + 0x10]
mov rax, rcx
call dbg.runtime.(*pageAlloc).allocToCache
mov rdx, qword [rsp + 0x80]
mov qword [rdx + 0x48], rax
mov qword [rdx + 0x50], rbx
mov qword [rdx + 0x58], rcx
nop
nop
mov rax, qword [rsp + 0x98]
call dbg.runtime.unlock2
mov rdx, qword [rsp + 0x80]
mov rbx, qword [rsp + 0xa0]
lea rax, [rdx + 0x48]
call dbg.runtime.(*pageCache).alloc
test rax, rax
je 0x6f8e718c
mov rdx, qword [r14 + 0x30]
mov rdx, qword [rdx + 0xa0]
test rdx, rdx
je 0x6f8e717e
mov rsi, qword [rdx + 0xdc8]
test rsi, rsi
je 0x6f8e717e
lea rdi, [rsi - 1]
nop word [rax + rax]
cmp rdi, 0x80
jae 0x6f8e7868
mov rsi, qword [rdx + rsi*8 + 0xdc8]
mov qword [rdx + 0xdc8], rdi
jmp 0x6f8e7180
xor esi, esi
test rsi, rsi
je 0x6f8e718e
xor ecx, ecx
jmp 0x6f8e72bf
xor esi, esi
mov r8, rsi
mov r9, rbx
mov rsi, rax
mov rax, qword [rsp + 0x98]
nop
jmp 0x6f8e71aa
xor esi, esi
xor r8d, r8d
xor r9d, r9d
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x68], r8
mov qword [rsp + 0x50], rsi
test byte [rax], al
nop
nop dword [rax]
call dbg.runtime.lock2
mov rcx, qword [rsp + 0x50]
test rcx, rcx
je 0x6f8e71de
mov rax, rcx
xor ecx, ecx
mov rbx, qword [rsp + 0x38]
jmp 0x6f8e726e
mov rax, qword [rsp + 0x98]
lea rcx, [rax + 0x10]
mov qword [rsp + 0x78], rcx
mov rbx, qword [rsp + 0xa0]
mov rax, rcx
call dbg.runtime.(*pageAlloc).alloc
nop
test rax, rax
je 0x6f8e7209
xor ecx, ecx
jmp 0x6f8e726e
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
call dbg.runtime.(*mheap).grow
nop
test bl, bl
jne 0x6f8e7245
nop
nop
mov rax, qword [rsp + 0x98]
call dbg.runtime.unlock2
xor eax, eax
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xa0]
call dbg.runtime.(*pageAlloc).alloc
nop dword [rax]
test rax, rax
je 0x6f8e7857
mov rcx, qword [rsp + 0x40]
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
mov qword [rsp + 0x50], rax
mov rdx, qword [rsp + 0x68]
test rdx, rdx
jne 0x6f8e7297
mov rax, qword [rsp + 0x98]
call dbg.runtime.(*mheap).allocMSpanLocked
mov rdx, rax
mov qword [rsp + 0x68], rdx
nop
nop
mov rax, qword [rsp + 0x98]
call dbg.runtime.unlock2
mov rsi, qword [rsp + 0x68]
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x38], rbx
mov qword [rsp + 0x40], rcx
movups xmmword [rsi], xmm15
mov qword [rsi + 0x10], 0
mov qword [rsi + 0x18], rax
mov rdx, qword [rsp + 0xa0]
mov qword [rsi + 0x20], rdx
mov word [rsi + 0x60], 0
mov byte [rsi + 0x62], 0
mov qword [rsi + 0x68], 0
movups xmmword [rsi + 0x78], xmm15
mov byte [rsi + 0x64], 0
mov qword [rsi + 0x30], 0
movups xmmword [rsi + 0x48], xmm15
nop
lea rdi, [rsi + 0x63]
mov qword [rsp + 0x70], rdi
xor r8d, r8d
xchg byte [rdi], r8b
mov r8, rax
mov rax, qword [rsp + 0x98]
mov rbx, r8
mov rcx, rdx
call dbg.runtime.(*mheap).allocNeedsZero
nop dword [rax]
test al, al
je 0x6f8e734f
mov rdx, qword [rsp + 0x30]
mov byte [rdx + 0x64], 1
jmp 0x6f8e7354
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0xa0]
mov rbx, rax
shl rbx, 0xd
mov qword [rsp + 0x60], rbx
movzx esi, byte [rsp + 0xa8]
test sil, sil
je 0x6f8e73a8
mov qword [rdx + 0x28], 0
mov qword [rdx + 0x38], 0
mov rdi, qword [rdx + 0x20]
shl rdi, 0xd
add rdi, qword [rdx + 0x18]
mov qword [rdx + 0x70], rdi
nop
mov edi, 2
mov r8, qword [rsp + 0x70]
xchg byte [r8], dil
jmp 0x6f8e7492
movzx edi, byte [rsp + 0xa9]
mov byte [rdx + 0x62], dil
shr dil, 1
test dil, dil
jne 0x6f8e73d4
mov qword [rdx + 0x68], rbx
mov qword [rdx + 0x38], 1
mov dword [rdx + 0x5c], 0
mov r9, rdx
jmp 0x6f8e7426
movsx rdi, dil
nop dword [rax + rax]
cmp rdi, 0x44
jae 0x6f8e784a
lea rcx, [0x6f99b6e0]
movzx ecx, word [rcx + rdi*2]
mov qword [rdx + 0x68], rcx
nop dword [rax]
test rcx, rcx
je 0x6f8e7845
mov rax, rbx
mov r9, rdx
xor edx, edx
div rcx
mov qword [r9 + 0x38], rax
lea rcx, [0x6f99ca00]
mov ecx, dword [rcx + rdi*4]
mov dword [r9 + 0x5c], ecx
mov qword [r9 + 0x30], 0
mov qword [r9 + 0x40], 0xffffffffffffffff
mov rax, qword [r9 + 0x38]
call dbg.runtime.newMarkBits
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x50], rax
mov rax, qword [rcx + 0x38]
call dbg.runtime.newAllocBits
mov rcx, qword [rsp + 0x30]
mov qword [rcx + 0x48], rax
mov rdx, qword [rsp + 0x98]
test byte [rdx], al
mov ebx, dword [rdx + 0x10138]
xchg dword [rcx + 0x58], ebx
nop
mov ebx, 1
mov rsi, qword [rsp + 0x70]
xchg byte [rsi], bl
mov rax, qword [rsp + 0xa0]
mov rdx, rcx
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0xa8]
mov rdi, qword [0x6fcd4aa8]
nop
mov r8b, byte [0x6fcd4664]
test r8b, r8b
je 0x6f8e74af
mov rcx, qword [rsp + 0x38]
xor edi, edi
jmp 0x6f8e74d1
nop
mov r8, qword [0x6fcd4bf8]
mov rcx, qword [rsp + 0x38]
add r8, rcx
mov r9, r8
sub r8, rdi
cmp rdi, r9
mov edi, 0
cmovb rdi, r8
mov r8, qword [0x6fcd4370]
cmp r8, 0xffffffffffffffff
je 0x6f8e753d
mov r9, qword [rsp + 0x40]
test r9, r9
jbe 0x6f8e7530
mov r10, qword [0x6fcd4bd0]
mov r11, qword [0x6fcd4be0]
add r10, r11
add r10, r9
nop dword [rax]
cmp r8, r10
jae 0x6f8e7523
sub r10, r8
cmp r9, r10
cmova r9, r10
cmp rdi, r9
cmovb rdi, r9
mov r8, qword [rsp + 0x80]
test r8, r8
jmp 0x6f8e7548
mov r8, qword [rsp + 0x80]
test r8, r8
jmp 0x6f8e7548
mov r8, qword [rsp + 0x80]
test r8, r8
jmp 0x6f8e7548
mov r8, qword [rsp + 0x80]
test r8, r8
je 0x6f8e7666
test rdi, rdi
jbe 0x6f8e7666
mov qword [rsp + 0x48], rdi
nop
nop dword [rax]
call dbg.runtime.nanotime1
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp]
mov qword [rsp + 0x28], rax
mov rcx, qword [rsp + 0x80]
mov rdx, qword [rcx + 0x1228]
shr rdx, 0x3d
mov qword [rsp + 0x58], rdx
test dl, dl
jne 0x6f8e75c1
nop
nop
movabs rsi, 0x1fffffffffffffff
and rsi, rax
movabs rdi, 0x6000000000000000
or rdi, rsi
xchg qword [rcx + 0x1228], rdi
mov rax, qword [rsp + 0x98]
test byte [rax], al
lea rdx, [rax + 0x10]
mov rbx, qword [rsp + 0x48]
lea rcx, [0x6fbd2d60]
mov rax, rdx
nop
call dbg.runtime.(*pageAlloc).scavenge
nop
call dbg.runtime.nanotime1
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rcx, qword [rsp]
mov rdx, qword [rsp + 0x58]
test dl, dl
jne 0x6f8e762e
mov qword [rsp + 0x20], rcx
mov rax, qword [rsp + 0x80]
add rax, 0x1228
mov ebx, 3
call dbg.runtime.(*limiterEvent).stop
mov rcx, qword [rsp + 0x20]
mov rdx, qword [rsp + 0x28]
sub rcx, rdx
mov rdx, qword [rsp + 0x98]
lock xadd qword [rdx + 0x10110], rcx
mov rax, qword [rsp + 0xa0]
mov rcx, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x60]
movzx esi, byte [rsp + 0xa8]
test rcx, rcx
je 0x6f8e7693
mov rax, qword [rsp + 0x50]
call fcn.6f8d6de0
mov rbx, qword [rsp + 0x38]
neg rbx
lea rax, [0x6fcd4bd8]
call dbg.runtime.(*sysMemStat).add
mov rcx, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x60]
sub rcx, rbx
lea rax, [0x6fcd4be0]
mov rbx, rcx
call dbg.runtime.(*sysMemStat).add
movzx ecx, byte [rsp + 0xa8]
test cl, cl
jne 0x6f8e76c5
lea rax, [0x6fcd4bd0]
mov rbx, qword [rsp + 0x60]
nop dword [rax]
call dbg.runtime.(*sysMemStat).add
lea rax, [0x6fcd5ea0]
call dbg.runtime.(*consistentHeapStats).acquire
mov rcx, qword [rsp + 0x38]
mov rdx, rcx
lock xadd qword [rax], rcx
neg rdx
lock xadd qword [rax + 8], rdx
movzx ecx, byte [rsp + 0xa8]
cmp cl, 1
ja 0x6f8e7712
test cl, cl
jne 0x6f8e7705
mov rdx, qword [rsp + 0x60]
lock xadd qword [rax + 0x10], rdx
jmp 0x6f8e7734
mov rdx, qword [rsp + 0x60]
lock xadd qword [rax + 0x18], rdx
jmp 0x6f8e7734
cmp cl, 2
jne 0x6f8e7724
mov rdx, qword [rsp + 0x60]
lock xadd qword [rax + 0x28], rdx
jmp 0x6f8e7734
cmp cl, 3
jne 0x6f8e7734
mov rdx, qword [rsp + 0x60]
lock xadd qword [rax + 0x20], rdx
lea rax, [0x6fcd5ea0]
nop dword [rax + rax]
call dbg.runtime.(*consistentHeapStats).release
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rdi + 0x18]
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
nop
call dbg.runtime.(*mheap).setSpans
movzx ecx, byte [rsp + 0xa8]
test cl, cl
jne 0x6f8e780b
nop
nop
mov rdx, qword [rsp + 0x30]
mov rcx, qword [rdx + 0x18]
nop
movabs rbx, 0x800000000000
lea rax, [rbx + rcx]
mov rbx, rax
shr rax, 0x2a
nop word [rax + rax]
nop
cmp rax, 0x40
jae 0x6f8e7839
lea rsi, [0x6fca64f0]
mov rax, qword [rsi + rax*8]
shr rbx, 0x16
and ebx, 0xfffff
mov rbx, qword [rax + rbx*8]
test byte [rbx], al
test byte [rax], al
mov rax, rcx
shr rcx, 0x10
and ecx, 0x3f
lea rbx, [rbx + rcx]
lea rbx, [rbx + 0x21000]
shr rax, 0xd
and eax, 7
mov rcx, rax
mov eax, 1
shl eax, cl
lock or byte [rbx], al
mov rax, qword [rsp + 0x98]
test byte [rax], al
mov rbx, qword [rsp + 0xa0]
lock xadd qword [rax + 0x10158], rbx
call dbg.runtime.publicationBarrier
xorps xmm15, xmm15
mov r14, qword gs:[0x28]
mov r14, qword [r14]
mov rax, qword [rsp + 0x30]
mov rbp, qword [rsp + 0x88]
add rsp, 0x90
ret
mov ecx, 0x40
nop
call dbg.runtime.panicIndexU
call dbg.runtime.panicdivide
mov rax, rdi
mov ecx, 0x44
call dbg.runtime.panicIndex
lea rax, [0x6fb64026]
mov ebx, 0x2b
call dbg.runtime.throw
mov rax, rdi
mov ecx, pe_nt_image_headers64
call dbg.runtime.panicIndex
nop
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov byte [rsp + 0x18], cl
mov byte [rsp + 0x19], dil
call dbg.runtime.morestackc
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
movzx ecx, byte [rsp + 0x18]
movzx edi, byte [rsp + 0x19]
jmp dbg.runtime.(*mheap).allocSpan