Function at 0x1400374a0
Capabilities:
Encode data using xor

Disassembly:
mov qword [rsp + 0x18], rbx
mov qword [rsp + 0x20], rsi
mov byte [rsp + 0x10], dl
push rdi
push r14
push r15
mov eax, 0x120
call fcn.1400c4950
sub rsp, rax
movaps xmmword [rsp + 0x110], xmm6
movaps xmmword [rsp + 0x100], xmm7
movaps xmmword [rsp + 0xf0], xmm8
movaps xmmword [rsp + 0xe0], xmm9
movaps xmmword [rsp + 0xd0], xmm10
mov rax, qword [0x140276168]
xor rax, rsp
mov qword [rsp + 0xc8], rax
movzx ebx, dl
mov rsi, rcx
mov qword [rsp + 0x40], rcx
test rcx, rcx
jne 0x14003751f
mov edx, 0x4ca
lea rcx, str.WzUtil.cpp
call fcn.140015ac0
nop
jmp 0x14003752e
mov qword [rsp + 0x40], 0x10
mov qword [rsp + 0x48], 0
xor r9d, r9d
lea r8, [rsp + 0x40]
xor edx, edx
lea ecx, [rdx + 0x42]
call qword [case.0x14003e275.7]
test byte [rsp + 0x44], 1
je 0x1400377d7
lea rcx, [rsp + 0x50]
call fcn.140016d10
nop
lea r9, [rsp + 0x98]
lea r8, [rsp + 0x78]
mov rdx, rsi
lea rcx, [rsp + 0x50]
call fcn.140036e50
test al, al
je 0x1400377cd
mov r14, qword [rsp + 0x60]
mov edi, dword [rsp + 0x7c]
mov r15d, dword [rsp + 0x80]
test bl, bl
je 0x1400375b7
mov ecx, 5
call qword [0x1401f0ab0]
mov r8d, eax
xor r8d, 0xffffff
jmp 0x1400375bd
mov r8d, 0x808080
movd xmm4, r8d
pshufd xmm4, xmm4, 0
mov eax, r15d
imul eax, edi
mov rcx, r14
xor r9d, r9d
test eax, eax
jle 0x140037774
cmp eax, 8
jb 0x140037730
cmp dword [0x140276170], 2
jl 0x140037730
mov edx, eax
and edx, 0x80000007
jge 0x140037602
dec edx
or edx, 0xfffffff8
inc edx
mov r10d, eax
sub r10d, edx
mov edx, 0x18
movd xmm5, edx
movdqa xmm8, xmmword [0x1401f2f20]
movdqa xmm9, xmmword [0x1401f2f50]
movdqa xmm6, xmmword [0x1401f2f30]
movdqa xmm10, xmmword [0x1401f2f40]
movdqa xmm7, xmm9
nop dword [rax]
movdqu xmm0, xmmword [rcx]
psrld xmm0, xmm5
movdqa xmm2, xmm0
pcmpgtd xmm2, xmm8
pandn xmm2, xmm7
movdqa xmm1, xmm2
pxor xmm1, xmm9
pandn xmm2, xmm0
movdqa xmm3, xmm2
pcmpgtd xmm3, xmm6
pandn xmm3, xmm7
movdqa xmm0, xmm3
pand xmm0, xmm1
pandn xmm3, xmm1
movdqa xmm1, xmm0
pandn xmm1, xmm2
pand xmm0, xmm6
por xmm1, xmm0
movdqa xmm0, xmm10
pmaxsd xmm0, xmm1
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm0, xmm3
pslld xmm0, xmm5
por xmm0, xmm4
movdqu xmmword [rcx], xmm0
movdqu xmm0, xmmword [rcx + 0x10]
psrld xmm0, xmm5
movdqa xmm2, xmm0
pcmpgtd xmm2, xmm8
pandn xmm2, xmm7
movdqa xmm1, xmm2
pxor xmm1, xmm9
pandn xmm2, xmm0
movdqa xmm3, xmm2
pcmpgtd xmm3, xmm6
pandn xmm3, xmm7
movdqa xmm0, xmm3
pand xmm0, xmm1
pandn xmm3, xmm1
movdqa xmm1, xmm0
pandn xmm1, xmm2
pand xmm0, xmm6
por xmm1, xmm0
movdqa xmm0, xmm10
pmaxsd xmm0, xmm1
pand xmm0, xmm3
pandn xmm3, xmm1
por xmm0, xmm3
pslld xmm0, xmm5
por xmm0, xmm4
movdqu xmmword [rcx + 0x10], xmm0
add rcx, 0x20
add r9d, 8
cmp r9d, r10d
jl 0x140037640
cmp r9d, eax
jge 0x140037774
sub eax, r9d
mov edx, eax
mov r9d, 0xe0
nop dword [rax + rax]
movzx eax, byte [rcx + 3]
cmp eax, 0x14
ja 0x14003774d
xor eax, eax
jmp 0x140037762
cmp eax, 0xc0
ja 0x14003775b
mov eax, 0xc0
jmp 0x140037762
cmp eax, r9d
cmovbe eax, r9d
shl eax, 0x18
or eax, r8d
mov dword [rcx], eax
add rcx, 4
sub rdx, 1
jne 0x140037740
call qword [0x1401f0a10]
mov rdi, rax
mov rcx, rax
call qword [0x1401f0a70]
mov rbx, rax
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x40], rdi
mov dword [rsp + 0x30], 0
lea rax, [rsp + 0x98]
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], r14
mov r9d, r15d
xor r8d, r8d
mov rdx, rsi
mov rcx, rbx
call qword [0x1401f01b0]
nop
mov rdx, rbx
mov rcx, rdi
call qword [0x1401f0a78]
nop
lea rcx, [rsp + 0x50]
call fcn.140016ee0
mov rcx, qword [rsp + 0xc8]
xor rcx, rsp
call fcn.1400c3d30
lea r11, [rsp + 0x120]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
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 rdi
ret