// File: /workspace/github_c_makefile_star2_O3/sfeakes[P]unifi-motion/mongoose.c
// Function: mg_is_not_modified
MG_INTERNAL int mg_is_not_modified(struct http_message *hm, cs_stat_t *st) {
  struct mg_str *hdr;
  if ((hdr = mg_get_http_header(hm, "If-None-Match")) != NULL) {
    char etag[64];
    mg_http_construct_etag(etag, sizeof(etag), st);
    return mg_vcasecmp(hdr, etag) == 0;
  } else if ((hdr = mg_get_http_header(hm, "If-Modified-Since")) != NULL) {
    return st->st_mtime <= mg_parse_date_string(hdr->p);
  } else {
    return 0;
  }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x68, %rsp
movq %rsi, %rbx
movq %rdi, %r15
leaq 0x391b(%rip), %rsi      # 0x170d4
callq 0xb896
testq %rax, %rax
je 0x137fe
movq %rax, %r14
movq 0x30(%rbx), %r8
movq 0x58(%rbx), %rcx
leaq 0x2d72(%rip), %rdx      # 0x16547
leaq 0x20(%rsp), %rbx
movl $0x40, %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x31e0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6b88
testl %eax, %eax
sete %al
jmp 0x139af
leaq 0x38dd(%rip), %rsi      # 0x170e2
movq %r15, %rdi
callq 0xb896
testq %rax, %rax
je 0x1390e
movq 0x58(%rbx), %r15
movq (%rax), %rbx
leaq 0x14(%rsp), %r13
leaq 0x10(%rsp), %r12
leaq 0x38c6(%rip), %rsi      # 0x170f4
leaq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0x4(%rsp), %r8
leaq 0xc(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r13
pushq %r12
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
je 0x138c1
leaq 0x38ad(%rip), %rsi      # 0x1710d
leaq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0x4(%rsp), %r8
leaq 0xc(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r13
pushq %r12
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
je 0x138c1
leaq 0x3875(%rip), %rsi      # 0x17107
leaq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0x4(%rsp), %r8
leaq 0xc(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r13
pushq %r12
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
jne 0x139c1
movl 0x4(%rsp), %r12d
cmpl $0x7b3, %r12d           # imm = 0x7B3
jl 0x13915
movq %r15, 0x18(%rsp)
leaq 0x1c5d(%rip), %r15      # 0x15538
xorl %ebp, %ebp
leaq 0x20(%rsp), %rbx
xorl %r14d, %r14d
movq %r15, %r13
movslq (%r13), %rsi
addq %r15, %rsi
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
je 0x1391c
addq $0x4, %r13
addq $0x2, %r14
cmpq $0x18, %r14
jne 0x138e8
jmp 0x139a4
xorl %eax, %eax
jmp 0x139af
xorl %ebp, %ebp
jmp 0x139a9
leal 0x3(%r12), %eax
testl %r12d, %r12d
cmovnsl %r12d, %eax
sarl $0x2, %eax
movslq %r12d, %rcx
imulq $-0x51eb851f, %rcx, %rdx # imm = 0xAE147AE1
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
imulq $0x51eb851f, %rcx, %rsi # imm = 0x51EB851F
movq %rsi, %rdi
shrq $0x3f, %rdi
sarq $0x27, %rsi
addl %edi, %esi
imull $0x16d, %ecx, %ecx      # imm = 0x16D
addl %eax, %ecx
addl %edx, %ecx
leaq 0x1bb9(%rip), %rax      # 0x15520
movzwl (%r14,%rax), %eax
addl %esi, %eax
addl %ecx, %eax
addl 0x8(%rsp), %eax
imull $0x15180, %eax, %eax    # imm = 0x15180
addl $0x868b8400, %eax       # imm = 0x868B8400
movslq 0xc(%rsp), %rcx
imulq $0xe10, %rcx, %rcx      # imm = 0xE10
cltq
movslq 0x10(%rsp), %rdx
imulq $0x3c, %rdx, %rdx
addq %rcx, %rdx
movslq 0x14(%rsp), %rbp
addq %rdx, %rbp
addq %rax, %rbp
movq 0x18(%rsp), %r15
cmpq %rbp, %r15
setle %al
movzbl %al, %eax
addq $0x68, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x3758(%rip), %rsi      # 0x17120
xorl %ebp, %ebp
leaq 0x8(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0x4(%rsp), %r14
leaq 0xc(%rsp), %r9
movq %rbx, %rdi
movq %r14, %r8
xorl %eax, %eax
pushq %r13
pushq %r12
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
sete %al
movl (%r14), %r12d
cmpl $0x7b3, %r12d           # imm = 0x7B3
setge %cl
testb %cl, %al
jne 0x138cf
jmp 0x139a9