// File: /workspace/github_c_makefile_star2_O2/jfriesse[P]omping/omping.c
// Function: omping_send_receive_loop
static void
omping_send_receive_loop(struct omping_instance *instance, int timeout_time, int final_stats,
    int allow_auto_exit)
{
	struct timeval start_time;
	int clients_res;
	int loop_end;
	int poll_rec_res;
	int receive_timeout;
	uint64_t time_diff;

	if (timeout_time != 0) {
		start_time = util_get_time();
	}

	loop_end = 0;

	do {
		clients_res = omping_send_client_msgs(instance);
		if (clients_res != 0 && clients_res != -2) {
			err(3, "unknown value of clients_res %u", clients_res);
			/* NOTREACHED */
		}

		if (clients_res == -2) {
			if (clistate_is_exit_requested()) {
				loop_end = 1;
			}

			continue;
		}

		if (timeout_time != 0) {
			time_diff = util_time_absdiff(start_time, util_get_time());

			if ((int)time_diff + instance->wait_time > timeout_time) {
				receive_timeout = timeout_time - time_diff;
			} else {
				receive_timeout = instance->wait_time;
			}
		} else {
			receive_timeout = instance->wait_time;
		}

		poll_rec_res = omping_poll_receive_loop(instance, receive_timeout);

		if (poll_rec_res != 0 && poll_rec_res != -2) {
			err(3, "unknown value of poll_rec_res %u", poll_rec_res);
			/* NOTREACHED */
		}

		if (clistate_is_exit_requested()) {
			loop_end = 1;
		}

		if (timeout_time != 0 &&
		    (int)util_time_absdiff(start_time, util_get_time()) >= timeout_time) {
			loop_end = 1;
		}

		if (allow_auto_exit && instance->auto_exit && instance->rh_no_active == 0) {
			loop_end = 1;
		}
	} while (!loop_end);

	if (final_stats) {
		if (instance->op_mode == OMPING_OP_MODE_SHOW_VERSION) {
			cliprint_final_remote_version(&instance->remote_hosts,
			    instance->hn_max_len);
		} else {
			cliprint_final_stats(&instance->remote_hosts, instance->hn_max_len,
			    instance->transport_method);
		}
	}
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x101f8, %rsp          # imm = 0x101F8
movl %ecx, 0x5c(%rsp)
movl %esi, %r15d
movq %rdi, %r13
testl %esi, %esi
movl %edx, 0x54(%rsp)
je 0x5aa3
callq 0x8a18
movq %rax, 0x70(%rsp)
movq %rdx, 0x68(%rsp)
jmp 0x5aa3
leaq 0x130(%r13), %rbx
leaq 0x198(%r13), %r12
leaq 0x98(%r13), %rax
movq %rax, 0x10(%rsp)
leaq 0x17c(%r13), %rax
movq %rax, 0x78(%rsp)
movq %rbx, 0x18(%rsp)
movq %r13, 0x38(%rsp)
movl %r15d, 0x58(%rsp)
movq %r12, 0x20(%rsp)
movq (%rbx), %rbx
testq %rbx, %rbx
je 0x5b91
movl 0x8(%rbx), %eax
cmpl $0x1, %eax
je 0x5bcb
testl %eax, %eax
jne 0x6af9
callq 0x8a18
movq %rdx, %rcx
movq 0x28(%rbx), %rdi
movq 0x30(%rbx), %rsi
movq %rax, %rdx
callq 0x8a7d
cmpq $0x3e9, %rax            # imm = 0x3E9
jb 0x6af9
cmpl $0x1, 0x180(%r13)
jg 0x5b55
movq (%rbx), %r8
movq 0x80(%r8), %rdi
movl 0x154(%r13), %edx
movl 0x174(%r13), %esi
subq $0x8, %rsp
xorl %ecx, %ecx
xorl %r9d, %r9d
pushq $0x0
callq 0x40e0
popq %rax
popq %rcx
movl 0x198(%r13), %edi
movq (%rbx), %rsi
leaq 0xc(%rbx), %rcx
xorl %r8d, %r8d
cmpl $0x3, 0x150(%r13)
sete %r8b
movq 0x10(%rsp), %rdx
callq 0x559f
movl %eax, %r14d
callq 0x8a18
movq %rax, 0x28(%rbx)
movq %rdx, 0x30(%rbx)
jmp 0x6aab
testl %r15d, %r15d
je 0x5bef
callq 0x8a18
movq %rdx, %rcx
movq 0x70(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq %rax, %rdx
callq 0x8a7d
movl 0x1a0(%r13), %ecx
leal (%rcx,%rax), %edx
movl %r15d, %esi
subl %eax, %esi
cmpl %r15d, %edx
cmovlel %ecx, %esi
movl %esi, 0x50(%rsp)
jmp 0x5bfa
cmpl $0x0, 0x1a0(%r13)
je 0x6a62
movq %r13, %rdi
movq %rbx, %rsi
pushq $0x1
popq %rdx
callq 0x6c1c
movl %eax, %r14d
jmp 0x6aab
movl 0x1a0(%r13), %eax
movl %eax, 0x50(%rsp)
pxor %xmm0, %xmm0
movdqa %xmm0, 0x1b0(%rsp)
movl (%r12), %edi
movq 0x78(%rsp), %rax
movl (%rax), %esi
movl 0x50(%rsp), %edx
leaq 0x1b0(%rsp), %rcx
callq 0x7014
cmpl $-0x2, %eax
je 0x69fe
movl %eax, %ebp
cmpl $-0x1, %eax
je 0x6bf6
testl %ebp, %ebp
js 0x5c07
xorl %ebx, %ebx
xorl %r15d, %r15d
cmpq $0x10, %r15
je 0x6a2d
testq %r15, %r15
sete %cl
movq %r12, %rax
testb %cl, %bpl
jne 0x5c73
testb $0x2, %bpl
sete %al
cmpq $0x8, %r15
setne %cl
orb %al, %cl
movq 0x78(%rsp), %rax
jne 0x60e9
movl (%rax), %edi
movl $0xffff, %ecx           # imm = 0xFFFF
leaq 0x130(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
leaq 0xf(%rsp), %r8
leaq 0x120(%rsp), %r9
callq 0x7165
movq %rax, %r14
addl $0x4, %eax
cmpl $0x3, %eax
ja 0x5cec
leaq 0x425a(%rip), %rcx      # 0x9f08
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x42b2(%rip), %rdi      # 0x9f70
movl $0x137, %esi            # imm = 0x137
pushq $0x1
popq %rdx
leaq 0x445c(%rip), %rcx      # 0xa129
xorl %eax, %eax
callq 0x4998
jmp 0x60e9
leaq 0x4432(%rip), %rdi      # 0xa112
xorl %eax, %eax
callq 0x2080
jmp 0x60e9
testl %r14d, %r14d
jle 0x60e9
testq %r15, %r15
je 0x5d18
movl 0x154(%r13), %eax
cmpq $0x3, %rax
jae 0x6bc9
leaq 0x423e(%rip), %rcx      # 0x9f50
movl (%rcx,%rax,4), %r12d
jmp 0x5d1b
xorl %r12d, %r12d
andl $0x7fffffff, %r14d      # imm = 0x7FFFFFFF
movb 0xf(%rsp), %al
movb %al, 0x40(%rsp)
movq 0x120(%rsp), %rax
movq %rax, (%rsp)
movq 0x128(%rsp), %rax
movq %rax, 0x28(%rsp)
leaq 0x1f0(%rsp), %rdi
movq %r14, %rsi
leaq 0x80(%rsp), %rdx
callq 0x4b4f
movq %r12, 0x118(%rsp)
movl %r12d, %edi
callq 0x7ad9
movq %rax, %r13
leaq 0x130(%rsp), %rdi
leaq 0x1c0(%rsp), %r12
movq %r12, %rsi
callq 0x2c8a
movl 0xa0(%rsp), %r10d
subq $0x8, %rsp
leaq 0x41d7(%rip), %rdi      # 0x9f70
movl $0x1a5, %esi            # imm = 0x1A5
pushq $0x2
popq %rdx
leaq 0x43ce(%rip), %rcx      # 0xa176
movq %r13, %r8
movq %r12, %r9
xorl %eax, %eax
pushq %r14
pushq %r10
pushq %r10
callq 0x4998
addq $0x20, %rsp
movl 0xa0(%rsp), %r8d
leal -0x41(%r8), %ecx
rorl %ecx
cmpl $0x9, %ecx
ja 0x5ec5
movl $0x311, %eax            # imm = 0x311
btl %ecx, %eax
jae 0x5ec5
movzbl 0x111(%rsp), %eax
cmpl $0x2, %eax
movq 0x38(%rsp), %r13
jne 0x5ea0
cmpl $0x9, %ecx
leaq 0x416c(%rip), %r12      # 0x9f70
ja 0x60e4
movl %ecx, %eax
leaq 0x4105(%rip), %rcx      # 0x9f18
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
testq %r15, %r15
jne 0x5e2f
cmpl $0x2, 0x150(%r13)
je 0x60c8
movq 0x18(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x6eba
testq %rax, %rax
je 0x60f4
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x613d
cmpq $0x18, 0xa8(%rsp)
jne 0x5e89
movq %rax, 0x30(%rsp)
movq 0x30(%rsp), %rax
leaq 0xc(%rax), %rsi
pushq $0x18
popq %rdx
callq 0x2270
movq 0x30(%rsp), %rsi
testl %eax, %eax
je 0x62a0
movq %r12, %rdi
movl $0x222, %esi            # imm = 0x222
pushq $0x2
popq %rdx
leaq 0x44fc(%rip), %rcx      # 0xa397
jmp 0x60b5
leaq 0x40c9(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x9c, %esi
pushq $0x2
popq %rdx
leaq 0x43c5(%rip), %rcx      # 0xa27e
movl %eax, %r8d
xorl %eax, %eax
callq 0x4998
jmp 0x5eed
leaq 0x40a4(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x96, %esi
pushq $0x2
popq %rdx
leaq 0x437e(%rip), %rcx      # 0xa25c
movl %r8d, %r9d
xorl %eax, %eax
callq 0x4998
movq 0x38(%rsp), %r13
movq 0x20(%rsp), %rax
movl (%rax), %edi
movq 0x10(%rsp), %rsi
leaq 0x80(%rsp), %rdx
leaq 0x130(%rsp), %rcx
callq 0x578c
addl $0x4, %eax
cmpl $0x3, %eax
ja 0x60e4
leaq 0x401f(%rip), %rcx      # 0x9f40
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
movq %r12, %rdi
movl $0x1e7, %esi            # imm = 0x1E7
pushq $0x2
popq %rdx
leaq 0x4123(%rip), %rcx      # 0xa05f
jmp 0x60b5
leaq 0x4104(%rip), %rdi      # 0xa04c
xorl %eax, %eax
callq 0x2080
movq 0x18(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x6eba
testq %rax, %rax
je 0x60a3
incq 0xb8(%rax)
jmp 0x60e4
testq %r15, %r15
jne 0x608f
cmpl $0x1, 0x150(%r13)
je 0x60c8
movq 0x18(%rsp), %rdi
leaq 0x130(%rsp), %r12
movq %r12, %rsi
callq 0x6eba
testq %rax, %rax
movq 0x20(%rsp), %rdx
je 0x6154
cmpl $0x1, 0x100(%rax)
jne 0x61c5
cmpl $0x0, 0xe4(%rsp)
leaq 0x3fa4(%rip), %r12      # 0x9f70
je 0x62fa
cmpq $0x0, 0xf8(%rsp)
je 0x62fa
cmpq $0x10, 0xc8(%rsp)
jne 0x6014
movq 0x108(%rsp), %rcx
movdqu 0x104(%rax), %xmm0
movdqu (%rcx), %xmm1
pcmpeqb %xmm0, %xmm1
pmovmskb %xmm1, %ecx
cmpl $0xffff, %ecx           # imm = 0xFFFF
je 0x64c4
movq %r12, %rdi
movl $0x2e6, %esi            # imm = 0x2E6
movq %rdx, %r14
pushq $0x2
popq %rdx
leaq 0x450a(%rip), %rcx      # 0xa533
jmp 0x630f
testq %r15, %r15
jne 0x608f
cmpl $0x1, 0x150(%r13)
je 0x60c8
movq 0x18(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x6eba
testq %rax, %rax
je 0x6193
movq %rax, %r12
cmpl $0x2, 0x100(%rax)
jne 0x61e6
leaq 0x3efd(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x29e, %esi            # imm = 0x29E
pushq $0x2
popq %rdx
leaq 0x421d(%rip), %rcx      # 0xa2a2
jmp 0x61ac
testq %r15, %r15
je 0x60be
movq %r12, %rdi
movl $0x1ef, %esi            # imm = 0x1EF
pushq $0x2
popq %rdx
leaq 0x4133(%rip), %rcx      # 0xa1d4
jmp 0x60da
movq %r12, %rdi
movl $0x1e1, %esi            # imm = 0x1E1
pushq $0x2
popq %rdx
leaq 0x40f9(%rip), %rcx      # 0xa1ae
xorl %eax, %eax
callq 0x4998
jmp 0x60e4
cmpl $0x2, 0x150(%r13)
jne 0x60fe
movq %r12, %rdi
movl $0x1f5, %esi            # imm = 0x1F5
pushq $0x2
popq %rdx
leaq 0x4131(%rip), %rcx      # 0xa20b
movl %r8d, %r9d
xorl %eax, %eax
callq 0x4998
movq 0x20(%rsp), %r12
addq $0x8, %r15
incl %ebx
jmp 0x5c40
movq %r12, %rdi
movl $0x217, %esi            # imm = 0x217
jmp 0x60ab
movq 0x18(%rsp), %rdi
leaq 0x130(%rsp), %rsi
callq 0x6eba
testq %rax, %rax
je 0x61b8
movq %rax, %r14
cmpl $0x2, 0x8(%rax)
jne 0x6259
movq %r12, %rdi
movl $0x316, %esi            # imm = 0x316
pushq $0x2
popq %rdx
leaq 0x4212(%rip), %rcx      # 0xa34a
jmp 0x60b5
movq %r12, %rdi
movl $0x21c, %esi            # imm = 0x21C
pushq $0x2
popq %rdx
leaq 0x4226(%rip), %rcx      # 0xa375
jmp 0x60b5
leaq 0x3e15(%rip), %rdi      # 0x9f70
movl $0x2d0, %esi            # imm = 0x2D0
movq %rdx, %r14
pushq $0x2
popq %rdx
leaq 0x4041(%rip), %rcx      # 0xa1ae
xorl %eax, %eax
callq 0x4998
movl (%r14), %edi
movq 0x10(%rsp), %rsi
leaq 0x80(%rsp), %rdx
movq %r12, %rcx
leaq 0x3de2(%rip), %r12      # 0x9f70
jmp 0x5f09
leaq 0x3dd6(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x297, %esi            # imm = 0x297
pushq $0x2
popq %rdx
leaq 0x4002(%rip), %rcx      # 0xa1ae
xorl %eax, %eax
callq 0x4998
jmp 0x5eed
movq %r12, %rdi
movl $0x310, %esi            # imm = 0x310
jmp 0x60ab
leaq 0x3da4(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x2d7, %esi            # imm = 0x2D7
movq %rdx, %r14
pushq $0x2
popq %rdx
leaq 0x4306(%rip), %rcx      # 0xa4e7
jmp 0x630f
cmpl $0x0, 0xd8(%rsp)
je 0x631e
leaq 0x1f0(%rsp), %rdi
movq %r14, %rsi
movq 0x10(%rsp), %r14
movq %r14, %rdx
callq 0x5092
testl %eax, %eax
je 0x637d
movq 0x128(%r12), %rdi
movq 0x130(%r12), %rsi
movq (%rsp), %rdx
movq 0x28(%rsp), %rcx
callq 0x8a7d
cmpq $0x3e7, %rax            # imm = 0x3E7
ja 0x63ee
leaq 0x3d2b(%rip), %rdi      # 0x9f70
movl $0x2b4, %esi            # imm = 0x2B4
pushq $0x2
popq %rdx
leaq 0x40b5(%rip), %rcx      # 0xa309
jmp 0x60b5
movq 0xf0(%rsp), %rdi
testq %rdi, %rdi
je 0x6359
cmpq $0x18, 0xa8(%rsp)
jne 0x628f
movq %r14, %r12
addq $0xc, %r12
movq %r12, %rsi
pushq $0x18
popq %rdx
callq 0x2270
testl %eax, %eax
je 0x645f
leaq 0x3cda(%rip), %rdi      # 0x9f70
movl $0x323, %esi            # imm = 0x323
jmp 0x5e91
cmpl $0x0, 0xe4(%rsp)
je 0x6366
leaq 0x8(%rsi), %rdi
cmpl $0x1, (%rdi)
jne 0x63d7
movq $0x0, 0x60(%rsp)
movb 0x40(%rsp), %dl
testb %dl, %dl
je 0x6529
movb 0x110(%rsp), %al
movl %eax, %ecx
subb %dl, %cl
xorl %edx, %edx
testb %al, %al
setne %dl
movl %edx, 0x4c(%rsp)
movzbl %cl, %ecx
movl $0x0, %eax
cmovel %eax, %ecx
movl %ecx, 0x48(%rsp)
jmp 0x6539
movq %r12, %rdi
movl $0x2de, %esi            # imm = 0x2DE
movq %rdx, %r14
pushq $0x2
popq %rdx
leaq 0x41f6(%rip), %rcx      # 0xa505
xorl %eax, %eax
callq 0x4998
movl (%r14), %edi
jmp 0x5ef4
leaq 0x3c4b(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x2a5, %esi            # imm = 0x2A5
pushq $0x2
popq %rdx
leaq 0x3f9f(%rip), %rcx      # 0xa2d6
xorl %eax, %eax
callq 0x4998
movq 0x20(%rsp), %rax
movl (%rax), %edi
subq $0x10, %rsp
pxor %xmm0, %xmm0
movdqu %xmm0, (%rsp)
movq 0x20(%rsp), %rsi
jmp 0x63b4
movq %r12, %rdi
movl $0x31c, %esi            # imm = 0x31C
jmp 0x6145
movq %r12, %rdi
movl $0x227, %esi            # imm = 0x227
pushq $0x2
popq %rdx
leaq 0x4204(%rip), %rcx      # 0xa57c
jmp 0x60b5
leaq 0x3bec(%rip), %r12      # 0x9f70
movq %r12, %rdi
movl $0x2ac, %esi            # imm = 0x2AC
pushq $0x2
popq %rdx
leaq 0x3f58(%rip), %rcx      # 0xa2ee
xorl %eax, %eax
callq 0x4998
movq 0x20(%rsp), %rax
movl (%rax), %edi
subq $0x10, %rsp
pxor %xmm0, %xmm0
movdqu %xmm0, (%rsp)
movq %r14, %rsi
leaq 0x90(%rsp), %rdx
leaq 0x140(%rsp), %rcx
xorl %r8d, %r8d
pushq $0x1
popq %r9
callq 0x56e1
popq %rcx
popq %rdx
jmp 0x5f0e
movq %r12, %rdi
movl $0x22c, %esi            # imm = 0x22C
pushq $0x2
popq %rdx
leaq 0x41b3(%rip), %rcx      # 0xa59c
jmp 0x60b5
movq %r12, %r14
addq $0x104, %r14            # imm = 0x104
movq %r14, %rdi
callq 0x89db
movl $0x1, 0x100(%r12)
movq (%rsp), %rax
movq %rax, 0x128(%r12)
movq 0x28(%rsp), %rax
movq %rax, 0x130(%r12)
movq 0x20(%rsp), %rax
movl (%rax), %edi
movq 0x10(%rsp), %rsi
leaq 0x80(%rsp), %rdx
leaq 0x130(%rsp), %rcx
pushq $0x1
popq %r8
xorl %r9d, %r9d
pushq $0x10
pushq %r14
callq 0x56e1
popq %rcx
popq %rdx
leaq 0x3b16(%rip), %r12      # 0x9f70
jmp 0x5f0e
cmpl $0x3, 0x150(%r13)
jne 0x661a
movq 0xc0(%rsp), %rax
testq %rax, %rax
je 0x6981
movq %rax, 0x68(%r14)
movq 0x48(%r14), %rdi
callq 0x2040
movq 0x68(%r14), %r12
movq %r12, %rdi
callq 0x2250
movq %rax, 0x48(%r14)
testq %rax, %rax
je 0x6c10
movq 0x100(%rsp), %rsi
movq %rax, %rdi
movq %r12, %rdx
callq 0x2200
movq %r13, %rdi
movq %r14, %rsi
pushq $0x4
jmp 0x69c1
cmpl $0x0, 0x184(%r13)
jle 0x64ed
addq $0x118, %rax            # imm = 0x118
movq %rax, %rdi
movq (%rsp), %rsi
movq 0x28(%rsp), %rdx
callq 0x481a
testl %eax, %eax
je 0x696a
movl 0x198(%r13), %edi
movzbl 0x1aa(%r13), %eax
movq 0x10(%rsp), %rsi
leaq 0x1f0(%rsp), %rdx
movq %r14, %rcx
leaq 0x80(%rsp), %r8
leaq 0x130(%rsp), %r9
pushq $0x3
pushq %rax
callq 0x5450
jmp 0x63d0
movl $0x0, 0x4c(%rsp)
movl $0x0, 0x48(%rsp)
movq (%rsp), %rdx
movl 0xd4(%rsp), %eax
movl %eax, 0x40(%rsp)
testl %eax, %eax
je 0x6580
movq %rdi, %r12
movq 0x80(%rsp), %rdi
movq 0x88(%rsp), %rsi
movq 0x28(%rsp), %rcx
callq 0x8b3c
movq %r12, %rdi
movq 0x30(%rsp), %rsi
movq %xmm0, (%rsp)
pushq $0x1
popq %rax
movq %rax, 0x60(%rsp)
jmp 0x6589
pxor %xmm0, %xmm0
movq %xmm0, (%rsp)
cmpl $0x0, 0x170(%r13)
jle 0x65d0
movl 0xd0(%rsp), %esi
movl %ebx, %edx
callq 0x6d64
movq 0x30(%rsp), %rsi
movl %eax, 0x28(%rsp)
testl %eax, %eax
je 0x65d0
movq 0xc0(%rsi,%r15), %rax
cmpq $-0x1, %rax
je 0x684f
incq %rax
movq %rax, 0xc0(%rsi,%r15)
jmp 0x687b
movq 0xd0(%rsi,%r15), %r13
leaq 0x1(%r13), %rcx
movq %rcx, 0xd0(%rsi,%r15)
testq %r15, %r15
je 0x674a
testq %r13, %r13
movsd (%rsp), %xmm0
jne 0x675c
cmpl $0x0, 0xf8(%rsi)
jne 0x675c
movl 0xd0(%rsp), %eax
movl %eax, 0xe8(%rsi)
jmp 0x675c
movq 0xf8(%rsp), %rsi
testq %rsi, %rsi
je 0x67ee
movq 0xb0(%rsp), %rdx
testq %rdx, %rdx
je 0x67ee
movq 0x10(%rsp), %rdi
callq 0x885a
testl %eax, %eax
leaq 0x3921(%rip), %r12      # 0x9f70
jne 0x666a
movq %r12, %rdi
movl $0x35a, %esi            # imm = 0x35A
pushq $0x2
popq %rdx
leaq 0x3e10(%rip), %rcx      # 0xa473
xorl %eax, %eax
callq 0x4998
movq 0x108(%rsp), %rsi
testq %rsi, %rsi
je 0x69cc
movq 0x50(%r14), %rdi
movq 0x70(%r14), %rdx
movq 0xc8(%rsp), %r12
cmpq %r12, %rdx
jne 0x66a9
movq %rdi, (%rsp)
movq (%rsp), %rdi
callq 0x2270
movq (%rsp), %rdi
testl %eax, %eax
je 0x69e3
movl 0x8(%r14), %r13d
movl $0x1, 0x8(%r14)
movq %r12, 0x70(%r14)
callq 0x2040
movq 0x70(%r14), %r12
movq %r12, %rdi
callq 0x2250
movq %rax, 0x50(%r14)
testq %rax, %rax
je 0x6c10
movq 0x108(%rsp), %rsi
movq %rax, %rdi
movq %r12, %rdx
callq 0x2200
testl %r13d, %r13d
movq 0x38(%rsp), %r12
jne 0x672f
cmpl $0x1, 0x180(%r12)
jg 0x672f
movq (%r14), %r8
movq 0x80(%r8), %rdi
movl 0x154(%r12), %edx
movl 0x174(%r12), %esi
subq $0x8, %rsp
movq 0x18(%rsp), %rcx
pushq $0x1
popq %r9
pushq $0x0
callq 0x40e0
popq %rax
popq %rcx
xorl %edx, %edx
testl %r13d, %r13d
sete %dl
movq %r12, %rdi
movq %r14, %rsi
callq 0x6c1c
movq %r12, %r13
jmp 0x6453
movl 0xd0(%rsp), %eax
movl %eax, 0xec(%rsi)
movsd (%rsp), %xmm0
movl $0x0, 0x28(%rsp)
cmpl $0x0, 0x40(%rsp)
je 0x67e4
leaq (%rsi,%r15), %rdi
addq $0x78, %rdi
movq %rsi, %r12
leaq 0x88(%rsi,%r15), %rsi
movq %rcx, 0x40(%rsp)
movq %rcx, %rdx
movsd %xmm0, (%rsp)
callq 0x8c89
testq %r13, %r13
je 0x688a
movsd (%rsp), %xmm0
ucomisd 0x98(%r12,%r15), %xmm0
movq %r12, %rsi
jbe 0x67b7
movsd %xmm0, 0x98(%rsi,%r15)
movsd 0xa8(%rsi,%r15), %xmm1
ucomisd %xmm0, %xmm1
movq 0x38(%rsp), %r13
movq 0x40(%rsp), %rcx
jbe 0x68ae
movsd %xmm0, 0xa8(%rsi,%r15)
jmp 0x68ae
movq 0x38(%rsp), %r13
jmp 0x68ae
leaq 0x377b(%rip), %rdi      # 0x9f70
movl $0x344, %esi            # imm = 0x344
pushq $0x2
popq %rdx
leaq 0x3be4(%rip), %rcx      # 0xa3e8
xorl %eax, %eax
callq 0x4998
cmpl $0x1, 0x8(%r14)
jne 0x699c
leaq 0x3753(%rip), %rdi      # 0x9f70
movl $0x347, %esi            # imm = 0x347
pushq $0x2
popq %rdx
leaq 0x3be3(%rip), %rcx      # 0xa40f
xorl %eax, %eax
callq 0x4998
andl $0x0, 0x8(%r14)
decq 0xe0(%r14)
movq %r12, %rdi
movq %r13, %rsi
callq 0x88e9
jmp 0x60e4
movq (%rsi), %rax
movq 0x80(%rax), %r8
leaq 0x3710(%rip), %rdi      # 0x9f70
movl $0x24b, %esi            # imm = 0x24B
pushq $0x2
popq %rdx
leaq 0x3d5c(%rip), %rcx      # 0xa5cb
xorl %eax, %eax
callq 0x4998
movq 0x30(%rsp), %rsi
movsd (%rsp), %xmm0
movq 0xd0(%rsi,%r15), %rcx
jmp 0x68ae
movsd (%rsp), %xmm0
movsd %xmm0, 0x98(%r12,%r15)
movsd %xmm0, 0xa8(%r12,%r15)
pushq $0x1
popq %rcx
movq 0x38(%rsp), %r13
movq %r12, %rsi
cmpl $0x0, 0x16c(%r13)
je 0x68f8
movq 0xe0(%rsi), %rdi
testq %r15, %r15
je 0x68d5
movl 0xe8(%rsi), %eax
testq %rax, %rax
je 0x68d5
subq %rax, %rdi
incq %rdi
movq %rcx, %rsi
callq 0x8cd7
movq 0x30(%rsp), %rsi
movsd 0x78(%rsi,%r15), %xmm1
divsd 0x30ff(%rip), %xmm1     # 0x99f0
movsd (%rsp), %xmm0
jmp 0x68fe
xorl %eax, %eax
xorpd %xmm1, %xmm1
cmpl $0x0, 0x180(%r13)
jne 0x60e4
movq (%rsi), %rcx
movq 0x80(%rcx), %rdi
movl 0x16c(%r13), %r10d
movl 0x174(%r13), %esi
movl 0xd0(%rsp), %edx
divsd 0x30bd(%rip), %xmm0     # 0x99f0
subq $0x8, %rsp
movzbl 0x50(%rsp), %r11d
movl 0x30(%rsp), %ecx
movq %r14, %r8
movl 0x54(%rsp), %r9d
pushq %r10
pushq 0x128(%rsp)
pushq %rax
pushq 0x80(%rsp)
pushq %r11
callq 0x4582
addq $0x30, %rsp
jmp 0x60e4
movq %r12, %rdi
movl $0x2f1, %esi            # imm = 0x2F1
pushq $0x2
popq %rdx
leaq 0x3be2(%rip), %rcx      # 0xa55e
jmp 0x60b5
leaq 0x35e8(%rip), %rdi      # 0x9f70
movl $0x33b, %esi            # imm = 0x33B
pushq $0x2
popq %rdx
leaq 0x3a26(%rip), %rcx      # 0xa3bd
jmp 0x60b5
leaq 0x35cd(%rip), %rdi      # 0x9f70
movl $0x351, %esi            # imm = 0x351
pushq $0x2
popq %rdx
leaq 0x3a8d(%rip), %rcx      # 0xa43f
xorl %eax, %eax
callq 0x4998
movq %r13, %rdi
movq %r14, %rsi
pushq $0x1
popq %rdx
callq 0x6d21
jmp 0x60e4
movq %r12, %rdi
movl $0x35f, %esi            # imm = 0x35F
pushq $0x2
popq %rdx
leaq 0x3acc(%rip), %rcx      # 0xa4aa
jmp 0x60b5
leaq 0x3586(%rip), %rdi      # 0x9f70
movl $0x369, %esi            # imm = 0x369
pushq $0x2
popq %rdx
leaq 0x3ad4(%rip), %rcx      # 0xa4cd
jmp 0x60b5
callq 0x47ab
testl %eax, %eax
je 0x6b17
callq 0x479c
movl 0x174(%r13), %esi
cmpl $0x3, 0x150(%r13)
jne 0x6a3a
movq 0x18(%rsp), %rdi
callq 0x4235
jmp 0x6a4b
testl %ebp, %ebp
jne 0x5c07
jmp 0x6b17
movl 0x154(%r13), %edx
movq 0x18(%rsp), %rdi
callq 0x4319
callq 0x457a
callq 0x47a4
testl %eax, %eax
je 0x5c07
jmp 0x6b17
movl 0xec(%rbx), %eax
cmpl 0xf0(%rbx), %eax
je 0x6a8d
callq 0x8a18
movq %rdx, %rcx
movq 0x38(%rbx), %rdi
movq 0x40(%rbx), %rsi
movq %rax, %rdx
callq 0x8a7d
testq %rax, %rax
je 0x6af9
movq %r13, %rdi
movq %rbx, %rsi
pushq $0x1
popq %rdx
callq 0x6c1c
movl %eax, %r14d
callq 0x8a18
movq %rax, 0x38(%rbx)
movq %rdx, 0x40(%rbx)
addl $0x4, %r14d
cmpl $0x3, %r14d
ja 0x6af9
leaq 0x343c(%rip), %rcx      # 0x9ef8
movslq (%rcx,%r14,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x34a4(%rip), %rdi      # 0x9f70
movl $0x402, %esi            # imm = 0x402
pushq $0x2
popq %rdx
leaq 0x3584(%rip), %rcx      # 0xa05f
xorl %eax, %eax
callq 0x4998
jmp 0x6af9
leaq 0x3561(%rip), %rdi      # 0xa04c
xorl %eax, %eax
callq 0x2080
incq 0xb8(%rbx)
addq $0x138, %rbx            # imm = 0x138
jmp 0x5add
callq 0x47a4
xorl %ebp, %ebp
testl %eax, %eax
je 0x6b6c
jmp 0x6b79
movq 0x20(%rsp), %r12
callq 0x47a4
xorl %ebp, %ebp
testl %eax, %eax
setne %bpl
movl 0x58(%rsp), %r15d
testl %r15d, %r15d
je 0x6b51
callq 0x8a18
movq %rdx, %rcx
movq 0x70(%rsp), %rdi
movq 0x68(%rsp), %rsi
movq %rax, %rdx
callq 0x8a7d
cmpl %r15d, %eax
pushq $0x1
popq %rax
cmovgel %eax, %ebp
cmpl $0x0, 0x5c(%rsp)
je 0x6b6c
cmpl $0x0, 0x168(%r13)
je 0x6b6c
cmpl $0x0, 0x1a4(%r13)
je 0x6b79
movq 0x18(%rsp), %rbx
testl %ebp, %ebp
je 0x5add
cmpl $0x0, 0x54(%rsp)
je 0x6bae
movl 0x174(%r13), %esi
cmpl $0x3, 0x150(%r13)
jne 0x6b9d
movq 0x18(%rsp), %rdi
callq 0x4235
jmp 0x6bae
movl 0x154(%r13), %edx
movq 0x18(%rsp), %rdi
callq 0x4319
addq $0x101f8, %rsp          # imm = 0x101F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x354b(%rip), %rsi      # 0xa112
jmp 0x6c06
leaq 0x33a0(%rip), %rdi      # 0x9f70
leaq 0x356c(%rip), %rbx      # 0xa143
pushq $0x2
popq %rdx
movl $0x148, %esi            # imm = 0x148
movq %rbx, %rcx
xorl %eax, %eax
callq 0x4998
pushq $0x1
popq %rdi
movq %rbx, %rsi
xorl %eax, %eax
callq 0x20f0
leaq 0x3562(%rip), %rsi      # 0xa15f
jmp 0x6c06
leaq 0x3432(%rip), %rsi      # 0xa038
pushq $0x2
popq %rdi
xorl %eax, %eax
callq 0x2240
leaq 0x25d9(%rip), %rsi      # 0x91f0
pushq $0x1
popq %rdi
jmp 0x6bef