// File: adamiaonr[P]rid-analytics/src/pugixml.cpp
// Function: pugi::impl::(anonymous namespace)::xpath_parser::parse_function(pugi::impl::(anonymous namespace)::xpath_lexer_string const&, unsigned long, pugi::impl::(anonymous namespace)::xpath_ast_node**)
xpath_ast_node* parse_function(const xpath_lexer_string& name, size_t argc, xpath_ast_node* args[2])
		{
			switch (name.begin[0])
			{
			case 'b':
				if (name == PUGIXML_TEXT("boolean") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_boolean, xpath_type_boolean, args[0]);

				break;

			case 'c':
				if (name == PUGIXML_TEXT("count") && argc == 1)
				{
					if (args[0]->rettype() != xpath_type_node_set) throw_error("Function has to be applied to node set");
					return new (alloc_node()) xpath_ast_node(ast_func_count, xpath_type_number, args[0]);
				}
				else if (name == PUGIXML_TEXT("contains") && argc == 2)
					return new (alloc_node()) xpath_ast_node(ast_func_contains, xpath_type_boolean, args[0], args[1]);
				else if (name == PUGIXML_TEXT("concat") && argc >= 2)
					return new (alloc_node()) xpath_ast_node(ast_func_concat, xpath_type_string, args[0], args[1]);
				else if (name == PUGIXML_TEXT("ceiling") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_ceiling, xpath_type_number, args[0]);

				break;

			case 'f':
				if (name == PUGIXML_TEXT("false") && argc == 0)
					return new (alloc_node()) xpath_ast_node(ast_func_false, xpath_type_boolean);
				else if (name == PUGIXML_TEXT("floor") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_floor, xpath_type_number, args[0]);

				break;

			case 'i':
				if (name == PUGIXML_TEXT("id") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_id, xpath_type_node_set, args[0]);

				break;

			case 'l':
				if (name == PUGIXML_TEXT("last") && argc == 0)
					return new (alloc_node()) xpath_ast_node(ast_func_last, xpath_type_number);
				else if (name == PUGIXML_TEXT("lang") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_lang, xpath_type_boolean, args[0]);
				else if (name == PUGIXML_TEXT("local-name") && argc <= 1)
					return parse_function_helper(ast_func_local_name_0, ast_func_local_name_1, argc, args);

				break;

			case 'n':
				if (name == PUGIXML_TEXT("name") && argc <= 1)
					return parse_function_helper(ast_func_name_0, ast_func_name_1, argc, args);
				else if (name == PUGIXML_TEXT("namespace-uri") && argc <= 1)
					return parse_function_helper(ast_func_namespace_uri_0, ast_func_namespace_uri_1, argc, args);
				else if (name == PUGIXML_TEXT("normalize-space") && argc <= 1)
					return new (alloc_node()) xpath_ast_node(argc == 0 ? ast_func_normalize_space_0 : ast_func_normalize_space_1, xpath_type_string, args[0], args[1]);
				else if (name == PUGIXML_TEXT("not") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_not, xpath_type_boolean, args[0]);
				else if (name == PUGIXML_TEXT("number") && argc <= 1)
					return new (alloc_node()) xpath_ast_node(argc == 0 ? ast_func_number_0 : ast_func_number_1, xpath_type_number, args[0]);

				break;

			case 'p':
				if (name == PUGIXML_TEXT("position") && argc == 0)
					return new (alloc_node()) xpath_ast_node(ast_func_position, xpath_type_number);

				break;

			case 'r':
				if (name == PUGIXML_TEXT("round") && argc == 1)
					return new (alloc_node()) xpath_ast_node(ast_func_round, xpath_type_number, args[0]);

				break;

			case 's':
				if (name == PUGIXML_TEXT("string") && argc <= 1)
					return new (alloc_node()) xpath_ast_node(argc == 0 ? ast_func_string_0 : ast_func_string_1, xpath_type_string, args[0]);
				else if (name == PUGIXML_TEXT("string-length") && argc <= 1)
					return new (alloc_node()) xpath_ast_node(argc == 0 ? ast_func_string_length_0 : ast_func_string_length_1, xpath_type_number, args[0]);
				else if (name == PUGIXML_TEXT("starts-with") && argc == 2)
					return new (alloc_node()) xpath_ast_node(ast_func_starts_with, xpath_type_boolean, args[0], args[1]);
				else if (name == PUGIXML_TEXT("substring-before") && argc == 2)
					return new (alloc_node()) xpath_ast_node(ast_func_substring_before, xpath_type_string, args[0], args[1]);
				else if (name == PUGIXML_TEXT("substring-after") && argc == 2)
					return new (alloc_node()) xpath_ast_node(ast_func_substring_after, xpath_type_string, args[0], args[1]);
				else if (name == PUGIXML_TEXT("substring") && (argc == 2 || argc == 3))
					return new (alloc_node()) xpath_ast_node(argc == 2 ? ast_func_substring_2 : ast_func_substring_3, xpath_type_string, args[0], args[1]);
				else if (name == PUGIXML_TEXT("sum") && argc == 1)
				{
					if (args[0]->rettype() != xpath_type_node_set) throw_error("Function has to be applied to node set");
					return new (alloc_node()) xpath_ast_node(ast_func_sum, xpath_type_number, args[0]);
				}

				break;

			case 't':
				if (name == PUGIXML_TEXT("translate") && argc == 3)
					return new (alloc_node()) xpath_ast_node(ast_func_translate, xpath_type_string, args[0], args[1]);
				else if (name == PUGIXML_TEXT("true") && argc == 0)
					return new (alloc_node()) xpath_ast_node(ast_func_true, xpath_type_boolean);

				break;

			default:
				break;
			}

			throw_error("Unrecognized function or wrong parameter count");

			return 0;
		}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movq %rcx, -0x28(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rax
movsbl (%rax), %eax
addl $-0x62, %eax
movl %eax, %ecx
movq %rcx, -0x30(%rbp)
subl $0x12, %eax
ja 0x211d4
movq -0x30(%rbp), %rax
leaq 0x3de8e(%rip), %rcx     # 0x5e658
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq -0x18(%rbp), %rdi
leaq 0x40832(%rip), %rsi     # 0x61010
callq 0x1f770
testb $0x1, %al
jne 0x207e9
jmp 0x20828
cmpq $0x1, -0x20(%rbp)
jne 0x20828
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x40(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x2d, %esi
movl $0x4, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x40(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x41456(%rip), %rsi     # 0x61c8e
callq 0x1f770
testb $0x1, %al
jne 0x20843
jmp 0x208a3
cmpq $0x1, -0x20(%rbp)
jne 0x208a3
movq -0x28(%rbp), %rax
movq (%rax), %rdi
callq 0x10790
cmpl $0x1, %eax
je 0x2086b
movq -0x38(%rbp), %rdi
leaq 0x407b2(%rip), %rsi     # 0x61018
callq 0x1eef0
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x48(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x17, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x48(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x40791(%rip), %rsi     # 0x6103f
callq 0x1f770
testb $0x1, %al
jne 0x208b9
jmp 0x208fb
cmpq $0x2, -0x20(%rbp)
jne 0x208fb
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x50(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x23, %esi
movl $0x4, %edx
callq 0x1f690
movq -0x50(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x412f4(%rip), %rsi     # 0x61bfa
callq 0x1f770
testb $0x1, %al
jne 0x20911
jmp 0x20953
cmpq $0x2, -0x20(%rbp)
jb 0x20953
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x58(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x21, %esi
movl $0x3, %edx
callq 0x1f690
movq -0x58(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x406ea(%rip), %rsi     # 0x61048
callq 0x1f770
testb $0x1, %al
jne 0x20969
jmp 0x209a8
cmpq $0x1, -0x20(%rbp)
jne 0x209a8
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x60(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x36, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x60(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x209aa
jmp 0x209ac
jmp 0x209ae
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x3f5f2(%rip), %rsi     # 0x5ffb0
callq 0x1f770
testb $0x1, %al
jne 0x209c9
jmp 0x20a04
cmpq $0x0, -0x20(%rbp)
jne 0x20a04
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x68(%rbp)
movl $0x30, %esi
movl $0x4, %edx
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rcx
callq 0x1f690
movq -0x68(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x40641(%rip), %rsi     # 0x61050
callq 0x1f770
testb $0x1, %al
jne 0x20a1a
jmp 0x20a59
cmpq $0x1, -0x20(%rbp)
jne 0x20a59
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x70(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x35, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x70(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x20a5b
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x43766(%rip), %rsi     # 0x641d1
callq 0x1f770
testb $0x1, %al
jne 0x20a76
jmp 0x20ab5
cmpq $0x1, -0x20(%rbp)
jne 0x20ab5
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x78(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x18, %esi
movl $0x1, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x78(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x40591(%rip), %rsi     # 0x61056
callq 0x1f770
testb $0x1, %al
jne 0x20ad0
jmp 0x20b0b
cmpq $0x0, -0x20(%rbp)
jne 0x20b0b
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x80(%rbp)
movl $0x15, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rcx
callq 0x1f690
movq -0x80(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x40a2e(%rip), %rsi     # 0x61544
callq 0x1f770
testb $0x1, %al
jne 0x20b21
jmp 0x20b66
cmpq $0x1, -0x20(%rbp)
jne 0x20b66
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x88(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x31, %esi
movl $0x4, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x88(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x404ea(%rip), %rsi     # 0x6105b
callq 0x1f770
testb $0x1, %al
jne 0x20b7c
jmp 0x20ba7
cmpq $0x1, -0x20(%rbp)
ja 0x20ba7
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl $0x19, %esi
movl $0x1a, %edx
callq 0x213b0
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x20ba9
jmp 0x20bab
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x401dd(%rip), %rsi     # 0x60d98
callq 0x1f770
testb $0x1, %al
jne 0x20bc6
jmp 0x20bf1
cmpq $0x1, -0x20(%rbp)
ja 0x20bf1
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl $0x1d, %esi
movl $0x1e, %edx
callq 0x213b0
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x4046a(%rip), %rsi     # 0x61066
callq 0x1f770
testb $0x1, %al
jne 0x20c07
jmp 0x20c32
cmpq $0x1, -0x20(%rbp)
ja 0x20c32
movq -0x38(%rbp), %rdi
movq -0x20(%rbp), %rcx
movq -0x28(%rbp), %r8
movl $0x1b, %esi
movl $0x1c, %edx
callq 0x213b0
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x40437(%rip), %rsi     # 0x61074
callq 0x1f770
testb $0x1, %al
jne 0x20c48
jmp 0x20ca0
cmpq $0x1, -0x20(%rbp)
ja 0x20ca0
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x90(%rbp)
movq -0x20(%rbp), %rcx
movl $0x2b, %esi
movl $0x2a, %eax
cmpq $0x0, %rcx
cmovel %eax, %esi
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x3, %edx
callq 0x1f690
movq -0x90(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x403d9(%rip), %rsi     # 0x61084
callq 0x1f770
testb $0x1, %al
jne 0x20cb6
jmp 0x20cfb
cmpq $0x1, -0x20(%rbp)
jne 0x20cfb
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0x98(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x2e, %esi
movl $0x4, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0x98(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x41964(%rip), %rsi     # 0x6266a
callq 0x1f770
testb $0x1, %al
jne 0x20d11
jmp 0x20d66
cmpq $0x1, -0x20(%rbp)
ja 0x20d66
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xa0(%rbp)
movq -0x20(%rbp), %rcx
movl $0x33, %esi
movl $0x32, %eax
cmpq $0x0, %rcx
cmovel %eax, %esi
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0xa0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x20d68
jmp 0x20d6a
jmp 0x20d6c
jmp 0x20d6e
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x4030a(%rip), %rsi     # 0x61088
callq 0x1f770
testb $0x1, %al
jne 0x20d89
jmp 0x20dca
cmpq $0x0, -0x20(%rbp)
jne 0x20dca
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xa8(%rbp)
movl $0x16, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rcx
callq 0x1f690
movq -0xa8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x402b7(%rip), %rsi     # 0x61091
callq 0x1f770
testb $0x1, %al
jne 0x20de5
jmp 0x20e2a
cmpq $0x1, -0x20(%rbp)
jne 0x20e2a
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xb0(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x37, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0xb0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x3fe15(%rip), %rsi     # 0x60c4f
callq 0x1f770
testb $0x1, %al
jne 0x20e45
jmp 0x20e9a
cmpq $0x1, -0x20(%rbp)
ja 0x20e9a
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xb8(%rbp)
movq -0x20(%rbp), %rcx
movl $0x20, %esi
movl $0x1f, %eax
cmpq $0x0, %rcx
cmovel %eax, %esi
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x3, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0xb8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x401f2(%rip), %rsi     # 0x61097
callq 0x1f770
testb $0x1, %al
jne 0x20eb0
jmp 0x20f05
cmpq $0x1, -0x20(%rbp)
ja 0x20f05
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xc0(%rbp)
movq -0x20(%rbp), %rcx
movl $0x29, %esi
movl $0x28, %eax
cmpq $0x0, %rcx
cmovel %eax, %esi
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0xc0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x40195(%rip), %rsi     # 0x610a5
callq 0x1f770
testb $0x1, %al
jne 0x20f1b
jmp 0x20f63
cmpq $0x2, -0x20(%rbp)
jne 0x20f63
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xc8(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x22, %esi
movl $0x4, %edx
callq 0x1f690
movq -0xc8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x40143(%rip), %rsi     # 0x610b1
callq 0x1f770
testb $0x1, %al
jne 0x20f79
jmp 0x20fc1
cmpq $0x2, -0x20(%rbp)
jne 0x20fc1
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xd0(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x24, %esi
movl $0x3, %edx
callq 0x1f690
movq -0xd0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x400f6(%rip), %rsi     # 0x610c2
callq 0x1f770
testb $0x1, %al
jne 0x20fd7
jmp 0x2101f
cmpq $0x2, -0x20(%rbp)
jne 0x2101f
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xd8(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x25, %esi
movl $0x3, %edx
callq 0x1f690
movq -0xd8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x400a8(%rip), %rsi     # 0x610d2
callq 0x1f770
testb $0x1, %al
jne 0x21035
jmp 0x21094
cmpq $0x2, -0x20(%rbp)
je 0x21043
cmpq $0x3, -0x20(%rbp)
jne 0x21094
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xe0(%rbp)
movq -0x20(%rbp), %rcx
movl $0x27, %esi
movl $0x26, %eax
cmpq $0x2, %rcx
cmovel %eax, %esi
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x3, %edx
callq 0x1f690
movq -0xe0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x4003d(%rip), %rsi     # 0x610dc
callq 0x1f770
testb $0x1, %al
jne 0x210aa
jmp 0x21110
cmpq $0x1, -0x20(%rbp)
jne 0x21110
movq -0x28(%rbp), %rax
movq (%rax), %rdi
callq 0x10790
cmpl $0x1, %eax
je 0x210d2
movq -0x38(%rbp), %rdi
leaq 0x3ff4b(%rip), %rsi     # 0x61018
callq 0x1eef0
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xe8(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movl $0x34, %esi
movl $0x2, %edx
xorl %eax, %eax
movl %eax, %r8d
callq 0x1f690
movq -0xe8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x21112
jmp 0x21114
jmp 0x21116
jmp 0x21118
jmp 0x2111a
jmp 0x2111c
jmp 0x211d6
movq -0x18(%rbp), %rdi
leaq 0x3ffb4(%rip), %rsi     # 0x610e0
callq 0x1f770
testb $0x1, %al
jne 0x21137
jmp 0x2117c
cmpq $0x3, -0x20(%rbp)
jne 0x2117c
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xf0(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rcx
movq -0x28(%rbp), %rax
movq 0x8(%rax), %r8
movl $0x2c, %esi
movl $0x3, %edx
callq 0x1f690
movq -0xf0(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
movq -0x18(%rbp), %rdi
leaq 0x3ff63(%rip), %rsi     # 0x610ea
callq 0x1f770
testb $0x1, %al
jne 0x21192
jmp 0x211d0
cmpq $0x0, -0x20(%rbp)
jne 0x211d0
movq -0x38(%rbp), %rdi
callq 0x1f650
movq %rax, %rdi
movq %rdi, -0xf8(%rbp)
movl $0x2f, %esi
movl $0x4, %edx
xorl %eax, %eax
movl %eax, %r8d
movq %r8, %rcx
callq 0x1f690
movq -0xf8(%rbp), %rax
movq %rax, -0x8(%rbp)
jmp 0x211ee
jmp 0x211d2
jmp 0x211d6
jmp 0x211d6
movq -0x38(%rbp), %rdi
leaq 0x3ff0e(%rip), %rsi     # 0x610ef
callq 0x1eef0
movq $0x0, -0x8(%rbp)
movq -0x8(%rbp), %rax
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopl (%rax,%rax)