Function at 0x140031a30
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x98
pxor xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
mov rbp, rcx
mov rsi, rdx
mov rbx, r8
mov qword [rsp + 0xf8], r9
movaps xmmword [rsp + 0x80], xmm0
movzx eax, byte [0x14005e200]
test al, al
jne 0x140031a87
lea rdi, [0x14005e200]
mov rcx, rdi
call sym.__cxa_guard_acquire
test eax, eax
jne 0x140031d40
mov rcx, qword [rsi]
mov rdx, qword [rsi + 8]
mov dword [rsp + 0x30], 0
lea rsi, [rsp + 0x70]
mov dword [rsp + 0x28], 0
lea r9, [0x14005f700]
mov r8, rsi
mov dword [rsp + 0x20], 0
add rdx, rcx
call sym._ZNSt8__detail17__regex_algo_implIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaIN
mov rdx, qword [rsp + 0x70]
test al, al
je 0x140031b10
mov rax, qword [rsp + 0x78]
mov rcx, rax
sub rcx, rdx
cmp rdx, rax
je 0x140031af9
movabs r8, 0xaaaaaaaaaaaaaaab
mov rax, rcx
sar rax, 3
imul rax, r8
sub rax, 3
cmp rax, 1
ja 0x140031d30
lea rdx, [rdx + rcx - 0x48]
lea rcx, [rsp + 0x50]
call method.std::__cxx11::sub_match___gnu_cxx::__normal_iterator_char_const__std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char_______.str___const
jmp 0x140031b28
lea rax, [rsp + 0x60]
mov byte [rsp + 0x60], 0
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x58], 0
mov rcx, qword [rsp + 0x70]
test rcx, rcx
je 0x140031b42
mov rdx, qword [rsp + 0x80]
sub rdx, rcx
call sym.operator_delete_void__unsigned_long_long_
mov r14, qword [rbx + 0x10]
lea rsi, [rbx + 8]
mov r13, qword [rsp + 0x50]
mov edi, 0x80000000
mov qword [rsp + 0x48], rsi
mov r15, qword [rsp + 0x58]
movabs r12, 0xffffffff7fffffff
test r14, r14
jne 0x140031b81
jmp 0x140031c30
mov r14, qword [r14 + 0x18]
test r14, r14
je 0x140031bc3
mov rbx, qword [r14 + 0x28]
mov rcx, qword [r14 + 0x20]
cmp r15, rbx
mov r8, rbx
cmovbe r8, r15
test r8, r8
je 0x140031ba4
mov rdx, r13
call sym.memcmp
test eax, eax
jne 0x140031bb3
sub rbx, r15
cmp rbx, rdi
jge 0x140031bb7
cmp rbx, r12
jle 0x140031b78
mov eax, ebx
test eax, eax
js 0x140031b78
mov rsi, r14
mov r14, qword [r14 + 0x10]
test r14, r14
jne 0x140031b81
cmp qword [rsp + 0x48], rsi
je 0x140031c30
mov r9, qword [rsi + 0x28]
mov r8, qword [rsi + 0x20]
mov rdx, r15
mov rcx, r13
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.compare_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char____const__const__clone_.isra.0_
test eax, eax
js 0x140031c30
lea rax, [rbp + 0x10]
mov r8, qword [rsi + 0x48]
mov rcx, rbp
mov qword [rbp], rax
mov rdx, qword [rsi + 0x40]
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.isra.0_
mov rcx, qword [rsp + 0x50]
lea rax, [rsp + 0x60]
cmp rcx, rax
je 0x140031c19
mov rax, qword [rsp + 0x60]
lea rdx, [rax + 1]
call sym.operator_delete_void__unsigned_long_long_
mov rax, rbp
add rsp, 0x98
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
lea rcx, [r13 + r15]
xor eax, eax
test r15, r15
je 0x140031eac
mov edx, eax
add r13, 1
shl edx, 5
add eax, edx
movzx edx, byte [r13 - 1]
and eax, 0x3ffffff
xor eax, edx
cmp r13, rcx
jne 0x140031c40
cmp eax, 0x1f164
je 0x14003217a
ja 0x140031cd0
cmp eax, 0x1d1b9
je 0x140031f1e
ja 0x140031d78
cmp eax, 0x1a6df
je 0x1400320da
ja 0x140031e10
cmp eax, 0xdd9
je 0x14003209e
ja 0x140031f32
cmp eax, 0x76d
je 0x140031fd4
cmp eax, 0xd3d
jne 0x140031eac
lea rdx, str.application_gzip
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x3dad1f
je 0x140031f0a
ja 0x140031dc8
cmp eax, 0x371b38
je 0x140031fc0
jbe 0x140031ed3
cmp eax, 0x37cf7d
je 0x140031e3e
ja 0x140031fa5
cmp eax, 0x372318
je 0x1400320b2
cmp eax, 0x372b57
jne 0x140031eac
lea rdx, str.application_atomxml
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
add rdx, 0x18
jmp 0x140031afe
mov r8d, 0x10
lea rdx, str..__a_zA_Z0_9___
lea rcx, [0x14005f700]
call method.std::__cxx11::basic_regex_char__std::__cxx11::regex_traits_char___.basic_regex_char_const__std::regex_constants::syntax_option_type_
lea rcx, [sym.__tcf_1]
call sym.atexit
mov rcx, rdi
call sym.__cxa_guard_release
jmp 0x140031a87
cmp eax, 0x1e078
je 0x140032057
ja 0x140031e89
cmp eax, 0x1de29
je 0x140032102
jbe 0x140031f5c
cmp eax, 0x1de2e
je 0x1400320ee
cmp eax, 0x1dee6
jne 0x140031eac
lea rdx, str.font_ttf
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x409771
je 0x14003202f
jbe 0x140031e52
cmp eax, 0x40c278
je 0x1400320c6
ja 0x140031f7b
cmp eax, 0x40977d
je 0x140032043
cmp eax, 0x40a648
jne 0x140031eac
lea rdx, str.application_wasm
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1cb45
je 0x14003201b
ja 0x1400321ad
cmp eax, 0x1b288
je 0x140032007
cmp eax, 0x1c97d
je 0x140031ff3
cmp eax, 0x1b0f1
jne 0x140031eac
lea rdx, str.text_html
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x3ff093
je 0x14003213e
ja 0x1400321cc
cmp eax, 0x3daddb
je 0x14003212a
cmp eax, 0x3e2ddd
jne 0x140031eac
lea rdx, str.image_tiff
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1e322
je 0x140032166
ja 0x14003218e
cmp eax, 0x1e147
je 0x140032152
cmp eax, 0x1e25b
je 0x140031e75
lea rax, [rbp + 0x10]
mov rcx, rbp
mov qword [rbp], rax
mov rax, qword [rsp + 0xf8]
mov rdx, qword [rax]
mov r8, qword [rax + 8]
add r8, rdx
call method.void_std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___._M_construct_char__char__char__std::forward_iterator_tag___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1f7f6
je 0x14003207f
ja 0x1400321eb
cmp eax, 0x1f1d9
je 0x14003206b
cmp eax, 0x1f580
jne 0x140031eac
lea rdx, str.audio_wave
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.video_mpeg
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_png
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1a2c3
je 0x140032116
cmp eax, 0x1a2c6
jne 0x140031eac
lea rdx, str.text_csv
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1d5fd
jne 0x140032093
lea rdx, str.font_otf
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x43cec5
je 0x14003217a
cmp eax, 0x59114a
jne 0x140031eac
lea rdx, str.font_woff2
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x3adb38
jne 0x140031fe8
lea rdx, str.application_json
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_apng
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.application_x_7z_compressed
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x3af938
jne 0x140031eac
lea rdx, str.image_jpeg
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_gif
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_x_icon
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.audio_webm
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.video_webm
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.text_plain
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.application_xml
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.text_vtt
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1db34
jne 0x140031eac
lea rdx, str.text_javascript
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_avif
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.font_woff
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_bmp
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.audio_mp3
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.video_mp4
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.text_css
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.audio_mpeg
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.application_xsltxml
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.application_x_tar
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.image_svgxml
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
lea rdx, str.application_xhtmlxml
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1e692
jne 0x140031eac
lea rdx, str.application_rssxml
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x1d0f2
jne 0x140031eac
lea rdx, str.application_pdf
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x409760
jne 0x140031eac
lea rdx, str.image_webp
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc
cmp eax, 0x20a43
jne 0x140031eac
lea rdx, str.application_zip
mov rcx, rbp
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::basic_string_std.allocator_char____char_const__std::allocator_char__const___clone_.isra.0_
jmp 0x140031bfc