// File: kobanium[P]Ray/src/pattern/Pattern.cpp
// Function: UpdateMD2Empty(pattern_t*, int)
void
UpdateMD2Empty( pattern_t *pat, const int pos )
{
  pat[pos + NW].list[MD_2] &= 0xFF3FFF;
  pat[pos +  N].list[MD_2] &= 0xFFCFFF;
  pat[pos + NE].list[MD_2] &= 0xFFF3FF;
  pat[pos +  W].list[MD_2] &= 0xFFFCFF;
  pat[pos +  E].list[MD_2] &= 0xFFFF3F;
  pat[pos + SW].list[MD_2] &= 0xFFFFCF;
  pat[pos +  S].list[MD_2] &= 0xFFFFF3;
  pat[pos + SE].list[MD_2] &= 0xFFFFFC;
  pat[pos + NN].list[MD_2] &= 0xCFFFFF;
  pat[pos + EE].list[MD_2] &= 0x3FFFFF;
  pat[pos + SS].list[MD_2] &= 0xFCFFFF;
  pat[pos + WW].list[MD_2] &= 0xF3FFFF;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
xorl %edx, %edx
leaq 0x56f51(%rip), %rsi     # 0xe7a4c
subl (%rsi), %edx
addl $-0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xff3fff, %ecx         # imm = 0xFF3FFF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
xorl %edx, %edx
leaq 0x56f26(%rip), %rsi     # 0xe7a4c
subl (%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xffcfff, %ecx         # imm = 0xFFCFFF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
xorl %edx, %edx
leaq 0x56efe(%rip), %rsi     # 0xe7a4c
subl (%rsi), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xfff3ff, %ecx         # imm = 0xFFF3FF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
addl $-0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xfffcff, %ecx         # imm = 0xFFFCFF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
addl $0x1, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xffff3f, %ecx         # imm = 0xFFFF3F
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
leaq 0x56e99(%rip), %rdx     # 0xe7a4c
movl (%rdx), %edx
addl $-0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xffffcf, %ecx         # imm = 0xFFFFCF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
leaq 0x56e70(%rip), %rdx     # 0xe7a4c
addl (%rdx), %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xfffff3, %ecx         # imm = 0xFFFFF3
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
leaq 0x56e4c(%rip), %rdx     # 0xe7a4c
movl (%rdx), %edx
addl $0x1, %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xfffffc, %ecx         # imm = 0xFFFFFC
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
xorl %edx, %edx
leaq 0x56e21(%rip), %rsi     # 0xe7a4c
subl (%rsi), %edx
xorl %esi, %esi
leaq 0x56e16(%rip), %rdi     # 0xe7a4c
subl (%rdi), %esi
addl %esi, %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xcfffff, %ecx         # imm = 0xCFFFFF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
addl $0x2, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0x3fffff, %ecx         # imm = 0x3FFFFF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
leaq 0x56dd0(%rip), %rdx     # 0xe7a4c
movl (%rdx), %edx
leaq 0x56dc7(%rip), %rsi     # 0xe7a4c
addl (%rsi), %edx
addl %edx, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xfcffff, %ecx         # imm = 0xFCFFFF
movl %ecx, (%rax)
movq -0x8(%rbp), %rax
movl -0xc(%rbp), %ecx
addl $-0x2, %ecx
movslq %ecx, %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movl (%rax), %ecx
andl $0xf3ffff, %ecx         # imm = 0xF3FFFF
movl %ecx, (%rax)
popq %rbp
retq
nopl (%rax)