Function at 0x479160
Capabilities:
Encode data using xor

Disassembly:
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x88
mov qword [rsp + 0x60], 0
mov rsi, rcx
mov rbx, rdx
mov rbp, r8
mov qword [rsp + 0x68], 0
mov rdi, r9
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
movzx eax, byte [0x0050f780]
test al, al
jne 0x4791be
lea rcx, [0x0050f780]
call sym.__cxa_guard_acquire
test eax, eax
jne 0x479790
mov rcx, qword [rbx]
lea r9, [0x00510ce0]
mov rdx, qword [rbx + 8]
lea r8, [rsp + 0x60]
mov dword [rsp + 0x20], 0
add rdx, rcx
call fcn.004b9ca0
test al, al
mov rcx, qword [rsp + 0x60]
je 0x47922c
movabs r8, 0xaaaaaaaaaaaaaaab
mov rdx, qword [rsp + 0x68]
mov rax, rdx
sub rax, rcx
sar rax, 3
imul rax, r8
sub rax, 3
cmp rdx, rcx
je 0x47921a
cmp rax, 1
ja 0x479730
lea rax, [rax + rax*2]
lea rax, [rcx + rax*8]
cmp byte [rax + 0x10], 0
jne 0x47973e
lea rbx, [rsp + 0x40]
mov byte [rsp + 0x50], 0
mov qword [rsp + 0x48], 0
lea rax, [rbx + 0x10]
mov qword [rsp + 0x40], rax
test rcx, rcx
je 0x479252
call sym.operator_delete_void_
mov rcx, rbp
mov rdx, rbx
add rbp, 8
call sym._ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEESt4pairIKS5_S5_ESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4fi
cmp rax, rbp
je 0x4792b0
lea rdx, [rsi + 0x10]
mov rcx, rsi
mov qword [rsi], rdx
mov rdx, qword [rax + 0x40]
mov r8, qword [rax + 0x48]
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_.constprop.3684_
mov rcx, qword [rsp + 0x40]
add rbx, 0x10
cmp rcx, rbx
je 0x479293
call sym.operator_delete_void_
mov rax, rsi
add rsp, 0x88
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
ret
mov r8, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
test r8, r8
je 0x479970
add r8, rdx
xor eax, eax
nop dword [rax + rax]
mov ecx, eax
add rdx, 1
shl ecx, 5
add eax, ecx
movzx ecx, byte [rdx - 1]
and eax, 0x3ffffff
xor eax, ecx
cmp rdx, r8
jne 0x4792d0
cmp eax, 0x1e692
je 0x479918
ja 0x479350
cmp eax, 0x1d0f2
je 0x47992c
jbe 0x479440
cmp eax, 0x1de2e
je 0x479940
jbe 0x4793e0
cmp eax, 0x1e147
je 0x479954
ja 0x4793c0
cmp eax, 0x1dee6
jne 0x4793a0
lea rdx, str.font_ttf
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x3af938
je 0x479864
jbe 0x4795c0
cmp eax, 0x409771
je 0x479878
ja 0x479530
cmp eax, 0x3e2ddd
je 0x4793cb
ja 0x479560
cmp eax, 0x3dad1f
jne 0x479420
lea rdx, str.video_mpeg
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1e078
jne 0x479970
lea rdx, str.text_plain
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1e25b
jne 0x479480
lea rdx, str.image_tiff
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1d5fd
je 0x479890
jbe 0x479580
cmp eax, 0x1db34
je 0x4798a4
cmp eax, 0x1de29
jne 0x479970
lea rdx, str.video_mp4
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x3daddb
jne 0x479970
lea rdx, str.audio_mpeg
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1a2c6
je 0x4798c0
jbe 0x4794f0
cmp eax, 0x1b288
je 0x4798d4
ja 0x4794c0
cmp eax, 0x1a6df
jne 0x4794a0
lea rdx, str.image_bmp
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1e322
jne 0x479970
lea rdx, str.image_svgxml
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1b0f1
jne 0x479970
lea rdx, str.text_html
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1c97d
je 0x479864
cmp eax, 0x1cb45
jne 0x479970
lea rdx, str.image_x_icon
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0xd3d
je 0x4798f0
jbe 0x479600
cmp eax, 0xdd9
je 0x4798a4
cmp eax, 0x1a2c3
jne 0x479970
lea rdx, str.text_css
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x40c278
je 0x479904
ja 0x4796c0
cmp eax, 0x40977d
jne 0x4796a0
lea rdx, str.video_webm
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x3ff093
jne 0x4795a0
lea rdx, str.application_xsltxml
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1d1b9
jne 0x479970
lea rdx, str.image_png
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x409760
jne 0x479970
lea rdx, str.image_webp
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x20a43
je 0x4799a4
jbe 0x479670
cmp eax, 0x372b57
je 0x479850
ja 0x479640
cmp eax, 0x371b38
jne 0x479620
lea rdx, str.image_apng
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x76d
jne 0x479970
lea rdx, str.application_x_7z_compressed
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x372318
jne 0x479970
lea rdx, str.image_avif
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x37cf7d
je 0x4794ab
cmp eax, 0x3adb38
jne 0x479970
lea rdx, str.application_json
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1f1d9
je 0x479990
jbe 0x479710
cmp eax, 0x1f580
jne 0x4796f0
lea rdx, str.audio_wave
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x40a648
jne 0x479970
lea rdx, str.application_wasm
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x43cec5
je 0x47971b
cmp eax, 0x59114a
jne 0x479970
lea rdx, str.font_woff2
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1f7f6
jne 0x479970
lea rdx, str.text_vtt
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
cmp eax, 0x1f164
jne 0x479970
lea rdx, str.application_xhtmlxml
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rax, [rcx + 0x18]
cmp byte [rax + 0x10], 0
je 0x47922c
mov r13, qword [rax]
lea rbx, [rsp + 0x40]
mov r12, qword [rax + 8]
lea rax, [rbx + 0x10]
mov qword [rsp + 0x40], rax
sub r12, r13
cmp r12, 0xf
mov qword [rsp + 0x38], r12
ja 0x479810
cmp r12, 1
jne 0x479800
movzx edx, byte [r13]
mov byte [rsp + 0x50], dl
mov qword [rsp + 0x48], r12
mov byte [rax + r12], 0
mov rcx, qword [rsp + 0x60]
jmp 0x479248
lea r12, [rsp + 0x30]
mov rcx, r12
call fcn.00443cc8
lea rcx, [0x00510ce8]
mov rdx, r12
mov dword [0x00510ce0], 0x10
call sym.std::locale::locale_std::locale_const_
mov eax, dword [0x00510ce0]
lea r9, [0x00510ce8]
lea r8, [0x00517d00]
lea rdx, [r8 - 0x11]
lea rcx, [r9 + 8]
mov dword [rsp + 0x20], eax
call sym._ZNSt8__detail13__compile_nfaINSt7__cxx1112regex_traitsIcEEPKcEENSt9enable_ifIXsrNS_27__is_contiguous_normal_iterIT0_EE5valueE
mov rcx, r12
call sym.std::locale::locale__
lea rcx, [0x0050f780]
call sym.__cxa_guard_release
lea rcx, [sym.__tcf_5]
call sym.atexit
jmp 0x4791be
test r12, r12
je 0x479778
jmp 0x47982f
lea rdx, [rsp + 0x38]
xor r8d, r8d
mov rcx, rbx
call sym.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___::_M_create_unsigned_long_long__unsigned_long_long_
mov rdx, qword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x50], rdx
mov r8, r12
mov rdx, r13
mov rcx, rax
call sym.memcpy
mov r12, qword [rsp + 0x38]
mov rax, qword [rsp + 0x40]
jmp 0x479778
lea rdx, str.application_atomxml
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.image_jpeg
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.audio_webm
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.font_otf
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.text_javascript
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.text_csv
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.image_gif
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.application_gzip
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.font_woff
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.application_rssxml
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.application_pdf
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.audio_mp3
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.application_x_tar
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rax, [rsi + 0x10]
mov rcx, rsi
mov qword [rsi], rax
mov rdx, qword [rdi]
mov r8, qword [rdi + 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_.constprop.3684_
jmp 0x479280
lea rdx, str.application_xml
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280
lea rdx, str.application_zip
mov rcx, rsi
call method.std::__cxx11::basic_string_char__std::char_traits_char___std::allocator_char___.basic_string_char_const__std::allocator_char__const___clone_.isra.1540_
jmp 0x479280