Function at 0x140038200
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x238
movdqa xmmword [rsp + 0x220], xmm15
movdqa xmmword [rsp + 0x210], xmm14
movdqa xmmword [rsp + 0x200], xmm13
movdqa xmmword [rsp + 0x1f0], xmm12
movdqa xmmword [rsp + 0x1e0], xmm11
movdqa xmmword [rsp + 0x1d0], xmm10
movdqa xmmword [rsp + 0x1c0], xmm9
movdqa xmmword [rsp + 0x1b0], xmm8
movdqa xmmword [rsp + 0x1a0], xmm7
movdqa xmmword [rsp + 0x190], xmm6
mov qword [rsp + 0x30], r8
mov r14, rcx
mov rcx, qword [rsp + 0x2a0]
mov rax, qword [0x1403acd78]
xor rax, rsp
mov qword [rsp + 0x188], rax
xor ebp, ebp
mov rax, rcx
shr rax, 0x3d
jne 0x1400389ef
cmp dword [r14 + 0x18], 0
jne 0x1400389ef
mov rax, qword [rsp + 0x2a0]
lea rcx, [rax*8]
mov eax, dword [r14 + 0x14]
add rcx, rax
jb 0x1400389ef
shr rcx, 0x20
jne 0x1400389ef
mov r15, r9
mov qword [rsp + 0x20], rdx
mov ecx, dword [r14 + 0x5c]
lea r8, [rcx + r9]
add r8, 0x48
shr r8, 6
lea rdx, [r8 - 1]
mov qword [rsp + 0x60], rdx
mov rdx, qword [rsp + 0x2a0]
add rcx, rdx
add rcx, 0x48
lea rax, [rax + r9*8]
mov rdx, rax
shr rdx, 0x18
mov qword [rsp + 0x48], rdx
mov rdx, rax
shr rdx, 0x10
mov qword [rsp + 0x40], rdx
mov qword [rsp + 0x50], rax
shr rax, 8
mov qword [rsp + 0x38], rax
pxor xmm6, xmm6
movdqa xmmword [rsp + 0x170], xmm6
movdqa xmmword [rsp + 0x160], xmm6
movdqa xmmword [rsp + 0x150], xmm6
movdqa xmmword [rsp + 0x140], xmm6
shr rcx, 6
mov qword [rsp + 0x58], rcx
lea rax, [r14 + 0x1c]
mov qword [rsp + 0x28], rax
neg r8
mov qword [rsp + 0x68], r8
movq xmm0, r9
pshufd xmm8, xmm0, 0x44
mov rdi, r9
neg rdi
xor esi, esi
xor ebx, ebx
xor ebp, ebp
movdqa xmmword [rsp + 0xa0], xmm8
jmp 0x140038433
mov r12, rbp
xor r12, qword [rsp + 0x60]
dec r12
and r12, qword [rsp + 0x68]
sar r12, 0x3f
mov rax, qword [rsp + 0x48]
and eax, r12d
or byte [rsp + 0x17c], al
mov rax, qword [rsp + 0x40]
and eax, r12d
or byte [rsp + 0x17d], al
mov rax, qword [rsp + 0x38]
and eax, r12d
or byte [rsp + 0x17e], al
mov rax, qword [rsp + 0x50]
and eax, r12d
or byte [rsp + 0x17f], al
mov rcx, r14
lea rdx, [rsp + 0x140]
call fcn.140085500
movdqu xmm0, xmmword [r14]
movd xmm1, r12d
pshufd xmm1, xmm1, 0
pand xmm1, xmm0
por xmm6, xmm1
and r12d, dword [r14 + 0x10]
or esi, r12d
sub rbx, r13
add rbx, 0x40
inc rbp
cmp rbp, qword [rsp + 0x58]
je 0x1400389b4
test rbp, rbp
je 0x140038450
xor r13d, r13d
cmp rbx, qword [rsp + 0x2a0]
jae 0x1400384b0
jmp 0x140038478
mov r13d, dword [r14 + 0x5c]
test r13, r13
je 0x140038438
lea rcx, [rsp + 0x140]
mov rdx, qword [rsp + 0x28]
mov r8, r13
call fcn.14027bf80
cmp rbx, qword [rsp + 0x2a0]
jae 0x1400384b0
mov eax, 0x40
sub rax, r13
mov r8, qword [rsp + 0x2a0]
sub r8, rbx
cmp rax, r8
cmovb r8, rax
test r8, r8
je 0x1400384b0
lea rcx, [rsp + r13]
add rcx, 0x140
mov rax, qword [rsp + 0x30]
lea rdx, [rax + rbx]
call fcn.14027bf80
cmp r13d, 0x3f
ja 0x1400383a0
mov ecx, 0x40
sub rcx, r13
mov rax, r13
cmp rcx, 0x10
jb 0x140038953
movdqa xmmword [rsp + 0x90], xmm6
mov r8, rbx
sub r8, r13
mov rdx, rcx
and rdx, 0xfffffffffffffff0
lea rax, [rdx + r13]
movq xmm0, r13
pshufd xmm1, xmm0, 0x44
movdqa xmm3, xmm1
paddq xmm3, xmmword [0x1402f1040]
movdqa xmm2, xmm1
paddq xmm2, xmmword [0x1402f1050]
movdqa xmm4, xmm1
paddq xmm4, xmmword [0x1402f1060]
movdqa xmm6, xmm1
paddq xmm6, xmmword [0x1402f1070]
movdqa xmm9, xmm1
paddq xmm9, xmmword [0x1402f1080]
movdqa xmm10, xmm1
paddq xmm10, xmmword [0x1402f1090]
movdqa xmm13, xmm1
paddq xmm13, xmmword [0x1402f10a0]
paddq xmm1, xmmword [0x1402f10b0]
movq xmm0, r8
pshufd xmm0, xmm0, 0x44
movdqa xmmword [rsp + 0xb0], xmm0
lea r8, [rsp + r13]
add r8, 0x140
xor r9d, r9d
nop word cs:[rax + rax]
movdqa xmmword [rsp + 0xd0], xmm10
movdqa xmmword [rsp + 0xe0], xmm9
movdqa xmmword [rsp + 0xf0], xmm6
movdqa xmmword [rsp + 0x100], xmm4
movdqa xmmword [rsp + 0x110], xmm2
movdqa xmmword [rsp + 0x120], xmm3
movdqa xmmword [rsp + 0x130], xmm1
movdqa xmm15, xmmword [rsp + 0xb0]
movdqa xmm7, xmm15
paddq xmm7, xmm2
movdqa xmm2, xmm15
paddq xmm2, xmm3
movdqa xmm3, xmm15
paddq xmm3, xmm6
movdqa xmm12, xmm15
paddq xmm12, xmm4
movdqa xmm11, xmm15
paddq xmm11, xmm10
movdqa xmm5, xmm15
paddq xmm5, xmm9
movdqa xmm4, xmm15
paddq xmm4, xmm1
paddq xmm15, xmm13
movdqa xmm1, xmm15
movdqa xmm0, xmmword [rsp + 0xa0]
pxor xmm1, xmm0
movdqa xmmword [rsp + 0x70], xmm1
movdqa xmm14, xmm4
pxor xmm14, xmm0
movdqa xmm1, xmm5
pxor xmm1, xmm0
movdqa xmm8, xmm1
movdqa xmmword [rsp + 0xc0], xmm1
movdqa xmm9, xmm11
pxor xmm9, xmm0
movdqa xmm1, xmm12
pxor xmm1, xmm0
movdqa xmmword [rsp + 0x80], xmm1
movdqa xmm6, xmm3
pxor xmm6, xmm0
movdqa xmm10, xmm2
pxor xmm10, xmm0
movdqa xmm1, xmm15
psubq xmm1, xmm0
pxor xmm1, xmm15
por xmm1, xmmword [rsp + 0x70]
pxor xmm1, xmm15
movdqa xmm15, xmm4
psubq xmm15, xmm0
pxor xmm15, xmm4
por xmm15, xmm14
pxor xmm15, xmm4
movdqa xmm4, xmm5
psubq xmm4, xmm0
pxor xmm4, xmm5
por xmm4, xmm8
pxor xmm4, xmm5
movdqa xmm5, xmm11
psubq xmm5, xmm0
pxor xmm5, xmm11
por xmm5, xmm9
pxor xmm5, xmm11
movdqa xmm11, xmm12
psubq xmm11, xmm0
pxor xmm11, xmm12
por xmm11, xmmword [rsp + 0x80]
pxor xmm11, xmm12
movdqa xmm12, xmm3
psubq xmm12, xmm0
pxor xmm12, xmm3
por xmm12, xmm6
pxor xmm12, xmm3
movdqa xmm3, xmm2
psubq xmm3, xmm0
pxor xmm3, xmm2
por xmm3, xmm10
pxor xmm3, xmm2
movdqa xmm2, xmm7
pxor xmm2, xmm0
movdqa xmm8, xmm13
movdqa xmm13, xmm7
psubq xmm13, xmm0
pxor xmm13, xmm7
por xmm13, xmm2
pxor xmm13, xmm7
psrad xmm13, 0x1f
pshufd xmm7, xmm13, 0xf5
movdqa xmm13, xmm8
psrad xmm3, 0x1f
pshufd xmm3, xmm3, 0xf5
packssdw xmm7, xmm3
psrad xmm12, 0x1f
pshufd xmm12, xmm12, 0xf5
psrad xmm11, 0x1f
pshufd xmm3, xmm11, 0xf5
packssdw xmm12, xmm3
packssdw xmm12, xmm7
pcmpeqd xmm7, xmm7
psrad xmm5, 0x1f
pshufd xmm5, xmm5, 0xf5
psrad xmm4, 0x1f
pshufd xmm3, xmm4, 0xf5
packssdw xmm5, xmm3
psrad xmm15, 0x1f
pshufd xmm3, xmm15, 0xf5
psrad xmm1, 0x1f
pshufd xmm0, xmm1, 0xf5
packssdw xmm3, xmm0
packssdw xmm3, xmm5
packsswb xmm3, xmm12
movdqa xmm1, xmmword [rsp + 0x70]
movdqa xmm0, xmm1
paddq xmm0, xmm7
pandn xmm1, xmm0
movdqa xmm8, xmm1
movdqa xmm0, xmm14
paddq xmm0, xmm7
pandn xmm14, xmm0
movdqa xmm1, xmmword [rsp + 0xc0]
movdqa xmm0, xmm1
paddq xmm0, xmm7
pandn xmm1, xmm0
movdqa xmm11, xmm1
movdqa xmm0, xmm9
paddq xmm0, xmm7
pandn xmm9, xmm0
movdqa xmm1, xmmword [rsp + 0x80]
movdqa xmm0, xmm1
paddq xmm0, xmm7
pandn xmm1, xmm0
movdqa xmm12, xmm1
movdqa xmm0, xmm6
paddq xmm0, xmm7
pandn xmm6, xmm0
movdqa xmm0, xmm10
paddq xmm0, xmm7
pandn xmm10, xmm0
movdqa xmm0, xmm2
paddq xmm0, xmm7
movdqa xmm5, xmmword [reloc.WS2_32.dll_recv]
movdqa xmm4, xmmword [0x1402f10c0]
pandn xmm2, xmm0
psrlq xmm2, 0x38
psrlq xmm10, 0x38
packuswb xmm2, xmm10
movdqa xmm1, xmmword [rsp + 0x130]
psrlq xmm6, 0x38
psrlq xmm12, 0x38
packuswb xmm6, xmm12
movdqa xmm10, xmmword [rsp + 0xd0]
packuswb xmm6, xmm2
movdqa xmm2, xmmword [rsp + 0x110]
psrlq xmm9, 0x38
psrlq xmm11, 0x38
packuswb xmm9, xmm11
psrlq xmm14, 0x38
psrlq xmm8, 0x38
packuswb xmm14, xmm8
packuswb xmm14, xmm9
movdqa xmm9, xmmword [rsp + 0xe0]
packuswb xmm14, xmm6
movdqa xmm6, xmmword [rsp + 0xf0]
movdqu xmm0, xmmword [r8 + r9]
pand xmm0, xmm3
movdqa xmm3, xmmword [rsp + 0x120]
pand xmm14, xmm4
movdqa xmm4, xmmword [rsp + 0x100]
por xmm0, xmm14
movdqu xmmword [r8 + r9], xmm0
add r9, 0x10
paddq xmm1, xmm5
paddq xmm13, xmm5
paddq xmm10, xmm5
paddq xmm9, xmm5
paddq xmm6, xmm5
paddq xmm4, xmm5
paddq xmm2, xmm5
paddq xmm3, xmm5
cmp rdx, r9
jne 0x140038580
cmp rcx, rdx
movdqa xmm6, xmmword [rsp + 0x90]
je 0x1400383a0
lea rcx, [rax - 0x40]
lea rdx, [rsp + rax]
add rdx, 0x140
add rax, rbx
sub rax, r13
nop dword [rax + rax]
mov r8, rax
xor r8, r15
lea r9, [rdi + rax]
xor r9, rax
or r9, r8
xor r9, rax
sar r9, 0x3f
mov r10, r8
not r10
dec r8
and r8, r10
shr r8, 0x38
and r9b, byte [rdx]
and r8b, 0x80
or r8b, r9b
mov byte [rdx], r8b
inc rdx
inc rax
inc rcx
jne 0x140038970
jmp 0x1400383a0
pxor xmm0, xmm0
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
mov rax, qword [rsp + 0x20]
movdqu xmmword [rax], xmm0
bswap esi
mov dword [rax + 0x10], esi
mov ebp, 1
mov rcx, qword [rsp + 0x188]
xor rcx, rsp
call fcn.140279500
mov eax, ebp
movaps xmm6, xmmword [rsp + 0x190]
movaps xmm7, xmmword [rsp + 0x1a0]
movaps xmm8, xmmword [rsp + 0x1b0]
movaps xmm9, xmmword [rsp + 0x1c0]
movaps xmm10, xmmword [rsp + 0x1d0]
movaps xmm11, xmmword [rsp + 0x1e0]
movaps xmm12, xmmword [rsp + 0x1f0]
movaps xmm13, xmmword [rsp + 0x200]
movaps xmm14, xmmword [rsp + 0x210]
movaps xmm15, xmmword [rsp + 0x220]
add rsp, 0x238
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret