// File: /workspace/github_cpp_makefile_star2_O2/WeihuaZhu[P]hpc_prog2/./gtest/gtest-all.cc
// Function: testing::internal::FormatEpochTimeInMillisAsIso8601[abi:cxx11](long long)
std::string FormatEpochTimeInMillisAsIso8601(TimeInMillis ms) {
  // Using non-reentrant version as localtime_r is not portable.
  time_t seconds = static_cast<time_t>(ms / 1000);
#ifdef _MSC_VER
# pragma warning(push)          // Saves the current warning state.
# pragma warning(disable:4996)  // Temporarily disables warning 4996
                                // (function or variable may be unsafe).
  const struct tm* const time_struct = localtime(&seconds);  // NOLINT
# pragma warning(pop)           // Restores the warning state again.
#else
  const struct tm* const time_struct = localtime(&seconds);  // NOLINT
#endif
  if (time_struct == NULL)
    return "";  // Invalid ms value

  // YYYY-MM-DDThh:mm:ss
  return StreamableToString(time_struct->tm_year + 1900) + "-" +
      String::FormatIntWidth2(time_struct->tm_mon + 1) + "-" +
      String::FormatIntWidth2(time_struct->tm_mday) + "T" +
      String::FormatIntWidth2(time_struct->tm_hour) + ":" +
      String::FormatIntWidth2(time_struct->tm_min) + ":" +
      String::FormatIntWidth2(time_struct->tm_sec);
}

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x1f0, %rsp            # imm = 0x1F0
movq %rsi, %rax
movq %rdi, %rbx
movl $0x3e8, %ecx            # imm = 0x3E8
cqto
idivq %rcx
leaq 0x1c8(%rsp), %rdi
movq %rax, (%rdi)
callq 0x62e0
testq %rax, %rax
je 0xe5cb
movq %rax, %r14
movl $0x76c, %eax            # imm = 0x76C
addl 0x14(%r14), %eax
leaq 0x4(%rsp), %rsi
movl %eax, (%rsi)
leaq 0x1d0(%rsp), %r15
movq %r15, %rdi
callq 0x1703c
leaq 0x10c2a(%rip), %rdx     # 0x1eff2
leaq 0xc8(%rsp), %rdi
movq %r15, %rsi
callq 0x154d7
movl 0x10(%r14), %esi
incl %esi
leaq 0xa8(%rsp), %rdi
callq 0xad9e
leaq 0xe8(%rsp), %rdi
leaq 0xc8(%rsp), %rsi
leaq 0xa8(%rsp), %rdx
callq 0x16fd5
leaq 0x10be3(%rip), %rdx     # 0x1eff2
leaq 0x108(%rsp), %rdi
leaq 0xe8(%rsp), %rsi
callq 0x154d7
movl 0xc(%r14), %esi
leaq 0x88(%rsp), %rdi
callq 0xad9e
leaq 0x128(%rsp), %rdi
leaq 0x108(%rsp), %rsi
leaq 0x88(%rsp), %rdx
callq 0x16fd5
leaq 0x106a6(%rip), %rdx     # 0x1eaff
leaq 0x148(%rsp), %rdi
leaq 0x128(%rsp), %rsi
callq 0x154d7
movl 0x8(%r14), %esi
leaq 0x68(%rsp), %rdi
callq 0xad9e
leaq 0x168(%rsp), %rdi
leaq 0x148(%rsp), %rsi
leaq 0x68(%rsp), %rdx
callq 0x16fd5
leaq 0x10962(%rip), %rdx     # 0x1edff
leaq 0x188(%rsp), %rdi
leaq 0x168(%rsp), %rsi
callq 0x154d7
movl 0x4(%r14), %esi
leaq 0x48(%rsp), %rdi
callq 0xad9e
leaq 0x1a8(%rsp), %rdi
leaq 0x188(%rsp), %rsi
leaq 0x48(%rsp), %rdx
callq 0x16fd5
leaq 0x1091e(%rip), %rdx     # 0x1edff
leaq 0x8(%rsp), %rdi
leaq 0x1a8(%rsp), %rsi
callq 0x154d7
movl (%r14), %esi
leaq 0x28(%rsp), %rdi
callq 0xad9e
leaq 0x8(%rsp), %rsi
leaq 0x28(%rsp), %rdx
movq %rbx, %rdi
callq 0x16fd5
leaq 0x28(%rsp), %rdi
callq 0x6a28
leaq 0x8(%rsp), %rdi
callq 0x6a28
leaq 0x1a8(%rsp), %rdi
callq 0x6a28
leaq 0x48(%rsp), %rdi
callq 0x6a28
leaq 0x188(%rsp), %rdi
callq 0x6a28
leaq 0x168(%rsp), %rdi
callq 0x6a28
leaq 0x68(%rsp), %rdi
callq 0x6a28
leaq 0x148(%rsp), %rdi
callq 0x6a28
leaq 0x128(%rsp), %rdi
callq 0x6a28
leaq 0x88(%rsp), %rdi
callq 0x6a28
leaq 0x108(%rsp), %rdi
callq 0x6a28
leaq 0xe8(%rsp), %rdi
callq 0x6a28
leaq 0xa8(%rsp), %rdi
callq 0x6a28
leaq 0xc8(%rsp), %rdi
callq 0x6a28
leaq 0x1d0(%rsp), %rdi
callq 0x6a28
jmp 0xe5df
leaq 0x104d3(%rip), %rsi     # 0x1eaa5
leaq 0x8(%rsp), %rdx
movq %rbx, %rdi
callq 0x1543a
movq %rbx, %rax
addq $0x1f0, %rsp            # imm = 0x1F0
popq %rbx
popq %r14
popq %r15
retq
movq %rax, %rbx
leaq 0x28(%rsp), %rdi
callq 0x6a28
jmp 0xe601
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x6a28
jmp 0xe610
movq %rax, %rbx
leaq 0x1a8(%rsp), %rdi
callq 0x6a28
jmp 0xe622
movq %rax, %rbx
leaq 0x48(%rsp), %rdi
callq 0x6a28
jmp 0xe631
movq %rax, %rbx
leaq 0x188(%rsp), %rdi
callq 0x6a28
leaq 0x168(%rsp), %rdi
callq 0x6a28
leaq 0x68(%rsp), %rdi
callq 0x6a28
leaq 0x148(%rsp), %rdi
callq 0x6a28
leaq 0x128(%rsp), %rdi
callq 0x6a28
leaq 0x88(%rsp), %rdi
callq 0x6a28
leaq 0x108(%rsp), %rdi
callq 0x6a28
leaq 0xe8(%rsp), %rdi
callq 0x6a28
leaq 0xa8(%rsp), %rdi
callq 0x6a28
leaq 0xc8(%rsp), %rdi
callq 0x6a28
leaq 0x1d0(%rsp), %rdi
callq 0x6a28
movq %rbx, %rdi
callq 0x6900
movq %rax, %rbx
jmp 0xe63e
movq %rax, %rbx
jmp 0xe64b
movq %rax, %rbx
jmp 0xe655
movq %rax, %rbx
jmp 0xe662
movq %rax, %rbx
jmp 0xe66f
movq %rax, %rbx
jmp 0xe67c
movq %rax, %rbx
jmp 0xe689
movq %rax, %rbx
jmp 0xe696
movq %rax, %rbx
jmp 0xe6a3
movq %rax, %rbx
jmp 0xe6b0