// File: /workspace/github_c_makefile_star2_O0/jfriesse[P]omping/msg.c
// Function: msg_decode
void
msg_decode(const char *msg, size_t msg_len, struct msg_decoded *decoded)
{
	char debug_str[128];
	struct tlv_iterator tlv_iter;
	size_t pos;
	uint32_t u32, u32_2;
	uint16_t tlv_len;
	uint16_t u16;
	uint8_t u8;

	memset(decoded, 0, sizeof(struct msg_decoded));

	decoded->msg_type = (enum msg_type)msg[0];

	DEBUG2_PRINTF("Message type %c (0x%X)", decoded->msg_type, decoded->msg_type);

	tlv_iter_init(msg, msg_len, &tlv_iter);

	while (tlv_iter_next(&tlv_iter) == 0) {
		tlv_len = tlv_iter_get_len(&tlv_iter);

		if (logging_get_verbose() >= LOGGING_LEVEL_DEBUG2) {
			snprintf(debug_str, sizeof(debug_str), "%u:%s:%u:",
			    tlv_iter_get_type(&tlv_iter),
			    tlv_opt_type_to_str(tlv_iter_get_type(&tlv_iter)), tlv_len);
		}

		switch (tlv_iter_get_type(&tlv_iter)) {
		case TLV_OPT_TYPE_VERSION:
			if (tlv_len == 1) {
				memcpy(&u8, tlv_iter_get_data(&tlv_iter), sizeof(u8));

				decoded->version = u8;

				DEBUG2_PRINTF("%s%u", debug_str, u8);
			} else {
				DEBUG2_PRINTF("%slen != 1", debug_str);
			}
			break;
		case TLV_OPT_TYPE_CLIENT_ID:
			if (tlv_len > 0) {
				decoded->client_id_len = tlv_len;
				decoded->client_id = tlv_iter_get_data(&tlv_iter);

				DEBUG2_HEXDUMP(debug_str, decoded->client_id, tlv_len);
			} else {
				DEBUG2_PRINTF("%slen <= 0", debug_str);
			}
			break;
		case TLV_OPT_TYPE_SEQ_NUM:
			if (tlv_len == 4) {
				decoded->seq_num_isset = 1;
				memcpy(&u32, tlv_iter_get_data(&tlv_iter), sizeof(u32));
				u32 = ntohl(u32);
				decoded->seq_num = u32;

				DEBUG2_PRINTF("%s%u", debug_str, u32);
			} else {
				DEBUG2_PRINTF("%slen != 4", debug_str);
			}
			break;
		case TLV_OPT_TYPE_CLIENT_TSTAMP:
			if (tlv_len == 8) {
				memcpy(&u32, tlv_iter_get_data(&tlv_iter), sizeof(u32));
				u32 = ntohl(u32);
				decoded->client_tstamp.tv_sec = u32;

				memcpy(&u32_2, tlv_iter_get_data(&tlv_iter) + sizeof(u32),
				    sizeof(u32_2));
				u32_2 = ntohl(u32_2);
				decoded->client_tstamp.tv_usec = u32_2;

				decoded->client_tstamp_isset = 1;

				DEBUG2_PRINTF("%s(%u,%u)", debug_str, u32, u32_2);
			} else {
				DEBUG2_PRINTF("%slen != 8", debug_str);
			}
			break;
		case TLV_OPT_TYPE_MCAST_GRP:
			if (tlv_len > 2) {
				memcpy(&u16, tlv_iter_get_data(&tlv_iter), sizeof(u16));
				u16 = ntohs(u16);

				if ((u16 == AF_IANA_IP && tlv_len == 6) ||
				    (u16 == AF_IANA_IP6 && tlv_len == 18)) {
					decoded->mcast_grp_len = tlv_len;
					decoded->mcast_grp = tlv_iter_get_data(&tlv_iter);

					DEBUG2_PRINTF("%sAF %u", debug_str, u16);
				} else {
					DEBUG2_PRINTF("%sbad AF %u or len", debug_str, u16);
				}
			} else {
				DEBUG2_PRINTF("%slen <= 2", debug_str);
			}
			break;
		case TLV_OPT_TYPE_OPT_REQUEST:
			if (tlv_len > 1 && (tlv_len % 2  == 0)) {
				for (pos = 0; pos < (uint16_t)(tlv_len / 2); pos++) {
					memcpy(&u16, tlv_iter_get_data(&tlv_iter) + pos * 2,
					    sizeof(u16));

					u16 = ntohs(u16);

					switch (u16) {
					case TLV_OPT_TYPE_SERVER_INFO:
						decoded->request_opt_server_info = 1;

						DEBUG2_PRINTF("%s%zu opt %u", debug_str, pos, u16);
						break;
					case TLV_OPT_TYPE_SERVER_TSTAMP:
						decoded->request_opt_server_tstamp = 1;

						DEBUG2_PRINTF("%s%zu opt %u", debug_str, pos, u16);
						break;
					default:
						DEBUG2_PRINTF("%s%zu unknown opt %u", debug_str,
						    pos, u16);
						break;
					}
				}
			} else {
				DEBUG2_PRINTF("%slen <= 1 || (tlv_len %%2 != 0)", debug_str);
			}
			break;
		case TLV_OPT_TYPE_SERVER_INFO:
			if (tlv_len > 0) {
				decoded->server_info = tlv_iter_get_data(&tlv_iter);
				decoded->server_info_len = tlv_len;

				DEBUG2_HEXDUMP(debug_str, decoded->server_info, tlv_len);
			} else {
				DEBUG2_PRINTF("%slen <= 0", debug_str);
			}
			break;
		case TLV_OPT_TYPE_TTL:
			if (tlv_len == 1) {
				memcpy(&u8, tlv_iter_get_data(&tlv_iter), sizeof(u8));

				decoded->ttl = u8;

				DEBUG2_PRINTF("%s%u", debug_str, u8);
			} else {
				DEBUG2_PRINTF("%slen != 1", debug_str);
			}
			break;
		case TLV_OPT_TYPE_MCAST_PREFIX:
			if (tlv_len > 2) {
				memcpy(&u16, tlv_iter_get_data(&tlv_iter), sizeof(u16));
				u16 = ntohs(u16);

				if (u16 == AF_IANA_IP  || u16 == AF_IANA_IP6) {
					decoded->mcast_prefix_isset = 1;

					DEBUG2_PRINTF("%sAF %u", debug_str, u16);
				} else {
					DEBUG2_PRINTF("%sbad AF %u", debug_str, u16);
				}
			} else {
				DEBUG2_PRINTF("%slen <= 2", debug_str);
			}
			break;
		case TLV_OPT_TYPE_SES_ID:
			if (tlv_len > 0) {
				decoded->ses_id_len = tlv_len;
				decoded->ses_id = tlv_iter_get_data(&tlv_iter);

				DEBUG2_HEXDUMP(debug_str, decoded->ses_id, tlv_len);
			} else {
				DEBUG2_PRINTF("%slen <= 0", debug_str);
			}
			break;
		case TLV_OPT_TYPE_SERVER_TSTAMP:
			if (tlv_len == 8) {
				memcpy(&u32, tlv_iter_get_data(&tlv_iter), sizeof(u32));
				u32 = ntohl(u32);
				decoded->server_tstamp.tv_sec = u32;

				memcpy(&u32_2, tlv_iter_get_data(&tlv_iter) + sizeof(u32),
				    sizeof(u32_2));
				u32_2 = ntohl(u32_2);
				decoded->server_tstamp.tv_usec = u32_2;

				decoded->server_tstamp_isset = 1;

				DEBUG2_PRINTF("%s(%u,%u)", debug_str, u32, u32_2);
			} else {
				DEBUG2_PRINTF("%slen != 8", debug_str);
			}
			break;
		default:
			DEBUG2_PRINTF("%s", debug_str);
			break;
		}
	}
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x100, %rsp            # imm = 0x100
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x18(%rbp), %rdi
xorl %esi, %esi
movl $0x98, %edx
callq 0x2150
movq -0x8(%rbp), %rax
movsbl (%rax), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x20(%rax)
movq -0x18(%rbp), %rax
movl 0x20(%rax), %r8d
movq -0x18(%rbp), %rax
movl 0x20(%rax), %r9d
leaq 0x8d4c(%rip), %rdi      # 0xed98
movl $0x65, %esi
movl $0x3, %edx
leaq 0x8d41(%rip), %rcx      # 0xed9e
movb $0x0, %al
callq 0x5dc0
movq -0x8(%rbp), %rdi
movq -0x10(%rbp), %rsi
leaq -0xb8(%rbp), %rdx
callq 0xc220
leaq -0xb8(%rbp), %rdi
callq 0xc350
cmpl $0x0, %eax
jne 0x6a6d
leaq -0xb8(%rbp), %rdi
callq 0xc1a0
movw %ax, -0xca(%rbp)
callq 0x5ca0
cmpl $0x3, %eax
jl 0x6108
leaq -0xa0(%rbp), %rax
movq %rax, -0xe0(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xc1e0
movl %eax, -0xd4(%rbp)
leaq -0xb8(%rbp), %rdi
callq 0xc1e0
movl %eax, %edi
callq 0xc810
movq -0xe0(%rbp), %rdi
movl -0xd4(%rbp), %ecx
movq %rax, %r8
movzwl -0xca(%rbp), %r9d
movl $0x80, %esi
leaq 0x8cb4(%rip), %rdx      # 0xedb5
movb $0x0, %al
callq 0x2110
leaq -0xb8(%rbp), %rdi
callq 0xc1e0
movl %eax, %ecx
movq %rcx, -0xe8(%rbp)
subl $0xc, %eax
ja 0x6a42
movq -0xe8(%rbp), %rax
leaq 0x8c30(%rip), %rcx      # 0xed64
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movzwl -0xca(%rbp), %eax
cmpl $0x1, %eax
jne 0x619d
leaq -0xb8(%rbp), %rdi
callq 0xc180
movb (%rax), %al
movb %al, -0xcd(%rbp)
movb -0xcd(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x91(%rax)
leaq -0xa0(%rbp), %r8
movzbl -0xcd(%rbp), %r9d
leaq 0x8c15(%rip), %rdi      # 0xed98
movl $0x79, %esi
movl $0x3, %edx
leaq 0x8c2b(%rip), %rcx      # 0xedbf
movb $0x0, %al
callq 0x5dc0
jmp 0x61c3
leaq -0xa0(%rbp), %r8
leaq 0x8bed(%rip), %rdi      # 0xed98
movl $0x7b, %esi
movl $0x3, %edx
leaq 0x8c08(%rip), %rcx      # 0xedc4
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x0, %eax
jle 0x622d
movzwl -0xca(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x28(%rax)
leaq -0xb8(%rbp), %rdi
callq 0xc180
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x70(%rax)
leaq -0xa0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x70(%rax), %r8
movzwl -0xca(%rbp), %eax
movl %eax, %r9d
leaq 0x8b7c(%rip), %rdi      # 0xed98
movl $0x83, %esi
movl $0x3, %edx
callq 0x5cb0
jmp 0x6253
leaq -0xa0(%rbp), %r8
leaq 0x8b5d(%rip), %rdi      # 0xed98
movl $0x85, %esi
movl $0x3, %edx
leaq 0x8b83(%rip), %rcx      # 0xedcf
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x4, %eax
jne 0x62d0
movq -0x18(%rbp), %rax
movl $0x1, 0x64(%rax)
leaq -0xb8(%rbp), %rdi
callq 0xc180
movl (%rax), %eax
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %edi
callq 0x2310
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %ecx
movq -0x18(%rbp), %rax
movl %ecx, 0x50(%rax)
leaq -0xa0(%rbp), %r8
movl -0xc4(%rbp), %r9d
leaq 0x8ae2(%rip), %rdi      # 0xed98
movl $0x8f, %esi
movl $0x3, %edx
leaq 0x8af8(%rip), %rcx      # 0xedbf
movb $0x0, %al
callq 0x5dc0
jmp 0x62f6
leaq -0xa0(%rbp), %r8
leaq 0x8aba(%rip), %rdi      # 0xed98
movl $0x91, %esi
movl $0x3, %edx
leaq 0x8aeb(%rip), %rcx      # 0xedda
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x8, %eax
jne 0x63b8
leaq -0xb8(%rbp), %rdi
callq 0xc180
movl (%rax), %eax
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %edi
callq 0x2310
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, (%rax)
leaq -0xb8(%rbp), %rdi
callq 0xc180
movl 0x4(%rax), %eax
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %edi
callq 0x2310
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x8(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x54(%rax)
leaq -0xa0(%rbp), %r8
movl -0xc4(%rbp), %r9d
movl -0xc8(%rbp), %eax
leaq 0x89fd(%rip), %rdi      # 0xed98
movl $0xa1, %esi
movl $0x3, %edx
leaq 0x8a39(%rip), %rcx      # 0xede5
movl %eax, (%rsp)
movb $0x0, %al
callq 0x5dc0
jmp 0x63de
leaq -0xa0(%rbp), %r8
leaq 0x89d2(%rip), %rdi      # 0xed98
movl $0xa3, %esi
movl $0x3, %edx
leaq 0x8a18(%rip), %rcx      # 0xedef
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x2, %eax
jle 0x64d4
leaq -0xb8(%rbp), %rdi
callq 0xc180
movw (%rax), %ax
movw %ax, -0xcc(%rbp)
movzwl -0xcc(%rbp), %edi
callq 0x2280
movw %ax, -0xcc(%rbp)
movzwl -0xcc(%rbp), %eax
cmpl $0x1, %eax
jne 0x6434
movzwl -0xca(%rbp), %eax
cmpl $0x6, %eax
je 0x644c
movzwl -0xcc(%rbp), %eax
cmpl $0x2, %eax
jne 0x64a4
movzwl -0xca(%rbp), %eax
cmpl $0x12, %eax
jne 0x64a4
movzwl -0xca(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x30(%rax)
leaq -0xb8(%rbp), %rdi
callq 0xc180
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x78(%rax)
leaq -0xa0(%rbp), %r8
movzwl -0xcc(%rbp), %r9d
leaq 0x890e(%rip), %rdi      # 0xed98
movl $0xb0, %esi
movl $0x3, %edx
leaq 0x895f(%rip), %rcx      # 0xedfa
movb $0x0, %al
callq 0x5dc0
jmp 0x64d2
leaq -0xa0(%rbp), %r8
movzwl -0xcc(%rbp), %r9d
leaq 0x88de(%rip), %rdi      # 0xed98
movl $0xb2, %esi
movl $0x3, %edx
leaq 0x8937(%rip), %rcx      # 0xee02
movb $0x0, %al
callq 0x5dc0
jmp 0x64fa
leaq -0xa0(%rbp), %r8
leaq 0x88b6(%rip), %rdi      # 0xed98
movl $0xb5, %esi
movl $0x3, %edx
leaq 0x8922(%rip), %rcx      # 0xee15
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x1, %eax
jle 0x6693
movzwl -0xca(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
cmpl $0x0, %edx
jne 0x6693
movq $0x0, -0xc0(%rbp)
movq -0xc0(%rbp), %rax
movq %rax, -0xf0(%rbp)
movzwl -0xca(%rbp), %eax
movl $0x2, %ecx
cltd
idivl %ecx
movl %eax, %ecx
movq -0xf0(%rbp), %rax
movzwl %cx, %ecx
cmpq %rcx, %rax
jae 0x6691
leaq -0xb8(%rbp), %rdi
callq 0xc180
movq -0xc0(%rbp), %rcx
movw (%rax,%rcx,2), %ax
movw %ax, -0xcc(%rbp)
movzwl -0xcc(%rbp), %edi
callq 0x2280
movw %ax, -0xcc(%rbp)
movzwl -0xcc(%rbp), %eax
movl %eax, -0xf4(%rbp)
subl $0x6, %eax
je 0x65b9
jmp 0x65a9
movl -0xf4(%rbp), %eax
subl $0xc, %eax
je 0x65fd
jmp 0x6641
movq -0x18(%rbp), %rax
movl $0x1, 0x5c(%rax)
leaq -0xa0(%rbp), %r8
movq -0xc0(%rbp), %r9
movzwl -0xcc(%rbp), %eax
leaq 0x87b8(%rip), %rdi      # 0xed98
movl $0xc4, %esi
movl $0x3, %edx
leaq 0x882f(%rip), %rcx      # 0xee20
movl %eax, (%rsp)
movb $0x0, %al
callq 0x5dc0
jmp 0x6678
movq -0x18(%rbp), %rax
movl $0x1, 0x60(%rax)
leaq -0xa0(%rbp), %r8
movq -0xc0(%rbp), %r9
movzwl -0xcc(%rbp), %eax
leaq 0x8774(%rip), %rdi      # 0xed98
movl $0xc9, %esi
movl $0x3, %edx
leaq 0x87eb(%rip), %rcx      # 0xee20
movl %eax, (%rsp)
movb $0x0, %al
callq 0x5dc0
jmp 0x6678
leaq -0xa0(%rbp), %r8
movq -0xc0(%rbp), %r9
movzwl -0xcc(%rbp), %eax
leaq 0x873b(%rip), %rdi      # 0xed98
movl $0xcd, %esi
movl $0x3, %edx
leaq 0x87bf(%rip), %rcx      # 0xee2d
movl %eax, (%rsp)
movb $0x0, %al
callq 0x5dc0
jmp 0x667a
movq -0xc0(%rbp), %rax
addq $0x1, %rax
movq %rax, -0xc0(%rbp)
jmp 0x6532
jmp 0x66b9
leaq -0xa0(%rbp), %r8
leaq 0x86f7(%rip), %rdi      # 0xed98
movl $0xd2, %esi
movl $0x3, %edx
leaq 0x8790(%rip), %rcx      # 0xee42
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x0, %eax
jle 0x6729
leaq -0xb8(%rbp), %rdi
callq 0xc180
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x80(%rax)
movzwl -0xca(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x40(%rax)
leaq -0xa0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x80(%rax), %r8
movzwl -0xca(%rbp), %eax
movl %eax, %r9d
leaq 0x8680(%rip), %rdi      # 0xed98
movl $0xda, %esi
movl $0x3, %edx
callq 0x5cb0
jmp 0x674f
leaq -0xa0(%rbp), %r8
leaq 0x8661(%rip), %rdi      # 0xed98
movl $0xdc, %esi
movl $0x3, %edx
leaq 0x8687(%rip), %rcx      # 0xedcf
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x1, %eax
jne 0x67b4
leaq -0xb8(%rbp), %rdi
callq 0xc180
movb (%rax), %al
movb %al, -0xcd(%rbp)
movb -0xcd(%rbp), %cl
movq -0x18(%rbp), %rax
movb %cl, 0x90(%rax)
leaq -0xa0(%rbp), %r8
movzbl -0xcd(%rbp), %r9d
leaq 0x85fe(%rip), %rdi      # 0xed98
movl $0xe5, %esi
movl $0x3, %edx
leaq 0x8614(%rip), %rcx      # 0xedbf
movb $0x0, %al
callq 0x5dc0
jmp 0x67da
leaq -0xa0(%rbp), %r8
leaq 0x85d6(%rip), %rdi      # 0xed98
movl $0xe7, %esi
movl $0x3, %edx
leaq 0x85f1(%rip), %rcx      # 0xedc4
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x2, %eax
jle 0x689b
leaq -0xb8(%rbp), %rdi
callq 0xc180
movw (%rax), %ax
movw %ax, -0xcc(%rbp)
movzwl -0xcc(%rbp), %edi
callq 0x2280
movw %ax, -0xcc(%rbp)
movzwl -0xcc(%rbp), %eax
cmpl $0x1, %eax
je 0x6830
movzwl -0xcc(%rbp), %eax
cmpl $0x2, %eax
jne 0x686b
movq -0x18(%rbp), %rax
movl $0x1, 0x58(%rax)
leaq -0xa0(%rbp), %r8
movzwl -0xcc(%rbp), %r9d
leaq 0x8547(%rip), %rdi      # 0xed98
movl $0xf2, %esi
movl $0x3, %edx
leaq 0x8598(%rip), %rcx      # 0xedfa
movb $0x0, %al
callq 0x5dc0
jmp 0x6899
leaq -0xa0(%rbp), %r8
movzwl -0xcc(%rbp), %r9d
leaq 0x8517(%rip), %rdi      # 0xed98
movl $0xf4, %esi
movl $0x3, %edx
leaq 0x85d1(%rip), %rcx      # 0xee63
movb $0x0, %al
callq 0x5dc0
jmp 0x68c1
leaq -0xa0(%rbp), %r8
leaq 0x84ef(%rip), %rdi      # 0xed98
movl $0xf7, %esi
movl $0x3, %edx
leaq 0x855b(%rip), %rcx      # 0xee15
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x0, %eax
jle 0x6931
movzwl -0xca(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x48(%rax)
leaq -0xb8(%rbp), %rdi
callq 0xc180
movq %rax, %rcx
movq -0x18(%rbp), %rax
movq %rcx, 0x88(%rax)
leaq -0xa0(%rbp), %rcx
movq -0x18(%rbp), %rax
movq 0x88(%rax), %r8
movzwl -0xca(%rbp), %eax
movl %eax, %r9d
leaq 0x8478(%rip), %rdi      # 0xed98
movl $0xff, %esi
movl $0x3, %edx
callq 0x5cb0
jmp 0x6957
leaq -0xa0(%rbp), %r8
leaq 0x8459(%rip), %rdi      # 0xed98
movl $0x101, %esi            # imm = 0x101
movl $0x3, %edx
leaq 0x847f(%rip), %rcx      # 0xedcf
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
movzwl -0xca(%rbp), %eax
cmpl $0x8, %eax
jne 0x6a1a
leaq -0xb8(%rbp), %rdi
callq 0xc180
movl (%rax), %eax
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %edi
callq 0x2310
movl %eax, -0xc4(%rbp)
movl -0xc4(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x10(%rax)
leaq -0xb8(%rbp), %rdi
callq 0xc180
movl 0x4(%rax), %eax
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %edi
callq 0x2310
movl %eax, -0xc8(%rbp)
movl -0xc8(%rbp), %eax
movl %eax, %ecx
movq -0x18(%rbp), %rax
movq %rcx, 0x18(%rax)
movq -0x18(%rbp), %rax
movl $0x1, 0x68(%rax)
leaq -0xa0(%rbp), %r8
movl -0xc4(%rbp), %r9d
movl -0xc8(%rbp), %eax
leaq 0x839b(%rip), %rdi      # 0xed98
movl $0x111, %esi            # imm = 0x111
movl $0x3, %edx
leaq 0x83d7(%rip), %rcx      # 0xede5
movl %eax, (%rsp)
movb $0x0, %al
callq 0x5dc0
jmp 0x6a40
leaq -0xa0(%rbp), %r8
leaq 0x8370(%rip), %rdi      # 0xed98
movl $0x113, %esi            # imm = 0x113
movl $0x3, %edx
leaq 0x83b6(%rip), %rcx      # 0xedef
movb $0x0, %al
callq 0x5dc0
jmp 0x6a68
leaq -0xa0(%rbp), %r8
leaq 0x8348(%rip), %rdi      # 0xed98
movl $0x117, %esi            # imm = 0x117
movl $0x3, %edx
leaq 0x7cc1(%rip), %rcx      # 0xe722
movb $0x0, %al
callq 0x5dc0
jmp 0x6078
addq $0x100, %rsp            # imm = 0x100
popq %rbp
retq
nopw %cs:(%rax,%rax)