Function at 0x1402368e0
Capabilities:
Encode data using xor

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x48]
sub rsp, 0x120
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
movaps xmmword [rax - 0x68], xmm9
movaps xmmword [rax - 0x78], xmm10
mov rax, qword [0x1404b0028]
xor rax, rsp
mov qword [rbp - 0x40], rax
movdqa xmm10, xmmword [0x140317920]
lea rax, [rbp - 0x60]
movdqa xmm8, xmmword [0x14043b950]
xorps xmm7, xmm7
movdqa xmm6, xmmword [0x14043b970]
movdqa xmm9, xmm10
mov qword [rsp + 0x18], rdx
lea rdx, [rbp - 0x60]
sub rcx, rdx
mov byte [rsp + 1], r9b
mov edx, 2
mov byte [rsp], r8b
nop dword [rax + rax]
movdqu xmm5, xmmword [rcx + rax]
movdqa xmm4, xmm6
movdqa xmm2, xmm8
pand xmm2, xmm5
pand xmm4, xmm5
pcmpeqw xmm2, xmm8
pcmpeqw xmm4, xmm7
pandn xmm4, xmm9
movdqa xmm0, xmm10
pxor xmm0, xmm2
movdqa xmm3, xmm4
pand xmm3, xmm0
pandn xmm4, xmm0
movdqu xmm0, xmmword [rax]
movdqa xmm1, xmm6
pand xmm1, xmm2
pandn xmm2, xmm0
por xmm1, xmm2
movdqa xmm0, xmm5
pandn xmm0, xmm9
movdqa xmm2, xmm3
pandn xmm2, xmm1
pand xmm0, xmm3
por xmm2, xmm0
movdqa xmm1, xmm4
movdqa xmm0, xmm6
pandn xmm1, xmm2
por xmm0, xmm5
pand xmm0, xmm4
por xmm1, xmm0
movdqu xmmword [rax], xmm1
add rax, 0x10
sub rdx, 1
jne 0x140236970
xor edi, edi
cmp dword [0x1404b0008], 2
movzx ecx, di
jl 0x140236a5b
movdqu xmm0, xmmword [rbp - 0x60]
movdqa xmm1, xmm7
pmaxuw xmm1, xmm0
movdqu xmm0, xmmword [rbp - 0x50]
pmaxuw xmm7, xmm0
pmaxuw xmm1, xmm7
movdqa xmm0, xmm1
psrldq xmm0, 8
pmaxuw xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 4
pmaxuw xmm1, xmm0
movdqa xmm0, xmm1
psrldq xmm0, 2
pmaxuw xmm1, xmm0
movd eax, xmm1
jmp 0x140236a87
lea rdx, [rbp - 0x60]
mov r8d, 0x10
nop word [rax + rax]
movzx eax, word [rdx]
lea rdx, [rdx + 2]
cmp cx, ax
cmovae ax, cx
movzx ecx, ax
sub r8, 1
jne 0x140236a70
mov dword [rsp + 4], eax
mov r11d, 0xffffffff
movzx ebx, ax
nop dword [rax]
nop dword [rax + rax]
inc r11d
mov r10d, 1
mov ecx, r11d
mov rax, rdi
shl r10d, cl
movzx ecx, word [rbp + rax*2 - 0x60]
mov edx, ebx
sub edx, ecx
lea ecx, [r11 + 1]
lea r8d, [rdx + rdx]
mov edx, r8d
sar edx, cl
lea ecx, [r11 + 1]
and edx, 1
dec edx
add edx, r10d
add edx, r8d
sar edx, cl
mov dword [rsp + rax*4 + 0x60], edx
inc rax
cmp rax, 0x10
jl 0x140236ab2
mov esi, dword [rsp + 0x70]
mov eax, esi
mov r14d, dword [rbp - 0x80]
sub eax, r14d
mov ecx, dword [rbp - 0x70]
add eax, 0x20
mov r8d, dword [rbp - 0x6c]
mov edx, dword [rsp + 0x64]
mov r15d, dword [rsp + 0x74]
mov r12d, dword [rbp - 0x7c]
mov r13d, dword [rsp + 0x78]
mov r9d, dword [rsp + 0x60]
mov dword [rsp + 0xc], eax
sub r9d, esi
mov dword [rsp + 0x24], eax
add r9d, 0x20
mov eax, r14d
mov dword [rsp + 8], r9d
sub eax, ecx
mov dword [rsp + 0x20], r9d
add eax, 0x20
sub ecx, r8d
mov dword [rsp + 0x28], eax
add ecx, 0x20
mov eax, dword [rsp + 0x60]
sub esi, r15d
sub eax, edx
mov dword [rsp + 0x38], ecx
mov ecx, dword [rsp + 0x68]
add eax, 0x20
sub edx, ecx
mov dword [rsp + 0x2c], eax
mov eax, dword [rbp - 0x68]
add edx, 0x20
sub ecx, dword [rsp + 0x6c]
sub r8d, eax
sub eax, dword [rbp - 0x64]
sub r14d, r12d
mov dword [rsp + 0x3c], edx
sub r15d, r13d
mov edx, dword [rbp - 0x78]
add eax, 0x20
sub r13d, dword [rsp + 0x7c]
sub r12d, edx
sub edx, dword [rbp - 0x74]
add r8d, 0x20
add edx, 0x20
mov dword [rsp + 0x58], eax
add ecx, 0x20
mov dword [rsp + 0x48], r8d
add esi, 0x20
mov dword [rsp + 0x4c], ecx
add r14d, 0x20
mov dword [rsp + 0x10], edx
add r15d, 0x20
mov dword [rsp + 0x54], edx
add r12d, 0x20
mov dword [rsp + 0x30], esi
add r13d, 0x20
mov dword [rsp + 0x34], r14d
cmp dword [0x1404b0008], 2
mov eax, 1
mov dword [rsp + 0x40], r15d
mov r8d, r9d
mov dword [rsp + 0x44], r12d
mov edx, r9d
mov dword [rsp + 0x50], r13d
lea ecx, [rax - 2]
jl 0x140236c72
movdqu xmm0, xmmword [rsp + 0x24]
lea eax, [rcx + 0xa]
mov ecx, 0xfffffff7
movd xmm1, r9d
pshufd xmm1, xmm1, 0
movdqa xmm4, xmm1
movdqa xmm3, xmm1
pminsd xmm4, xmm0
pmaxsd xmm3, xmm0
movdqu xmm0, xmmword [rsp + 0x34]
movdqa xmm2, xmm1
pmaxsd xmm1, xmm0
pminsd xmm2, xmm0
pmaxsd xmm3, xmm1
pminsd xmm4, xmm2
movdqa xmm0, xmm3
psrldq xmm0, 8
pmaxsd xmm3, xmm0
movdqa xmm0, xmm3
psrldq xmm0, 4
pmaxsd xmm3, xmm0
movdqa xmm0, xmm4
psrldq xmm0, 8
pminsd xmm4, xmm0
movd edx, xmm3
movdqa xmm0, xmm4
psrldq xmm0, 4
pminsd xmm4, xmm0
movd r8d, xmm4
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*4]
lea r10d, [rcx + 0xf]
nop
mov ecx, dword [r9]
lea r9, [r9 + 4]
cmp r8d, ecx
mov eax, ecx
cmovle eax, r8d
cmp edx, ecx
mov r8d, eax
cmovge ecx, edx
mov edx, ecx
sub r10, 1
jne 0x140236c80
test eax, eax
js 0x140236aa0
cmp ecx, 0x3f
jg 0x140236aa0
mov rdi, qword [rsp + 0x18]
cmp eax, 0x20
jne 0x140236ce3
cmp ecx, 0x20
jne 0x140236ce3
cmp byte [rsp], r10b
je 0x140236ce3
movzx eax, word [rbp - 0x60]
shr ax, 8
mov byte [rdi], al
movzx eax, byte [rbp - 0x60]
mov byte [rdi + 1], al
lea eax, [rcx - 0x1d]
mov byte [rdi + 2], 0xfc
jmp 0x140236dea
cmp byte [rsp + 1], 0
je 0x140236d01
mov edx, dword [rsp + 0x60]
mov ecx, r11d
mov eax, dword [rsp + 4]
shl dx, cl
sub ax, dx
mov word [rbp - 0x60], ax
jmp 0x140236d05
movzx eax, word [rbp - 0x60]
mov ecx, dword [rsp + 0xc]
shr ax, 8
mov byte [rdi], al
movzx eax, byte [rbp - 0x60]
mov byte [rdi + 1], al
mov eax, dword [rsp + 8]
sar eax, 4
sar ecx, 2
shl r11b, 2
or al, r11b
sar esi, 4
mov byte [rdi + 2], al
movzx eax, byte [rsp + 0x20]
shl al, 4
or cl, al
sar r14d, 2
movzx eax, byte [rsp + 0x24]
shl al, 6
or al, byte [rsp + 0x28]
mov byte [rdi + 4], al
movzx eax, byte [rsp + 0x2c]
shl al, 2
or sil, al
mov byte [rdi + 3], cl
movzx eax, byte [rsp + 0x30]
mov ecx, dword [rsp + 0x10]
shl al, 4
or r14b, al
sar r15d, 4
movzx eax, byte [rsp + 0x34]
shl al, 6
or al, byte [rsp + 0x38]
mov byte [rdi + 7], al
movzx eax, byte [rsp + 0x3c]
shl al, 2
or r15b, al
sar r12d, 2
movzx eax, byte [rsp + 0x40]
shl al, 4
or r12b, al
sar r13d, 4
movzx eax, byte [rsp + 0x44]
shl al, 6
or al, byte [rsp + 0x48]
mov byte [rdi + 0xa], al
movzx eax, byte [rsp + 0x4c]
shl al, 2
or r13b, al
sar ecx, 2
movzx eax, byte [rsp + 0x50]
shl al, 4
or cl, al
mov byte [rdi + 5], sil
movzx eax, byte [rsp + 0x54]
shl al, 6
or al, byte [rsp + 0x58]
mov byte [rdi + 0xd], al
mov eax, reloc.WS2_32.dll_ntohl
mov byte [rdi + 6], r14b
mov byte [rdi + 8], r15b
mov byte [rdi + 9], r12b
mov byte [rdi + 0xb], r13b
mov byte [rdi + 0xc], cl
mov rcx, qword [rbp - 0x40]
xor rcx, rsp
call fcn.140048b40
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
movaps xmm8, xmmword [r11 - 0x30]
movaps xmm9, xmmword [r11 - 0x40]
movaps xmm10, xmmword [r11 - 0x50]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret