Function at 0x180012430
Capabilities:
Encode data using xor

Disassembly:
test rcx, rcx
je 0x1800133a5
mov r11, rsp
push rbp
push rbx
lea rbp, [r11 - 0x238]
sub rsp, 0x328
mov rax, qword [0x1800a5010]
xor rax, rsp
mov qword [rbp + 0x1c0], rax
movups xmm0, xmmword [0x180094f10]
xor r8d, r8d
movups xmm1, xmmword [0x180094f20]
mov rbx, rcx
mov eax, dword [0x180094f50]
mov qword [r11 + 0x10], rsi
mov qword [r11 + 0x18], rdi
mov edi, dword [0x1800a5018]
mov qword [r11 + 0x20], r12
lea r12d, [r8 + 0x1f]
mov qword [r11 - 0x18], r13
mov qword [r11 - 0x20], r14
lea r14d, [r8 + 4]
mov qword [r11 - 0x28], r15
movaps xmmword [r11 - 0x38], xmm6
movaps xmmword [r11 - 0x48], xmm7
movups xmmword [rbp - 0x80], xmm0
movups xmm0, xmmword [0x180094f30]
movups xmmword [rbp - 0x70], xmm1
movups xmm1, xmmword [0x180094f40]
movaps xmmword [r11 - 0x58], xmm8
movaps xmmword [r11 - 0x68], xmm9
mov qword [rsp + 0x40], rcx
movups xmmword [rbp - 0x60], xmm0
movups xmmword [rbp - 0x50], xmm1
mov dword [rbp - 0x40], eax
cmp edi, 2
jl 0x180012603
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp - 0x80]
movdqa xmm4, xmmword [0x18009dd00]
movdqa xmm7, xmmword [0x18009d930]
movdqa xmm9, xmmword [0x18009d9d0]
movd xmm6, r14d
movd xmm8, r12d
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180012510
cmp r8d, 0x22
jge 0x180012645
movsxd rax, r8d
lea r9, [rbp - 0x80]
lea r9, [r9 + rax*2]
nop
mov eax, 0x51eb851f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x22
jl 0x180012610
xor r9d, r9d
lea r8, [rbp - 0x80]
xor edx, edx
xor ecx, ecx
call qword [0x1800a7758]
lea rdx, [rbp - 0x30]
xor r8d, r8d
lea r13, [0x180000000]
mov r15, rax
lea rcx, [r13 + 0x94e50]
movzx eax, word [rcx + 0xb0]
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rcx + 0x80]
movups xmmword [rdx + 0x60], xmm0
movups xmm0, xmmword [rcx + 0x70]
movups xmmword [rdx + 0x70], xmm0
movups xmm0, xmmword [rcx + 0x90]
movups xmmword [rdx + 0x80], xmm1
movups xmm1, xmmword [rcx + 0xa0]
movups xmmword [rdx + 0x90], xmm0
movups xmmword [rdx + 0xa0], xmm1
mov word [rdx + 0xb0], ax
cmp edi, 2
jl 0x180012813
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp - 0x30]
movdqa xmm4, xmmword [0x18009dd00]
movdqa xmm7, xmmword [0x18009d930]
movdqa xmm9, xmmword [0x18009d9d0]
movd xmm6, r14d
movd xmm8, r12d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x58
jl 0x180012720
cmp r8d, 0x59
jge 0x180012855
movsxd rax, r8d
lea r9, [rbp - 0x30]
lea r9, [r9 + rax*2]
nop
mov eax, 0x51eb851f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x59
jl 0x180012820
xor r9d, r9d
lea r8, [rbp - 0x30]
xor edx, edx
xor ecx, ecx
call qword [0x1800a7758]
movups xmm0, xmmword [r13 + 0x94d80]
lea rcx, [r13 + 0x94d80]
xor r8d, r8d
lea rdx, [rbp - 0x30]
movups xmm1, xmmword [rcx + 0x10]
lea rcx, [rcx + 0x80]
mov rax, qword [rcx + 0x40]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx - 0x60]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmmword [rdx - 0x10], xmm1
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmmword [rdx + 0x30], xmm1
mov qword [rdx + 0x40], rax
movzx eax, word [rcx + 0x48]
mov word [rdx + 0x48], ax
cmp edi, 2
jl 0x180012a23
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp - 0x30]
movdqa xmm4, xmmword [0x18009dd00]
movdqa xmm7, xmmword [0x18009d930]
movdqa xmm9, xmmword [0x18009d9d0]
movd xmm6, r14d
movd xmm8, r12d
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x60
jl 0x180012930
cmp r8d, 0x65
jge 0x180012a65
movsxd rax, r8d
lea r9, [rbp - 0x30]
lea r9, [r9 + rax*2]
nop
mov eax, 0x51eb851f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x65
jl 0x180012a30
xor r9d, r9d
lea r8, [rbp - 0x30]
xor edx, edx
xor ecx, ecx
call qword [0x1800a7758]
movups xmm0, xmmword [r13 + 0x94cd0]
lea rcx, [r13 + 0x94cd0]
xor r8d, r8d
mov eax, dword [rcx + 0xa0]
lea rdx, [rbp - 0x30]
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx + 0x50]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx + 0x60]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rcx + 0x70]
movups xmmword [rdx + 0x60], xmm0
movups xmm0, xmmword [rcx + 0x80]
movups xmmword [rdx + 0x70], xmm1
movups xmm1, xmmword [rcx + 0x90]
movups xmmword [rdx + 0x80], xmm0
movups xmmword [rdx + 0x90], xmm1
mov dword [rdx + 0xa0], eax
movzx eax, word [rcx + 0xa4]
mov word [rdx + 0xa4], ax
cmp edi, 2
jl 0x180012c33
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp - 0x30]
movdqa xmm4, xmmword [0x18009dd00]
movdqa xmm7, xmmword [0x18009d930]
movdqa xmm9, xmmword [0x18009d9d0]
movd xmm6, r14d
movd xmm8, r12d
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x50
jl 0x180012b40
cmp r8d, 0x53
jge 0x180012c75
movsxd rax, r8d
lea r9, [rbp - 0x30]
lea r9, [r9 + rax*2]
nop
mov eax, 0x51eb851f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x53
jl 0x180012c40
xor r9d, r9d
lea r8, [rbp - 0x30]
xor edx, edx
xor ecx, ecx
call qword [0x1800a7758]
movups xmm0, xmmword [r13 + 0x94be0]
lea rax, [r13 + 0x94be0]
xor r8d, r8d
lea rcx, [rbp + 0xb0]
movups xmm1, xmmword [rax + 0x10]
lea rax, [rax + 0x80]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax - 0x60]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax - 0x50]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax - 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax - 0x30]
movups xmmword [rcx + 0x40], xmm0
movups xmm0, xmmword [rax - 0x20]
movups xmmword [rcx + 0x50], xmm1
movups xmm1, xmmword [rax - 0x10]
movups xmmword [rcx + 0x60], xmm0
lea rcx, [rcx + 0x80]
movups xmm0, xmmword [rax]
movups xmmword [rcx - 0x10], xmm1
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx], xmm0
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x10], xmm1
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x20], xmm0
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x30], xmm1
movups xmm1, xmmword [rax + 0x50]
movzx eax, word [rax + 0x60]
movups xmmword [rcx + 0x40], xmm0
movups xmmword [rcx + 0x50], xmm1
mov word [rcx + 0x60], ax
cmp edi, 2
jl 0x180012e53
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp + 0xb0]
movdqa xmm4, xmmword [0x18009dd00]
movdqa xmm7, xmmword [0x18009d930]
movdqa xmm9, xmmword [0x18009d9d0]
movd xmm6, r14d
movd xmm8, r12d
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x70
jl 0x180012d60
cmp r8d, 0x71
jge 0x180012e96
movsxd rax, r8d
lea r9, [rbp + 0xb0]
lea r9, [r9 + rax*2]
mov eax, 0x51eb851f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x71
jl 0x180012e61
xor r9d, r9d
lea r8, [rbp + 0xb0]
xor edx, edx
xor ecx, ecx
call qword [0x1800a7758]
movups xmm0, xmmword [r13 + 0x94b00]
lea rcx, [r13 + 0x94b00]
mov rsi, rax
movups xmm1, xmmword [rcx + 0x10]
lea rdx, [rbp - 0x30]
mov qword [rsp + 0x70], rax
movups xmmword [rdx], xmm0
xor r8d, r8d
movups xmm0, xmmword [rcx + 0x20]
lea rcx, [rcx + 0x80]
mov rax, qword [rcx + 0x50]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx - 0x50]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx - 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmm1, xmmword [rcx - 0x30]
movups xmmword [rdx + 0x40], xmm0
movups xmm0, xmmword [rcx - 0x20]
movups xmmword [rdx + 0x50], xmm1
movups xmm1, xmmword [rcx - 0x10]
movups xmmword [rdx + 0x60], xmm0
lea rdx, [rdx + 0x80]
movups xmm0, xmmword [rcx]
movups xmmword [rdx - 0x10], xmm1
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rdx], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rdx + 0x10], xmm1
movups xmm1, xmmword [rcx + 0x30]
movups xmmword [rdx + 0x20], xmm0
movups xmm0, xmmword [rcx + 0x40]
movups xmmword [rdx + 0x30], xmm1
movups xmmword [rdx + 0x40], xmm0
mov qword [rdx + 0x50], rax
movzx eax, word [rcx + 0x58]
mov word [rdx + 0x58], ax
cmp edi, 2
jl 0x180013073
movdqa xmm5, xmmword [0x18009d8f0]
lea rcx, [rbp - 0x30]
movdqa xmm4, xmmword [0x18009dd00]
movdqa xmm7, xmmword [0x18009d930]
movdqa xmm9, xmmword [0x18009d9d0]
movd xmm6, r14d
movd xmm8, r12d
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm5
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm4
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
pxor xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm5
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm4
punpckldq xmm1, xmm2
pmuldq xmm1, xmm4
shufps xmm1, xmm0, 0xdd
psrad xmm1, xmm6
movdqa xmm0, xmm1
psrld xmm0, xmm8
paddd xmm0, xmm1
pmulld xmm0, xmm7
psubd xmm2, xmm0
pshuflw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshufhw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
pxor xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x68
jl 0x180012f80
cmp r8d, 0x6d
jge 0x1800130b5
movsxd rax, r8d
lea r9, [rbp - 0x30]
lea r9, [r9 + rax*2]
nop
mov eax, 0x51eb851f
lea r9, [r9 + 2]
imul r8d
sar edx, 4
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x32
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x30
xor word [r9 - 2], ax
cmp r8d, 0x6d
jl 0x180013080
xor r9d, r9d
lea r8, [rbp - 0x30]
xor edx, edx
xor ecx, ecx
call qword [0x1800a7758]
mov rdx, qword [0x1800a7670]
lea rcx, [rbp + 0x1a0]
mov r8, r15
mov qword [rsp + 0x38], rax
mov r14, rax
call fcn.18005daa0
mov rcx, rbx
movups xmm0, xmmword [rax]
movups xmmword [rbp + 0x1a0], xmm0
call fcn.180071a40
movaps xmm9, xmmword [rsp + 0x2d0]
movaps xmm8, xmmword [rsp + 0x2e0]
movaps xmm7, xmmword [rsp + 0x2f0]
movaps xmm6, xmmword [rsp + 0x300]
test rax, rax
je 0x180013124
add rax, qword [0x1800a7a20]
movups xmm0, xmmword [rax]
movq r9, xmm0
mov qword [rsp + 0x68], r9
movups xmmword [rbp + 0x1b0], xmm0
test r9, r9
je 0x18001335d
mov r15d, dword [rbp + 0x1b8]
xor ecx, ecx
xor r13d, r13d
mov dword [rsp + 0x30], ecx
test r15d, r15d
jle 0x18001319e
mov rdi, r9
mov r12d, r15d
nop dword [rax]
mov rbx, qword [rdi]
test rbx, rbx
je 0x18001318a
mov rdx, rsi
mov rcx, rbx
call fcn.18005ccf0
test al, al
je 0x1800133a6
mov rax, qword [0x1800a7a30]
mov r13d, dword [rax + rbx]
mov ecx, dword [rsp + 0x30]
add rdi, 8
sub r12, 1
jne 0x180013160
mov rbx, qword [rsp + 0x40]
mov r9, qword [rsp + 0x68]
mov r8d, dword [rbp + 0x1a8]
mov eax, r13d
cdq
idiv r8d
mov r10d, eax
mov dword [rsp + 0x30], eax
mov eax, ecx
cdq
idiv r8d
mov dword [rsp + 0x48], eax
mov r11d, eax
test r8d, r8d
jle 0x18001335d
mov rdx, qword [rbp + 0x1a0]
mov qword [rsp + 0x58], rdx
mov qword [rsp + 0x60], r8
nop word [rax + rax]
mov r13, qword [rdx]
test r13, r13
je 0x18001332e
mov rcx, rbx
call fcn.1800705d0
mov rcx, qword [0x1800a7a80]
cmp dword [rcx + r13], eax
jne 0x18001332e
xor r12d, r12d
mov edi, r10d
mov esi, r11d
test r15d, r15d
jle 0x18001332e
mov r15, r9
nop word [rax + rax]
mov rbx, qword [r15]
test rbx, rbx
je 0x1800132fa
test edi, edi
jle 0x180013290
mov rdx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.18005ccf0
test al, al
je 0x180013290
mov rax, qword [0x1800a7a30]
mov edx, edi
mov ecx, dword [rbx + rax]
call fcn.180065d80
mov r14d, eax
test eax, eax
jle 0x18001328b
mov rcx, qword [0x1800a7930]
mov rdx, qword [rbx + rcx]
mov rcx, r13
mov qword [rsp + 0x4c], rdx
call fcn.180076730
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x4c]
mov rdx, rax
mov dword [rsp + 0x20], r14d
call fcn.180073560
sub edi, r14d
mov r14, qword [rsp + 0x38]
test esi, esi
jle 0x1800132ed
mov rdx, r14
mov rcx, rbx
call fcn.18005ccf0
test al, al
je 0x1800132ed
mov rax, qword [0x1800a7a30]
mov edx, esi
mov ecx, dword [rbx + rax]
call fcn.180065d80
mov r14d, eax
test eax, eax
jle 0x1800132ed
mov rcx, qword [0x1800a7930]
mov rdx, qword [rbx + rcx]
mov rcx, r13
mov qword [rsp + 0x4c], rdx
call fcn.180076730
mov rcx, qword [rsp + 0x40]
lea r8, [rsp + 0x4c]
mov rdx, rax
mov dword [rsp + 0x20], r14d
call fcn.180073560
sub esi, r14d
test edi, edi
jg 0x1800132f5
test esi, esi
jle 0x18001330e
mov r14, qword [rsp + 0x38]
inc r12d
add r15, 8
cmp r12d, dword [rbp + 0x1b8]
jl 0x180013220
mov r15d, dword [rbp + 0x1b8]
mov r14, qword [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
mov r10d, dword [rsp + 0x30]
mov r11d, dword [rsp + 0x48]
mov rbx, qword [rsp + 0x40]
add rdx, 8
mov r9, qword [rsp + 0x68]
sub r8, 1
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], rdx
jne 0x1800131e0
mov rcx, qword [rbp + 0x1a0]
call qword [0x1800a7760]
mov r14, qword [rsp + 0x318]
mov r13, qword [rsp + 0x320]
mov r12, qword [rsp + 0x358]
mov rdi, qword [rsp + 0x350]
mov rsi, qword [rsp + 0x348]
mov r15, qword [rsp + 0x310]
mov rcx, qword [rbp + 0x1c0]
xor rcx, rsp
call fcn.180079a30
add rsp, 0x328
pop rbx
pop rbp
ret
mov rdx, r14
mov rcx, rbx
call fcn.18005ccf0
test al, al
je 0x180013186
mov rcx, qword [0x1800a7a30]
mov ecx, dword [rcx + rbx]
mov dword [rsp + 0x30], ecx
jmp 0x18001318a