// File: /workspace/github_c_makefile_star2_O0/snow1eo[P]IPsec_IKEv2/./transforms.c
// Function: char2ike_hdr
uint32_t char2ike_hdr (uint8_t *buf, ike_header *hdr)
{
    uint32_t offset = 0;
    CPY (buf, offset, hdr->init_SPI);
    CPY (buf, offset, hdr->resp_SPI);
    CPY (buf, offset, hdr->next_payload);
    CPY (buf, offset, hdr->versions);
    CPY (buf, offset, hdr->exchange_type);
    CPY (buf, offset, hdr->flags);
    CPY (buf, offset, hdr->message_ID);
    CPY (buf, offset, hdr->length);
    return offset;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x20, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movl $0x0, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x8, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movq (%rcx,%rdx), %rcx
movq %rcx, (%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x8, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x8, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x8, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movq (%rcx,%rdx), %rcx
movq %rcx, 0x8(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x8, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x8, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movb (%rcx,%rdx), %cl
movb %cl, 0x10(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x1, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movb (%rcx,%rdx), %cl
movb %cl, 0x11(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x1, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movb (%rcx,%rdx), %cl
movb %cl, 0x12(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x1, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movb (%rcx,%rdx), %cl
movb %cl, 0x13(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x1, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x1, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x4, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movl (%rcx,%rdx), %ecx
movl %ecx, 0x14(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x4, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x4, %rax
movl %eax, -0x14(%rbp)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x4, %esi
callq 0x3050
movq -0x10(%rbp), %rax
movq -0x8(%rbp), %rcx
movl -0x14(%rbp), %edx
movl (%rcx,%rdx), %ecx
movl %ecx, 0x18(%rax)
movq -0x8(%rbp), %rdi
movl -0x14(%rbp), %eax
addq %rax, %rdi
movl $0x4, %esi
callq 0x3050
movl -0x14(%rbp), %eax
addq $0x4, %rax
movl %eax, -0x14(%rbp)
movl -0x14(%rbp), %eax
addq $0x20, %rsp
popq %rbp
retq
nopl (%rax,%rax)