// File: /workspace/github_cpp_makefile_star2_O3/mh0fm4[P]SCDC/src/components/dataprov/dataprov_register.cc
// Function: scdc_dataprov_register::reg_update(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&)
bool scdc_dataprov_register::reg_update(const std::string &url)
{
  SCDC_TRACE("reg_update: url: '" << url << "'");

  register_t::iterator i = reg.find(url);

  if (i == reg.end()) return false;

  i->second.type = "";
  i->second.state = "";

  string cmd = url + "/CONFIG info";

  bool ret = scdc_dataset_cmd(SCDC_DATASET_NULL, cmd.c_str(), 0, 0);
  string result = scdc_last_result();

  if (ret)
  {
    string::size_type p = result.find('|');

    i->second.type = result.substr(0, p);
    if (p != string::npos) i->second.state = result.substr(p + 1, string::npos);
  }

  SCDC_TRACE("reg_update: type: '" << i->second.type << "', state: '" << i->second.state << "'");

  return ret;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %r15
movq %rdi, %r14
addq $0x68, %rdi
callq 0x206b2
addq $0x70, %r14
cmpq %r14, %rax
je 0x1fe51
movq %rax, %rbx
movq %rax, %r13
leaq 0x40(%rax), %r14
movq 0x48(%rbx), %rdx
leaq 0x4b83e(%rip), %r12     # 0x6b52d
movq %r14, %rdi
xorl %esi, %esi
movq %r12, %rcx
xorl %r8d, %r8d
callq 0xb870
addq $0x60, %rbx
movq 0x68(%r13), %rdx
movq %rbx, %rdi
xorl %esi, %esi
movq %r12, %rcx
xorl %r8d, %r8d
callq 0xb870
leaq 0x18(%rsp), %r13
movq %r13, -0x10(%r13)
movq (%r15), %rsi
movq 0x8(%r15), %rdx
addq %rsi, %rdx
leaq 0x8(%rsp), %r15
movq %r15, %rdi
callq 0x1d0a0
leaq 0x4ab75(%rip), %rsi     # 0x6a8b3
movq %r15, %rdi
callq 0xba60
movq 0x8(%rsp), %rsi
xorl %edi, %edi
xorl %edx, %edx
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x1ab07
movq %rax, %r15
testq %rax, %rax
setne %bpl
callq 0x19208
leaq 0x48(%rsp), %rdi
leaq 0x28(%rsp), %rdx
movq %rax, %rsi
callq 0x1bd28
testq %r15, %r15
je 0x1fe1d
leaq 0x48(%rsp), %r12
movq %r12, %rdi
movl $0x7c, %esi
xorl %edx, %edx
callq 0xb6e0
movq %rax, %r15
leaq 0x28(%rsp), %rdi
movq %r12, %rsi
xorl %edx, %edx
movq %rax, %rcx
callq 0xb530
leaq 0x28(%rsp), %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0xb670
movq (%r12), %rdi
leaq 0x38(%rsp), %r12
cmpq %r12, %rdi
je 0x1fdd6
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
cmpq $-0x1, %r15
je 0x1fe1d
incq %r15
leaq 0x28(%rsp), %rdi
leaq 0x48(%rsp), %rsi
movq %r15, %rdx
movq $-0x1, %rcx
callq 0xb530
leaq 0x28(%rsp), %r14
movq %rbx, %rdi
movq %r14, %rsi
callq 0xb670
movq (%r14), %rdi
cmpq %r12, %rdi
je 0x1fe1d
movq 0x38(%rsp), %rsi
incq %rsi
callq 0xb510
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1fe38
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb510
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1fe53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x1fe53
xorl %ebp, %ebp
movl %ebp, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x1fe66
movq %rax, %rbx
leaq 0x58(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1fe8f
movq 0x58(%rsp), %rsi
incq %rsi
callq 0xb510
jmp 0x1fe8f
jmp 0x1fe8c
jmp 0x1fe8c
jmp 0x1fe8c
movq %rax, %rbx
movq 0x8(%rsp), %rdi
cmpq %r13, %rdi
je 0x1fea6
movq 0x18(%rsp), %rsi
incq %rsi
callq 0xb510
movq %rbx, %rdi
callq 0xb9c0