Function at 0x140037560
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x248
movdqa xmmword [rsp + 0x230], xmm15
movdqa xmmword [rsp + 0x220], xmm14
movdqa xmmword [rsp + 0x210], xmm13
movdqa xmmword [rsp + 0x200], xmm12
movdqa xmmword [rsp + 0x1f0], xmm11
movdqa xmmword [rsp + 0x1e0], xmm10
movdqa xmmword [rsp + 0x1d0], xmm9
movdqa xmmword [rsp + 0x1c0], xmm8
movdqa xmmword [rsp + 0x1b0], xmm7
movdqa xmmword [rsp + 0x1a0], xmm6
mov qword [rsp + 0x20], r9
mov qword [rsp + 0x38], r8
mov r14, rcx
mov rcx, qword [rsp + 0x2b0]
mov rax, qword [0x14039de68]
xor rax, rsp
mov qword [rsp + 0x198], rax
xor ebp, ebp
mov rax, rcx
shr rax, 0x3d
jne 0x140037f9d
cmp dword [r14 + 0x24], 0
jne 0x140037f9d
mov rax, qword [rsp + 0x2b0]
lea rcx, [rax*8]
mov eax, dword [r14 + 0x20]
add rcx, rax
jb 0x140037f9d
shr rcx, 0x20
jne 0x140037f9d
mov qword [rsp + 0x28], rdx
mov ecx, dword [r14 + 0x68]
mov rdx, qword [rsp + 0x20]
lea rbp, [rdx + rcx]
add rbp, 0x48
shr rbp, 6
lea r8, [rbp - 1]
mov qword [rsp + 0x58], r8
mov r8, qword [rsp + 0x2b0]
add rcx, r8
add rcx, 0x48
shr rcx, 6
mov qword [rsp + 0x50], rcx
lea rsi, [rax + rdx*8]
mov rax, rsi
shr rax, 0x18
mov qword [rsp + 0x48], rax
mov rax, rsi
shr rax, 0x10
mov qword [rsp + 0x40], rax
mov r15, rsi
shr r15, 8
pxor xmm15, xmm15
movdqa xmmword [rsp + 0x180], xmm15
movdqa xmmword [rsp + 0x170], xmm15
movdqa xmmword [rsp + 0x160], xmm15
movdqa xmmword [rsp + 0x150], xmm15
lea rax, [r14 + 0x28]
mov qword [rsp + 0x30], rax
neg rbp
xor ebx, ebx
xor edi, edi
pxor xmm6, xmm6
jmp 0x140037784
mov r12, rdi
xor r12, qword [rsp + 0x58]
dec r12
and r12, rbp
sar r12, 0x3f
mov rax, qword [rsp + 0x48]
and eax, r12d
or byte [rsp + 0x18c], al
mov rax, qword [rsp + 0x40]
and eax, r12d
or byte [rsp + 0x18d], al
mov eax, r15d
and eax, r12d
or byte [rsp + 0x18e], al
mov eax, esi
and eax, r12d
or byte [rsp + 0x18f], al
mov rcx, r14
lea rdx, [rsp + 0x150]
call fcn.14007ef00
movd xmm0, r12d
pshufd xmm0, xmm0, 0
movdqu xmm1, xmmword [r14]
movdqu xmm2, xmmword [r14 + 0x10]
pand xmm1, xmm0
por xmm15, xmm1
pand xmm2, xmm0
por xmm6, xmm2
sub rbx, r13
add rbx, 0x40
inc rdi
cmp rdi, qword [rsp + 0x50]
je 0x140037f3b
test rdi, rdi
je 0x140037790
xor r13d, r13d
jmp 0x1400377ae
mov r13d, dword [r14 + 0x68]
test r13, r13
je 0x140037789
lea rcx, [rsp + 0x150]
mov rdx, qword [rsp + 0x30]
mov r8, r13
call fcn.14025caa0
mov rax, qword [rsp + 0x2b0]
sub rax, rbx
jbe 0x1400377e9
mov r8d, 0x40
sub r8, r13
cmp r8, rax
cmovae r8, rax
test r8, r8
je 0x1400377e9
lea rcx, [rsp + r13]
add rcx, 0x150
mov rax, qword [rsp + 0x38]
lea rdx, [rax + rbx]
call fcn.14025caa0
cmp r13d, 0x3f
ja 0x1400376f0
mov rax, qword [rsp + 0x20]
mov r9, r13
cmp r13, 0x38
ja 0x140037ec0
mov rdx, rbx
sub rdx, r13
mov ecx, 0x40
sub rcx, r13
movq xmm4, rdx
movq xmm5, rax
cmp r13d, 0x30
movdqa xmmword [rsp + 0x60], xmm6
jbe 0x140037a45
mov r8, r13
xor edx, edx
mov r10d, ecx
and r10d, 0x78
lea r9, [r10 + r13]
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
movdqa xmm1, xmm0
paddq xmm1, xmmword [0x1402a60f0]
movdqa xmm2, xmm0
paddq xmm2, xmmword [0x1402a6100]
movdqa xmm3, xmm0
paddq xmm3, xmmword [0x140296a90]
paddq xmm0, xmmword [0x140296aa0]
pshufd xmm4, xmm4, 0x44
pshufd xmm5, xmm5, 0x44
lea r8, [rsp + r13]
add r8, 0x150
nop dword [rax + rax]
movdqa xmm10, xmm4
paddq xmm10, xmm2
movdqa xmm11, xmm4
paddq xmm11, xmm1
movdqa xmm13, xmm4
paddq xmm13, xmm0
movdqa xmm14, xmm4
paddq xmm14, xmm3
movdqa xmm7, xmm5
pxor xmm7, xmm14
movdqa xmm6, xmm5
pxor xmm6, xmm13
movdqa xmm9, xmm5
pxor xmm9, xmm11
movdqa xmm8, xmm5
pxor xmm8, xmm10
movdqa xmm12, xmm14
psubq xmm12, xmm5
pxor xmm12, xmm14
por xmm12, xmm7
pxor xmm12, xmm14
movdqa xmm14, xmm13
psubq xmm14, xmm5
pxor xmm14, xmm13
por xmm14, xmm6
pxor xmm14, xmm13
movdqa xmm13, xmm11
psubq xmm13, xmm5
pxor xmm13, xmm11
por xmm13, xmm9
pxor xmm13, xmm11
movdqa xmm11, xmm10
psubq xmm11, xmm5
pxor xmm11, xmm10
por xmm11, xmm8
pxor xmm11, xmm10
pshufd xmm11, xmm11, 0xf5
psrad xmm11, 0x1f
pshufd xmm10, xmm13, 0xf5
psrad xmm10, 0x1f
packssdw xmm11, xmm10
pshufd xmm10, xmm14, 0xf5
psrad xmm10, 0x1f
pshufd xmm12, xmm12, 0xf5
psrad xmm12, 0x1f
packssdw xmm10, xmm12
pcmpeqd xmm12, xmm12
packssdw xmm10, xmm11
movdqa xmm11, xmm7
paddq xmm11, xmm12
pandn xmm7, xmm11
movdqa xmm11, xmm6
paddq xmm11, xmm12
pandn xmm6, xmm11
movdqa xmm11, xmm9
paddq xmm11, xmm12
pandn xmm9, xmm11
movdqa xmm11, xmm8
paddq xmm11, xmm12
pandn xmm8, xmm11
psrlq xmm8, 0x38
psrlq xmm9, 0x38
packuswb xmm8, xmm9
psrlq xmm6, 0x38
psrlq xmm7, 0x38
packuswb xmm6, xmm7
packsswb xmm10, xmm10
packuswb xmm6, xmm8
movq xmm7, qword [r8 + rdx]
pand xmm7, xmm10
packuswb xmm6, xmm6
pand xmm6, xmmword [0x1402a6120]
por xmm7, xmm6
movq qword [r8 + rdx], xmm7
movdqa xmm6, xmmword [0x140296ad0]
add rdx, 8
paddq xmm0, xmm6
paddq xmm3, xmm6
paddq xmm2, xmm6
paddq xmm1, xmm6
cmp r10, rdx
jne 0x140037890
cmp rcx, r10
movdqa xmm6, xmmword [rsp + 0x60]
je 0x1400376f0
jmp 0x140037ec0
movdqa xmmword [rsp + 0xa0], xmm15
mov edx, ecx
and edx, 0x70
movq xmm0, r13
pshufd xmm1, xmm0, 0x44
movdqa xmm0, xmm1
paddq xmm0, xmmword [0x1402a60b0]
movdqa xmm2, xmm1
paddq xmm2, xmmword [0x1402a60c0]
movdqa xmm3, xmm1
paddq xmm3, xmmword [0x1402a60d0]
movdqa xmm6, xmm1
paddq xmm6, xmmword [0x1402a60e0]
movdqa xmm8, xmm1
paddq xmm8, xmmword [0x1402a60f0]
movdqa xmm9, xmm1
paddq xmm9, xmmword [0x1402a6100]
movdqa xmm12, xmm1
paddq xmm12, xmmword [0x140296a90]
paddq xmm1, xmmword [0x140296aa0]
movdqa xmmword [rsp + 0x90], xmm4
pshufd xmm4, xmm4, 0x44
movdqa xmmword [rsp + 0xb0], xmm4
movdqa xmmword [rsp + 0x80], xmm5
pshufd xmm14, xmm5, 0x44
lea r8, [rdx + r13]
lea r9, [rsp + r13]
add r9, 0x150
xor r10d, r10d
nop dword [rax + rax]
movdqa xmmword [rsp + 0xd0], xmm12
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm8
movdqa xmmword [rsp + 0x100], xmm6
movdqa xmmword [rsp + 0x110], xmm3
movdqa xmmword [rsp + 0x120], xmm2
movdqa xmmword [rsp + 0x130], xmm0
movdqa xmmword [rsp + 0x140], xmm1
movdqa xmm10, xmmword [rsp + 0xb0]
movdqa xmm7, xmm10
paddq xmm7, xmm2
movdqa xmm4, xmm10
paddq xmm4, xmm0
movdqa xmm5, xmm10
paddq xmm5, xmm6
movdqa xmm0, xmm10
paddq xmm0, xmm3
movdqa xmm11, xmm10
paddq xmm11, xmm9
movdqa xmm2, xmm10
paddq xmm2, xmm8
movdqa xmm8, xmm10
paddq xmm8, xmm1
paddq xmm10, xmm12
movdqa xmm1, xmm14
pxor xmm1, xmm10
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmm15, xmm14
pxor xmm15, xmm8
movdqa xmm1, xmm14
pxor xmm1, xmm2
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm13, xmm14
pxor xmm13, xmm11
movdqa xmm12, xmm14
pxor xmm12, xmm0
movdqa xmm6, xmm14
pxor xmm6, xmm5
movdqa xmm3, xmm14
pxor xmm3, xmm4
movdqa xmm9, xmm10
psubq xmm9, xmm14
pxor xmm9, xmm10
por xmm9, xmmword [rsp + 0x70]
pxor xmm9, xmm10
movdqa xmm10, xmm8
psubq xmm10, xmm14
pxor xmm10, xmm8
por xmm10, xmm15
pxor xmm10, xmm8
movdqa xmm8, xmm2
psubq xmm8, xmm14
pxor xmm8, xmm2
por xmm8, xmm1
pxor xmm8, xmm2
movdqa xmm2, xmm11
psubq xmm2, xmm14
pxor xmm2, xmm11
por xmm2, xmm13
pxor xmm2, xmm11
movdqa xmm11, xmm0
psubq xmm11, xmm14
pxor xmm11, xmm0
por xmm11, xmm12
pxor xmm11, xmm0
movdqa xmm0, xmm5
psubq xmm0, xmm14
pxor xmm0, xmm5
por xmm0, xmm6
pxor xmm0, xmm5
movdqa xmm5, xmm4
psubq xmm5, xmm14
pxor xmm5, xmm4
por xmm5, xmm3
pxor xmm5, xmm4
movdqa xmm4, xmm14
pxor xmm4, xmm7
movdqa xmm1, xmm7
psubq xmm1, xmm14
pxor xmm1, xmm7
por xmm1, xmm4
pxor xmm1, xmm7
movdqa xmm7, xmmword [reloc.WS2_32.dll_recv]
pshufd xmm1, xmm1, 0xf5
psrad xmm1, 0x1f
pshufd xmm5, xmm5, 0xf5
psrad xmm5, 0x1f
packssdw xmm1, xmm5
pshufd xmm5, xmm0, 0xf5
psrad xmm5, 0x1f
pshufd xmm0, xmm11, 0xf5
psrad xmm0, 0x1f
packssdw xmm5, xmm0
packssdw xmm5, xmm1
pshufd xmm1, xmm2, 0xf5
psrad xmm1, 0x1f
pshufd xmm0, xmm8, 0xf5
movdqa xmm8, xmmword [rsp + 0xf0]
psrad xmm0, 0x1f
packssdw xmm1, xmm0
pshufd xmm0, xmm10, 0xf5
psrad xmm0, 0x1f
pshufd xmm2, xmm9, 0xf5
movdqa xmm9, xmmword [rsp + 0xe0]
psrad xmm2, 0x1f
packssdw xmm0, xmm2
movdqa xmm2, xmmword [rsp + 0x120]
packssdw xmm0, xmm1
packsswb xmm0, xmm5
movdqa xmm10, xmmword [rsp + 0x70]
movdqa xmm1, xmm10
pcmpeqd xmm5, xmm5
paddq xmm1, xmm5
pandn xmm10, xmm1
movdqa xmm1, xmm15
paddq xmm1, xmm5
pandn xmm15, xmm1
movdqa xmm11, xmmword [rsp + 0xc0]
movdqa xmm1, xmm11
paddq xmm1, xmm5
pandn xmm11, xmm1
movdqa xmm1, xmm13
paddq xmm1, xmm5
pandn xmm13, xmm1
movdqa xmm1, xmm12
paddq xmm1, xmm5
pandn xmm12, xmm1
movdqa xmm1, xmm6
paddq xmm1, xmm5
pandn xmm6, xmm1
movdqa xmm1, xmm3
paddq xmm1, xmm5
pandn xmm3, xmm1
movdqa xmm1, xmm4
paddq xmm1, xmm5
pandn xmm4, xmm1
psrlq xmm4, 0x38
psrlq xmm3, 0x38
packuswb xmm4, xmm3
movdqa xmm3, xmmword [rsp + 0x110]
psrlq xmm6, 0x38
psrlq xmm12, 0x38
packuswb xmm6, xmm12
movdqa xmm12, xmmword [rsp + 0xd0]
packuswb xmm6, xmm4
psrlq xmm13, 0x38
psrlq xmm11, 0x38
packuswb xmm13, xmm11
psrlq xmm15, 0x38
psrlq xmm10, 0x38
packuswb xmm15, xmm10
packuswb xmm15, xmm13
packuswb xmm15, xmm6
movdqa xmm6, xmmword [rsp + 0x100]
movdqu xmm1, xmmword [r9 + r10]
pand xmm1, xmm0
movdqa xmm0, xmmword [rsp + 0x130]
pand xmm15, xmmword [0x1402a5580]
por xmm1, xmm15
movdqu xmmword [r9 + r10], xmm1
movdqa xmm1, xmmword [rsp + 0x140]
add r10, 0x10
paddq xmm1, xmm7
paddq xmm12, xmm7
paddq xmm9, xmm7
paddq xmm8, xmm7
paddq xmm6, xmm7
paddq xmm3, xmm7
paddq xmm2, xmm7
paddq xmm0, xmm7
cmp rdx, r10
jne 0x140037b00
cmp rcx, rdx
movdqa xmm15, xmmword [rsp + 0xa0]
movdqa xmm6, xmmword [rsp + 0x60]
je 0x1400376f0
test cl, 8
jne 0x140037f24
add rdx, r13
mov r9, rdx
nop word [rax + rax]
lea rcx, [r9 - 0x40]
lea rdx, [rsp + r9]
add rdx, 0x150
add r9, rbx
sub r9, r13
mov r8, rax
neg r8
nop dword [rax + rax]
mov r10, rax
xor r10, r9
lea r11, [r8 + r9]
xor r11, r9
or r11, r10
xor r11, r9
sar r11, 0x3f
mov r12, r10
not r12
dec r10
and r10, r12
shr r10, 0x38
and r11b, byte [rdx]
and r10b, 0x80
or r10b, r11b
mov byte [rdx], r10b
inc rdx
inc r9
inc rcx
jne 0x140037ee0
jmp 0x1400376f0
movdqa xmm4, xmmword [rsp + 0x90]
movdqa xmm5, xmmword [rsp + 0x80]
jmp 0x140037832
pxor xmm0, xmm0
movdqa xmm1, xmm15
punpckhbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm15, xmm0
pshuflw xmm2, xmm15, 0x1b
pshufhw xmm2, xmm2, 0x1b
packuswb xmm2, xmm1
mov rax, qword [rsp + 0x28]
movdqu xmmword [rax], xmm2
movdqa xmm1, xmm6
punpckhbw xmm1, xmm0
pshuflw xmm1, xmm1, 0x1b
pshufhw xmm1, xmm1, 0x1b
punpcklbw xmm6, xmm0
pshuflw xmm0, xmm6, 0x1b
pshufhw xmm0, xmm0, 0x1b
packuswb xmm0, xmm1
movdqu xmmword [rax + 0x10], xmm0
mov ebp, 1
mov rcx, qword [rsp + 0x198]
xor rcx, rsp
call fcn.140259980
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x1a0]
movaps xmm7, xmmword [rsp + 0x1b0]
movaps xmm8, xmmword [rsp + 0x1c0]
movaps xmm9, xmmword [rsp + 0x1d0]
movaps xmm10, xmmword [rsp + 0x1e0]
movaps xmm11, xmmword [rsp + 0x1f0]
movaps xmm12, xmmword [rsp + 0x200]
movaps xmm13, xmmword [rsp + 0x210]
movaps xmm14, xmmword [rsp + 0x220]
movaps xmm15, xmmword [rsp + 0x230]
add rsp, 0x248
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret