Function at 0x140089620
Capabilities:
Encode data using xor

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xbb8
movdqa xmmword [rsp + 0xba0], xmm14
movdqa xmmword [rsp + 0xb90], xmm13
movdqa xmmword [rsp + 0xb80], xmm12
movdqa xmmword [rsp + 0xb70], xmm11
movdqa xmmword [rsp + 0xb60], xmm10
movdqa xmmword [rsp + 0xb50], xmm9
movdqa xmmword [rsp + 0xb40], xmm8
movaps xmmword [rsp + 0xb30], xmm7
movaps xmmword [rsp + 0xb20], xmm6
mov rdi, r9
mov rsi, r8
mov qword [rsp + 0x80], rdx
mov qword [rsp + 0x78], rcx
mov rax, qword [0x14039ce38]
xor rax, rsp
mov qword [rsp + 0xb18], rax
lea rcx, [rsp + 0x510]
mov qword [rsp + 0x30], rcx
mov rdx, r8
mov r8d, 0xa
call fcn.14008a8a0
xor eax, eax
movdqa xmm6, xmmword [0x1402a7370]
movdqa xmm0, xmmword [0x1402a7390]
nop dword [rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x510]
movdqa xmm2, xmm1
pmulhuw xmm2, xmm6
pmullw xmm1, xmm6
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0xa
movdqa xmm4, xmm3
psrld xmm4, 0xa
psrld xmm3, 9
psrld xmm1, 9
pand xmm1, xmm0
paddd xmm1, xmm2
pand xmm3, xmm0
paddd xmm3, xmm4
pslld xmm1, 0x10
psrad xmm1, 0x10
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm1
movdqu xmmword [rsp + rax*2 + 0x510], xmm3
add rax, 8
cmp rax, 0x100
jne 0x1400896e0
mov eax, 0x200
nop
movdqu xmm1, xmmword [rsp + rax + 0x510]
movdqa xmm2, xmm1
pmulhuw xmm2, xmm6
pmullw xmm1, xmm6
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0xa
movdqa xmm4, xmm3
psrld xmm4, 0xa
psrld xmm3, 9
psrld xmm1, 9
pand xmm1, xmm0
paddd xmm1, xmm2
pand xmm3, xmm0
paddd xmm3, xmm4
pslld xmm1, 0x10
psrad xmm1, 0x10
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm1
movdqu xmmword [rsp + rax + 0x510], xmm3
add rax, 0x10
cmp rax, 0x400
jne 0x140089760
mov qword [rsp + 0x68], rdi
mov qword [rsp + 0x70], rsi
mov eax, 0x200
nop dword [rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x510]
movdqa xmm2, xmm1
pmulhuw xmm2, xmm6
pmullw xmm1, xmm6
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 0xa
movdqa xmm4, xmm3
psrld xmm4, 0xa
psrld xmm3, 9
psrld xmm1, 9
pand xmm1, xmm0
paddd xmm1, xmm2
pand xmm3, xmm0
paddd xmm3, xmm4
pslld xmm1, 0x10
psrad xmm1, 0x10
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm1
movdqu xmmword [rsp + rax*2 + 0x510], xmm3
add rax, 8
cmp rax, 0x300
jne 0x1400897f0
xor eax, eax
movdqa xmm1, xmmword [0x1402a7340]
movdqa xmm7, xmmword [0x1402a7350]
movdqa xmm2, xmmword [0x1402a7360]
pxor xmm3, xmm3
xor ecx, ecx
jmp 0x1400898ae
mov rcx, qword [rsp + 0x88]
inc rcx
add qword [rsp + 0x30], 0x200
cmp rcx, 3
je 0x140089d3e
mov qword [rsp + 0x88], rcx
shl rcx, 9
lea rdx, [rsp + rcx]
add rdx, 0x512
mov qword [rsp + 0x48], rdx
mov qword [rsp + 0x90], rcx
lea rcx, [rsp + rcx + 0x510]
mov qword [rsp + 0xa8], rcx
mov ecx, 1
mov r8d, 0x100
mov edx, 0x100
jmp 0x14008991a
mov ecx, dword [rsp + 0x2c]
add ecx, ecx
mov rdx, qword [rsp + 0x40]
mov r8d, edx
cmp ecx, 0x80
jge 0x140089890
shr edx, 1
mov qword [rsp + 0x40], rdx
mov dword [rsp + 0x2c], ecx
test ecx, ecx
jle 0x140089900
mov r9, r8
and r9d, 0x1fe
mov r8, qword [rsp + 0x40]
mov ecx, r8d
mov r10d, dword [rsp + 0x2c]
mov qword [rsp + 0xc8], rcx
lea rcx, [rcx*4]
mov qword [rsp + 0x50], rcx
lea ecx, [r8 + r8]
neg rcx
mov qword [rsp + 0xb8], rcx
mov rcx, qword [rsp + 0x90]
or rcx, r9
mov rdx, qword [rsp + 0x48]
add rdx, r9
mov qword [rsp + 0xb0], rdx
add rcx, rsp
add rcx, 0x510
mov qword [rsp + 0xa0], rcx
and r8d, 0xfffffff8
mov qword [rsp + 0x98], r8
mov r15, qword [rsp + 0x30]
mov qword [rsp + 0x58], r9
lea r8, [r15 + r9]
xor edx, edx
xor r11d, r11d
mov qword [rsp + 0xc0], r10
jmp 0x1400899ee
mov r11, qword [rsp + 0x38]
add r11, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
inc rdx
mov rcx, qword [rsp + 0x50]
add r8, rcx
add r15, rcx
mov r10, qword [rsp + 0xc0]
cmp rdx, r10
je 0x140089900
mov rcx, qword [rsp + 0xc8]
add rcx, r11
mov rbx, r11
or rbx, 1
cmp rcx, rbx
mov r14, rbx
cmova r14, rcx
mov rsi, qword [rsp + 0xb8]
imul rsi, rdx
add r14, rsi
mov qword [rsp + 0x60], rdx
add rdx, r10
lea r9, [0x1402a7490]
movzx r10d, word [r9 + rdx*2]
mov qword [rsp + 0x38], r11
mov rdx, r11
cmp r14, 8
jb 0x140089c70
mov rdx, qword [rsp + 0x50]
imul rdx, qword [rsp + 0x60]
mov r9, qword [rsp + 0xb0]
lea r13, [r9 + rdx]
cmp rcx, rbx
cmova rbx, rcx
add rsi, rbx
lea rbx, [rsi*2 - 2]
add rbx, r13
mov r9, qword [rsp + 0xa8]
lea r13, [r9 + rdx]
cmp r13, rbx
jae 0x140089aa3
mov r9, qword [rsp + 0xa0]
lea rbx, [r9 + rdx]
add rdx, qword [rsp + 0x48]
lea rsi, [rdx + rsi*2]
add rsi, 0xfffffffffffffffe
mov rdx, qword [rsp + 0x38]
cmp rbx, rsi
jb 0x140089c70
mov rbp, r14
and rbp, 0xfffffffffffffff8
mov rdx, qword [rsp + 0x38]
add rdx, rbp
movd xmm4, r10d
pshufd xmm4, xmm4, 0
pslld xmm4, 0x10
psrad xmm4, 0x10
packssdw xmm4, xmm4
xor ebx, ebx
mov r9, qword [rsp + 0x98]
nop word cs:[rax + rax]
movdqu xmm5, xmmword [r8 + rbx*2]
movdqa xmm9, xmm4
pmulhuw xmm9, xmm5
pmullw xmm5, xmm4
movdqa xmm8, xmm5
punpcklwd xmm8, xmm9
punpckhwd xmm5, xmm9
pshufd xmm11, xmm5, 0xf6
pshufd xmm12, xmm5, 0xd4
pshufd xmm10, xmm8, 0xf6
pshufd xmm9, xmm8, 0xd4
pmuludq xmm9, xmm1
pmuludq xmm10, xmm1
pmuludq xmm12, xmm1
pmuludq xmm11, xmm1
psrlq xmm11, 0x18
psrlq xmm12, 0x18
psrlq xmm10, 0x18
psrlq xmm9, 0x18
movdqa xmm13, xmm9
punpcklqdq xmm13, xmm10
movdqa xmm14, xmm12
punpcklqdq xmm14, xmm11
punpckhqdq xmm12, xmm11
pmuludq xmm12, xmm7
pshufd xmm11, xmm12, 0xe8
pmuludq xmm14, xmm7
pshufd xmm12, xmm14, 0xe8
punpckldq xmm12, xmm11
punpckhqdq xmm9, xmm10
pmuludq xmm9, xmm7
pshufd xmm9, xmm9, 0xe8
pmuludq xmm13, xmm7
pshufd xmm10, xmm13, 0xe8
punpckldq xmm10, xmm9
paddd xmm10, xmm8
paddd xmm12, xmm5
pslld xmm12, 0x10
psrad xmm12, 0x10
pslld xmm10, 0x10
psrad xmm10, 0x10
packssdw xmm10, xmm12
movdqa xmm5, xmm10
paddw xmm5, xmm2
movdqa xmm8, xmm5
psraw xmm8, 0xf
pand xmm8, xmm10
pmaxsw xmm5, xmm3
por xmm5, xmm8
movdqu xmm8, xmmword [r15 + rbx*2]
movdqa xmm9, xmm5
paddw xmm9, xmm8
movdqa xmm10, xmm9
paddw xmm10, xmm2
movdqa xmm11, xmm10
psraw xmm11, 0xf
pand xmm11, xmm9
pmaxsw xmm10, xmm3
por xmm10, xmm11
movdqu xmmword [r15 + rbx*2], xmm10
psubw xmm8, xmm5
movdqa xmm5, xmm8
paddw xmm5, xmm6
movdqa xmm9, xmm8
psraw xmm9, 0xf
pand xmm9, xmm5
pmaxsw xmm8, xmm3
por xmm8, xmm9
movdqu xmmword [r8 + rbx*2], xmm8
add rbx, 8
cmp r9, rbx
jne 0x140089ae0
cmp r14, rbp
je 0x1400899c0
nop word cs:[rax + rax]
mov r9, qword [rsp + 0x30]
lea rbx, [r9 + rdx*2]
mov r9, qword [rsp + 0x58]
lea r14, [rbx + r9]
xor ebp, ebp
nop word cs:[rax + rax]
movzx esi, word [r14 + rbp*2]
imul esi, r10d
imul r13, rsi, 0x13af
shr r13, 0x18
imul r13d, r13d, 0xf2ff
lea edi, [rsi + r13]
add r13d, esi
add r13d, 0xfffff2ff
movsx r12d, r13w
mov esi, r12d
sar esi, 0xf
and esi, edi
test r12w, r12w
cmovle r13d, eax
or r13d, esi
movzx esi, word [rbx + rbp*2]
lea edi, [rsi + r13]
lea r12d, [rsi + r13]
add r12d, 0xfffff2ff
movsx r9d, r12w
mov r11d, r9d
sar r11d, 0xf
and r11d, edi
test r9w, r9w
cmovle r12d, eax
or r12d, r11d
mov word [rbx + rbp*2], r12w
sub esi, r13d
movsx r9d, si
lea r11d, [rsi + 0xd01]
mov edi, r9d
sar edi, 0xf
and edi, r11d
test r9w, r9w
cmovle esi, eax
or esi, edi
mov word [r14 + rbp*2], si
lea r9, [rdx + rbp]
inc r9
inc rbp
cmp r9, rcx
jb 0x140089c90
jmp 0x1400899c0
mov r14, qword [rsp + 0x70]
lea r8, [r14 + 0x3c0]
xor r9d, r9d
lea r10, [0x1402a7790]
xor esi, esi
xor r11d, r11d
nop dword [rax]
xor eax, eax
xor edi, edi
jmp 0x140089da2
mov ecx, 4
sub ecx, eax
cmp ecx, esi
cmovge ecx, esi
movzx r11d, r11b
movsxd rdx, ecx
movzx ebx, byte [rdx + r10 - 1]
and ebx, r11d
mov ecx, eax
shl ebx, cl
or edi, ebx
mov ecx, edx
shr r11d, cl
sub esi, edx
add edx, eax
mov eax, edx
cmp edx, 4
jge 0x140089dc0
test esi, esi
jne 0x140089d70
movzx r11d, byte [r8]
inc r8
mov esi, 8
jmp 0x140089d70
movzx eax, di
cmp eax, 0xd00
ja 0x140089ddf
mov word [rsp + r9*2 + 0x310], di
inc r9
cmp r9, 0x100
jne 0x140089d60
xor eax, eax
nop word cs:[rax + rax]
movdqu xmm1, xmmword [rsp + rax*2 + 0x310]
movdqa xmm2, xmm1
pmulhuw xmm2, xmm6
pmullw xmm1, xmm6
movdqa xmm3, xmm1
punpcklwd xmm3, xmm2
punpckhwd xmm1, xmm2
movdqa xmm2, xmm1
psrld xmm2, 4
movdqa xmm4, xmm3
psrld xmm4, 4
psrld xmm3, 3
psrld xmm1, 3
pand xmm1, xmm0
paddd xmm1, xmm2
pand xmm3, xmm0
paddd xmm3, xmm4
pslld xmm1, 0x10
psrad xmm1, 0x10
pslld xmm3, 0x10
psrad xmm3, 0x10
packssdw xmm3, xmm1
movdqu xmmword [rsp + rax*2 + 0x310], xmm3
add rax, 8
cmp rax, 0x100
jne 0x140089df0
mov rdi, qword [rsp + 0x68]
lea rdx, [rdi + 0x1840]
lea r15, [rsp + 0x110]
lea r8, [rsp + 0x510]
mov rcx, r15
call fcn.14008ad70
mov rcx, r15
call fcn.14008b1b0
mov eax, 8
pxor xmm0, xmm0
nop
movdqu xmm1, xmmword [rsp + rax*2 + 0x300]
movdqu xmm2, xmmword [rsp + rax*2 + 0x310]
movdqu xmm3, xmmword [rsp + rax*2 + 0x100]
psubw xmm1, xmm3
movdqu xmm3, xmmword [rsp + rax*2 + 0x110]
psubw xmm2, xmm3
movdqa xmm3, xmm1
paddw xmm3, xmm6
movdqa xmm4, xmm2
paddw xmm4, xmm6
movdqa xmm5, xmm1
psraw xmm5, 0xf
pand xmm5, xmm3
movdqa xmm3, xmm2
psraw xmm3, 0xf
pand xmm3, xmm4
pmaxsw xmm1, xmm0
por xmm1, xmm5
pmaxsw xmm2, xmm0
por xmm2, xmm3
movdqu xmmword [rsp + rax*2 + 0x300], xmm1
movdqu xmmword [rsp + rax*2 + 0x310], xmm2
add rax, 0x10
cmp rax, 0x108
jne 0x140089ea0
xor eax, eax
pxor xmm0, xmm0
movdqa xmm1, xmmword [0x1402a7400]
movdqa xmm2, xmmword [0x1402a73b0]
movdqa xmm3, xmmword [0x1402a73a0]
movdqa xmm4, xmmword [0x1402a73d0]
nop
movdqu xmm5, xmmword [rsp + rax*2 + 0x310]
movdqa xmm9, xmm5
punpcklwd xmm9, xmm0
movdqa xmm10, xmm5
punpckhwd xmm10, xmm0
paddd xmm10, xmm10
paddd xmm9, xmm9
movdqa xmm8, xmm5
pmulhuw xmm8, xmm1
pmullw xmm5, xmm1
movdqa xmm6, xmm5
punpckhwd xmm6, xmm8
punpcklwd xmm5, xmm8
movdqa xmm8, xmm5
psrld xmm8, 0x18
movdqa xmm11, xmm6
psrld xmm11, 0x18
pmaddwd xmm11, xmm7
paddd xmm11, xmm10
pmaddwd xmm8, xmm7
paddd xmm8, xmm9
pxor xmm11, xmm3
movdqa xmm9, xmm11
pcmpgtd xmm9, xmm2
pxor xmm8, xmm3
movdqa xmm10, xmm8
pcmpgtd xmm10, xmm2
pcmpgtd xmm8, xmm4
pcmpgtd xmm11, xmm4
pslld xmm6, 7
pxor xmm6, xmm9
pxor xmm6, xmm11
pslld xmm5, 7
pxor xmm5, xmm10
pxor xmm5, xmm8
packssdw xmm5, xmm6
psrlw xmm5, 0xf
movdqu xmmword [rsp + rax*2 + 0x310], xmm5
add rax, 8
cmp rax, 0x100
jne 0x140089f50
lea rax, [rsp + 0x38e]
xor ecx, ecx
movdqa xmm0, xmmword [0x1402a1f10]
movdqa xmm1, xmmword [0x1402a7410]
movq xmm2, qword [0x1402a7420]
movq xmm3, qword [0x1402a1f20]
movq xmm4, qword [0x1402a7430]
movdqa xmm5, xmmword [0x1402a7440]
movdqa xmm6, xmmword [0x1402a7450]
movdqa xmm7, xmmword [0x1402a12c0]
nop
movzx edx, byte [rax - 0x7e]
movzx r8d, byte [rax - 0x6e]
movzx r9d, byte [rax - 0x5e]
movzx r10d, byte [rax - 0x3e]
movzx r11d, byte [rax - 0x1e]
movzx esi, byte [rax - 0x2e]
shl esi, 8
or esi, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x4e]
shl edx, 0x18
or edx, r9d
movd xmm8, edx
pinsrw xmm8, esi, 2
movzx edx, byte [rax - 0xe]
shl edx, 8
or edx, r11d
pinsrw xmm8, edx, 3
pand xmm8, xmm0
movzx edx, byte [rax - 0x3c]
movzx r8d, byte [rax - 0x2c]
shl r8d, 8
or r8d, edx
movzx edx, byte [rax - 0x7c]
movzx r9d, byte [rax - 0x6c]
shl r9d, 8
or r9d, edx
movzx edx, byte [rax - 0x5c]
shl edx, 0x10
or edx, r9d
movzx r9d, byte [rax - 0x4c]
shl r9d, 0x18
or r9d, edx
movd xmm9, r9d
pinsrw xmm9, r8d, 2
movzx edx, byte [rax - 0x1c]
movzx r8d, byte [rax - 0xc]
shl r8d, 8
or r8d, edx
pinsrw xmm9, r8d, 3
movq xmm9, xmm9
paddb xmm9, xmm9
pand xmm9, xmm1
movzx edx, byte [rax - 0x7a]
movzx r8d, byte [rax - 0x6a]
movzx r9d, byte [rax - 0x5a]
movzx r10d, byte [rax - 0x3a]
movzx r11d, byte [rax - 0x2a]
shl r11d, 8
or r11d, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x4a]
shl edx, 0x18
or edx, r9d
movd xmm10, edx
pinsrw xmm10, r11d, 2
movzx edx, byte [rax - 0x1a]
movzx r8d, byte [rax - 0xa]
shl r8d, 8
or r8d, edx
pinsrw xmm10, r8d, 3
psllw xmm10, 2
pand xmm10, xmm2
por xmm10, xmm8
movzx edx, byte [rax - 0x78]
movzx r8d, byte [rax - 0x68]
movzx r9d, byte [rax - 0x58]
movzx r10d, byte [rax - 0x38]
movzx r11d, byte [rax - 0x18]
movzx esi, byte [rax - 0x28]
shl esi, 8
or esi, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x48]
shl edx, 0x18
or edx, r9d
movd xmm8, edx
pinsrw xmm8, esi, 2
movzx edx, byte [rax - 8]
shl edx, 8
or edx, r11d
pinsrw xmm8, edx, 3
psllw xmm8, 3
pand xmm8, xmm3
por xmm8, xmm10
por xmm8, xmm9
movzx edx, byte [rax - 0x76]
movzx r8d, byte [rax - 0x66]
movzx r9d, byte [rax - 0x56]
movzx r10d, byte [rax - 0x36]
movzx r11d, byte [rax - 0x16]
movzx esi, byte [rax - 0x26]
shl esi, 8
or esi, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x46]
shl edx, 0x18
or edx, r9d
movd xmm10, edx
pinsrw xmm10, esi, 2
movzx edx, byte [rax - 6]
shl edx, 8
or edx, r11d
pinsrw xmm10, edx, 3
psllw xmm10, 4
pand xmm10, xmm4
movzx edx, byte [rax - 0x74]
movzx r8d, byte [rax - 0x64]
movzx r9d, byte [rax - 0x54]
movzx r10d, byte [rax - 0x34]
movzx r11d, byte [rax - 0x14]
movzx esi, byte [rax - 0x24]
shl esi, 8
or esi, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x44]
shl edx, 0x18
or edx, r9d
movd xmm9, edx
pinsrw xmm9, esi, 2
movzx edx, byte [rax - 4]
shl edx, 8
or edx, r11d
pinsrw xmm9, edx, 3
psllw xmm9, 5
pand xmm9, xmm5
por xmm9, xmm10
movzx edx, byte [rax - 0x72]
movzx r8d, byte [rax - 0x62]
movzx r9d, byte [rax - 0x52]
movzx r10d, byte [rax - 0x32]
movzx r11d, byte [rax - 0x22]
shl r11d, 8
or r11d, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x42]
shl edx, 0x18
or edx, r9d
movd xmm10, edx
pinsrw xmm10, r11d, 2
movzx edx, byte [rax - 0x12]
movzx r8d, byte [rax - 2]
shl r8d, 8
or r8d, edx
pinsrw xmm10, r8d, 3
psllw xmm10, 6
pand xmm10, xmm6
por xmm10, xmm9
movzx edx, byte [rax - 0x70]
movzx r8d, byte [rax - 0x60]
movzx r9d, byte [rax - 0x50]
movzx r10d, byte [rax - 0x30]
movzx r11d, byte [rax - 0x10]
movzx esi, byte [rax - 0x20]
shl esi, 8
or esi, r10d
shl r8d, 8
or r8d, edx
shl r9d, 0x10
or r9d, r8d
movzx edx, byte [rax - 0x40]
shl edx, 0x18
or edx, r9d
movd xmm9, edx
pinsrw xmm9, esi, 2
movzx edx, byte [rax]
shl edx, 8
or edx, r11d
pinsrw xmm9, edx, 3
psllw xmm9, 7
pand xmm9, xmm7
por xmm9, xmm10
por xmm9, xmm8
movq qword [rsp + rcx + 0xd0], xmm9
add rcx, 8
sub rax, 0xffffffffffffff80
cmp rcx, 0x20
jne 0x14008a070
movups xmm0, xmmword [rdi + 0x620]
movups xmm1, xmmword [rdi + 0x630]
movaps xmmword [rsp + 0xf0], xmm0
movaps xmmword [rsp + 0x100], xmm1
mov dword [rsp + 0x20], 1
lea rcx, [rsp + 0x310]
lea r15, [rsp + 0xd0]
mov edx, 0x40
mov r9d, 0x40
mov r8, r15
call fcn.140086180
lea r9, [rsp + 0x330]
lea r12, [rsp + 0x510]
mov rcx, r12
mov rdx, rdi
mov r8, r15
call fcn.140088130
mov r8d, 0x440
mov rcx, r14
mov rdx, r12
call fcn.14008bf80
xor ecx, ecx
test eax, eax
mov eax, 0xff
cmovne rax, rcx
movd xmm0, eax
not al
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
movzx eax, al
movd xmm1, eax
punpcklbw xmm1, xmm1
pshuflw xmm1, xmm1, 0
pshufd xmm1, xmm1, 0
movdqu xmm2, xmmword [rdi + 0x1e40]
movdqa xmm3, xmmword [rsp + 0x310]
pand xmm3, xmm0
pand xmm0, xmmword [rsp + 0x320]
movdqu xmm4, xmmword [rdi + 0x1e50]
pand xmm2, xmm1
por xmm2, xmm3
pand xmm4, xmm1
por xmm4, xmm0
movdqa xmmword [rsp + 0x110], xmm2
movdqa xmmword [rsp + 0x120], xmm4
lea rcx, [rsp + 0x130]
mov dword [rsp + 0x20], 0
mov edx, 0x20
mov r9d, 0x440
mov r8, r14
call fcn.140086180
mov dword [rsp + 0x20], 3
lea r8, [rsp + 0x110]
mov r9d, 0x40
mov rcx, qword [rsp + 0x78]
mov rdx, qword [rsp + 0x80]
call fcn.140086180
mov rcx, qword [rsp + 0xb18]
xor rcx, rsp
call fcn.140258ea0
movaps xmm6, xmmword [rsp + 0xb20]
movaps xmm7, xmmword [rsp + 0xb30]
movaps xmm8, xmmword [rsp + 0xb40]
movaps xmm9, xmmword [rsp + 0xb50]
movaps xmm10, xmmword [rsp + 0xb60]
movaps xmm11, xmmword [rsp + 0xb70]
movaps xmm12, xmmword [rsp + 0xb80]
movaps xmm13, xmmword [rsp + 0xb90]
movaps xmm14, xmmword [rsp + 0xba0]
add rsp, 0xbb8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret