// File: adamiaonr[P]rid-analytics/src/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::get_strconv_attribute(unsigned int)
PUGI__FN strconv_attribute_t get_strconv_attribute(unsigned int optmask)
	{
		PUGI__STATIC_ASSERT(parse_escapes == 0x10 && parse_eol == 0x20 && parse_wconv_attribute == 0x40 && parse_wnorm_attribute == 0x80);

		switch ((optmask >> 4) & 15) // get bitmask for flags (wconv wnorm eol escapes)
		{
		case 0:  return strconv_attribute_impl<opt_false>::parse_simple;
		case 1:  return strconv_attribute_impl<opt_true>::parse_simple;
		case 2:  return strconv_attribute_impl<opt_false>::parse_eol;
		case 3:  return strconv_attribute_impl<opt_true>::parse_eol;
		case 4:  return strconv_attribute_impl<opt_false>::parse_wconv;
		case 5:  return strconv_attribute_impl<opt_true>::parse_wconv;
		case 6:  return strconv_attribute_impl<opt_false>::parse_wconv;
		case 7:  return strconv_attribute_impl<opt_true>::parse_wconv;
		case 8:  return strconv_attribute_impl<opt_false>::parse_wnorm;
		case 9:  return strconv_attribute_impl<opt_true>::parse_wnorm;
		case 10: return strconv_attribute_impl<opt_false>::parse_wnorm;
		case 11: return strconv_attribute_impl<opt_true>::parse_wnorm;
		case 12: return strconv_attribute_impl<opt_false>::parse_wnorm;
		case 13: return strconv_attribute_impl<opt_true>::parse_wnorm;
		case 14: return strconv_attribute_impl<opt_false>::parse_wnorm;
		case 15: return strconv_attribute_impl<opt_true>::parse_wnorm;
		default: assert(false); return 0; // should not get here
		}
	}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movl %edi, -0xc(%rbp)
movl -0xc(%rbp), %eax
shrl $0x4, %eax
andl $0xf, %eax
movl %eax, %ecx
movq %rcx, -0x18(%rbp)
subl $0xf, %eax
ja 0x16b3f
movq -0x18(%rbp), %rax
leaq 0x478ce(%rip), %rcx     # 0x5e31c
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0xf32(%rip), %rax       # 0x17990
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x10a2(%rip), %rax      # 0x17b10
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1232(%rip), %rax      # 0x17cb0
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x13e2(%rip), %rax      # 0x17e70
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x15b2(%rip), %rax      # 0x18050
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1792(%rip), %rax      # 0x18240
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1592(%rip), %rax      # 0x18050
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1772(%rip), %rax      # 0x18240
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1972(%rip), %rax      # 0x18450
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1c15(%rip), %rax      # 0x18700
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1958(%rip), %rax      # 0x18450
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1bfb(%rip), %rax      # 0x18700
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x193e(%rip), %rax      # 0x18450
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1be1(%rip), %rax      # 0x18700
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1924(%rip), %rax      # 0x18450
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x1bc7(%rip), %rax      # 0x18700
movq %rax, -0x8(%rbp)
jmp 0x16b5e
leaq 0x4946a(%rip), %rdi     # 0x5ffb0
leaq 0x48028(%rip), %rsi     # 0x5eb75
movl $0xb3f, %edx            # imm = 0xB3F
leaq 0x4945d(%rip), %rcx     # 0x5ffb6
callq 0x5310
movq -0x8(%rbp), %rax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)