Function at 0x14011ecd0
Capabilities:
Encode data using base64

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x40
mov rbp, qword [rsp + 0x90]
xor esi, esi
mov rax, qword [rcx + 0x20]
add rbp, r9
mov r14, r9
mov r12, r8
mov r13, rdx
mov rdi, rcx
mov r15d, esi
mov qword [rsp + 0x70], r9
mov qword [rsp + 0x90], rax
cmp byte [rcx + 0x3c], sil
je 0x14011ed2b
mov rax, 0xfffffffffffffdf5
jmp 0x14011f4bd
mov rcx, qword [rcx + 0xb0]
call fcn.1401240b0
mov rcx, qword [rdi + 0xa8]
call fcn.1401240b0
mov qword [rdi + 0xb0], rsi
mov qword [rdi + 0xa8], rsi
mov dword [r12], esi
mov ebx, 0xffffffff
mov r9d, 0x3f
lea r8, [0x140000000]
cmp r14, rbp
jne 0x14011ed75
test r15d, r15d
je 0x14011f485
movsxd rdx, dword [rdi + 0xe4]
mov r15d, esi
cmp edx, 0xc
ja case.default.0x14011ed8f
mov ecx, dword [r8 + rdx*4 + 0x11f664]
add rcx, r8
jmp rcx
movzx eax, byte [r14]
and al, 0xe0
cmp al, 0x20
jne 0x14011f4af
movzx ecx, byte [r14]
movzx eax, cl
and al, 0xe0
cmp al, 0x20
jne 0x14011edd9
cmp edx, 2
je 0x14011f4af
mov dword [rdi + 0xe0], 1
mov dword [rdi + 0xe4], 3
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xd8], rsi
jmp case.default.0x14011ed8f
test cl, cl
jns 0x14011ee04
mov dword [rdi + 0xe0], 1
mov dword [rdi + 0xe4], 4
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xd8], rsi
jmp case.default.0x14011ed8f
test cl, 0xaf
jne 0x14011ee18
cmp cl, 0x50
je 0x14011ee18
mov eax, 5
lea ecx, [rax - 3]
jmp 0x14011ee22
mov eax, 4
mov ecx, 3
mov dword [rdi + 0xe0], ecx
mov dword [rdi + 0xe4], eax
movzx eax, byte [r14]
shr al, 6
and al, 1
mov byte [rdi + 0xe9], al
movzx eax, byte [r14]
and al, 0xf0
cmp al, 0x10
sete al
mov byte [rdi + 0xea], al
cmp ecx, 2
jne 0x14011ee56
inc r14
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xd8], rsi
jmp case.default.0x14011ed8f
mov r11, qword [rdi + 0xd0]
mov r8, r14
mov rax, qword [rdi + 0xc8]
mov edx, esi
mov r10d, dword [rdi + 0xb8]
cmp r11, rax
mov rcx, qword [rdi + 0xd8]
cmovae r11, rax
mov qword [rdi + 0xd8], rsi
test r10d, r10d
jne 0x14011eecc
movzx r10d, byte [r14]
and r10d, 0x1f
cmp r10d, 0x1f
je 0x14011eeb7
mov edx, 1
mov ebx, edx
jmp 0x14011ef3b
lea r8, [r14 + 1]
mov r10d, 0x1f
cmp r8, rbp
jne 0x14011eed1
lea ebx, [r10 - 0x1e]
jmp 0x14011ef3b
cmp r14, rbp
je 0x14011ef14
movzx r9d, byte [r8]
mov edx, r9d
and edx, 0x7f
cmp rcx, 0x20
jae 0x14011f4af
mov eax, ebx
shr eax, cl
cmp eax, edx
jb 0x14011f4af
shl edx, cl
mov eax, edx
not eax
cmp eax, r10d
jb 0x14011f4af
add r10d, edx
test r9b, r9b
jns 0x14011ef14
inc r8
add rcx, 7
cmp r8, rbp
jne 0x14011eed1
mov rbx, r8
mov qword [rdi + 0xd8], rcx
sub rbx, r14
mov edx, esi
cmp r8, rbp
setne dl
lea rax, [rbx + 1]
cmovne rbx, rax
cmp rbx, 0xffffffffffffffff
je 0x14011f4af
mov eax, r10d
cmp rax, r11
ja 0x14011f4af
mov qword [rdi + 0xb8], rax
test rbx, rbx
js 0x14011f4b6
add r14, rbx
test edx, edx
je 0x14011f64f
mov ebx, 0xffffffff
mov qword [rdi + 0x30], rax
xor edx, edx
mov qword [rdi + 0xd0], rbx
mov rcx, rdi
call fcn.14011d8a0
mov dword [rdi + 0xe4], 1
jmp 0x14011ed5a
mov esi, dword [rdi + 0xe0]
cmp esi, 1
jne 0x14011ef9b
lea edx, [rsi + 0x7e]
jmp 0x14011efab
cmp byte [rdi + 0xe9], 0
mov edx, reloc.WS2_32.dll_ntohs
cmovne edx, r9d
mov r11, qword [rdi + 0x18]
xor r9d, r9d
mov r10d, dword [rdi + 0xb8]
add r11, 0x3d
mov rcx, qword [rdi + 0xd8]
mov r8, r14
mov qword [rdi + 0xd8], 0
test r10d, r10d
jne 0x14011f003
movzx r10d, byte [r14]
and r10d, edx
cmp r10d, edx
je 0x14011eff0
mov ebx, 1
mov r9d, ebx
jmp 0x14011f07f
lea r8, [r14 + 1]
mov r10d, edx
cmp r8, rbp
jne 0x14011f010
mov ebx, 1
jmp 0x14011f07f
cmp r14, rbp
je 0x14011f053
nop dword [rax + rax]
movzx r9d, byte [r8]
mov edx, r9d
and edx, 0x7f
cmp rcx, 0x20
jae 0x14011f4af
mov eax, ebx
shr eax, cl
cmp eax, edx
jb 0x14011f4af
shl edx, cl
mov eax, edx
not eax
cmp eax, r10d
jb 0x14011f4af
add r10d, edx
test r9b, r9b
jns 0x14011f053
inc r8
add rcx, 7
cmp r8, rbp
jne 0x14011f010
mov rbx, r8
mov qword [rdi + 0xd8], rcx
sub rbx, r14
cmp r8, rbp
lea rax, [rbx + 1]
cmovne rbx, rax
xor r9d, r9d
cmp r8, rbp
setne r9b
cmp rbx, 0xffffffffffffffff
je 0x14011f4af
mov eax, r10d
cmp rax, r11
ja 0x14011f4af
mov qword [rdi + 0xb8], rax
test rbx, rbx
js 0x14011f4b6
add r14, rbx
test r9d, r9d
je 0x14011f64f
test r10d, r10d
je 0x14011f4af
lea rbx, [rax - 1]
mov qword [rdi + 0xc0], rbx
cmp esi, 1
je 0x14011f4db
mov dword [rdi + 0xe4], 9
xor esi, esi
jmp 0x14011ed55
movzx eax, byte [r14]
shr al, 7
mov byte [rdi + 0xe8], al
mov dword [rdi + 0xe4], 6
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xd8], rsi
mov r9d, dword [rdi + 0xb8]
mov r8, r14
mov rcx, qword [rdi + 0xd8]
mov qword [rdi + 0xd8], rsi
test r9d, r9d
jne 0x14011f14f
movzx r9d, byte [r14]
and r9d, 0x7f
cmp r9d, 0x7f
je 0x14011f131
mov eax, 1
mov ebx, eax
jmp 0x14011f1ca
lea r8, [r14 + 1]
mov r9d, 0x7f
cmp r8, rbp
jne 0x14011f160
mov qword [rdi + 0xb8], r9
inc r14
jmp 0x14011f64f
cmp r14, rbp
je 0x14011f1a3
nop dword [rax]
nop dword [rax + rax]
movzx r10d, byte [r8]
mov edx, r10d
and edx, 0x7f
cmp rcx, 0x20
jae 0x14011f4af
mov eax, ebx
shr eax, cl
cmp eax, edx
jb 0x14011f4af
shl edx, cl
mov eax, edx
not eax
cmp eax, r9d
jb 0x14011f4af
add r9d, edx
test r10b, r10b
jns 0x14011f1a3
inc r8
add rcx, 7
cmp r8, rbp
jne 0x14011f160
mov rbx, r8
mov qword [rdi + 0xd8], rcx
sub rbx, r14
cmp r8, rbp
lea rax, [rbx + 1]
cmovne rbx, rax
mov eax, esi
setne al
cmp rbx, 0xffffffffffffffff
je 0x14011f4af
cmp r9d, 0x10000
ja 0x14011f4af
mov edx, r9d
mov qword [rdi + 0xb8], rdx
test rbx, rbx
js 0x14011f4b6
add r14, rbx
test eax, eax
je 0x14011f64f
cmp byte [rdi + 0xe8], 0
je 0x14011f218
lea rcx, [rdi + 0x40]
call fcn.140124330
mov rdx, qword [rdi + 0xb8]
mov eax, 7
add rdx, rdx
jmp 0x14011f21d
mov eax, 8
mov r8, qword [rsp + 0x90]
lea rcx, [rdi + 0x98]
inc rdx
mov dword [rdi + 0xe4], eax
call fcn.140124110
movsxd rbx, eax
test eax, eax
jne 0x14011f4b6
mov rdx, qword [rdi + 0x98]
lea rcx, [rdi + 0x48]
mov r8, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
call fcn.140120290
xor esi, esi
jmp 0x14011ed55
lea rdx, [rdi + 0x48]
mov r9, rbp
mov r8, r14
mov rcx, rdi
call fcn.14011dbe0
mov rbx, rax
test rax, rax
js 0x14011f4b6
add r14, rax
cmp qword [rdi + 0xb8], 0
jne 0x14011f64f
mov rax, qword [rdi + 0x60]
mov byte [rax], 0
mov rcx, qword [rdi + 0x60]
mov rax, qword [rdi + 0x98]
sub rcx, qword [rdi + 0x58]
mov qword [rax + 0x18], rcx
mov dword [rdi + 0xe4], 9
jmp 0x14011ed55
mov rax, qword [rdi + 0xb8]
mov rbx, rbp
mov rcx, qword [rdi + 0x60]
sub rbx, r14
cmp rbx, rax
mov rdx, r14
cmovae rbx, rax
mov r8, rbx
call fcn.14011c880
mov qword [rdi + 0x60], rax
mov rcx, qword [rdi + 0xb8]
sub rcx, rbx
mov qword [rdi + 0xb8], rcx
test rbx, rbx
js 0x14011f4b6
add r14, rbx
test rcx, rcx
jne 0x14011f64f
jmp 0x14011f297
movzx eax, byte [r14]
shr al, 7
mov byte [rdi + 0xe8], al
mov dword [rdi + 0xe4], 0xa
mov qword [rdi + 0xb8], rsi
mov qword [rdi + 0xd8], rsi
mov r9d, dword [rdi + 0xb8]
mov r8, r14
mov rcx, qword [rdi + 0xd8]
mov qword [rdi + 0xd8], rsi
test r9d, r9d
jne 0x14011f37c
movzx r9d, byte [r14]
and r9d, 0x7f
cmp r9d, 0x7f
je 0x14011f367
mov eax, 1
mov ebx, eax
jmp 0x14011f3eb
lea r8, [r14 + 1]
mov r9d, 0x7f
cmp r8, rbp
je 0x14011f140
jmp 0x14011f381
cmp r14, rbp
je 0x14011f3c4
movzx r10d, byte [r8]
mov edx, r10d
and edx, 0x7f
cmp rcx, 0x20
jae 0x14011f4af
mov eax, ebx
shr eax, cl
cmp eax, edx
jb 0x14011f4af
shl edx, cl
mov eax, edx
not eax
cmp eax, r9d
jb 0x14011f4af
add r9d, edx
test r10b, r10b
jns 0x14011f3c4
inc r8
add rcx, 7
cmp r8, rbp
jne 0x14011f381
mov rbx, r8
mov qword [rdi + 0xd8], rcx
sub rbx, r14
cmp r8, rbp
lea rax, [rbx + 1]
cmovne rbx, rax
mov eax, esi
setne al
cmp rbx, 0xffffffffffffffff
je 0x14011f4af
cmp r9d, 0x10000
ja 0x14011f4af
mov edx, r9d
mov qword [rdi + 0xb8], rdx
test rbx, rbx
js 0x14011f4b6
add r14, rbx
test eax, eax
je 0x14011f64f
cmp byte [rdi + 0xe8], 0
je 0x14011f439
lea rcx, [rdi + 0x40]
call fcn.140124330
mov rdx, qword [rdi + 0xb8]
mov eax, ntohs
add rdx, rdx
jmp 0x14011f43e
mov eax, ntohs
mov r8, qword [rsp + 0x90]
lea rcx, [rdi + 0xa0]
inc rdx
mov dword [rdi + 0xe4], eax
call fcn.140124110
movsxd rbx, eax
test eax, eax
jne 0x14011f4b6
mov rdx, qword [rdi + 0xa0]
lea rcx, [rdi + 0x70]
mov r8, qword [rdx + 0x18]
mov rdx, qword [rdx + 0x10]
call fcn.140120290
xor esi, esi
lea r15d, [rsi + 1]
jmp 0x14011ed55
cmp dword [rsp + 0x98], 0
je 0x14011f59e
mov eax, dword [rdi + 0xe4]
dec eax
cmp eax, 1
ja 0x14011f4af
or dword [r12], 1
sub r14, qword [rsp + 0x70]
mov rax, r14
jmp 0x14011f4bd
mov rbx, 0xfffffffffffffdf5
mov byte [rdi + 0x3c], 1
mov rax, rbx
lea r11, [rsp + 0x40]
mov rbx, qword [r11 + 0x38]
mov rbp, qword [r11 + 0x40]
mov rsi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
ret
cmp rbx, r11
jb 0x14011f4fa
mov r8d, 0x516
lea rdx, str.nghttp2_lib_nghttp2_hd.c
lea rcx, str.INDEX_RANGE_VALID_context__idx_
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
cmp rbx, 0x3d
jb 0x14011f540
add rbx, 0xffffffffffffffc3
cmp rbx, qword [rdi + 0x18]
jb 0x14011f524
mov r8d, 0x262
lea rdx, str.nghttp2_lib_nghttp2_hd.c
lea rcx, str.idx___ringbuf__len
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__wassert]
mov rcx, qword [rdi + 0x10]
mov rax, qword [rdi]
add rcx, rbx
and rcx, qword [rdi + 8]
mov rcx, qword [rax + rcx*8]
movups xmm0, xmmword [rcx]
movsd xmm1, qword [rcx + 0x10]
jmp 0x14011f584
lea rcx, [0x140000000]
shl rbx, 7
lea rax, [rcx + 0x1a4770]
mov byte [rsp + 0x34], 0
add rax, rbx
mov qword [rsp + 0x20], rax
lea rax, [rcx + 0x1a4798]
add rax, rbx
mov qword [rsp + 0x28], rax
mov eax, dword [rbx + rcx + 0x1a47e8]
movups xmm0, xmmword [rsp + 0x20]
mov dword [rsp + 0x30], eax
movsd xmm1, qword [rsp + 0x30]
movups xmmword [r13], xmm0
movsd qword [r13 + 0x10], xmm1
mov dword [rdi + 0xe4], 2
or dword [r12], 2
sub r14, qword [rsp + 0x70]
mov rax, r14
jmp 0x14011f4bd
lea rdx, [rdi + 0x70]
mov r9, rbp
mov r8, r14
mov rcx, rdi
call fcn.14011dbe0
mov rbx, rax
test rax, rax
js 0x14011f4b6
add r14, rax
cmp qword [rdi + 0xb8], 0
jne 0x14011f64f
mov rax, qword [rdi + 0x88]
mov rdx, r13
mov byte [rax], 0
mov rcx, qword [rdi + 0x88]
sub rcx, qword [rdi + 0x80]
mov rax, qword [rdi + 0xa0]
mov qword [rax + 0x18], rcx
mov rcx, rdi
cmp dword [rdi + 0xe0], 2
jne 0x14011f60f
call fcn.14011dac0
jmp 0x14011f614
call fcn.14011d9e0
movsxd rbx, eax
test eax, eax
jne 0x14011f4b6
jmp 0x14011f58f
lea rdx, [rdi + 0x70]
mov r9, rbp
mov r8, r14
mov rcx, rdi
call fcn.14011db80
mov rbx, rax
test rax, rax
js 0x14011f4b6
add r14, rax
cmp qword [rdi + 0xb8], 0
je 0x14011f5d6
cmp dword [rsp + 0x98], 0
je 0x14011f59e
jmp 0x14011f4af