// File: errantlinguist[P]Forecast/include/json/json_maps.hpp
// Function: void json::insertJsonStringArrayValues<std::unordered_multimap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>(std::unordered_multimap<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::hash<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::equal_to<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>>>>&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, json_object* const&)
void insertJsonStringArrayValues(
		M& multimap, const K& key,
		json_object* const & pArray)
{
	const int arrayLength = json_object_array_length(pArray);
	for (int i = 0; i < arrayLength; ++i)
	{
		json_object* const & arrayElement = json_object_array_get_idx(pArray,
				i);
		const std::string& value = json_object_get_string(arrayElement);
		const typename M::value_type newPair(key, value);
		multimap.insert(newPair);
	}

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xd0, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rax
movq (%rax), %rdi
callq 0xa380
movl %eax, -0x1c(%rbp)
movl $0x0, -0x20(%rbp)
movl -0x20(%rbp), %eax
cmpl -0x1c(%rbp), %eax
jge 0x5876a
movq -0x18(%rbp), %rax
movq (%rax), %rdi
movslq -0x20(%rbp), %rsi
callq 0xa700
movq %rax, -0x30(%rbp)
leaq -0x30(%rbp), %rax
movq %rax, -0x28(%rbp)
movq -0x28(%rbp), %rax
movq (%rax), %rdi
callq 0xa8e0
movq %rax, -0xc8(%rbp)
leaq -0x59(%rbp), %rdi
movq %rdi, -0xc0(%rbp)
callq 0xa770
movq -0xc8(%rbp), %rsi
movq -0xc0(%rbp), %rdx
leaq -0x58(%rbp), %rdi
callq 0xdcb0
jmp 0x586b1
leaq -0x59(%rbp), %rdi
callq 0xa960
leaq -0x58(%rbp), %rax
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rsi
movq -0x38(%rbp), %rdx
leaq -0xb0(%rbp), %rdi
callq 0x5a550
jmp 0x586d8
movq -0x8(%rbp), %rdi
leaq -0xb0(%rbp), %rsi
callq 0x5a5b0
movq %rax, -0xd0(%rbp)
jmp 0x586f1
movq -0xd0(%rbp), %rax
movq %rax, -0xb8(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0xeaa0
leaq -0x58(%rbp), %rdi
callq 0xa978
movl -0x20(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x20(%rbp)
jmp 0x5864d
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0x59(%rbp), %rdi
callq 0xa960
jmp 0x58773
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
jmp 0x5875f
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x68(%rbp)
movl %eax, -0x6c(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0xeaa0
leaq -0x58(%rbp), %rdi
callq 0xa978
jmp 0x58773
addq $0xd0, %rsp
popq %rbp
retq
movq -0x68(%rbp), %rdi
callq 0xa520
nopl (%rax)