Function at 0x140309160
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x10], rdx
push rbp
push rbx
push r12
push r15
lea rbp, [rsp - 0x2f]
sub rsp, 0xc8
mov rbx, rdx
mov r12, r8
mov rdx, qword [rbp + 0x77]
mov r15, rcx
mov eax, dword [rdx]
test eax, eax
jne 0x1403091c0
lea rax, str.options__stream_id___0
mov edx, 0x2b5
lea r9, str.assertion_failed:__s
mov qword [rsp + 0x20], rax
mov r8d, 2
lea rcx, str.D:p4grpc1.22.1_src_srccoreext_transportchttp2_transporthpack_encoder.cc
call fcn.14027b590
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
movups xmm1, xmmword [rbp - 0x59]
mov rcx, qword [rbp + 0x7f]
mov dword [rbp - 0xd], eax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0xf0], rsi
xor esi, esi
mov qword [rbp - 1], rax
mov rax, qword [rdx + 8]
mov qword [rsp + 0xc0], rdi
mov qword [rbp + 7], rax
movzx eax, byte [rdx + 5]
lea rdx, [rbp - 0x49]
mov qword [rbp - 0x69], rsi
mov byte [rbp - 0x61], 9
movups xmm0, xmmword [rbp - 0x69]
mov qword [rsp + 0xb8], r13
mov qword [rsp + 0xb0], r14
mov r14d, 1
mov byte [rbp + 0xf], al
mov byte [rbp - 0x11], 0
mov qword [rbp - 9], rcx
mov dword [rbp - 0x29], r14d
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
call fcn.14029af90
lea r13d, [r14 + 8]
mov qword [rbp - 0x19], rax
mov rax, qword [rbp - 9]
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x21], rcx
cmp byte [r15 + 0x10], sil
je 0x1403093a8
mov ecx, dword [r15 + 4]
cmp ecx, 0x1f
jae 0x14030925f
mov ebx, r14d
jmp 0x140309269
add ecx, 0xffffffe1
call fcn.1403111c0
mov ebx, eax
mov rax, qword [rbp - 9]
mov edi, ebx
mov rdx, qword [rax + 0x20]
sub rdx, qword [rbp - 0x21]
lea rcx, [rdx + rdi]
cmp rcx, qword [rbp + 7]
jbe 0x140309364
cmp dword [rbp - 0x29], esi
mov r8d, r13d
mov rcx, qword [rbp - 0x19]
mov rax, qword [rax + 8]
cmovne r8d, r14d
shl rcx, 5
add rcx, rax
cmp qword [rcx], rsi
je 0x1403092a9
mov rcx, qword [rcx + 0x10]
jmp 0x1403092ac
add rcx, r13
mov r9d, dword [rbp - 0xd]
cmp rdx, 0x1000064
jb 0x1403092e8
mov edx, 0x5b
lea rax, str.len___16777316
lea r9, str.assertion_failed:__s
mov qword [rsp + 0x20], rax
lea rcx, str.D:p4grpc1.22.1_src_srccoreext_transportchttp2_transporthpack_encoder.cc
lea r8d, [rdx - 0x59]
call fcn.14027b590
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
movups xmm1, xmmword [rbp - 0x59]
mov rax, rdx
mov qword [rbp - 0x69], rsi
shr rax, 0x10
mov byte [rcx], al
mov rax, rdx
shr rax, 8
mov byte [rcx + 1], al
mov eax, r9d
mov byte [rcx + 2], dl
lea rdx, [rbp - 0x49]
mov byte [rcx + 3], r8b
mov byte [rcx + 4], sil
shr eax, 0x18
mov byte [rcx + 5], al
mov eax, r9d
shr eax, 0x10
mov byte [rcx + 6], al
mov eax, r9d
shr eax, 8
mov byte [rcx + 7], al
mov byte [rcx + 8], r9b
mov rax, qword [rbp - 1]
mov byte [rbp - 0x61], r13b
movups xmm0, xmmword [rbp - 0x69]
add qword [rax], r13
mov rcx, qword [rbp - 9]
mov dword [rbp - 0x29], esi
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
call fcn.14029af90
mov qword [rbp - 0x19], rax
mov rax, qword [rbp - 9]
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x21], rcx
mov rax, qword [rbp - 1]
mov rdx, rdi
add qword [rax + 0x10], rdi
mov rcx, qword [rbp - 9]
call fcn.14029b460
cmp ebx, r14d
jne 0x140309389
movzx ecx, byte [r15 + 4]
or cl, 0x20
mov byte [rax], cl
jmp 0x1403093a0
mov byte [rax], 0x3f
lea r8d, [rbx - 1]
mov ecx, dword [r15 + 4]
lea rdx, [rax + 1]
sub ecx, 0x1f
call fcn.140311200
mov rbx, qword [rbp + 0x5f]
mov byte [r15 + 0x10], sil
lea r8, [0x14051fba0]
movabs rax, 0xe38e38e38e38e39
test r12, r12
je 0x14030958d
mov rcx, qword [rbx + rsi*8]
mov rcx, qword [rcx]
mov rdx, rcx
and rdx, 0xfffffffffffffffc
sub rdx, r8
imul rdx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x3d
jae 0x14030952d
lea rbx, [rdx + 1]
test rbx, rbx
je 0x14030952d
cmp ebx, 0x7f
jae 0x140309405
mov edi, r14d
jmp 0x14030940f
lea ecx, [rbx - 0x7f]
call fcn.1403111c0
mov edi, eax
mov rax, qword [rbp - 9]
mov r14d, edi
mov rdx, qword [rax + 0x20]
sub rdx, qword [rbp - 0x21]
lea rcx, [rdx + r14]
cmp rcx, qword [rbp + 7]
jbe 0x1403094ef
cmp dword [rbp - 0x29], 0
mov ecx, 1
mov rax, qword [rax + 8]
mov r8d, r13d
cmovne r8d, ecx
mov rcx, qword [rbp - 0x19]
shl rcx, 5
add rcx, rax
cmp qword [rcx], 0
je 0x140309457
mov rcx, qword [rcx + 0x10]
jmp 0x14030945a
add rcx, r13
mov r9d, dword [rbp - 0xd]
cmp rdx, 0x1000064
jae 0x14030955e
movups xmm1, xmmword [rbp - 0x59]
mov rax, rdx
mov qword [rbp - 0x69], 0
shr rax, 0x10
mov byte [rcx], al
mov rax, rdx
shr rax, 8
mov byte [rcx + 1], al
mov eax, r9d
mov byte [rcx + 2], dl
lea rdx, [rbp - 0x49]
mov byte [rcx + 3], r8b
mov byte [rcx + 4], 0
shr eax, 0x18
mov byte [rcx + 5], al
mov eax, r9d
shr eax, 0x10
mov byte [rcx + 6], al
mov eax, r9d
shr eax, 8
mov byte [rcx + 7], al
mov byte [rcx + 8], r9b
mov rax, qword [rbp - 1]
mov byte [rbp - 0x61], r13b
movups xmm0, xmmword [rbp - 0x69]
add qword [rax], r13
mov rcx, qword [rbp - 9]
mov dword [rbp - 0x29], 0
movaps xmmword [rbp - 0x49], xmm0
movaps xmmword [rbp - 0x39], xmm1
call fcn.14029af90
mov qword [rbp - 0x19], rax
mov rax, qword [rbp - 9]
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x21], rcx
mov rax, qword [rbp - 1]
mov rdx, r14
add qword [rax + 0x10], r14
mov rcx, qword [rbp - 9]
call fcn.14029b460
cmp edi, 1
jne 0x140309512
or bl, 0x80
mov r14d, edi
mov byte [rax], bl
jmp 0x14030953c
lea r8d, [rdi - 1]
mov byte [rax], 0xff
lea rdx, [rax + 1]
lea ecx, [rbx - 0x7f]
call fcn.140311200
mov r14d, 1
jmp 0x14030953c
mov rdx, rcx
lea r8, [rbp - 0x29]
mov rcx, r15
call fcn.140309b00
inc rsi
lea r8, [0x14051fba0]
movabs rax, 0xe38e38e38e38e39
cmp rsi, r12
jae 0x14030958d
mov rbx, qword [rbp + 0x5f]
jmp 0x1403093c2
mov edx, 0x5b
lea rax, str.len___16777316
lea r9, str.assertion_failed:__s
mov qword [rsp + 0x20], rax
lea rcx, str.D:p4grpc1.22.1_src_srccoreext_transportchttp2_transporthpack_encoder.cc
lea r8d, [rdx - 0x59]
call fcn.14027b590
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov r12, qword [rbp + 0x6f]
mov rdi, qword [r12 + 0x10]
test rdi, rdi
je 0x140309758
nop
mov rcx, qword [rdi]
and rcx, 0xfffffffffffffffc
sub rcx, r8
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
cmp rdx, 0x3d
jae 0x1403096f5
lea rbx, [rdx + 1]
test rbx, rbx
je 0x1403096f5
cmp ebx, 0x7f
jae 0x1403095dc
mov esi, r14d
jmp 0x1403095e6
lea ecx, [rbx - 0x7f]
call fcn.1403111c0
mov esi, eax
mov rax, qword [rbp - 9]
mov r14d, esi
mov rdx, qword [rax + 0x20]
sub rdx, qword [rbp - 0x21]
lea rcx, [rdx + r14]
cmp rcx, qword [rbp + 7]
jbe 0x1403096c0
cmp dword [rbp - 0x29], 0
mov ecx, 1
mov rax, qword [rax + 8]
mov r8d, r13d
cmovne r8d, ecx
mov rcx, qword [rbp - 0x19]
shl rcx, 5
add rcx, rax
cmp qword [rcx], 0
je 0x14030962e
mov rcx, qword [rcx + 0x10]
jmp 0x140309631
add rcx, r13
mov r9d, dword [rbp - 0xd]
cmp rdx, 0x1000064
jae 0x140309729
movups xmm1, xmmword [rbp - 0x59]
mov rax, rdx
mov byte [rbp - 0x61], r13b
shr rax, 0x10
mov byte [rcx], al
mov rax, rdx
shr rax, 8
mov byte [rcx + 1], al
mov eax, r9d
mov byte [rcx + 2], dl
lea rdx, [rbp - 0x49]
mov byte [rcx + 3], r8b
mov byte [rcx + 4], 0
shr eax, 0x18
mov byte [rcx + 5], al
mov eax, r9d
shr eax, 0x10
mov byte [rcx + 6], al
mov eax, r9d
shr eax, 8
mov byte [rcx + 7], al
mov byte [rcx + 8], r9b
mov rax, qword [rbp - 1]
movaps xmmword [rbp - 0x39], xmm1
add qword [rax], r13
xor eax, eax
mov rcx, qword [rbp - 9]
mov qword [rbp - 0x69], rax
movups xmm0, xmmword [rbp - 0x69]
mov dword [rbp - 0x29], eax
movaps xmmword [rbp - 0x49], xmm0
call fcn.14029af90
mov qword [rbp - 0x19], rax
mov rax, qword [rbp - 9]
mov rcx, qword [rax + 0x20]
mov qword [rbp - 0x21], rcx
mov rax, qword [rbp - 1]
mov rdx, r14
add qword [rax + 0x10], r14
mov rcx, qword [rbp - 9]
call fcn.14029b460
cmp esi, 1
jne 0x1403096e0
or bl, 0x80
mov byte [rax], bl
jmp 0x140309704
lea r8d, [rsi - 1]
mov byte [rax], 0xff
lea rdx, [rax + 1]
lea ecx, [rbx - 0x7f]
call fcn.140311200
jmp 0x140309704
mov rdx, qword [rdi]
lea r8, [rbp - 0x29]
mov rcx, r15
call fcn.140309b00
mov rdi, qword [rdi + 8]
test rdi, rdi
je 0x140309758
movabs rax, 0xe38e38e38e38e39
lea r8, [0x14051fba0]
mov r14d, 1
jmp 0x1403095a0
mov edx, 0x5b
lea rax, str.len___16777316
lea r9, str.assertion_failed:__s
mov qword [rsp + 0x20], rax
lea rcx, str.D:p4grpc1.22.1_src_srccoreext_transportchttp2_transporthpack_encoder.cc
lea r8d, [rdx - 0x59]
call fcn.14027b590
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov rdx, qword [r12 + 0xe0]
movabs rax, 0x7fffffffffffffff
cmp rdx, rax
je 0x14030977b
lea r8, [rbp - 0x29]
mov rcx, r15
call fcn.140308240
mov rax, qword [rbp + 0x77]
cmp dword [rbp - 0x29], 0
mov rdx, qword [rbp - 0x19]
movzx r9d, byte [rax + 4]
mov eax, 1
cmovne r13d, eax
mov rax, qword [rbp - 9]
shl rdx, 5
mov rcx, qword [rax + 8]
add rcx, rdx
cmp qword [rcx], 0
je 0x1403097b0
mov rcx, qword [rcx + 0x10]
jmp 0x1403097b4
add rcx, 9
mov rax, qword [rbp - 9]
mov r8d, dword [rbp - 0xd]
mov rdx, qword [rax + 0x20]
sub rdx, qword [rbp - 0x21]
cmp rdx, 0x1000064
jb 0x1403097fc
mov edx, 0x5b
lea rax, str.len___16777316
lea r9, str.assertion_failed:__s
mov qword [rsp + 0x20], rax
lea rcx, str.D:p4grpc1.22.1_src_srccoreext_transportchttp2_transporthpack_encoder.cc
lea r8d, [rdx - 0x59]
call fcn.14027b590
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll_abort]
int3
mov rdi, qword [rsp + 0xc0]
mov rax, rdx
mov rsi, qword [rsp + 0xf0]
mov r14, qword [rsp + 0xb0]
shr rax, 0x10
mov byte [rcx], al
mov rax, rdx
shr rax, 8
mov byte [rcx + 1], al
test r9d, r9d
mov byte [rcx + 2], dl
mov byte [rcx + 3], r13b
setne al
mov r13, qword [rsp + 0xb8]
add al, 4
mov byte [rcx + 4], al
mov eax, r8d
shr eax, 0x18
mov byte [rcx + 5], al
mov eax, r8d
shr eax, 0x10
mov byte [rcx + 6], al
mov eax, r8d
shr eax, 8
mov byte [rcx + 7], al
mov byte [rcx + 8], r8b
mov rax, qword [rbp - 1]
add qword [rax], 9
add rsp, 0xc8
pop r15
pop r12
pop rbx
pop rbp
ret