// File: /workspace/github_cpp_makefile_star2_O3/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
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x78, %rsp
movq %rdx, %rbx
movq %rsi, 0x8(%rsp)
movq %rdi, %r15
movq (%rdx), %rdi
callq 0x9240
movq %rax, %r12
testl %r12d, %r12d
jle 0x256be
andl $0x7fffffff, %r12d      # imm = 0x7FFFFFFF
xorl %r13d, %r13d
leaq 0x18(%rsp), %rbp
leaq 0x38(%rsp), %r14
movq (%rbx), %rdi
movq %r13, %rsi
callq 0x9550
movq %rax, %rdi
callq 0x96c0
movq %rbp, %rdi
movq %rax, %rsi
movq %r14, %rdx
callq 0xc40a
movq %r14, %rdi
movq 0x8(%rsp), %rsi
movq %rbp, %rdx
callq 0x26068
movq %r15, 0x10(%rsp)
movq %r15, %rdi
xorl %esi, %esi
movq %r14, %rdx
leaq 0x10(%rsp), %rcx
callq 0x260cc
movq 0x58(%rsp), %rdi
leaq 0x68(%rsp), %rax
cmpq %rax, %rdi
je 0x2567a
movq 0x68(%rsp), %rsi
incq %rsi
callq 0x90a0
movq 0x38(%rsp), %rdi
leaq 0x48(%rsp), %rax
cmpq %rax, %rdi
je 0x25696
movq 0x48(%rsp), %rsi
incq %rsi
callq 0x90a0
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x256b2
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x90a0
incq %r13
cmpq %r13, %r12
jne 0x25616
addq $0x78, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
jmp 0x256df
movq %rax, %rbx
leaq 0x38(%rsp), %rdi
callq 0x25ab2
movq 0x18(%rsp), %rdi
leaq 0x28(%rsp), %rax
cmpq %rax, %rdi
je 0x256fb
movq 0x28(%rsp), %rsi
incq %rsi
callq 0x90a0
movq %rbx, %rdi
callq 0x9390