// File: /workspace/github_c_makefile_star2_O0/enzo1982[P]smooth/classes/misc/config.cpp
// Function: smooth::Configuration::SetIntValue(smooth::String const&, smooth::String const&, int)
S::Int S::Configuration::SetIntValue(const String &section, const String &name, Int newValue)
{
	if (configFile == NIL) return Error();

	XML::Node	*valueNode = FindValueNode(section, name);

	if (valueNode != NIL)
	{
		valueNode->SetContent(String::FromInt(newValue));
	}
	else
	{
		XML::Node	*sectionNode = FindSectionNode(section);

		if (sectionNode == NIL)
		{
			sectionNode = FindConfigurationNode(activeConfig)->AddNode(NodeSectionID);
			sectionNode->SetAttribute(AttributeNameID, section);
		}

		valueNode = sectionNode->AddNode(NodeValueID, String::FromInt(newValue));
		valueNode->SetAttribute(AttributeNameID, name);
	}

	return Success();
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x120, %rsp            # imm = 0x120
movq %rdi, -0x10(%rbp)
movq %rsi, -0x18(%rbp)
movq %rdx, -0x20(%rbp)
movl %ecx, -0x24(%rbp)
movq -0x10(%rbp), %rax
movq %rax, -0xb8(%rbp)
cmpq $0x0, 0x30(%rax)
jne 0xefbb6
leaq -0x38(%rbp), %rdi
movq %rdi, -0xc8(%rbp)
movl $0xffffffff, %esi       # imm = 0xFFFFFFFF
callq 0x5a9c0
movq -0xc8(%rbp), %rdi
callq 0x59680
movl %eax, -0xbc(%rbp)
jmp 0xefb85
movl -0xbc(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5b5b0
jmp 0xefdd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x38(%rbp), %rdi
callq 0x5b5b0
jmp 0xefddc
movq -0xb8(%rbp), %rdi
movq -0x18(%rbp), %rsi
movq -0x20(%rbp), %rdx
callq 0x5b810
movq %rax, -0x50(%rbp)
cmpq $0x0, -0x50(%rbp)
je 0xefc31
movq -0x50(%rbp), %rax
movq %rax, -0xd8(%rbp)
movslq -0x24(%rbp), %rsi
leaq -0x68(%rbp), %rdi
movq %rdi, -0xd0(%rbp)
callq 0x5b290
movq -0xd8(%rbp), %rdi
movq -0xd0(%rbp), %rsi
callq 0x59ab0
jmp 0xefc09
leaq -0x68(%rbp), %rdi
callq 0x5df00
jmp 0xefd78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x68(%rbp), %rdi
callq 0x5df00
jmp 0xefddc
movq -0xb8(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5b6e0
movq %rax, -0x70(%rbp)
cmpq $0x0, -0x70(%rbp)
jne 0xefcec
movq -0xb8(%rbp), %rdi
movq %rdi, %rsi
addq $0x18, %rsi
callq 0x5be60
movq %rax, -0xf0(%rbp)
leaq -0x88(%rbp), %rdi
movq %rdi, -0xe8(%rbp)
xorl %esi, %esi
callq 0x5da90
movq -0xf0(%rbp), %rdi
movq -0xe8(%rbp), %rdx
leaq 0x11cd1c(%rip), %rsi    # 0x20c9b0
callq 0x599e0
movq %rax, -0xe0(%rbp)
jmp 0xefca2
movq -0xe0(%rbp), %rax
movq %rax, -0x70(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5df00
movq -0x70(%rbp), %rdi
movq -0x18(%rbp), %rdx
leaq 0x11cd30(%rip), %rsi    # 0x20c9f8
callq 0x5cb70
jmp 0xefcec
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0x88(%rbp), %rdi
callq 0x5df00
jmp 0xefddc
movq -0x70(%rbp), %rax
movq %rax, -0x108(%rbp)
movslq -0x24(%rbp), %rsi
leaq -0xa0(%rbp), %rdi
movq %rdi, -0x100(%rbp)
callq 0x5b290
movq -0x108(%rbp), %rdi
movq -0x100(%rbp), %rdx
leaq 0x11cca5(%rip), %rsi    # 0x20c9c8
callq 0x599e0
movq %rax, -0xf8(%rbp)
jmp 0xefd31
movq -0xf8(%rbp), %rax
movq %rax, -0x50(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x5df00
movq -0x50(%rbp), %rdi
movq -0x20(%rbp), %rdx
leaq 0x11cca1(%rip), %rsi    # 0x20c9f8
callq 0x5cb70
jmp 0xefd78
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xa0(%rbp), %rdi
callq 0x5df00
jmp 0xefddc
leaq -0xb0(%rbp), %rdi
movq %rdi, -0x118(%rbp)
callq 0x5ca80
movq -0x118(%rbp), %rdi
callq 0x59680
movl %eax, -0x10c(%rbp)
jmp 0xefd9f
movl -0x10c(%rbp), %eax
movl %eax, -0x4(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x5a410
jmp 0xefdd0
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x40(%rbp)
movl %eax, -0x44(%rbp)
leaq -0xb0(%rbp), %rdi
callq 0x5a410
jmp 0xefddc
movl -0x4(%rbp), %eax
addq $0x120, %rsp            # imm = 0x120
popq %rbp
retq
movq -0x40(%rbp), %rdi
callq 0x5b6b0
nopw %cs:(%rax,%rax)