// File: /workspace/github_c_makefile_star2_O1/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 %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x60, %rsp
movq %rsi, %rbx
movq %rdi, %r15
leaq 0x3de1(%rip), %rsi      # 0x170b6
callq 0xbaa7
testq %rax, %rax
je 0x1331a
movq %rax, %r14
movq 0x30(%rbx), %r8
movq 0x58(%rbx), %rcx
leaq 0x3238(%rip), %rdx      # 0x16529
leaq 0x20(%rsp), %rbx
movl $0x40, %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x31e0
movq %r14, %rdi
movq %rbx, %rsi
callq 0x6c4a
testl %eax, %eax
sete %al
jmp 0x134c1
leaq 0x3da3(%rip), %rsi      # 0x170c4
movq %r15, %rdi
callq 0xbaa7
testq %rax, %rax
je 0x134bf
movq 0x58(%rbx), %r14
movq (%rax), %rbx
leaq 0x1c(%rsp), %r12
leaq 0x18(%rsp), %r15
leaq 0x3d8c(%rip), %rsi      # 0x170d6
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x14(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r12
pushq %r15
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
je 0x133dd
leaq 0x3d73(%rip), %rsi      # 0x170ef
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x14(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r12
pushq %r15
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
je 0x133dd
leaq 0x3d3b(%rip), %rsi      # 0x170e9
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x14(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r12
pushq %r15
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
jne 0x134d2
cmpl $0x7b3, 0xc(%rsp)       # imm = 0x7B3
jl 0x134b4
leaq 0x2136(%rip), %r12      # 0x15528
xorl %r15d, %r15d
leaq 0x20(%rsp), %rbx
movq %r12, %r13
movslq (%r13), %rsi
addq %r12, %rsi
movq %rbx, %rdi
callq 0x3310
testl %eax, %eax
je 0x13423
incq %r15
addq $0x4, %r13
cmpq $0xc, %r15
jne 0x133fd
movl $0xffffffff, %r15d      # imm = 0xFFFFFFFF
cmpl $-0x1, %r15d
je 0x134b4
movslq 0xc(%rsp), %rax
leal 0x3(%rax), %ecx
testl %eax, %eax
cmovnsl %eax, %ecx
sarl $0x2, %ecx
imulq $-0x51eb851f, %rax, %rdx # imm = 0xAE147AE1
movq %rdx, %rsi
shrq $0x3f, %rsi
sarq $0x25, %rdx
addl %esi, %edx
addl %ecx, %edx
imulq $0x51eb851f, %rax, %rcx # imm = 0x51EB851F
movq %rcx, %rsi
shrq $0x3f, %rsi
sarq $0x27, %rcx
addl %esi, %ecx
leal -0x7b2(%rax), %esi
movl %esi, 0xc(%rsp)
movslq %r15d, %rsi
leaq 0x2095(%rip), %rdi      # 0x15510
movzwl (%rdi,%rsi,2), %esi
imull $0x16d, %eax, %eax      # imm = 0x16D
addl %ecx, %eax
addl %edx, %eax
addl %esi, %eax
addl 0x10(%rsp), %eax
imull $0xe10, 0x14(%rsp), %ecx # imm = 0xE10
imull $0x15180, %eax, %eax    # imm = 0x15180
imull $0x3c, 0x18(%rsp), %edx
addl %ecx, %edx
addl 0x1c(%rsp), %edx
addl %edx, %eax
addl $0x868b8400, %eax       # imm = 0x868B8400
movslq %eax, %r13
jmp 0x134b7
xorl %r13d, %r13d
cmpq %r13, %r14
setle %al
jmp 0x134c1
xorl %eax, %eax
movzbl %al, %eax
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
retq
leaq 0x3c29(%rip), %rsi      # 0x17102
xorl %r13d, %r13d
leaq 0x10(%rsp), %rdx
leaq 0x20(%rsp), %rcx
leaq 0xc(%rsp), %r8
leaq 0x14(%rsp), %r9
movq %rbx, %rdi
xorl %eax, %eax
pushq %r12
pushq %r15
callq 0x3420
addq $0x10, %rsp
cmpl $0x6, %eax
jne 0x134b7
cmpl $0x7b2, 0xc(%rsp)       # imm = 0x7B2
jg 0x133eb
jmp 0x134b7