Function at 0x1800369d0
Capabilities:
Encode data using xor

Disassembly:
push rbp
lea rbp, [rsp - 0x10]
sub rsp, 0x110
xor edx, edx
lea rcx, str.42_55_53_56_57_41_54_41_56_43_57_48_8D_AC_24_70_FC
call fcn.18002dae0
mov qword [0x1800ae1c8], rax
mov r10, rax
test rax, rax
jne 0x180036a04
add rsp, 0x110
pop rbp
ret
movups xmm0, xmmword [0x180053798]
mov qword [rsp + 0x120], rbx
xor ebx, ebx
movups xmm1, xmmword [0x1800537a8]
mov qword [rsp + 0x128], rdi
mov r8d, ebx
mov edi, dword [0x1800adb58]
movaps xmmword [rsp + 0x100], xmm6
movdqa xmm6, xmmword [0x18004e960]
movaps xmmword [rsp + 0xf0], xmm7
movdqa xmm7, xmmword [0x18004e8e0]
movaps xmmword [rsp + 0xe0], xmm8
movdqa xmm8, xmmword [str.7777]
movaps xmmword [rsp + 0xd0], xmm9
movdqa xmm9, xmmword [0x180054940]
movaps xmmword [rsp + 0xc0], xmm10
movaps xmmword [rsp + 0xb0], xmm11
movaps xmmword [rsp + 0xa0], xmm12
movaps xmmword [rsp + 0x90], xmm13
movaps xmmword [rsp + 0x80], xmm14
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800537b8]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1800537c8]
movsd qword [rsp + 0x50], xmm0
cmp edi, 2
jl 0x180036bc5
lea rcx, [rsp + 0x20]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180036ad0
cmp r8d, 0x1c
jge 0x180036c14
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1c
jl 0x180036be0
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call r10
mov qword [0x1800adf58], rax
mov r8d, ebx
mov eax, dword [0x180053808]
mov dword [rsp + 0x58], eax
movzx eax, word [0x18005380c]
mov word [rsp + 0x5c], ax
movups xmm0, xmmword [0x1800537d0]
movups xmm1, xmmword [0x1800537e0]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800537f0]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x180053800]
movsd qword [rsp + 0x50], xmm0
cmp edi, 2
jl 0x180036d75
lea rcx, [rsp + 0x20]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180036c80
cmp r8d, 0x1f
jge 0x180036dc4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1f
jl 0x180036d90
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movdqa xmm12, xmmword [0x18004e930]
mov r8d, ebx
movdqa xmm13, xmmword [0x18004e920]
movdqa xmm14, xmmword [0x18004e910]
movdqa xmm10, xmmword [0x18004e900]
movdqa xmm11, xmmword [0x18004e8f0]
mov qword [0x1800adf20], rax
mov eax, dword [0x180053840]
mov dword [rsp + 0x50], eax
movzx eax, word [0x180053844]
mov word [rsp + 0x54], ax
movups xmm4, xmmword [0x180053810]
movups xmm0, xmmword [0x180053820]
movups xmm1, xmmword [0x180053830]
movups xmmword [rsp + 0x20], xmm4
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x1800370cb
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movdqa xmm2, xmm11
xorps xmm3, xmm1
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm14
xorps xmm3, xmm0
punpckldq xmm2, xmm14
pmuldq xmm2, xmm6
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm6
movq qword [rsp + 0x30], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm14
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm9
movq xmm0, qword [rsp + 0x38]
mov r8d, 0x18
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm13
xorps xmm3, xmm0
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
movq qword [rsp + 0x38], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm12
xorps xmm3, xmm0
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
movq qword [rsp + 0x40], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
mov eax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1b
jl 0x1800370e0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053850]
mov r8d, ebx
movups xmm1, xmmword [0x180053860]
mov qword [0x1800adfe0], rax
movzx eax, word [0x180053890]
mov word [rsp + 0x60], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053870]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053880]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180037275
lea rcx, [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180037180
cmp r8d, 0x21
jge 0x1800372c4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x21
jl 0x180037290
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x1800538a0]
mov r8d, ebx
movups xmm1, xmmword [0x1800538b0]
mov qword [0x1800adfd0], rax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800538c0]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x1800538e0]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x1800538f0]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x1800538d0]
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180037435
lea rcx, [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x180037340
cmp r8d, 0x2c
jge 0x180037484
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x2c
jl 0x180037450
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [str.f_Y__I]
mov r8d, ebx
movups xmm1, xmmword [0x180053910]
mov qword [0x1800adfd8], rax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053920]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053930]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x1800375cd
mov edx, ebx
lea rcx, [rsp + 0x20]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x20
jl 0x1800374e0
jmp 0x180037617
lea r9, [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x29e4129f
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x20
jl 0x1800375e0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053940]
mov r8d, ebx
movups xmm1, xmmword [0x180053950]
mov qword [0x1800adff0], rax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053960]
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x180053980]
movsd qword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053970]
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180037775
lea rcx, [rsp + 0x20]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180037680
cmp r8d, 0x24
jge 0x1800377c4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x24
jl 0x180037790
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800adfe8], rax
mov r8d, ebx
movups xmm0, xmmword [0x180053988]
movups xmm1, xmmword [0x180053998]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800539a8]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x1800539b8]
movsd qword [rsp + 0x50], xmm0
cmp edi, 2
jl 0x180037915
lea rcx, [rsp + 0x20]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180037820
cmp r8d, 0x1c
jge 0x180037964
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1c
jl 0x180037930
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x1800539c0]
mov r8d, ebx
movups xmm1, xmmword [0x1800539d0]
mov qword [0x1800adfc8], rax
mov eax, dword [0x180053a08]
mov dword [rsp + 0x68], eax
movzx eax, word [0x180053a0c]
mov word [rsp + 0x6c], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x1800539e0]
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x180053a00]
movsd qword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x1800539f0]
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180037ad7
lea rcx, [rsp + 0x20]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x1800379e2
cmp r8d, 0x27
jge 0x180037b24
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x27
jl 0x180037af0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053a10]
mov r8d, ebx
movups xmm1, xmmword [0x180053a20]
mov qword [0x1800ae000], rax
mov eax, dword [0x180053a60]
mov dword [rsp + 0x70], eax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053a30]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180053a50]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053a40]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180037c95
lea rcx, [rsp + 0x20]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x180037ba0
cmp r8d, 0x2a
jge 0x180037ce4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x2a
jl 0x180037cb0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053a70]
mov r8d, ebx
movups xmm1, xmmword [0x180053a80]
mov qword [0x1800adfc0], rax
movzx eax, word [0x180053ab0]
mov word [rsp + 0x60], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053a90]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053aa0]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180037e45
lea rcx, [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180037d50
cmp r8d, 0x21
jge 0x180037e94
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x21
jl 0x180037e60
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053ac0]
mov r8d, ebx
movups xmm1, xmmword [0x180053ad0]
mov qword [0x1800adef8], rax
movzx eax, word [0x180053b10]
mov word [rsp + 0x70], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053ae0]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180053b00]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [str.:._4]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180038005
lea rcx, [rsp + 0x20]
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x180037f10
cmp r8d, 0x29
jge 0x180038054
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x29
jl 0x180038020
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053b20]
mov r8d, ebx
movups xmm1, xmmword [0x180053b30]
mov qword [0x1800adf00], rax
mov eax, dword [0x180053b60]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053b40]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053b50]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x1800381b5
lea rcx, [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x1800380c0
cmp r8d, 0x22
jge 0x180038204
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x22
jl 0x1800381d0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053b70]
mov r8d, ebx
movups xmm1, xmmword [0x180053b80]
mov qword [0x1800adf08], rax
mov eax, dword [0x180053bb0]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053b90]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053ba0]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180038365
lea rcx, [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180038270
cmp r8d, 0x22
jge 0x1800383b4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x22
jl 0x180038380
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800adf40], rax
mov r8d, ebx
mov eax, dword [0x180053be8]
mov dword [rsp + 0x50], eax
movups xmm4, xmmword [0x180053bb8]
movups xmm0, xmmword [0x180053bc8]
movups xmm1, xmmword [0x180053bd8]
movups xmmword [rsp + 0x20], xmm4
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x180038685
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movdqa xmm2, xmm11
xorps xmm3, xmm1
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm14
xorps xmm3, xmm0
punpckldq xmm2, xmm14
pmuldq xmm2, xmm6
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm6
movq qword [rsp + 0x30], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm14
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm9
movq xmm0, qword [rsp + 0x38]
mov r8d, 0x18
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm13
xorps xmm3, xmm0
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
movq qword [rsp + 0x38], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm12
xorps xmm3, xmm0
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
movq qword [rsp + 0x40], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
mov eax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1a
jl 0x1800386a0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800adf38], rax
mov r8d, ebx
mov eax, dword [0x180053c28]
mov dword [rsp + 0x58], eax
movzx eax, word [0x180053c2c]
mov word [rsp + 0x5c], ax
movups xmm0, xmmword [0x180053bf0]
movups xmm1, xmmword [0x180053c00]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053c10]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [str.__8_6T]
movsd qword [rsp + 0x50], xmm0
cmp edi, 2
jl 0x180038845
lea rcx, [rsp + 0x20]
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180038750
cmp r8d, 0x1f
jge 0x180038894
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1f
jl 0x180038860
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053c30]
mov r8d, ebx
movups xmm1, xmmword [0x180053c40]
mov qword [0x1800adf50], rax
mov eax, dword [0x180053c70]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053c50]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053c60]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x1800389f5
lea rcx, [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180038900
cmp r8d, 0x22
jge 0x180038a44
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x22
jl 0x180038a10
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800adf30], rax
mov r8d, ebx
mov eax, dword [0x180053cb0]
mov dword [rsp + 0x58], eax
movups xmm0, xmmword [0x180053c78]
movups xmm1, xmmword [0x180053c88]
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053c98]
movups xmmword [rsp + 0x30], xmm1
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x180053ca8]
movsd qword [rsp + 0x50], xmm0
cmp edi, 2
jl 0x180038ba5
lea rcx, [rsp + 0x20]
nop dword [rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x18
jl 0x180038ab0
cmp r8d, 0x1e
jge 0x180038bf4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1e
jl 0x180038bc0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [str.pXJMTRHXy__l]
mov r8d, ebx
movups xmm1, xmmword [0x180053cd0]
mov qword [0x1800adf48], rax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053ce0]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053cf0]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180038d4d
mov edx, ebx
lea rcx, [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
movd xmm2, edx
lea eax, [rdx + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add edx, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp edx, 0x20
jl 0x180038c60
jmp 0x180038d97
lea r9, [rsp + 0x20]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x29e4129f
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x20
jl 0x180038d60
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053d00]
mov r8d, ebx
movups xmm1, xmmword [0x180053d10]
mov qword [0x1800adf28], rax
mov eax, dword [0x180053d50]
mov dword [rsp + 0x70], eax
movzx eax, word [0x180053d54]
mov word [rsp + 0x74], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053d20]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180053d40]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053d30]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180038f15
lea rcx, [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x180038e20
cmp r8d, 0x2b
jge 0x180038f64
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x2b
jl 0x180038f30
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800ae010], rax
mov r8d, ebx
mov eax, dword [0x180053d88]
mov dword [rsp + 0x50], eax
movzx eax, word [0x180053d8c]
mov word [rsp + 0x54], ax
movups xmm4, xmmword [0x180053d58]
movups xmm0, xmmword [0x180053d68]
movups xmm1, xmmword [0x180053d78]
movups xmmword [rsp + 0x20], xmm4
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x18003923e
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movdqa xmm2, xmm11
xorps xmm3, xmm1
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm14
xorps xmm3, xmm0
punpckldq xmm2, xmm14
pmuldq xmm2, xmm6
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm6
movq qword [rsp + 0x30], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm14
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm9
movq xmm0, qword [rsp + 0x38]
mov r8d, 0x18
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm13
xorps xmm3, xmm0
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
movq qword [rsp + 0x38], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm12
xorps xmm3, xmm0
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
movq qword [rsp + 0x40], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
mov eax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1b
jl 0x180039250
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800adf70], rax
mov r8d, ebx
mov eax, dword [0x180053dc0]
mov dword [rsp + 0x50], eax
movzx eax, word [0x180053dc4]
mov word [rsp + 0x54], ax
movups xmm4, xmmword [0x180053d90]
movups xmm0, xmmword [0x180053da0]
movups xmm1, xmmword [0x180053db0]
movups xmmword [rsp + 0x20], xmm4
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x18003955e
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movdqa xmm2, xmm11
xorps xmm3, xmm1
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm14
xorps xmm3, xmm0
punpckldq xmm2, xmm14
pmuldq xmm2, xmm6
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm6
movq qword [rsp + 0x30], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm14
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm9
movq xmm0, qword [rsp + 0x38]
mov r8d, 0x18
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm13
xorps xmm3, xmm0
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
movq qword [rsp + 0x38], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm12
xorps xmm3, xmm0
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
movq qword [rsp + 0x40], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
mov eax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1b
jl 0x180039570
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053dd0]
mov r8d, ebx
movups xmm1, xmmword [0x180053de0]
mov qword [0x1800adf98], rax
movzx eax, word [0x180053e28]
mov word [rsp + 0x78], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053df0]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180053e10]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x180053e20]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053e00]
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180039725
lea rcx, [rsp + 0x20]
nop dword [rax]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x180039630
cmp r8d, 0x2d
jge 0x180039774
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x2d
jl 0x180039740
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053e30]
mov r8d, ebx
movups xmm1, xmmword [0x180053e40]
mov qword [0x1800adf78], rax
movzx eax, word [0x180053e80]
mov word [rsp + 0x70], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053e50]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180053e70]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053e60]
movups xmmword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x1800398e5
lea rcx, [rsp + 0x20]
nop word [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x1800397f0
cmp r8d, 0x29
jge 0x180039934
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x29
jl 0x180039900
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053e90]
mov r8d, ebx
movups xmm1, xmmword [0x180053ea0]
mov qword [0x1800adfa0], rax
mov eax, dword [0x180053ee8]
mov dword [rsp + 0x78], eax
movzx eax, word [0x180053eec]
mov word [rsp + 0x7c], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053eb0]
movups xmmword [rsp + 0x40], xmm0
movups xmm0, xmmword [0x180053ed0]
movups xmmword [rsp + 0x60], xmm0
movsd xmm0, qword [0x180053ee0]
movsd qword [rsp + 0x70], xmm0
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053ec0]
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180039ab9
lea rcx, [rsp + 0x20]
nop
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x28
jl 0x1800399c0
cmp r8d, 0x2f
jge 0x180039b04
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x2f
jl 0x180039ad0
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053ef0]
mov r8d, ebx
movups xmm1, xmmword [0x180053f00]
mov qword [0x1800adf80], rax
mov eax, dword [0x180053f38]
mov dword [rsp + 0x68], eax
movzx eax, word [0x180053f3c]
mov word [rsp + 0x6c], ax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053f10]
movups xmmword [rsp + 0x40], xmm0
movsd xmm0, qword [0x180053f30]
movsd qword [rsp + 0x60], xmm0
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053f20]
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x180039c7b
lea rcx, [rsp + 0x20]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x180039b82
cmp r8d, 0x27
jge 0x180039cc4
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x27
jl 0x180039c90
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
cmp word [0x180053f56], bx
movups xmm4, xmmword [0x180053f40]
mov qword [0x1800adf88], rax
movq xmm5, qword [0x180053f50]
movups xmmword [rsp + 0x20], xmm4
movq qword [rsp + 0x30], xmm5
je 0x180039e87
mov r8d, ebx
cmp edi, 2
jl 0x180039e4a
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
punpckhdq xmm0, xmm11
xorps xmm3, xmm1
pmuldq xmm0, xmm6
movq qword [rsp + 0x20], xmm3
movdqa xmm2, xmm11
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, xmm5
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x30], xmm3
jmp 0x180039e87
lea r9, [rsp + 0x20]
nop
mov eax, 0x29e4129f
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0xc
jl 0x180039e50
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800ae028], rax
mov r8d, ebx
movups xmm4, xmmword [0x180053f58]
movups xmm0, xmmword [0x180053f68]
movups xmm1, xmmword [0x180053f78]
movups xmmword [rsp + 0x20], xmm4
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x18003a14a
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movdqa xmm2, xmm11
xorps xmm3, xmm1
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm14
xorps xmm3, xmm0
punpckldq xmm2, xmm14
pmuldq xmm2, xmm6
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm6
movq qword [rsp + 0x30], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm14
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm9
movq xmm0, qword [rsp + 0x38]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm13
xorps xmm3, xmm0
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
movq qword [rsp + 0x38], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm12
xorps xmm3, xmm0
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
movq qword [rsp + 0x40], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
jmp 0x18003a187
lea r9, [rsp + 0x20]
nop
mov eax, 0x29e4129f
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x18
jl 0x18003a150
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
mov qword [0x1800ae020], rax
mov r8d, ebx
movups xmm4, xmmword [0x180053f88]
movups xmm0, xmmword [0x180053f98]
movups xmm1, xmmword [0x180053fa8]
movups xmmword [rsp + 0x20], xmm4
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
cmp edi, 2
jl 0x18003a44a
movdqa xmm2, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
pmuldq xmm0, xmm6
punpckldq xmm2, xmm7
pmuldq xmm2, xmm6
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm7
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movdqa xmm2, xmm11
xorps xmm3, xmm1
punpckldq xmm2, xmm11
pmuldq xmm2, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm11
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm10
xorps xmm3, xmm0
punpckldq xmm2, xmm10
pmuldq xmm2, xmm6
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
pmuldq xmm0, xmm6
movq qword [rsp + 0x28], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm10
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm14
xorps xmm3, xmm0
punpckldq xmm2, xmm14
pmuldq xmm2, xmm6
movdqa xmm0, xmm14
punpckhdq xmm0, xmm14
pmuldq xmm0, xmm6
movq qword [rsp + 0x30], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm14
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm2, xmm9
movq xmm0, qword [rsp + 0x38]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm13
xorps xmm3, xmm0
punpckldq xmm2, xmm13
pmuldq xmm2, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
pmuldq xmm0, xmm6
movq qword [rsp + 0x38], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm13
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movdqa xmm2, xmm12
xorps xmm3, xmm0
punpckldq xmm2, xmm12
pmuldq xmm2, xmm6
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
pmuldq xmm0, xmm6
movq qword [rsp + 0x40], xmm3
shufps xmm2, xmm0, 0xdd
movdqa xmm0, xmm12
psrad xmm2, 1
movdqa xmm1, xmm2
psrld xmm1, 0x1f
paddd xmm1, xmm2
movq xmm2, xmm9
pmulld xmm1, xmm8
psubd xmm0, xmm1
pshufhw xmm0, xmm0, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
jmp 0x18003a487
lea r9, [rsp + 0x20]
nop
mov eax, 0x29e4129f
lea r9, [r9 + 2]
mul r8d
mov eax, r8d
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 5
movzx eax, ax
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x18
jl 0x18003a450
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor edx, edx
xor ecx, ecx
call rax
movups xmm0, xmmword [0x180053fc0]
mov r8d, ebx
movups xmm1, xmmword [str.Q__]
mov qword [0x1800adf18], rax
mov eax, dword [0x180054000]
mov dword [rsp + 0x60], eax
movups xmmword [rsp + 0x20], xmm0
movups xmm0, xmmword [0x180053fe0]
movups xmmword [rsp + 0x30], xmm1
movups xmm1, xmmword [0x180053ff0]
movups xmmword [rsp + 0x40], xmm0
movups xmmword [rsp + 0x50], xmm1
cmp edi, 2
jl 0x18003a5e5
lea rcx, [rsp + 0x20]
nop dword [rax + rax]
movd xmm2, r8d
lea eax, [r8 + 4]
pshufd xmm2, xmm2, 0
lea rcx, [rcx + 0x10]
paddd xmm2, xmm7
add r8d, 8
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
punpckldq xmm1, xmm2
pmuldq xmm0, xmm6
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 0x10]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movd xmm2, eax
pshufd xmm2, xmm2, 0
xorps xmm3, xmm0
movq qword [rcx - 0x10], xmm3
paddd xmm2, xmm7
movdqa xmm1, xmm2
movdqa xmm0, xmm2
punpckhdq xmm0, xmm2
pmuldq xmm0, xmm6
punpckldq xmm1, xmm2
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm2, xmm0
pshufhw xmm0, xmm2, 0xd8
movq xmm2, xmm9
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rcx - 8]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rcx - 8], xmm3
cmp r8d, 0x20
jl 0x18003a4f0
cmp r8d, 0x22
jge 0x18003a634
movsxd rax, r8d
lea r9, [rsp + 0x20]
lea r9, [r9 + rax*2]
nop dword [rax]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x22
jl 0x18003a600
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
movups xmm4, xmmword [str.sY_PT]
mov qword [0x1800adfa8], rax
cmp edi, 2
movups xmm0, xmmword [0x180054018]
mov eax, dword [0x180054038]
mov r8d, ebx
movups xmm1, xmmword [0x180054028]
mov rdi, qword [rsp + 0x128]
movups xmmword [rsp + 0x20], xmm4
mov dword [rsp + 0x50], eax
movups xmmword [rsp + 0x30], xmm0
movups xmmword [rsp + 0x40], xmm1
jl 0x18003a8fa
movdqa xmm1, xmm7
movdqa xmm0, xmm7
punpckhdq xmm0, xmm7
movq xmm2, xmm9
pmuldq xmm0, xmm6
punpckldq xmm1, xmm7
pmuldq xmm1, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm7, xmm0
pshufhw xmm0, xmm7, 0xd8
pshuflw xmm1, xmm0, 0xd8
movdqa xmm0, xmm11
punpckhdq xmm0, xmm11
pmuldq xmm0, xmm6
pshufd xmm3, xmm1, 0xd8
movq xmm1, xmm4
paddw xmm3, xmm2
movq xmm2, xmm9
xorps xmm3, xmm1
movdqa xmm1, xmm11
punpckldq xmm1, xmm11
pmuldq xmm1, xmm6
movq qword [rsp + 0x20], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm11, xmm0
pshufhw xmm0, xmm11, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x28]
pshufd xmm3, xmm1, 0xd8
movdqa xmm1, xmm10
punpckldq xmm1, xmm10
paddw xmm3, xmm2
xorps xmm3, xmm0
pmuldq xmm1, xmm6
movq qword [rsp + 0x28], xmm3
movdqa xmm0, xmm10
punpckhdq xmm0, xmm10
movq xmm2, xmm9
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm10, xmm0
pshufhw xmm0, xmm10, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x30]
pshufd xmm3, xmm1, 0xd8
movdqa xmm1, xmm14
punpckldq xmm1, xmm14
paddw xmm3, xmm2
xorps xmm3, xmm0
pmuldq xmm1, xmm6
movdqa xmm0, xmm14
movq qword [rsp + 0x30], xmm3
punpckhdq xmm0, xmm14
movq xmm2, xmm9
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm14, xmm0
pshufhw xmm0, xmm14, 0xd8
pshuflw xmm1, xmm0, 0xd8
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
movq xmm0, qword [rsp + 0x38]
movdqa xmm1, xmm13
xorps xmm3, xmm0
punpckldq xmm1, xmm13
pmuldq xmm1, xmm6
movdqa xmm0, xmm13
punpckhdq xmm0, xmm13
movq xmm2, xmm9
pmuldq xmm0, xmm6
mov r8d, 0x18
movq qword [rsp + 0x38], xmm3
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm13, xmm0
pshufhw xmm0, xmm13, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x40]
pshufd xmm3, xmm1, 0xd8
movdqa xmm1, xmm12
paddw xmm3, xmm2
punpckldq xmm1, xmm12
xorps xmm3, xmm0
pmuldq xmm1, xmm6
movq qword [rsp + 0x40], xmm3
movdqa xmm0, xmm12
punpckhdq xmm0, xmm12
movq xmm2, xmm9
pmuldq xmm0, xmm6
shufps xmm1, xmm0, 0xdd
psrad xmm1, 1
movdqa xmm0, xmm1
psrld xmm0, 0x1f
paddd xmm0, xmm1
pmulld xmm0, xmm8
psubd xmm12, xmm0
pshufhw xmm0, xmm12, 0xd8
pshuflw xmm1, xmm0, 0xd8
movq xmm0, qword [rsp + 0x48]
pshufd xmm3, xmm1, 0xd8
paddw xmm3, xmm2
xorps xmm3, xmm0
movq qword [rsp + 0x48], xmm3
movaps xmm14, xmmword [rsp + 0x80]
lea r9, [rsp + 0x20]
movaps xmm13, xmmword [rsp + 0x90]
movaps xmm12, xmmword [rsp + 0xa0]
movaps xmm11, xmmword [rsp + 0xb0]
movaps xmm10, xmmword [rsp + 0xc0]
movaps xmm9, xmmword [rsp + 0xd0]
movaps xmm8, xmmword [rsp + 0xe0]
movaps xmm7, xmmword [rsp + 0xf0]
movaps xmm6, xmmword [rsp + 0x100]
mov eax, r8d
lea r9, [r9 + rax*2]
nop word [rax + rax]
mov eax, 0x94f2095
lea r9, [r9 + 2]
imul r8d
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
movzx eax, dx
imul ecx, eax, 0x37
movzx eax, r8w
inc r8d
sub ax, cx
add ax, 0x36
xor word [r9 - 2], ax
cmp r8d, 0x1a
jl 0x18003a960
mov rax, qword [0x1800ae1c8]
lea r8, [rsp + 0x20]
xor r9d, r9d
xor edx, edx
xor ecx, ecx
call rax
mov r9, qword [0x1800adf70]
lea rcx, str.Insert
mov qword [0x1800adfb0], rax
mov eax, ebx
mov dword [rsp + 0x30], ebx
mov qword [rsp + 0x20], rcx
mov dword [rsp + 0x28], 7
mov dword [rsp + 0x2c], 7
mov r10, qword [r9]
test r10, r10
je 0x18003aa16
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003aa16
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.SpaceBar
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae360], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae370], xmm1
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x2c], 9
mov r10, qword [r9]
test r10, r10
je 0x18003aaa8
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003aaa8
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.Enter
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae3c8], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae3d8], xmm1
mov dword [rsp + 0x28], 6
mov dword [rsp + 0x2c], 6
mov r10, qword [r9]
test r10, r10
je 0x18003ab3a
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003ab3a
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.Backspace
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae298], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae2a8], xmm1
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x2c], 0xa
mov r10, qword [r9]
test r10, r10
je 0x18003abcc
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003abcc
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.WASD
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae318], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae328], xmm1
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x2c], 2
mov r10, qword [r9]
test r10, r10
je 0x18003ac5e
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003ac5e
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x1800540c8]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae248], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae258], xmm1
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x2c], 2
mov r10, qword [r9]
test r10, r10
je 0x18003acf0
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003acf0
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x1800540cc]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae348], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae358], xmm1
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x2c], 2
mov r10, qword [r9]
test r10, r10
je 0x18003ad82
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003ad82
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x1800540d0]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae330], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae340], xmm1
mov dword [rsp + 0x28], 2
mov dword [rsp + 0x2c], 2
mov r10, qword [r9]
test r10, r10
je 0x18003ae14
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003ae14
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.LeftShift
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae218], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae228], xmm1
mov dword [rsp + 0x28], 0xa
mov dword [rsp + 0x2c], 0xa
mov r10, qword [r9]
test r10, r10
je 0x18003aea6
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003aea6
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.LeftMouseButton
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae230], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae240], xmm1
mov dword [rsp + 0x28], 0x10
mov dword [rsp + 0x2c], 0x10
mov r10, qword [r9]
test r10, r10
je 0x18003af38
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003af38
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.RightMouseButton
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae398], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae3a8], xmm1
mov dword [rsp + 0x28], 0x11
mov dword [rsp + 0x2c], 0x11
mov r10, qword [r9]
test r10, r10
je 0x18003afca
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003afca
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.CapsLock
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae3b0], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae3c0], xmm1
mov dword [rsp + 0x28], 9
mov dword [rsp + 0x2c], 9
mov r10, qword [r9]
test r10, r10
je 0x18003b05c
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b05c
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, str.Gamepad_LeftTrigger
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae1e8], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae1f8], xmm1
mov dword [rsp + 0x28], 0x14
mov dword [rsp + 0x2c], 0x14
mov r10, qword [r9]
test r10, r10
je 0x18003b0ee
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b0ee
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x180054178]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae2e0], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae2f0], xmm1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x2c], 3
mov r10, qword [r9]
test r10, r10
je 0x18003b180
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b180
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x180054180]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae280], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae290], xmm1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x2c], 3
mov r10, qword [r9]
test r10, r10
je 0x18003b212
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b212
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x180054188]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae268], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae278], xmm1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x2c], 3
mov r10, qword [r9]
test r10, r10
je 0x18003b2a4
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b2a4
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x180054190]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae2f8], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae308], xmm1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x2c], 3
mov r10, qword [r9]
test r10, r10
je 0x18003b336
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b336
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
lea rcx, [0x180054198]
mov byte [rsp + 0x24], bl
xor eax, eax
xorps xmm0, xmm0
mov word [rsp + 0x35], ax
movups xmmword [rsp + 0x25], xmm0
mov byte [rsp + 0x37], al
movups xmm0, xmmword [rsp + 0x20]
mov qword [rsp + 0x20], rcx
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae2c8], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae2d8], xmm1
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x2c], 3
mov r10, qword [r9]
test r10, r10
je 0x18003b3c8
mov rcx, qword [0x1800ad248]
mov r10, qword [r10 + rcx*8]
test r10, r10
je 0x18003b3c8
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov r9, qword [0x1800adf70]
mov eax, dword [rsp + 0x30]
mov dword [rsp + 0x20], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x25], xmm0
xor eax, eax
mov byte [rsp + 0x24], bl
movups xmm0, xmmword [rsp + 0x20]
mov word [rsp + 0x35], ax
mov byte [rsp + 0x37], al
lea rax, [0x1800541a0]
movsd xmm1, qword [rsp + 0x30]
movups xmmword [0x1800ae200], xmm0
mov dword [rsp + 0x30], ebx
movsd qword [0x1800ae210], xmm1
mov qword [rsp + 0x20], rax
mov dword [rsp + 0x28], 3
mov dword [rsp + 0x2c], 3
mov r10, qword [r9]
test r10, r10
je 0x18003b453
mov rax, qword [0x1800ad248]
mov r10, qword [r10 + rax*8]
test r10, r10
je 0x18003b453
mov rdx, qword [0x1800adf78]
lea r8, [rsp + 0x20]
mov rcx, r9
call r10
mov ebx, dword [rsp + 0x30]
xor eax, eax
mov dword [rsp + 0x20], ebx
mov rbx, qword [rsp + 0x120]
xorps xmm0, xmm0
movups xmmword [rsp + 0x25], xmm0
mov word [rsp + 0x35], ax
mov byte [rsp + 0x37], al
mov al, 1
movsd xmm1, qword [rsp + 0x30]
mov byte [rsp + 0x24], 0
movups xmm0, xmmword [rsp + 0x20]
movsd qword [0x1800ae390], xmm1
movups xmmword [0x1800ae380], xmm0
add rsp, 0x110
pop rbp
ret