Function at 0x140091b50
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x58
mov r9, rcx
mov rcx, qword [rcx + 0x18]
add rdx, rcx
jae 0x140091b7b
mov cl, 1
call sym.hashbrown::raw::Fallibility::capacity_overflow::h79857a5f377bd9e9
mov r15, rax
jmp 0x140091ff0
mov rsi, qword [r9 + 8]
lea rdi, [rsi + 1]
mov rax, rdi
shr rax, 3
mov r14, rdi
and r14, 0xfffffffffffffff8
sub r14, rax
cmp rsi, 8
cmovb r14, rsi
mov rax, r14
shr rax, 1
cmp rdx, rax
mov qword [rsp + 0x30], rcx
jbe 0x140091bd2
inc r14
cmp rdx, r14
cmova r14, rdx
cmp r14, 8
jae 0x140091bfb
xor eax, eax
cmp r14, 4
setae al
lea r8, [rax*4 + 4]
jmp 0x14009202c
mov r15, qword [r9]
mov rcx, rdi
shr rcx, 4
xor eax, eax
test dil, 0xf
setne al
add rax, rcx
je 0x140091cd3
cmp rax, 1
jne 0x140091c5e
xor edx, edx
jmp 0x140091cb7
movabs rax, 0x1ffffffffffffffe
add rax, 2
cmp r14, rax
jae 0x140092004
shl r14, 3
mov r8d, 1
cmp r14, 0xe
jb 0x14009202c
movabs rcx, 0x2492492492492493
mov rax, r14
mul rcx
sub r14, rdx
shr r14, 1
add r14, rdx
shr r14, 2
dec r14
bsr rcx, r14
not ecx
mov r8, 0xffffffffffffffff
shr r8, cl
inc r8
jmp 0x14009202c
movabs rcx, 0x1ffffffffffffffe
and rcx, rax
xor r8d, r8d
movdqa xmm0, xmmword [0x140183500]
nop word cs:[rax + rax]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + r8]
por xmm1, xmm0
movdqa xmmword [r15 + r8], xmm1
lea rdx, [r8 + 0x20]
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [r15 + r8 + 0x10]
por xmm1, xmm0
movdqa xmmword [r15 + r8 + 0x10], xmm1
mov r8, rdx
add rcx, 0xfffffffffffffffe
jne 0x140091c80
test al, 1
je 0x140091cd3
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [r15 + rdx]
por xmm0, xmmword [0x140183500]
movdqa xmmword [r15 + rdx], xmm0
cmp rdi, 0x10
jae 0x140091cfc
lea rcx, [r15 + 0x10]
mov rdx, r15
mov r8, rdi
mov rdi, r9
call sub.msvcrt.dll_memmove
mov r9, rdi
cmp rsi, 0xffffffffffffffff
jne 0x140091d07
xor r14d, r14d
jmp 0x140091fdd
movdqu xmm0, xmmword [r15]
movdqu xmmword [r15 + rdi], xmm0
movabs rax, 0x517cc1b727220a95
movabs rcx, 0x3ffffffffffffffc
mov qword [rsp + 0x28], r9
mov rdx, qword [r9]
xor r8d, r8d
jmp 0x140091d54
shr r11, 0x39
lea r9, [r8 - 0x10]
and r9, rsi
mov byte [r15 + r8], r11b
mov byte [r9 + r15 + 0x10], r11b
lea r9, [r8 + 1]
cmp r8, rsi
mov r8, r9
je 0x140091fd8
cmp byte [r15 + r8], 0x80
jne 0x140091d44
lea r9, [r8*8]
lea r10, [r9 + r9*2]
mov r9, r15
sub r9, r10
add r9, 0xffffffffffffffe8
mov r10, r8
neg r10
mov r11, r15
nop word [rax + rax]
lea rbx, [r10 + r10*2]
mov rdi, qword [r11 + rbx*8 - 0x18]
mov rbx, qword [r11 + rbx*8 - 0x10]
cmp rbx, 8
jb 0x140091db0
lea r11, [rbx - 8]
mov r12, r11
shr r12, 3
inc r12
cmp r11, 0x18
jae 0x140091dc0
xor r11d, r11d
jmp 0x140091e0d
xor r11d, r11d
jmp 0x140091e3b
mov r13, r12
and r13, rcx
xor r11d, r11d
nop dword [rax]
rol r11, 5
xor r11, qword [rdi]
imul r11, rax
rol r11, 5
xor r11, qword [rdi + 8]
imul r11, rax
rol r11, 5
xor r11, qword [rdi + 0x10]
imul r11, rax
rol r11, 5
xor r11, qword [rdi + 0x18]
imul r11, rax
add rbx, 0xffffffffffffffe0
add rdi, 0x20
add r13, 0xfffffffffffffffc
jne 0x140091dd0
and r12d, 3
je 0x140091e3b
shl r12, 3
xor r13d, r13d
nop word [rax + rax]
rol r11, 5
xor r11, qword [rdi + r13]
imul r11, rax
add r13, 8
cmp r12, r13
jne 0x140091e20
add rdi, r13
sub rbx, r13
cmp rbx, 3
ja 0x140091f60
cmp rbx, 2
jae 0x140091f80
test rbx, rbx
je 0x140091e62
movzx edi, byte [rdi]
rol r11, 5
xor r11, rdi
imul r11, rax
rol r11, 5
xor r11, 0xff
imul r11, rax
mov rdi, r11
and rdi, rsi
movdqu xmm0, xmmword [r15 + rdi]
pmovmskb ebx, xmm0
mov r12, rdi
test ebx, ebx
jne 0x140091eb8
mov r13d, 0x10
mov r12, rdi
nop word cs:[rax + rax]
add r12, r13
and r12, rsi
movdqu xmm0, xmmword [r15 + r12]
pmovmskb ebx, xmm0
add r13, 0x10
test ebx, ebx
je 0x140091ea0
tzcnt ebx, ebx
add rbx, r12
and rbx, rsi
cmp byte [r15 + rbx], 0
js 0x140091ed6
movdqa xmm0, xmmword [r15]
pmovmskb ebx, xmm0
tzcnt ebx, ebx
mov r12, r8
sub r12, rdi
mov r13, rbx
sub r13, rdi
xor r13, r12
and r13, rsi
cmp r13, 0x10
jb 0x140091d30
lea rdi, [rbx*8]
lea rdi, [rdi + rdi*2]
neg rdi
add rdi, r15
add rdi, 0xffffffffffffffe8
movzx ebp, byte [r15 + rbx]
shr r11, 0x39
lea r12, [rbx - 0x10]
and r12, rsi
mov byte [r15 + rbx], r11b
mov byte [r12 + r15 + 0x10], r11b
cmp bpl, 0xff
je 0x140091fb0
mov r11, qword [r9]
mov rbx, qword [rdi]
mov qword [r9], rbx
mov qword [rdi], r11
mov r11, qword [r9 + 8]
mov rbx, qword [rdi + 8]
mov qword [r9 + 8], rbx
mov qword [rdi + 8], r11
mov r11, qword [r9 + 0x10]
mov rbx, qword [rdi + 0x10]
mov qword [r9 + 0x10], rbx
mov qword [rdi + 0x10], r11
mov r11, rdx
jmp 0x140091d80
mov r12d, dword [rdi]
rol r11, 5
xor r11, r12
imul r11, rax
add rbx, 0xfffffffffffffffc
add rdi, 4
cmp rbx, 2
jb 0x140091e4f
movzx r12d, word [rdi]
rol r11, 5
xor r11, r12
imul r11, rax
add rbx, 0xfffffffffffffffe
add rdi, 2
test rbx, rbx
jne 0x140091e54
jmp 0x140091e62
lea r10, [r8 - 0x10]
and r10, rsi
mov byte [r15 + r8], 0xff
mov byte [r10 + r15 + 0x10], 0xff
mov r10, qword [r9 + 0x10]
mov qword [rdi + 0x10], r10
movdqu xmm0, xmmword [r9]
movdqu xmmword [rdi], xmm0
jmp 0x140091d44
mov r9, qword [rsp + 0x28]
movabs r15, 0x8000000000000001
sub r14, qword [rsp + 0x30]
mov qword [r9 + 0x10], r14
mov rax, r15
add rsp, 0x58
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rbx, rdi
mov rdi, r9
mov cl, 1
call sym.hashbrown::raw::Fallibility::capacity_overflow::h79857a5f377bd9e9
mov r15, rax
movabs rax, 0x8000000000000001
cmp r15, rax
jne 0x140091ff0
mov r8, rdx
mov r9, rdi
mov rdi, rbx
mov ecx, 0x18
mov rax, r8
mul rcx
jo 0x140091b6c
mov r13, rax
add r13, 0xf
and r13, 0xfffffffffffffff0
lea rbp, [r8 + 0x10]
mov r12, r13
add r12, rbp
jb 0x140091b6c
movabs r15, 0x8000000000000001
lea rax, [r15 - 0x11]
cmp r12, rax
ja 0x140091b6c
test r12, r12
mov qword [rsp + 0x28], r9
je 0x1400920b5
mov rax, qword [0x1401a3298]
movzx eax, byte [rax]
mov edx, 0x10
mov rcx, r12
mov rbx, r8
call sym.__rust_alloc
mov r8, rbx
mov r14, rax
test rax, rax
jne 0x1400920bb
mov edx, 0x10
mov cl, 1
mov r8, r12
call sym.hashbrown::raw::Fallibility::alloc_err::h19088f3351c822e9
mov r15, rax
jmp 0x140091ff0
mov r14d, 0x10
mov qword [rsp + 0x40], rdi
lea r12, [r8 - 1]
mov rax, r8
shr rax, 3
and r8, 0xfffffffffffffff8
sub r8, rax
cmp r12, 8
cmovb r8, r12
mov qword [rsp + 0x48], r8
add r14, r13
mov rcx, r14
mov dl, 0xff
mov r8, rbp
call sub.msvcrt.dll_memset
mov rax, qword [rsp + 0x28]
mov rax, qword [rax]
mov qword [rsp + 0x38], rax
cmp qword [rsp + 0x30], 0
je 0x140092383
mov r10, qword [rsp + 0x38]
lea rax, [r10 - 0x18]
mov qword [rsp + 0x50], rax
movabs rdx, 0x517cc1b727220a95
movdqa xmm0, xmmword [r10]
pmovmskb r13d, xmm0
not r13d
xor r9d, r9d
mov r11, qword [rsp + 0x30]
jmp 0x1400921a6
lea eax, [r13 - 1]
and eax, r13d
dec r11
shr r8, 0x39
lea rdi, [rcx - 0x10]
and rdi, r12
mov byte [r14 + rcx], r8b
mov byte [rdi + r14 + 0x10], r8b
shl rbp, 3
lea r8, [rbp*2]
add r8, rbp
mov rdi, qword [rsp + 0x38]
sub rdi, r8
shl rcx, 3
lea rcx, [rcx + rcx*2]
mov r8, r14
sub r8, rcx
neg rcx
movdqu xmm0, xmmword [rdi - 0x18]
movdqu xmmword [r14 + rcx - 0x18], xmm0
mov rcx, qword [rdi - 8]
mov qword [r8 - 8], rcx
mov r13d, eax
test r11, r11
je 0x140092383
test r13w, r13w
jne 0x1400921cf
nop dword [rax]
movdqa xmm0, xmmword [r10 + 0x10]
add r10, 0x10
pmovmskb r13d, xmm0
add r9, 0x10
cmp r13d, 0xffff
je 0x1400921b0
not r13d
tzcnt ebp, r13d
add rbp, r9
mov rax, rbp
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x50]
mov rdi, qword [rcx + rax*8]
mov rbx, qword [rcx + rax*8 + 8]
cmp rbx, 8
jb 0x140092210
lea rax, [rbx - 8]
mov rcx, rax
shr rcx, 3
inc rcx
cmp rax, 0x18
jae 0x140092220
xor r8d, r8d
jmp 0x14009227d
xor r8d, r8d
jmp 0x1400922ab
mov rax, rcx
movabs r8, 0x3ffffffffffffffc
and rax, r8
xor r8d, r8d
nop word cs:[rax + rax]
rol r8, 5
xor r8, qword [rdi]
imul r8, rdx
rol r8, 5
xor r8, qword [rdi + 8]
imul r8, rdx
rol r8, 5
xor r8, qword [rdi + 0x10]
imul r8, rdx
rol r8, 5
xor r8, qword [rdi + 0x18]
imul r8, rdx
add rbx, 0xffffffffffffffe0
add rdi, 0x20
add rax, 0xfffffffffffffffc
jne 0x140092240
and ecx, 3
je 0x1400922ab
shl rcx, 3
xor eax, eax
nop dword [rax + rax]
rol r8, 5
xor r8, qword [rdi + rax]
imul r8, rdx
add rax, 8
cmp rcx, rax
jne 0x140092290
add rdi, rax
sub rbx, rax
cmp rbx, 3
ja 0x140092340
cmp rbx, 2
jae 0x14009235f
test rbx, rbx
je 0x1400922d2
movzx eax, byte [rdi]
rol r8, 5
xor r8, rax
imul r8, rdx
rol r8, 5
xor r8, 0xff
imul r8, rdx
mov rax, r8
and rax, r12
movdqu xmm0, xmmword [r14 + rax]
pmovmskb ecx, xmm0
test ecx, ecx
jne 0x140092318
mov edi, 0x10
nop word [rax + rax]
add rax, rdi
and rax, r12
movdqu xmm0, xmmword [r14 + rax]
pmovmskb ecx, xmm0
add rdi, 0x10
test ecx, ecx
je 0x140092300
tzcnt ecx, ecx
add rcx, rax
and rcx, r12
cmp byte [r14 + rcx], 0
js 0x140092140
movdqa xmm0, xmmword [r14]
pmovmskb eax, xmm0
tzcnt ecx, eax
jmp 0x140092140
mov eax, dword [rdi]
rol r8, 5
xor r8, rax
imul r8, rdx
add rbx, 0xfffffffffffffffc
add rdi, 4
cmp rbx, 2
jb 0x1400922bf
movzx eax, word [rdi]
rol r8, 5
xor r8, rax
imul r8, rdx
add rbx, 0xfffffffffffffffe
add rdi, 2
test rbx, rbx
jne 0x1400922c4
jmp 0x1400922d2
mov rcx, qword [rsp + 0x48]
sub rcx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x28]
mov qword [rax], r14
mov qword [rax + 8], r12
mov qword [rax + 0x10], rcx
test rsi, rsi
je 0x140091ff0
mov ecx, 0x18
mov rax, qword [rsp + 0x40]
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rsi, rax
add rsi, 0x11
je 0x140091ff0
mov rcx, qword [rsp + 0x38]
sub rcx, rax
mov r8d, 0x10
mov rdx, rsi
call sym.__rust_dealloc
jmp 0x140091ff0