Function at 0x6c1fb0
Capabilities:
Encode data using base64
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x138
mov r15, r9
mov qword [rsp + 0x120], r8
mov rsi, rdx
mov qword [rsp + 0x88], rcx
cmp byte [rdx + 0xf8], 0
mov qword [rsp + 0x30], rdx
je 0x6c2182
call sym.rand::rngs::thread::THREAD_RNG_KEY::__u7b__u7b_closure_u7d__u7d_::h420c040fb8a26cc6
test rax, rax
je 0x6c2abc
mov r14, qword [rax]
inc qword [r14]
je 0x6c2ae8
lea r12, [r14 + 0x10]
mov rax, qword [r14 + 0x110]
cmp rax, 0x40
jb 0x6c204a
lea rcx, [r14 + 0x120]
mov rax, qword [r14 + 0x158]
test rax, rax
jle 0x6c209d
cmp qword [r14 + 0x160], 0
js 0x6c209d
add rax, 0xffffffffffffff00
mov qword [r14 + 0x158], rax
mov rdx, r12
call sym.rand_chacha::guts::refill_wide::hf77c37243131539c
jmp 0x6c20a5
movzx esi, byte [r14 + rax*4 + 0x10]
lea rcx, [rax + 1]
mov qword [r14 + 0x110], rcx
cmp rax, 0x3f
jne 0x6c20b2
lea rcx, [r14 + 0x120]
mov rax, qword [r14 + 0x158]
test rax, rax
jle 0x6c210e
cmp qword [r14 + 0x160], 0
js 0x6c210e
add rax, 0xffffffffffffff00
mov qword [r14 + 0x158], rax
mov rdx, r12
call sym.rand_chacha::guts::refill_wide::hf77c37243131539c
jmp 0x6c2116
mov rdx, r12
call sym._ZN4rand4rngs7adapter9reseeding29ReseedingCore_LT_R_C_Rsdr_GT_19reseed_and_generate17h523af3f6e84f5f94E.llvm.67638914001143984
movzx esi, byte [r12]
mov r13d, 1
jmp 0x6c2119
mov ebp, dword [r14 + rax*4 + 0x14]
lea rcx, [rax + 2]
mov qword [r14 + 0x110], rcx
cmp rax, 0x3e
jb 0x6c2780
lea rcx, [r14 + 0x120]
mov rax, qword [r14 + 0x158]
test rax, rax
jle 0x6c2a87
cmp qword [r14 + 0x160], 0
js 0x6c2a87
add rax, 0xffffffffffffff00
mov qword [r14 + 0x158], rax
mov r13d, 1
mov rdx, r12
call sym.rand_chacha::guts::refill_wide::hf77c37243131539c
jmp 0x6c2129
mov rdx, r12
call sym._ZN4rand4rngs7adapter9reseeding29ReseedingCore_LT_R_C_Rsdr_GT_19reseed_and_generate17h523af3f6e84f5f94E.llvm.67638914001143984
xor r13d, r13d
mov ebp, dword [r12 + r13*4]
lea r12, [r12 + r13*4]
add r12, 4
or r13, 2
mov ebx, dword [r12]
mov qword [r14 + 0x110], r13
mov edi, dword [r14 + r13*4 + 0x10]
inc r13
mov qword [r14 + 0x110], r13
dec qword [r14]
jne 0x6c215f
dec qword [r14 + 8]
jne 0x6c215f
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, r14
call fcn.006f5b74
shl edi, 0x18
movzx eax, bl
shl eax, 0x10
or eax, edi
shl ebp, 8
movzx ecx, bp
or ecx, eax
or ecx, esi
mov byte [r15 + 0x1f], 1
mov dword [r15 + 0x20], ecx
mov rsi, qword [rsp + 0x30]
mov rax, qword [0x0083c300]
cmp rax, 5
jne 0x6c2298
mov qword [rsp + 0x50], r15
lea rax, [sym._ZN79__LT_tungstenite..protocol..frame..frame..Frame_u20_as_u20_core..fmt..Debug_GT_3fmt17hd113e20fb0ea36d3E.15094]
mov qword [rsp + 0x58], rax
mov rax, qword [0x0083c058]
cmp rax, 2
lea rax, [0x00740360]
cmove rax, qword [0x0071b070]
lea rcx, [0x0074045a]
cmove rcx, qword [0x0071b068]
mov qword [rsp + 0xc8], 5
lea rdx, str.tungstenite::protocol_home_slixe_.cargo_registry_src_index.crates.io_6f17d22bba15001f_tungstenite_0.21.0_src_protocol_mod.rs
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], 0x15
lea r8, str.Sending_frame:
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], 1
lea r8, [rsp + 0x50]
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], 0x15
mov qword [rsp + 0xb0], 0
lea rdx, [0x007d3955]
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], 0x67
movabs rdx, 0x2d400000001
mov qword [rsp + 0xe0], rdx
lea rdx, [rsp + 0x98]
call qword [rax + 0x20]
movdqu xmm0, xmmword [r15]
movdqu xmm1, xmmword [r15 + 0x10]
movdqa xmmword [rsp + 0x60], xmm1
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0x70], rax
movdqa xmmword [rsp + 0x50], xmm0
mov r14, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x6f]
cmp r14, 0x10000
mov eax, 4
mov ecx, 0xa
cmovb rcx, rax
cmp r14, 0x7e
mov eax, 2
cmovae rax, rcx
mov rdx, qword [rsi + 0x80]
lea rcx, [rdx + r14]
lea rcx, [rcx + r9*4]
add rcx, rax
cmp rcx, qword [rsi + 0xa0]
jbe 0x6c2338
mov rax, qword [r15 + 0x20]
mov qword [rsp + 0xc0], rax
movdqu xmm0, xmmword [r15]
movups xmm1, xmmword [r15 + 0x10]
movups xmmword [rsp + 0xb0], xmm1
movdqu xmmword [rsp + 0xa0], xmm0
mov qword [rsp + 0x98], 9
jmp 0x6c29d0
mov rax, qword [0x0083c300]
cmp rax, 5
jne 0x6c246e
lea rax, [rsp + 0x50]
mov qword [rsp + 0x128], rax
lea rax, [sym.__tungstenite::protocol::frame::frame::Frame_as_core::fmt::Display_::fmt::h7c4ce4d575ff12fc]
mov qword [rsp + 0x130], rax
mov rax, qword [0x0083c058]
cmp rax, 2
lea rax, [0x00740360]
cmove rax, qword [0x0071b070]
lea rcx, [0x0074045a]
cmove rcx, qword [0x0071b068]
mov qword [rsp + 0xc8], 5
lea rdx, str.tungstenite::protocol::frameno_frame_received
mov qword [rsp + 0xd0], rdx
mov qword [rsp + 0xd8], 0x1c
lea r8, str.writing_frame
mov qword [rsp + 0xe8], r8
mov qword [rsp + 0xf0], 1
lea r8, [rsp + 0x128]
mov qword [rsp + 0xf8], r8
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x98], 0
mov qword [rsp + 0xa0], rdx
mov qword [rsp + 0xa8], 0x1c
mov qword [rsp + 0xb0], 0
lea rdx, [0x007d3a3c]
mov qword [rsp + 0xb8], rdx
mov qword [rsp + 0xc0], 0x6d
movabs rdx, 0xdb00000001
mov qword [rsp + 0xe0], rdx
lea rdx, [rsp + 0x98]
call qword [rax + 0x20]
mov r14, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x6f]
mov rdx, qword [rsi + 0x80]
lea r11, [rsi + 0x70]
cmp r14, 0x10000
mov eax, 4
mov ecx, 0xa
cmovb rcx, rax
cmp r14, 0x7e
mov eax, 2
cmovae rax, rcx
xor ecx, ecx
test r9b, r9b
setne cl
lea r8, [r14 + rcx*4]
add r8, rax
mov rax, qword [r11]
sub rax, rdx
cmp rax, r8
mov qword [rsp + 0x38], r11
jae 0x6c24cb
mov rcx, r11
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h05486b747d2a9623
mov r14, qword [rsp + 0x60]
movzx r9d, byte [rsp + 0x6f]
mov r11, qword [rsp + 0x38]
movq xmm0, qword [rsp + 0x68]
movzx r13d, byte [rsp + 0x6e]
movzx ecx, word [rsp + 0x6c]
mov eax, ecx
shr eax, 8
test cl, 1
mov qword [rsp + 0x80], r9
jne 0x6c25ae
cmp al, 3
movzx eax, al
movzx r13d, r13b
cmovb r13d, eax
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x48], rax
punpcklbw xmm0, xmm0
punpcklwd xmm0, xmm0
pxor xmm1, xmm1
pcmpeqb xmm1, xmm0
movmskps eax, xmm1
test al, 8
sete bl
test al, 4
sete r15b
test al, 2
sete dil
xor ebp, ebp
test al, 1
sete byte [rsp + 0x2e]
cmp r14, 0x10000
mov eax, 0x7f
sbb eax, 0
cmp r14, 0x7e
mov r12d, r14d
cmovae r12d, eax
mov eax, dword [rsp + 0x70]
mov dword [rsp + 0x44], eax
xor esi, esi
cmp byte [rsp + 0x80], 0
setne byte [rsp + 0x2f]
mov rcx, qword [rsp + 0x30]
mov rax, qword [rcx + 0x70]
mov rdx, qword [rcx + 0x80]
sub rax, rdx
cmp rax, 1
ja 0x6c25c9
mov r8d, 2
mov rcx, r11
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h05486b747d2a9623
mov r10, qword [rsp + 0x30]
mov rdx, qword [r10 + 0x80]
mov r11, qword [rsp + 0x38]
jmp 0x6c25ce
movzx eax, al
lea rcx, [0x0072adf4]
movsxd rax, dword [rcx + rax*4]
add rax, rcx
jmp rax
mov r13b, 8
jmp case.0x6c25bf.3
mov r10, qword [rsp + 0x30]
movzx eax, byte [rsp + 0x2e]
mov bpl, al
shl ebp, 7
shl dil, 6
or r13b, dil
or r13b, bpl
shl r15b, 5
shl bl, 4
or bl, r15b
or bl, r13b
movzx eax, byte [rsp + 0x2f]
mov sil, al
shl esi, 7
movzx eax, si
or eax, r12d
shl eax, 8
movzx r8d, bl
or r8d, eax
lea r13, [rdx + 2]
cmp r14, 0x10000
mov r9d, 2
sbb r9, 0
xor ecx, ecx
cmp r14, 0x7e
mov rax, qword [r10 + 0x78]
mov word [rax + rdx], r8w
mov qword [r10 + 0x80], r13
cmovae rcx, r9
test rcx, rcx
mov rdi, r10
je 0x6c26d7
cmp rcx, 1
jne 0x6c2690
mov rcx, qword [r11]
sub rcx, r13
cmp rcx, 1
ja 0x6c267e
mov r8d, 2
mov rcx, r11
mov rdx, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h05486b747d2a9623
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi + 0x78]
mov r13, qword [rdi + 0x80]
mov r11, qword [rsp + 0x38]
mov ecx, r14d
rol cx, 8
mov word [rax + r13], cx
add r13, 2
jmp 0x6c26d0
mov rcx, qword [r11]
sub rcx, r13
cmp rcx, 7
ja 0x6c26c2
mov r8d, 8
mov rcx, r11
mov rdx, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h05486b747d2a9623
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi + 0x78]
mov r13, qword [rdi + 0x80]
mov r11, qword [rsp + 0x38]
mov rcx, r14
bswap rcx
mov qword [rax + r13], rcx
add r13, 8
mov qword [rdi + 0x80], r13
cmp byte [rsp + 0x80], 0
je 0x6c28f1
mov rcx, qword [r11]
sub rcx, r13
cmp rcx, 3
ja 0x6c2717
mov r8d, 4
mov rcx, r11
mov rdx, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h05486b747d2a9623
mov rdi, qword [rsp + 0x30]
mov rax, qword [rdi + 0x78]
mov r13, qword [rdi + 0x80]
mov r11, qword [rsp + 0x38]
mov ecx, dword [rsp + 0x44]
mov dword [rax + r13], ecx
add r13, 4
mov qword [rdi + 0x80], r13
test byte [rsp + 0x80], 1
je 0x6c28f1
mov rsi, qword [rsp + 0x48]
lea rcx, [rsi + 3]
and rcx, 0xfffffffffffffffc
sub rcx, rsi
mov rax, r14
sub rax, rcx
jae 0x6c27d9
mov eax, 1
mov r8d, 4
xor r9d, r9d
mov rcx, r14
xor edx, edx
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x98], ebx
test rcx, rcx
jne 0x6c2800
jmp 0x6c2833
mov ebx, dword [r14 + rax*4 + 0x18]
lea r13, [rax + 3]
mov qword [r14 + 0x110], r13
cmp rax, 0x3d
jne 0x6c2134
lea rcx, [r14 + 0x120]
mov rax, qword [r14 + 0x158]
test rax, rax
jle 0x6c2a9a
cmp qword [r14 + 0x160], 0
js 0x6c2a9a
add rax, 0xffffffffffffff00
mov qword [r14 + 0x158], rax
mov rdx, r12
call sym.rand_chacha::guts::refill_wide::hf77c37243131539c
jmp 0x6c2aa2
lea r8, [rsi + rcx]
mov r9, rax
shr r9, 2
mov edx, eax
and edx, 3
and rax, 0xfffffffffffffffc
add rax, r8
mov ebx, dword [rsp + 0x44]
mov dword [rsp + 0x98], ebx
test rcx, rcx
je 0x6c2833
and rcx, 3
je 0x6c2833
xor r10d, r10d
nop dword [rax]
movzx r11d, byte [rsp + r10 + 0x98]
xor byte [rsi + r10], r11b
lea r11, [r10 + 1]
mov r10, r11
cmp rcx, r11
jne 0x6c2810
shl ecx, 3
ror ebx, cl
mov r11, qword [rsp + 0x38]
test r9, r9
je 0x6c28cb
lea rcx, [r9 - 1]
movabs r10, 0x3fffffffffffffff
and r10, rcx
mov rcx, r8
cmp r10, 6
jbe 0x6c28b8
inc r10
mov r11, r10
and r11, 0xfffffffffffffff8
lea rcx, [r11*4]
movd xmm0, ebx
pshufd xmm0, xmm0, 0
xor esi, esi
nop word cs:[rax + rax]
movdqu xmm1, xmmword [r8 + rsi*4]
movdqu xmm2, xmmword [r8 + rsi*4 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [r8 + rsi*4], xmm1
movdqu xmmword [r8 + rsi*4 + 0x10], xmm2
add rsi, 8
cmp r11, rsi
jne 0x6c2880
cmp r10, r11
mov r11, qword [rsp + 0x38]
je 0x6c28cb
add rcx, r8
lea r8, [r8 + r9*4]
nop dword [rax]
xor dword [rcx], ebx
add rcx, 4
cmp rcx, r8
jne 0x6c28c0
test rdx, rdx
je 0x6c28ea
xor byte [rax], bl
cmp edx, 1
je 0x6c28ea
mov ecx, ebx
shr ecx, 8
xor byte [rax + 1], cl
cmp edx, 2
je 0x6c28ea
shr ebx, 0x10
xor byte [rax + 2], bl
mov r13, qword [rdi + 0x80]
mov rax, qword [r11]
sub rax, r13
cmp rax, r14
jae 0x6c2916
mov rcx, r11
mov rdx, r13
mov r8, r14
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h05486b747d2a9623
mov rdi, qword [rsp + 0x30]
mov r13, qword [rdi + 0x80]
mov rcx, qword [rdi + 0x78]
add rcx, r13
mov rsi, qword [rsp + 0x48]
mov rdx, rsi
mov r8, r14
call sym.memcpy
add r13, r14
mov qword [rdi + 0x80], r13
cmp qword [rsp + 0x90], 0
je 0x6c295a
mov rcx, qword [0x0083c108]
xor edx, edx
mov r8, rsi
call fcn.006f5b74
mov r13, qword [rdi + 0x80]
cmp r13, qword [rdi + 0xa8]
jbe 0x6c29c4
mov r14, qword [rdi + 0x78]
nop word [rax + rax]
mov rcx, qword [rsp + 0x120]
mov rdx, r14
mov r8, r13
call sym.__tokio_tungstenite::compat::AllowStd_S__as_std::io::Write_::write::he4355eb2df391795
test rax, rax
jne 0x6c2a17
test rdx, rdx
je 0x6c2a00
mov r15, r13
sub r15, rdx
jb 0x6c2aaa
mov qword [rdi + 0x80], 0
je 0x6c29c4
add rdx, r14
mov rcx, r14
mov r8, r15
call sub.msvcrt.dll_memmove
mov qword [rdi + 0x80], r15
mov r13, r15
jmp 0x6c2970
mov qword [rsp + 0x98], 0xf
lea rdx, [rsp + 0x98]
mov r8d, 0x88
mov rcx, qword [rsp + 0x88]
call sym.memcpy
nop
add rsp, 0x138
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
lea rdx, str.Connection_reset_while_sendingParsed_headers
mov r8d, 0x1e
mov cl, 3
call sym.std::io::error::Error::new::h44dca14dce1fdbfc
mov rdx, rax
mov qword [rsp + 0x98], 5
mov qword [rsp + 0xa0], rdx
cmp byte [rdi + 0xfa], 2
jb 0x6c2a5f
mov rcx, rdx
mov rsi, rdx
call sym._ZN3std2io5error5Error4kind17hc2039d206deb488fE.13998
mov rdx, rsi
cmp al, 3
jne 0x6c2a5f
mov rax, qword [rsp + 0x88]
mov qword [rax], 3
mov rcx, rdx
call sym._ZN4core3ptr42drop_in_place_LT_std..io..error..Error_GT_17h0f2209e9bb9e438aE.6335
jmp 0x6c29eb
mov rax, qword [rsp + 0x88]
mov qword [rax], 5
mov qword [rax + 8], rdx
jmp 0x6c29eb
mov r13b, 9
jmp case.0x6c25bf.3
mov r13b, 0xa
jmp case.0x6c25bf.3
mov r13d, 1
mov rdx, r12
call sym._ZN4rand4rngs7adapter9reseeding29ReseedingCore_LT_R_C_Rsdr_GT_19reseed_and_generate17h523af3f6e84f5f94E.llvm.67638914001143984
jmp 0x6c2129
mov rdx, r12
call sym._ZN4rand4rngs7adapter9reseeding29ReseedingCore_LT_R_C_Rsdr_GT_19reseed_and_generate17h523af3f6e84f5f94E.llvm.67638914001143984
xor r13d, r13d
jmp 0x6c2134
lea r8, [0x007d1220]
mov rcx, rdx
mov rdx, r13
call sym.core::slice::index::slice_end_index_len_fail::h829dac2b01cd87d1
lea rax, [0x007d09a8]
mov qword [rsp + 0x20], rax
lea rcx, str.cannot_access_a_Thread_Local_Storage_value_during_or_after_destruction_rustc_3f5fd8dd41153bc5fdca9427e9e05be2c767ba23library_std_src_threadlocal.rs
lea r9, [0x007d0a18]
lea r8, [rsp + 0x98]
mov edx, 0x46
call sym.core::result::unwrap_failed::h9b9528a0a4171737
ud2
adc dword [rax], eax
add eax, 0x110e55
sub byte [rax - 0x73], cl
add eax, 0x110e03
and al, 0x31
add byte [rbp + rcx*4 + 5], cl
adc eax, dword [rdx]
add byte [rax], al
adc dword [rax], eax
adc dword [rax], eax
adc dword [rax], eax
adc dword [rax], eax
mov eax, dword [rdx + 0x28]
adc dword [rax], eax
adc dword [rax], eax
adc dword [rax], eax
adc dword [rax], eax
adc dword [rax], eax
and byte [rax - 0x75], cl
sub byte [rax - 0x73], cl
adc eax, 0xf315f
pop rsi
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
add byte [rax], al
and byte [rbx + rcx*4 + 0x4a], cl
sub byte [rax - 0x73], cl
add eax, 0x10f116
and byte [rax - 0x75], cl
sub byte [rax - 0x75], cl
sbb byte [rax - 0x73], cl
adc eax, 0x10f0a2
and al, 0x20
add byte [rax], al
add byte [rax], al
push rsp
and byte [rax - 0x75], cl
sub byte [rax - 0x73], cl
adc eax, 0xe364b
shr bl, 0x18
lea edx, [0x007b0a63]
nop word cs:[rax + rax]
or al, byte [rbx - 7]
dec dword [rax - 0x73]
or al, r13b
invalid
mov rcx, rsi
call sym.core::ptr::drop_in_place_rustls::client::client_conn::ClientConnection_::h6c04effabcc2059a
stc
dec dword [rax - 0x77]
stc
stc
dec dword [rax - 0x77]
stc
call sym._Unwind_Resume
or dword [rbx], eax
add al, ch
invalid
mov edx, dword [rcx + 0x18]