Function at 0x1401530c0
Capabilities:
Encode data using xor

Disassembly:
push rsi
push rdi
sub rsp, 0x118
movdqa xmmword [rsp + 0x100], xmm15
movdqa xmmword [rsp + 0xf0], xmm14
movdqa xmmword [rsp + 0xe0], xmm13
movdqa xmmword [rsp + 0xd0], xmm12
movdqa xmmword [rsp + 0xc0], xmm11
movdqa xmmword [rsp + 0xb0], xmm10
movdqa xmmword [rsp + 0xa0], xmm9
movdqa xmmword [rsp + 0x90], xmm8
movdqa xmmword [rsp + 0x80], xmm7
movdqa xmmword [rsp + 0x70], xmm6
mov qword [rsp + 0x30], rdx
mov qword [rsp + 0x38], r9
cmp rdx, r9
jne 0x140153517
test rdx, rdx
je 0x1401533e7
mov rax, rcx
cmp rdx, 4
jae 0x140153155
xor r9d, r9d
jmp 0x14015345d
mov r9, rdx
and r9, 0xfffffffffffffffc
xor ecx, ecx
pxor xmm1, xmm1
pcmpeqd xmm2, xmm2
movdqa xmm4, xmmword [0x14025f150]
movdqa xmm8, xmmword [0x14025f190]
movdqa xmm15, xmmword [0x14021cbf0]
movq xmm9, qword [rax + rcx*2]
movdqa xmm6, xmm9
movdqa xmm0, xmm9
movdqa xmm13, xmm9
pxor xmm7, xmm7
punpcklwd xmm7, xmm9
pand xmm9, xmmword [0x14025f130]
movdqa xmm5, xmm9
pcmpeqw xmm5, xmm1
pxor xmm5, xmm2
punpcklwd xmm10, xmm5
pand xmm6, xmmword [0x14025f140]
pand xmm0, xmm4
pand xmm13, xmmword [0x14025f160]
movdqa xmm3, xmm13
punpcklwd xmm3, xmm1
movdqa xmm5, xmm0
pcmpeqw xmm5, xmm4
movdqa xmm12, xmm13
psrlw xmm12, 1
por xmm12, xmm13
pcmpeqw xmm13, xmm1
pandn xmm13, xmm5
pxor xmm5, xmm2
punpcklwd xmm5, xmm5
pand xmm5, xmm10
pxor xmm10, xmm10
punpcklwd xmm10, xmm6
movdqa xmm6, xmm3
movdqa xmm11, xmm12
psrlw xmm11, 2
por xmm11, xmm12
movdqa xmm12, xmm11
psrlw xmm12, 4
por xmm12, xmm11
movdqa xmm11, xmm12
psrlw xmm11, 8
por xmm11, xmm12
pxor xmm11, xmm2
movdqa xmm12, xmm11
psrlw xmm12, 1
pand xmm12, xmmword [str.UUUUUUUUUUUUUUUU3333333333333333]
psubb xmm11, xmm12
movdqa xmm12, xmm11
pand xmm12, xmm8
psrlw xmm11, 2
pand xmm11, xmm8
paddb xmm11, xmm12
movdqa xmm12, xmm11
psrlw xmm12, 4
paddb xmm12, xmm11
pand xmm12, xmmword [0x14025f1a0]
movdqa xmm11, xmm12
psllw xmm11, 8
paddb xmm11, xmm12
psrlw xmm11, 8
punpcklwd xmm11, xmm1
movdqa xmm12, xmm11
paddd xmm11, xmmword [str._b_b_b_b]
pslld xmm11, 0x17
paddd xmm11, xmmword [0x140206b90]
cvttps2dq xmm11, xmm11
pshufd xmm14, xmm3, 0xf5
pmuludq xmm3, xmm11
pshufd xmm11, xmm11, 0xf5
pmuludq xmm11, xmm14
pshufd xmm3, xmm3, 0xe8
pshufd xmm11, xmm11, 0xe8
punpckldq xmm3, xmm11
movdqa xmm11, xmm0
pcmpeqw xmm11, xmm1
pslld xmm12, 0x17
pand xmm3, xmmword [0x14021cc00]
psubd xmm3, xmm12
punpcklwd xmm12, xmm11
pxor xmm11, xmm2
punpcklwd xmm11, xmm11
psrad xmm11, 0x10
psrad xmm12, 0x10
psrad xmm5, 0x10
pand xmm12, xmm5
pand xmm5, xmm11
pslld xmm6, 0xd
por xmm6, xmm10
paddd xmm3, xmmword [0x14025f1c0]
por xmm3, xmm10
por xmm10, xmm15
pcmpeqw xmm9, xmm4
punpcklwd xmm9, xmm9
psrad xmm9, 0x10
pand xmm10, xmm9
pandn xmm9, xmm7
por xmm9, xmm10
psrlw xmm0, 0xa
paddw xmm0, xmmword [str.pppp]
punpcklwd xmm0, xmm0
pslld xmm0, 0x17
por xmm0, xmm6
por xmm6, xmmword [0x14025f1d0]
punpcklwd xmm7, xmm13
psrad xmm7, 0x10
pand xmm6, xmm7
pandn xmm7, xmm9
por xmm7, xmm6
pand xmm3, xmm12
pandn xmm12, xmm7
por xmm12, xmm3
pand xmm0, xmm5
pandn xmm5, xmm12
por xmm5, xmm0
movdqu xmmword [r8 + rcx*4], xmm5
add rcx, 4
cmp r9, rcx
jne 0x140153180
cmp r9, rdx
jne 0x14015345d
movaps xmm6, xmmword [rsp + 0x70]
movaps xmm7, xmmword [rsp + 0x80]
movaps xmm8, xmmword [rsp + 0x90]
movaps xmm9, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm11, xmmword [rsp + 0xc0]
movaps xmm12, xmmword [rsp + 0xd0]
movaps xmm13, xmmword [rsp + 0xe0]
movaps xmm14, xmmword [rsp + 0xf0]
movaps xmm15, xmmword [rsp + 0x100]
add rsp, 0x118
pop rdi
pop rsi
ret
shl r11d, 0x10
mov dword [r8 + r10*4], r11d
cmp rdx, r9
je 0x1401533e7
mov r10, r9
inc r9
movzx ecx, word [rax + r10*2]
movzx r11d, cx
test ecx, 0x7fff
je 0x140153450
mov esi, r11d
and esi, 0x8000
mov ecx, r11d
and ecx, 0x7c00
and r11d, 0x3ff
shl esi, 0x10
cmp ecx, 0x7c00
jne 0x1401534b0
test r11w, r11w
je 0x1401534d1
shl r11d, 0xd
or esi, r11d
or esi, 0x7fc00000
mov r11d, esi
jmp 0x140153454
test cx, cx
je 0x1401534df
movzx ecx, cx
shl ecx, 0xd
and ecx, 0xf800000
shl r11d, 0xd
add r11d, ecx
add r11d, 0x38000000
jmp 0x14015350f
or esi, 0x7f800000
mov r11d, esi
jmp 0x140153454
test r11w, r11w
je 0x1401534ef
bsr cx, r11w
xor ecx, 0xf
jmp 0x1401534f3
mov cx, reloc.WS2_32.dll_recv
mov edi, ecx
shl edi, 0x17
add cl, 8
shl r11d, cl
and r11d, 0x7fffff
sub r11d, edi
add r11d, 0x3b000000
or r11d, esi
jmp 0x140153454
lea rax, str.destination_and_source_slices_have_different_lengths
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x48], 1
lea rax, str.destination_and_source_slices_have_different_lengths
mov qword [rsp + 0x50], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x58], xmm0
lea rax, str.C:Usershp.cargo_registry_srcindex.crates.io_6f17d22bba15001fhalf_2.2.1_src_slice.rs_
mov qword [rsp + 0x20], rax
lea rdx, [rsp + 0x30]
lea r8, [rsp + 0x38]
lea r9, [rsp + 0x40]
xor ecx, ecx
call fcn.1401f6b90
ud2