// File: /workspace/github_c_makefile_star2_O0/snow1eo[P]IPsec_IKEv2/ike.c
// Function: ike_auth
int ike_auth (void)
{
    MID++;

    IDi.ID_type = ID_IPV4_ADDR;
    IDi.reserved = 0;
    uint32_t id_len = get_id_len (ID_IPV4_ADDR);
    IDi.identification_data = calloc (1, id_len);
    IDi.identification_data[0] = 127;
    IDi.identification_data[1] = 0;
    IDi.identification_data[2] = 0;
    IDi.identification_data[3] = 1;
    IDi.header.next_payload = PL_AUTH;
    IDi.header.critical = 0;
    IDi.header.payload_length = 8 + id_len;

    AUTH.auth_method = DSS_DS;
    AUTH.reserved = 0;
    AUTH.authentication_data = calloc (1, integ_key_len);
    integ_func (SK_pi, integ_key_len,
                ike_sa_init, ike_sa_init_len,
                AUTH.authentication_data);
    AUTH.header.next_payload = PL_SA;
    AUTH.header.critical = 0;
    AUTH.header.payload_length = 8 + integ_key_len;

    SAi2 = SAr1;
    SAi2.header.next_payload = PL_TSi;

    TSi.number_of_TSs = 1;
    TSi.reserved = 0;
    TSi.traffic_selectors =
        calloc (TSi.number_of_TSs, sizeof (traffic_selector));
    TSi.traffic_selectors[0].TS_type = TS_IPV4_ADDR_RAN;
    TSi.traffic_selectors[0].IP_protocol_ID = ALL_PROT;
    uint8_t addr_len = get_addr_len (TSi.traffic_selectors[0].TS_type);
    TSi.traffic_selectors[0].selector_length =
        sizeof (generic_payload_header) + 4 + 2*addr_len;
    TSi.traffic_selectors[0].start_port = 0;
    TSi.traffic_selectors[0].end_port = 65535;
    TSi.traffic_selectors[0].starting_address =
        calloc (1, get_addr_len (TSi.traffic_selectors[0].TS_type));
    TSi.traffic_selectors[0].ending_address =
        calloc (1, get_addr_len (TSi.traffic_selectors[0].TS_type));
    TSi.traffic_selectors[0].starting_address[0] = 127;
    TSi.traffic_selectors[0].starting_address[1] = 0;
    TSi.traffic_selectors[0].starting_address[2] = 0;
    TSi.traffic_selectors[0].starting_address[3] = 1;
    TSi.traffic_selectors[0].ending_address[0] = 127;
    TSi.traffic_selectors[0].ending_address[1] = 0;
    TSi.traffic_selectors[0].ending_address[2] = 0;
    TSi.traffic_selectors[0].ending_address[3] = 2;
    TSi.header.next_payload = PL_TSr;
    TSi.header.critical = 0;
    TSi.header.payload_length = 8;
    for (int i = 0; i < TSi.number_of_TSs; i++)
        TSi.header.payload_length += TSi.traffic_selectors[i].selector_length;

    TSr.number_of_TSs = 1;
    TSr.reserved = 0;
    TSr.traffic_selectors =
        calloc (TSr.number_of_TSs, sizeof (traffic_selector));
    TSr.traffic_selectors[0].TS_type = TS_IPV4_ADDR_RAN;
    TSr.traffic_selectors[0].IP_protocol_ID = ALL_PROT;
    addr_len = get_addr_len (TSr.traffic_selectors[0].TS_type);
    TSr.traffic_selectors[0].selector_length =
        sizeof (generic_payload_header) + 4 + 2*addr_len;
    TSr.traffic_selectors[0].start_port = 0;
    TSr.traffic_selectors[0].end_port = 65535;
    TSr.traffic_selectors[0].starting_address =
        calloc (1, get_addr_len (TSr.traffic_selectors[0].TS_type));
    TSr.traffic_selectors[0].ending_address =
        calloc (1, get_addr_len (TSr.traffic_selectors[0].TS_type));
    TSr.traffic_selectors[0].starting_address[0] = 127;
    TSr.traffic_selectors[0].starting_address[1] = 0;
    TSr.traffic_selectors[0].starting_address[2] = 0;
    TSr.traffic_selectors[0].starting_address[3] = 1;
    TSr.traffic_selectors[0].ending_address[0] = 127;
    TSr.traffic_selectors[0].ending_address[1] = 0;
    TSr.traffic_selectors[0].ending_address[2] = 0;
    TSr.traffic_selectors[0].ending_address[3] = 2;
    TSr.header.next_payload = NO_NEXT_PL;
    TSr.header.critical = 0;
    TSr.header.payload_length = 8;
    for (int i = 0; i < TSr.number_of_TSs; i++)
        TSr.header.payload_length += TSr.traffic_selectors[i].selector_length;

    uint32_t data_len = 
        IDi.header.payload_length +
        AUTH.header.payload_length +
        SAi2.header.payload_length +
        TSi.header.payload_length +
        TSr.header.payload_length;
    uint8_t pad_len = (encr_block_len - (data_len+1 % encr_block_len)) % encr_block_len;

    SK.header.next_payload = PL_IDi;
    SK.header.critical = 0;
    SK.header.payload_length =
        sizeof (SK.header) +
        encr_block_len +
        data_len +
        pad_len+1 +
        integ_key_len;

    SK.iv = calloc (1, iv_len);
    for (int i = 0; i < iv_len; i++)
        SK.iv[i] = rand ();

    uint8_t *data = calloc (1, data_len + pad_len+1);
    uint32_t offset = 0;
    offset += id_pl2char   (&IDi,  data + offset);
    offset += auth_pl2char (&AUTH, data + offset);
    offset += sa_pl2char   (&SAi2, data + offset);
    offset += ts_pl2char   (&TSi,  data + offset);
    offset += ts_pl2char   (&TSr,  data + offset);
    data[data_len + pad_len] = pad_len;

    SK.enc_data = calloc (1, data_len + pad_len+1);
    encr_func (SK.enc_data,
               data,
               data_len + pad_len+1,
               SK_ei,
               SK.iv);

    SK.icv = calloc (1, integ_key_len);

    ike_header HDR;
    memcpy (&HDR.init_SPI, SPIi, sizeof (uint64_t));
    memcpy (&HDR.resp_SPI, SPIr, sizeof (uint64_t));
    HDR.next_payload = PL_SK;
    HDR.versions = VERSIONS;
    HDR.exchange_type = IKE_AUTH;
    HDR.flags = XXI;
    HDR.message_ID = MID;
    HDR.length = 
        sizeof (ike_header) +
        SK.header.payload_length;

    free (buff);
    buff = calloc (1, HDR.length);
    offset = 0;
    offset += ike_hdr2char (&HDR, buff + offset);
    offset += enc_pl2char  (&SK,  buff + offset,
                            iv_len, integ_key_len);
    offset -= integ_key_len;
    integ_func (SK_ai, integ_key_len,
                buff, offset,
                SK.icv);
    memcpy (buff + offset, SK.icv, integ_key_len);
    offset += integ_key_len;
    return offset;
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x60, %rsp
movl 0xbe92(%rip), %eax      # 0x12430
incl %eax
movl %eax, 0xbe8a(%rip)      # 0x12430
movb $0x1, 0xbedf(%rip)      # 0x1248c
movb $0x0, 0xbedb(%rip)      # 0x1248f
movw $0x0, 0xbed0(%rip)      # 0x1248d
movl $0x1, %edi
callq 0x3550
movl %eax, -0x4(%rbp)
movl -0x4(%rbp), %eax
movl %eax, %esi
movl $0x1, %edi
movq %rdi, -0x50(%rbp)
callq 0x3250
movq -0x50(%rbp), %rdi
movq %rax, 0xbea8(%rip)      # 0x12490
movq 0xbea1(%rip), %rax      # 0x12490
movb $0x7f, (%rax)
movq 0xbe97(%rip), %rax      # 0x12490
movb $0x0, 0x1(%rax)
movq 0xbe8c(%rip), %rax      # 0x12490
movb $0x0, 0x2(%rax)
movq 0xbe81(%rip), %rax      # 0x12490
movb $0x1, 0x3(%rax)
movb $0x27, 0xbe6e(%rip)     # 0x12488
movb $0x0, 0xbe68(%rip)      # 0x12489
movl -0x4(%rbp), %eax
addl $0x8, %eax
movw %ax, 0xbe5c(%rip)       # 0x1248a
movb $0x3, 0xbe77(%rip)      # 0x124ac
movb $0x0, 0xbe73(%rip)      # 0x124af
movw $0x0, 0xbe68(%rip)      # 0x124ad
movzwl 0xbfb4(%rip), %eax      # 0x12600
movl %eax, %esi
callq 0x3250
movq %rax, 0xbe56(%rip)      # 0x124b0
movq 0xbfa7(%rip), %rdi      # 0x12608
movzwl 0xbf98(%rip), %esi      # 0x12600
movq 0xbf29(%rip), %rdx      # 0x12598
movl 0xbf1b(%rip), %ecx      # 0x12590
movq 0xbe34(%rip), %r8       # 0x124b0
callq 0x3040
movb $0x21, 0xbe20(%rip)     # 0x124a8
movb $0x0, 0xbe1a(%rip)      # 0x124a9
movzwl 0xbf6a(%rip), %eax      # 0x12600
addl $0x8, %eax
movw %ax, 0xbe0a(%rip)       # 0x124aa
movl 0xbdae(%rip), %eax      # 0x12454
movl %eax, 0xbd9c(%rip)      # 0x12448
movq 0xbd99(%rip), %rax      # 0x1244c
movq %rax, 0xbd86(%rip)      # 0x12440
movb $0x2c, 0xbd7f(%rip)     # 0x12440
movb $0x1, 0xbe0c(%rip)      # 0x124d4
movb $0x0, 0xbe08(%rip)      # 0x124d7
movw $0x0, 0xbdfd(%rip)      # 0x124d5
movzbl 0xbdf5(%rip), %eax      # 0x124d4
movl %eax, %edi
movl $0x18, %esi
callq 0x3250
movq %rax, 0xbde6(%rip)      # 0x124d8
movq 0xbddf(%rip), %rax      # 0x124d8
movb $0x7, (%rax)
movq 0xbdd5(%rip), %rax      # 0x124d8
movb $0x0, 0x1(%rax)
movq 0xbdca(%rip), %rax      # 0x124d8
movzbl (%rax), %edi
callq 0x3470
movb %al, -0x5(%rbp)
movzbl -0x5(%rbp), %eax
shll %eax
cltq
addq $0x8, %rax
movw %ax, %cx
movq 0xbda9(%rip), %rax      # 0x124d8
movw %cx, 0x2(%rax)
movq 0xbd9e(%rip), %rax      # 0x124d8
movw $0x0, 0x4(%rax)
movq 0xbd91(%rip), %rax      # 0x124d8
movw $0xffff, 0x6(%rax)      # imm = 0xFFFF
movq 0xbd84(%rip), %rax      # 0x124d8
movzbl (%rax), %edi
callq 0x3470
movslq %eax, %rsi
movl $0x1, %edi
callq 0x3250
movq %rax, %rcx
movq 0xbd65(%rip), %rax      # 0x124d8
movq %rcx, 0x8(%rax)
movq 0xbd5a(%rip), %rax      # 0x124d8
movzbl (%rax), %edi
callq 0x3470
movslq %eax, %rsi
movl $0x1, %edi
callq 0x3250
movq %rax, %rcx
movq 0xbd3b(%rip), %rax      # 0x124d8
movq %rcx, 0x10(%rax)
movq 0xbd30(%rip), %rax      # 0x124d8
movq 0x8(%rax), %rax
movb $0x7f, (%rax)
movq 0xbd22(%rip), %rax      # 0x124d8
movq 0x8(%rax), %rax
movb $0x0, 0x1(%rax)
movq 0xbd13(%rip), %rax      # 0x124d8
movq 0x8(%rax), %rax
movb $0x0, 0x2(%rax)
movq 0xbd04(%rip), %rax      # 0x124d8
movq 0x8(%rax), %rax
movb $0x1, 0x3(%rax)
movq 0xbcf5(%rip), %rax      # 0x124d8
movq 0x10(%rax), %rax
movb $0x7f, (%rax)
movq 0xbce7(%rip), %rax      # 0x124d8
movq 0x10(%rax), %rax
movb $0x0, 0x1(%rax)
movq 0xbcd8(%rip), %rax      # 0x124d8
movq 0x10(%rax), %rax
movb $0x0, 0x2(%rax)
movq 0xbcc9(%rip), %rax      # 0x124d8
movq 0x10(%rax), %rax
movb $0x2, 0x3(%rax)
movb $0x2d, 0xbcb2(%rip)     # 0x124d0
movb $0x0, 0xbcac(%rip)      # 0x124d1
movw $0x8, 0xbca4(%rip)      # 0x124d2
movl $0x0, -0xc(%rbp)
movl -0xc(%rbp), %eax
movzbl 0xbc95(%rip), %ecx      # 0x124d4
cmpl %ecx, %eax
jge 0x6874
movq 0xbc8e(%rip), %rax      # 0x124d8
movslq -0xc(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movzwl 0x2(%rax), %ecx
movzwl 0xbc72(%rip), %eax      # 0x124d2
addl %ecx, %eax
movw %ax, 0xbc69(%rip)       # 0x124d2
movl -0xc(%rbp), %eax
addl $0x1, %eax
movl %eax, -0xc(%rbp)
jmp 0x6835
movb $0x1, 0xbc69(%rip)      # 0x124e4
movb $0x0, 0xbc65(%rip)      # 0x124e7
movw $0x0, 0xbc5a(%rip)      # 0x124e5
movzbl 0xbc52(%rip), %eax      # 0x124e4
movl %eax, %edi
movl $0x18, %esi
callq 0x3250
movq %rax, 0xbc43(%rip)      # 0x124e8
movq 0xbc3c(%rip), %rax      # 0x124e8
movb $0x7, (%rax)
movq 0xbc32(%rip), %rax      # 0x124e8
movb $0x0, 0x1(%rax)
movq 0xbc27(%rip), %rax      # 0x124e8
movzbl (%rax), %edi
callq 0x3470
movb %al, -0x5(%rbp)
movzbl -0x5(%rbp), %eax
shll %eax
cltq
addq $0x8, %rax
movw %ax, %cx
movq 0xbc06(%rip), %rax      # 0x124e8
movw %cx, 0x2(%rax)
movq 0xbbfb(%rip), %rax      # 0x124e8
movw $0x0, 0x4(%rax)
movq 0xbbee(%rip), %rax      # 0x124e8
movw $0xffff, 0x6(%rax)      # imm = 0xFFFF
movq 0xbbe1(%rip), %rax      # 0x124e8
movzbl (%rax), %edi
callq 0x3470
movslq %eax, %rsi
movl $0x1, %edi
callq 0x3250
movq %rax, %rcx
movq 0xbbc2(%rip), %rax      # 0x124e8
movq %rcx, 0x8(%rax)
movq 0xbbb7(%rip), %rax      # 0x124e8
movzbl (%rax), %edi
callq 0x3470
movslq %eax, %rsi
movl $0x1, %edi
callq 0x3250
movq %rax, %rcx
movq 0xbb98(%rip), %rax      # 0x124e8
movq %rcx, 0x10(%rax)
movq 0xbb8d(%rip), %rax      # 0x124e8
movq 0x8(%rax), %rax
movb $0x7f, (%rax)
movq 0xbb7f(%rip), %rax      # 0x124e8
movq 0x8(%rax), %rax
movb $0x0, 0x1(%rax)
movq 0xbb70(%rip), %rax      # 0x124e8
movq 0x8(%rax), %rax
movb $0x0, 0x2(%rax)
movq 0xbb61(%rip), %rax      # 0x124e8
movq 0x8(%rax), %rax
movb $0x1, 0x3(%rax)
movq 0xbb52(%rip), %rax      # 0x124e8
movq 0x10(%rax), %rax
movb $0x7f, (%rax)
movq 0xbb44(%rip), %rax      # 0x124e8
movq 0x10(%rax), %rax
movb $0x0, 0x1(%rax)
movq 0xbb35(%rip), %rax      # 0x124e8
movq 0x10(%rax), %rax
movb $0x0, 0x2(%rax)
movq 0xbb26(%rip), %rax      # 0x124e8
movq 0x10(%rax), %rax
movb $0x2, 0x3(%rax)
movb $0x0, 0xbb0f(%rip)      # 0x124e0
movb $0x0, 0xbb09(%rip)      # 0x124e1
movw $0x8, 0xbb01(%rip)      # 0x124e2
movl $0x0, -0x10(%rbp)
movl -0x10(%rbp), %eax
movzbl 0xbaf2(%rip), %ecx      # 0x124e4
cmpl %ecx, %eax
jge 0x6a27
movq 0xbaeb(%rip), %rax      # 0x124e8
movslq -0x10(%rbp), %rcx
imulq $0x18, %rcx, %rcx
addq %rcx, %rax
movzwl 0x2(%rax), %ecx
movzwl 0xbacf(%rip), %eax      # 0x124e2
addl %ecx, %eax
movw %ax, 0xbac6(%rip)       # 0x124e2
movl -0x10(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x10(%rbp)
jmp 0x69e8
movzwl 0xba5c(%rip), %eax      # 0x1248a
movzwl 0xba75(%rip), %ecx      # 0x124aa
addl %ecx, %eax
movzwl 0xba04(%rip), %ecx      # 0x12442
addl %ecx, %eax
movzwl 0xba8b(%rip), %ecx      # 0x124d2
addl %ecx, %eax
movzwl 0xba92(%rip), %ecx      # 0x124e2
addl %ecx, %eax
movl %eax, -0x14(%rbp)
movzwl 0xbbb4(%rip), %eax      # 0x12610
movl %eax, -0x54(%rbp)
movl -0x14(%rbp), %ecx
movzwl 0xbba7(%rip), %esi      # 0x12610
movl $0x1, %eax
cltd
idivl %esi
movl -0x54(%rbp), %eax
addl %edx, %ecx
subl %ecx, %eax
movzwl 0xbb91(%rip), %ecx      # 0x12610
xorl %edx, %edx
divl %ecx
movb %dl, %al
movb %al, -0x15(%rbp)
movb $0x23, 0xba61(%rip)     # 0x124f0
movb $0x0, 0xba5b(%rip)      # 0x124f1
movzwl 0xbb73(%rip), %eax      # 0x12610
addq $0x4, %rax
movl -0x14(%rbp), %ecx
addq %rcx, %rax
movzbl -0x15(%rbp), %ecx
addq %rcx, %rax
addq $0x1, %rax
movzwl 0xbb47(%rip), %ecx      # 0x12600
addq %rcx, %rax
movw %ax, 0xba2f(%rip)       # 0x124f2
movzwl 0xbb48(%rip), %eax      # 0x12612
movl %eax, %esi
movl $0x1, %edi
callq 0x3250
movq %rax, 0xba17(%rip)      # 0x124f4
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movzwl 0xbb24(%rip), %ecx      # 0x12612
cmpl %ecx, %eax
jge 0x6b12
callq 0x3600
movb %al, %dl
movq 0xb9f4(%rip), %rax      # 0x124f4
movslq -0x1c(%rbp), %rcx
movb %dl, (%rax,%rcx)
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x6ae4
movl -0x14(%rbp), %eax
movzbl -0x15(%rbp), %ecx
addl %ecx, %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %esi
movl $0x1, %edi
callq 0x3250
movq %rax, -0x28(%rbp)
movl $0x0, -0x2c(%rbp)
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %eax
addq %rax, %rsi
leaq 0xb940(%rip), %rdi      # 0x12488
callq 0x33a0
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %eax
addq %rax, %rsi
leaq 0xb944(%rip), %rdi      # 0x124a8
callq 0x32e0
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %eax
addq %rax, %rsi
leaq 0xb8c0(%rip), %rdi      # 0x12440
callq 0x33f0
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %eax
addq %rax, %rsi
leaq 0xb934(%rip), %rdi      # 0x124d0
callq 0x3310
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq -0x28(%rbp), %rsi
movl -0x2c(%rbp), %eax
addq %rax, %rsi
leaq 0xb928(%rip), %rdi      # 0x124e0
callq 0x3310
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movb -0x15(%rbp), %dl
movq -0x28(%rbp), %rax
movl -0x14(%rbp), %ecx
movzbl -0x15(%rbp), %esi
addl %esi, %ecx
movl %ecx, %ecx
movb %dl, (%rax,%rcx)
movl -0x14(%rbp), %eax
movzbl -0x15(%rbp), %ecx
addl %ecx, %eax
addl $0x1, %eax
movl %eax, %eax
movl %eax, %esi
movl $0x1, %edi
callq 0x3250
movq %rax, 0xb903(%rip)      # 0x124fc
movq 0xb8fc(%rip), %rdi      # 0x124fc
movq -0x28(%rbp), %rsi
movl -0x14(%rbp), %edx
movzbl -0x15(%rbp), %eax
addl %eax, %edx
addl $0x1, %edx
movq 0xba01(%rip), %rcx      # 0x12618
movq 0xb8d6(%rip), %r8       # 0x124f4
callq 0x34e0
movzwl 0xb9d6(%rip), %eax      # 0x12600
movl %eax, %esi
movl $0x1, %edi
callq 0x3250
movq %rax, 0xb8c7(%rip)      # 0x12504
movq 0xb7dc(%rip), %rax      # 0x12420
movq (%rax), %rax
movq %rax, -0x48(%rbp)
movq 0xb7d6(%rip), %rax      # 0x12428
movq (%rax), %rax
movq %rax, -0x40(%rbp)
movb $0x2e, -0x38(%rbp)
movb $0x20, -0x37(%rbp)
movb $0x23, -0x36(%rbp)
movb $0x8, -0x35(%rbp)
movl 0xb7c1(%rip), %eax      # 0x12430
movl %eax, -0x34(%rbp)
movzwl 0xb879(%rip), %eax      # 0x124f2
addq $0x1c, %rax
movl %eax, -0x30(%rbp)
movq 0xb919(%rip), %rdi      # 0x125a0
callq 0x3060
movl -0x30(%rbp), %eax
movl %eax, %esi
movl $0x1, %edi
callq 0x3250
movq %rax, 0xb8fe(%rip)      # 0x125a0
movl $0x0, -0x2c(%rbp)
movq 0xb8f0(%rip), %rsi      # 0x125a0
movl -0x2c(%rbp), %eax
addq %rax, %rsi
leaq -0x48(%rbp), %rdi
callq 0x3490
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movq 0xb8d4(%rip), %rsi      # 0x125a0
movl -0x2c(%rbp), %eax
addq %rax, %rsi
movzwl 0xb939(%rip), %edx      # 0x12612
movzwl 0xb920(%rip), %ecx      # 0x12600
leaq 0xb809(%rip), %rdi      # 0x124f0
callq 0x30e0
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movzwl 0xb907(%rip), %ecx      # 0x12600
movl -0x2c(%rbp), %eax
subl %ecx, %eax
movl %eax, -0x2c(%rbp)
movq 0xb918(%rip), %rdi      # 0x12620
movzwl 0xb8f1(%rip), %esi      # 0x12600
movq 0xb88a(%rip), %rdx      # 0x125a0
movl -0x2c(%rbp), %ecx
movq 0xb7e4(%rip), %r8       # 0x12504
callq 0x3040
movq 0xb874(%rip), %rdi      # 0x125a0
movl -0x2c(%rbp), %eax
addq %rax, %rdi
movq 0xb7cb(%rip), %rsi      # 0x12504
movzwl 0xb8c0(%rip), %eax      # 0x12600
movl %eax, %edx
callq 0x32c0
movzwl 0xb8b2(%rip), %eax      # 0x12600
addl -0x2c(%rbp), %eax
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %eax
addq $0x60, %rsp
popq %rbp
retq
nopl (%rax)