Function at 0x4eaf70
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x88
movdqa xmmword [rsp + 0x70], xmm6
mov r14, qword [rcx + 0x18]
mov rax, r14
inc rax
je 0x4eb80a
mov rdi, rcx
movdqa xmm6, xmmword [rdx]
mov rsi, qword [rcx + 8]
lea r15, [rsi + 1]
mov rdx, r15
shr rdx, 3
mov rcx, r15
and rcx, 0xfffffffffffffff8
sub rcx, rdx
cmp rsi, 8
cmovb rcx, rsi
mov rdx, rcx
shr rdx, 1
cmp rax, rdx
mov qword [rsp + 0x30], rdi
jbe 0x4eaff9
inc rcx
cmp rax, rcx
cmova rcx, rax
cmp rcx, 8
mov qword [rsp + 0x48], r15
jae 0x4eb026
xor eax, eax
cmp rcx, 4
setae al
lea rbx, [rax*4 + 4]
jmp 0x4eb074
mov rbx, qword [rdi]
mov rcx, r15
shr rcx, 4
xor eax, eax
test r15b, 0xf
setne al
add rax, rcx
je 0x4eb34a
cmp rax, 1
jne 0x4eb2e7
xor ecx, ecx
jmp 0x4eb334
movabs rax, 0x1ffffffffffffffe
or rax, 1
cmp rcx, rax
ja 0x4eb80a
shl rcx, 3
movabs rdx, 0x2492492492492493
mov rax, rcx
mul rdx
sub rcx, rdx
shr rcx, 1
add rcx, rdx
shr rcx, 2
dec rcx
bsr rcx, rcx
not ecx
mov rbx, 0xffffffffffffffff
shr rbx, cl
inc rbx
mov ecx, 0x18
mov rax, rbx
mul rcx
jo 0x4eb80a
mov r12, rax
add r12, 0xf
and r12, 0xfffffffffffffff0
lea r13, [rbx + 0x10]
mov r15, r12
add r15, r13
jb 0x4eb80a
movabs rax, 0x7ffffffffffffff0
cmp r15, rax
ja 0x4eb80a
test r15, r15
je 0x4eb0d9
movzx eax, byte [0x0083c308]
xor ecx, ecx
mov rdx, r15
call sym.std::sys::pal::windows::alloc::process_heap_alloc::h5a8f05db6a24897c
mov rbp, rax
test rax, rax
jne 0x4eb0de
mov rcx, r15
call sym.hashbrown::raw::Fallibility::alloc_err::hf6756c1c32550c91
mov ebp, 0x10
lea rdi, [rbx - 1]
mov rax, rbx
shr rax, 3
mov rcx, rbx
and rcx, 0xfffffffffffffff8
sub rcx, rax
cmp rbx, 9
cmovb rcx, rdi
mov qword [rsp + 0x38], rcx
lea r15, [rbp + r12]
mov rcx, r15
mov dl, 0xff
mov r8, r13
call fcn.006f6398
test r14, r14
je 0x4eb27b
lea rax, [r12 + rbp]
add rax, 0xffffffffffffffe8
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax]
movdqa xmm0, xmmword [rbx]
pmovmskb ebp, xmm0
not ebp
lea rax, [rbx - 0x18]
mov qword [rsp + 0x50], rax
mov r13, r14
xor r14d, r14d
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x40], r13
jmp 0x4eb1b8
lea ecx, [rbp - 1]
and ecx, ebp
dec r13
shr rax, 0x39
lea r8, [rdx - 0x10]
and r8, rdi
mov byte [r15 + rdx], al
mov byte [r15 + r8 + 0x10], al
shl r12, 3
lea rax, [r12 + r12*2]
mov r8, qword [rsp + 0x50]
sub r8, rax
shl rdx, 3
lea rax, [rdx + rdx*2]
mov rdx, qword [rsp + 0x58]
sub rdx, rax
mov rax, qword [r8 + 0x10]
mov qword [rdx + 0x10], rax
movdqu xmm0, xmmword [r8]
movdqu xmmword [rdx], xmm0
mov ebp, ecx
test r13, r13
je 0x4eb26f
test bp, bp
jne 0x4eb1db
nop dword [rax]
movdqa xmm0, xmmword [rbx + 0x10]
add rbx, 0x10
pmovmskb ebp, xmm0
add r14, 0x10
cmp ebp, 0xffff
je 0x4eb1c0
not ebp
tzcnt r12d, ebp
add r12, r14
mov rax, r12
neg rax
lea rax, [rax + rax*2]
mov rcx, qword [rsp + 0x28]
mov rdx, qword [rcx + rax*8 - 0x18]
mov r8, qword [rcx + rax*8 - 0x10]
movdqa xmmword [rsp + 0x60], xmm6
lea rcx, [rsp + 0x60]
call sym.core::hash::BuildHasher::hash_one::h69645b421422c992
mov rcx, rax
and rcx, rdi
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb edx, xmm0
test edx, edx
jne 0x4eb248
mov r8d, 0x10
nop word cs:[rax + rax]
add rcx, r8
and rcx, rdi
movdqu xmm0, xmmword [r15 + rcx]
pmovmskb edx, xmm0
add r8, 0x10
test edx, edx
je 0x4eb230
tzcnt edx, edx
add rdx, rcx
and rdx, rdi
cmp byte [r15 + rdx], 0
js 0x4eb160
movdqa xmm0, xmmword [r15]
pmovmskb ecx, xmm0
tzcnt edx, ecx
jmp 0x4eb160
mov rax, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x40]
jmp 0x4eb28a
mov rax, qword [rsp + 0x30]
mov rcx, qword [rax]
mov qword [rsp + 0x28], rcx
xor ecx, ecx
mov rdx, qword [rsp + 0x38]
sub rdx, rcx
mov qword [rax], r15
mov qword [rax + 8], rdi
mov qword [rax + 0x10], rdx
mov qword [rax + 0x18], rcx
test rsi, rsi
je 0x4eb7e3
mov ecx, 0x18
mov rax, qword [rsp + 0x48]
mul rcx
add rax, 0xf
and rax, 0xfffffffffffffff0
add rsi, rax
cmp rsi, 0xffffffffffffffef
je 0x4eb7e3
mov r8, qword [rsp + 0x28]
sub r8, rax
mov rcx, qword [0x0083c108]
xor edx, edx
call fcn.006f5b74
jmp 0x4eb7e3
movabs rdx, 0x1ffffffffffffffe
and rdx, rax
xor ecx, ecx
movdqa xmm0, xmmword [0x0071fc40]
nop
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + rcx]
por xmm1, xmm0
movdqa xmmword [rbx + rcx], xmm1
pxor xmm1, xmm1
pcmpgtb xmm1, xmmword [rbx + rcx + 0x10]
por xmm1, xmm0
movdqa xmmword [rbx + rcx + 0x10], xmm1
add rcx, 0x20
add rdx, 0xfffffffffffffffe
jne 0x4eb300
test al, 1
je 0x4eb34a
pxor xmm0, xmm0
pcmpgtb xmm0, xmmword [rbx + rcx]
por xmm0, xmmword [0x0071fc40]
movdqa xmmword [rbx + rcx], xmm0
cmp r15, 0x10
jae 0x4eb36b
lea rcx, [rbx + 0x10]
mov rdx, rbx
mov r8, r15
call sub.msvcrt.dll_memmove
test r15, r15
jne 0x4eb375
xor eax, eax
jmp 0x4eb7dc
movdqu xmm0, xmmword [rbx]
movdqu xmmword [rbx + r15], xmm0
pshufd xmm0, xmm6, 0x44
pxor xmm0, xmmword [0x0071fc50]
pshufd xmm1, xmm6, 0xee
pxor xmm1, xmmword [0x0071fc60]
pshufd xmm2, xmm1, 0xee
movq qword [rsp + 0x28], xmm2
movq r10, xmm1
paddq xmm1, xmm0
rol r10, 0xd
movq rax, xmm1
xor r10, rax
rol rax, 0x20
mov qword [rsp + 0x50], rax
pshufd xmm0, xmm0, 0xee
mov qword [rsp + 0x58], r10
rol r10, 0x11
movq qword [rsp + 0x38], xmm0
mov rax, qword [rdi]
mov qword [rsp + 0x48], rax
xor r15d, r15d
jmp 0x4eb404
shr r14, 0x39
lea rax, [r15 - 0x10]
and rax, rsi
mov byte [rbx + r15], r14b
mov byte [rbx + rax + 0x10], r14b
lea rax, [r15 + 1]
cmp r15, rsi
mov r15, rax
je 0x4eb7b5
cmp byte [rbx + r15], 0x80
jne 0x4eb3f4
lea rax, [r15*8]
lea rax, [rax + rax*2]
mov rdi, rbx
sub rdi, rax
lea rax, [rdi - 0x18]
mov qword [rsp + 0x40], rax
mov rax, r15
neg rax
lea rbp, [rax + rax*2]
mov rax, rbx
nop word cs:[rax + rax]
mov r12, qword [rax + rbp*8 - 0x18]
mov r8, qword [rax + rbp*8 - 0x10]
add r12, 0x10
mov rcx, r8
xor rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x38]
add rax, rcx
rol rcx, 0x10
xor rcx, rax
add rax, qword [rsp + 0x58]
mov rdx, rax
rol rdx, 0x20
mov r9, qword [rsp + 0x50]
add r9, rcx
xor rax, r10
rol rcx, 0x15
xor rcx, r9
xor r9, r8
mov r13, r8
and r13, 0xfffffffffffffff8
je 0x4eb530
xor r14d, r14d
nop word cs:[rax + rax]
add r9, rax
rol rax, 0xd
mov r11, qword [r12 + r14]
xor rax, r9
rol r9, 0x20
xor rcx, r11
add rdx, rcx
rol rcx, 0x10
xor rcx, rdx
add r9, rcx
rol rcx, 0x15
add rdx, rax
rol rax, 0x11
xor rax, rdx
rol rdx, 0x20
xor rcx, r9
xor r9, r11
add r14, 8
cmp r14, r13
jb 0x4eb4a0
movq xmm1, rcx
movq xmm0, rax
punpcklqdq xmm0, xmm1
movq xmm2, rdx
movq xmm1, r9
punpcklqdq xmm1, xmm2
mov r9d, r8d
and r9d, 7
cmp r9d, 4
jb 0x4eb55c
mov edx, dword [r12 + r14]
mov eax, 4
mov rcx, rax
or rcx, 1
cmp rcx, r9
jb 0x4eb56c
jmp 0x4eb586
movq xmm1, rcx
movq xmm0, rax
punpcklqdq xmm0, xmm1
movq xmm1, r9
movq xmm2, rdx
punpcklqdq xmm1, xmm2
xor r14d, r14d
mov r9d, r8d
and r9d, 7
cmp r9d, 4
jae 0x4eb50c
xor edx, edx
xor eax, eax
mov rcx, rax
or rcx, 1
cmp rcx, r9
jae 0x4eb586
lea rcx, [r12 + rax]
movzx r13d, word [r14 + rcx]
lea ecx, [rax*8]
shl r13, cl
or rdx, r13
or rax, 2
cmp rax, r9
jae 0x4eb59e
add r14, rax
movzx r9d, byte [r12 + r14]
shl eax, 3
mov ecx, eax
shl r9, cl
or rdx, r9
pshufd xmm2, xmm1, 0xee
movq rax, xmm2
movq rcx, xmm0
pshufd xmm2, xmm0, 0xee
movq r12, xmm2
shl r8, 0x38
movabs r9, 0x800000000000000
add r8, r9
or r8, rdx
paddq xmm0, xmm1
rol rcx, 0xd
movq r14, xmm0
xor rcx, r14
rol r14, 0x20
xor r12, r8
add rax, r12
rol r12, 0x10
xor r12, rax
add r14, r12
rol r12, 0x15
add rax, rcx
rol rcx, 0x11
xor r12, r14
xor rcx, rax
rol rax, 0x20
xor r14, r8
add r14, rcx
rol rcx, 0xd
xor rcx, r14
rol r14, 0x20
xor rax, 0xff
add rax, r12
rol r12, 0x10
xor r12, rax
add r14, r12
rol r12, 0x15
add rax, rcx
rol rcx, 0x11
xor rcx, rax
rol rax, 0x20
xor r12, r14
add r14, rcx
rol rcx, 0xd
xor rcx, r14
rol r14, 0x20
add rax, r12
rol r12, 0x10
xor r12, rax
add r14, r12
rol r12, 0x15
add rax, rcx
rol rcx, 0x11
xor rcx, rax
rol rax, 0x20
xor r12, r14
add r14, rcx
rol rcx, 0xd
add rax, r12
rol r12, 0x10
xor r12, rax
rol r12, 0x15
xor rcx, r14
add rax, rcx
rol rcx, 0x11
mov r14, rax
rol r14, 0x20
xor r14, rcx
xor r14, r12
xor r14, rax
mov rax, rsi
and rax, r14
movdqu xmm0, xmmword [rbx + rax]
pmovmskb ecx, xmm0
mov rdx, rax
test ecx, ecx
jne 0x4eb6d7
mov r8d, 0x10
mov rdx, rax
nop dword [rax + rax]
add rdx, r8
and rdx, rsi
movdqu xmm0, xmmword [rbx + rdx]
pmovmskb ecx, xmm0
add r8, 0x10
test ecx, ecx
je 0x4eb6c0
tzcnt ecx, ecx
add rcx, rdx
and rcx, rsi
cmp byte [rbx + rcx], 0
js 0x4eb6f3
movdqa xmm0, xmmword [rbx]
pmovmskb ecx, xmm0
tzcnt ecx, ecx
mov rdx, r15
sub rdx, rax
mov r8, rcx
sub r8, rax
xor r8, rdx
and r8, rsi
cmp r8, 0x10
jb 0x4eb3e0
lea rax, [rcx*8]
lea rax, [rax + rax*2]
movzx edx, byte [rbx + rcx]
shr r14, 0x39
lea r8, [rcx - 0x10]
and r8, rsi
mov byte [rbx + rcx], r14b
mov byte [rbx + r8 + 0x10], r14b
cmp dl, 0xff
je 0x4eb780
mov rcx, rbx
sub rcx, rax
mov rax, qword [rdi - 0x18]
mov rdx, qword [rcx - 0x18]
mov qword [rdi - 0x18], rdx
mov qword [rcx - 0x18], rax
mov rax, qword [rdi - 0x10]
mov rdx, qword [rcx - 0x10]
mov qword [rdi - 0x10], rdx
mov qword [rcx - 0x10], rax
mov rax, qword [rdi - 8]
mov rdx, qword [rcx - 8]
mov qword [rdi - 8], rdx
mov qword [rcx - 8], rax
mov rax, qword [rsp + 0x48]
jmp 0x4eb440
neg rax
add rax, rbx
add rax, 0xffffffffffffffe8
lea rcx, [r15 - 0x10]
and rcx, rsi
mov byte [rbx + r15], 0xff
mov byte [rbx + rcx + 0x10], 0xff
mov rdx, qword [rsp + 0x40]
mov rcx, qword [rdx + 0x10]
mov qword [rax + 0x10], rcx
movdqu xmm0, xmmword [rdx]
movdqu xmmword [rax], xmm0
jmp 0x4eb3f4
mov rdi, qword [rsp + 0x30]
mov rcx, qword [rdi + 8]
mov r14, qword [rdi + 0x18]
lea rax, [rcx + 1]
mov rdx, rax
shr rdx, 3
and rax, 0xfffffffffffffff8
sub rax, rdx
cmp rcx, 8
cmovb rax, rcx
sub rax, r14
mov qword [rdi + 0x10], rax
movabs rax, 0x7ffffffffffffff0
add rax, 0x11
movaps xmm6, xmmword [rsp + 0x70]
add rsp, 0x88
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
call sym.hashbrown::raw::Fallibility::capacity_overflow::hd9304ee4acd10dea
int3