// File: /workspace/github_cpp_makefile_star2_O2/hugosantos[P]dbeacon/dbeacon.cpp
// Function: main
int main(int argc, char **argv) {
	int res;

	srand(time(NULL));

	char tmp[256];
	if (gethostname(tmp, sizeof(tmp)) != 0) {
		perror("Failed to get hostname");
		return -1;
	}

	beaconName = tmp;

	parse_arguments(argc, argv);

	MulticastStartup();

	if (beaconName.empty())
		fatal("No name supplied, check `dbeacon -h`.");

	if (!probeAddrLiteral.empty()) {
		if (!probeAddr.parse(probeAddrLiteral.c_str(), true))
			return -1;

		probeAddr.to_string(sessionName, sizeof(sessionName));

		if (!probeAddr.is_multicast())
			fatal("Specified probe addr (%s) is not of a multicast group.",
					sessionName);

		if (adminContact.empty())
			fatal("No administration contact supplied, check `dbeacon -h`.");

		mcastListen.push_back(ContentDesc(probeAddr, false));

		insert_event(SENDING_EVENT, 100);
		insert_event(REPORT_EVENT, 10000);
		insert_event(MAP_REPORT_EVENT, 30000);
		insert_event(WEBSITE_REPORT_EVENT, 120000);

		redist.push_back(probeAddr);

		if (useSSM) {
			if (probeSSMAddrLiteral.empty()) {
				int family = forceFamily;

				if (family == AF_UNSPEC) {
					family = probeAddr.family();
				}
				if (family == AF_INET) {
					probeSSMAddrLiteral = defaultIPv4SSMChannel;
				} else {
					probeSSMAddrLiteral = defaultIPv6SSMChannel;
				}
			}

			if (!ssmProbeAddr.parse(probeSSMAddrLiteral.c_str(), true)) {
				fatal("Bad address format for SSM channel.");
			} else if (!ssmProbeAddr.is_unspecified()) {
				insert_event(SSM_SENDING_EVENT, 100);
				insert_event(SSM_REPORT_EVENT, 15000);

				if (listenForSSM) {
					mcastListen.push_back(ContentDesc(ssmProbeAddr, true));
				}
			}
		}
	} else {
		if (mcastListen.empty())
			fatal("Nothing to do, check `dbeacon -h`.");
		else
			strcpy(sessionName, beaconName.c_str());
	}

	address local;
	local.set_family(probeAddr.family());

	mcastSock = SetupSocket(local, false, false);
	if (mcastSock < 0)
		return -1;

	if (beaconUnicastAddr.is_unspecified())
		beaconUnicastAddr = get_local_address_for(probeAddr);

	if (bind(mcastSock, beaconUnicastAddr.saddr(), beaconUnicastAddr.addrlen()) != 0) {
		perror("Failed to bind local socket");
		return -1;
	}

	if (beaconUnicastAddr.fromsocket(mcastSock) < 0) {
		perror("getsockname");
		return -1;
	}

	for (McastListen::const_iterator i = mcastListen.begin();
			i != mcastListen.end(); ++i) {
		int sock = SetupSocket(i->first, true, i->second);
		if (sock < 0)
			return -1;

		if (i->second) {
			ListenTo(sock, handle_ssm);
			ssmMcastSock = sock;
		} else {
			ListenTo(sock, handle_asm);
		}
	}

	if (useSSMPing) {
		if (SetupSSMPing() < 0)
			d_log(LOG_ERR, "Failed to setup SSM Ping.");
		else
			flags |= SSMPING_CAPABLE;
	}

	if (IsSSMEnabled()) {
		flags |= SSM_CAPABLE;

		uint64_t now = get_timestamp();
		for (vector<address>::const_iterator i = ssmBootstrap.begin();
				i != ssmBootstrap.end(); ++i)
			getSource(*i, 0, now, 0, false);
	} else if (!ssmBootstrap.empty())
		d_log(LOG_WARNING, "Tried to bootstrap using SSM when SSM is not enabled.");

	if (daemonize || use_syslog) {
		use_syslog = true;
		openlog("dbeacon", LOG_NDELAY | LOG_PID, LOG_DAEMON);
	}

	past_init = true;

	if (daemonize) {
		if (dbeacon_daemonize(pidfile)) {
			perror("Failed to daemon()ize.");
			return -1;
		}
	}

	// Init timer events
	insert_event(GARBAGE_COLLECT_EVENT, 30000);

	if (!dumpFile.empty())
		insert_event(DUMP_EVENT, dumpInterval * 1000);

	insert_event(DUMP_BW_EVENT, 10000);

	if (dumpBwReport)
		insert_event(DUMP_BIG_BW_EVENT, 600000);

	info("Local name is `%s` [Beacon group: %s, Local address: %s]",
		beaconName.c_str(), sessionName, beaconUnicastAddr.to_string(tmp, sizeof(tmp), false));

	send_report(WEBSITE_REPORT_EVENT);

	signal(SIGUSR1, dumpBigBwStats);
	signal(SIGINT, sendLeaveReport);
	signal(SIGTERM, sendLeaveReport);

	signal(SIGCHLD, waitForMe); // bloody fork, we dont want to wait for thee

	startTime = lastDumpBwTS = lastDumpDumpBwTS = get_timestamp();

	while (1) {
		fd_set readset;
		timeval eventm;

		FD_ZERO(&readset);

		for (McastSocks::const_iterator i = mcastSocks.begin();
				i != mcastSocks.end(); ++i)
			FD_SET(i->first, &readset);

		next_event(&eventm);

		res = select(mcastSocks.rbegin()->first + 1, &readset, 0, 0, &eventm);

		if (res < 0) {
			if (errno == EINTR)
				continue;
			fatal("Select failed: %s", strerror(errno));
		} else {
			for (McastSocks::const_iterator i = mcastSocks.begin();
					res > 0 && i != mcastSocks.end(); ++i) {
				if (FD_ISSET(i->first, &readset)) {
					handle_mcast(*i);
					res--;
				}
			}

			handle_event();
		}
	}

	return 0;
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3a8, %rsp            # imm = 0x3A8
movq %rsi, %rbx
movl %edi, %ebp
xorl %edi, %edi
callq 0x3350
movl %eax, %edi
callq 0x33a0
leaq 0x2a0(%rsp), %rdi
movl $0x100, %esi            # imm = 0x100
callq 0x3530
testl %eax, %eax
jne 0x44b7
leaq 0xe353(%rip), %rdi      # 0x123f8
leaq 0x2a0(%rsp), %rsi
callq 0x3650
xorpd %xmm0, %xmm0
leaq 0x80(%rsp), %r14
andq $0x0, 0x10(%r14)
leaq 0x220(%rsp), %r15
andq $0x0, 0x10(%r15)
movapd %xmm0, (%r14)
movapd %xmm0, (%r15)
pushq $0x1
popq %r13
leaq 0x1a0(%rsp), %r12
cmpl %ebp, %r13d
jge 0x4143
movslq %r13d, %rcx
movq (%rbx,%rcx,8), %rax
cmpb $0x2d, (%rax)
jne 0x4110
leal 0x1(%r13), %edx
cmpl %ebp, %edx
jge 0x411e
movslq %edx, %rcx
movq (%rbx,%rcx,8), %rcx
cmpb $0x2d, (%rcx)
je 0x411e
movl %edx, %r13d
jmp 0x4120
leaq (%rbx,%rcx,8), %rsi
movq %r15, %rdi
callq 0x74f2
jmp 0x413e
xorl %ecx, %ecx
incq %rax
movq %rax, 0x1a0(%rsp)
movq %rcx, 0x1a8(%rsp)
movq %r14, %rdi
movq %r12, %rsi
callq 0x7510
incl %r13d
jmp 0x40e6
movq 0x80(%rsp), %r15
cmpq 0x88(%rsp), %r15
je 0x4186
movq (%r15), %r14
movq %r14, %rdi
xorl %esi, %esi
callq 0x69bf
movq %rax, %rbx
movq 0x8(%r15), %rdx
movq %rax, %rdi
movq %r14, %rsi
callq 0x6a3e
movq 0x8(%r15), %rsi
movq %rbx, %rdi
callq 0x6a8a
addq $0x10, %r15
jmp 0x414b
leaq 0x220(%rsp), %rdi
callq 0x7ac8
leaq 0x80(%rsp), %rdi
callq 0x7ae6
callq 0x9514
cmpq $0x0, 0xe253(%rip)      # 0x12400
je 0x45dc
cmpq $0x0, 0xe415(%rip)      # 0x125d0
je 0x435d
movq 0xe400(%rip), %rsi      # 0x125c8
leaq 0xe379(%rip), %rdi      # 0x12548
pushq $0x1
popq %rcx
movl %ecx, %edx
callq 0x9c56
testb %al, %al
je 0x458e
leaq 0xe360(%rip), %rbx      # 0x12548
leaq 0xe561(%rip), %rsi      # 0x12750
pushq $0x1
popq %rcx
movl $0x100, %edx            # imm = 0x100
movq %rbx, %rdi
callq 0x9e40
movq %rbx, %rdi
callq 0x9926
testb %al, %al
je 0x55c5
cmpq $0x0, 0xe209(%rip)      # 0x12420
je 0x55da
leaq 0xe324(%rip), %rbx      # 0x12548
leaq 0x80(%rsp), %r14
movq %r14, %rdi
movq %rbx, %rsi
callq 0x9c4a
movb $0x0, 0x80(%r14)
leaq 0xe482(%rip), %rdi      # 0x126c8
movq %r14, %rsi
callq 0x8714
pushq $0x4
popq %rdi
pushq $0x64
popq %rsi
callq 0x5659
pushq $0x52
popq %rdi
movl $0x2710, %esi           # imm = 0x2710
callq 0x5659
pushq $0x54
popq %rdi
movl $0x7530, %esi           # imm = 0x7530
callq 0x5659
pushq $0x55
popq %rdi
movl $0x1d4c0, %esi          # imm = 0x1D4C0
callq 0x5659
leaq 0xe489(%rip), %rdi      # 0x12710
movq %rbx, %rsi
callq 0x71d8
cmpb $0x1, 0xe5ba(%rip)      # 0x12850
jne 0x4384
cmpq $0x0, 0xe34c(%rip)      # 0x125f0
jne 0x42dd
movl 0xe494(%rip), %eax      # 0x12740
testl %eax, %eax
jne 0x42bc
leaq 0xe291(%rip), %rdi      # 0x12548
callq 0x9686
cmpl $0x2, %eax
leaq 0x779c(%rip), %rax      # 0xba62
leaq 0x779f(%rip), %rsi      # 0xba6c
cmoveq %rax, %rsi
leaq 0xe310(%rip), %rdi      # 0x125e8
callq 0x3650
movq 0xe304(%rip), %rsi      # 0x125e8
leaq 0xe31d(%rip), %rdi      # 0x12608
pushq $0x1
popq %rcx
movl %ecx, %edx
callq 0x9c56
testb %al, %al
je 0x55e3
leaq 0xe304(%rip), %rdi      # 0x12608
callq 0x9da4
testb %al, %al
jne 0x4384
pushq $0x6
popq %rdi
pushq $0x64
popq %rsi
callq 0x5659
pushq $0x53
popq %rdi
movl $0x3a98, %esi           # imm = 0x3A98
callq 0x5659
cmpb $0x1, 0xe525(%rip)      # 0x12851
jne 0x4384
leaq 0xe2d3(%rip), %rsi      # 0x12608
leaq 0x80(%rsp), %rbx
movq %rbx, %rdi
callq 0x9c4a
movb $0x1, 0x80(%rbx)
leaq 0xe375(%rip), %rdi      # 0x126c8
movq %rbx, %rsi
callq 0x8714
jmp 0x4384
movq 0xe364(%rip), %rax      # 0x126c8
cmpq 0xe365(%rip), %rax      # 0x126d0
je 0x55bc
movq 0xe080(%rip), %rsi      # 0x123f8
leaq 0xe3d1(%rip), %rdi      # 0x12750
callq 0x3380
leaq 0x220(%rsp), %rbx
movq %rbx, %rdi
callq 0x9c00
leaq 0xe1ad(%rip), %rdi      # 0x12548
callq 0x9686
movq %rbx, %rdi
movl %eax, %esi
callq 0x9b06
movq %rbx, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x9773
movl %eax, 0xe498(%rip)      # 0x12854
testl %eax, %eax
js 0x458e
leaq 0xe0ed(%rip), %rdi      # 0x124b8
callq 0x9da4
testb %al, %al
je 0x43fb
leaq 0xe16d(%rip), %rsi      # 0x12548
leaq 0x80(%rsp), %rbx
movq %rbx, %rdi
callq 0xa088
leaq 0xe0c6(%rip), %rdi      # 0x124b8
pushq $0x10
popq %rcx
movq %rbx, %rsi
rep  movsq (%rsi), %es:(%rdi)
movl 0xe453(%rip), %ebx      # 0x12854
leaq 0xe0b0(%rip), %r14      # 0x124b8
movq %r14, %rdi
callq 0x9b1a
movq %rax, %r15
movq %r14, %rdi
callq 0x98c8
movl %ebx, %edi
movq %r15, %rsi
movl %eax, %edx
callq 0x3080
testl %eax, %eax
jne 0x44c3
movl 0xe41f(%rip), %esi      # 0x12854
leaq 0xe07c(%rip), %rdi      # 0x124b8
callq 0x9ef8
testl %eax, %eax
js 0x44cf
movq 0xe278(%rip), %rbx      # 0x126c8
pushq $0x1
popq %rbp
leaq 0x123d(%rip), %r14      # 0x5697
leaq 0x1264(%rip), %r15      # 0x56c5
cmpq 0xe268(%rip), %rbx      # 0x126d0
je 0x44db
movzbl 0x80(%rbx), %edx
movq %rbx, %rdi
movl %ebp, %esi
callq 0x9773
testl %eax, %eax
js 0x458e
movl %eax, %r12d
cmpb $0x1, 0x80(%rbx)
jne 0x44a3
movl %r12d, %edi
movq %r14, %rsi
callq 0x5674
movl %r12d, 0xe3b7(%rip)     # 0x12858
jmp 0x44ae
movl %r12d, %edi
movq %r15, %rsi
callq 0x5674
addq $0x88, %rbx
jmp 0x4461
leaq 0x74f8(%rip), %rdi      # 0xb9b6
jmp 0x4589
leaq 0x75f4(%rip), %rdi      # 0xbabe
jmp 0x4589
leaq 0x7604(%rip), %rdi      # 0xbada
jmp 0x4589
cmpb $0x1, 0xe37a(%rip)      # 0x1285c
jne 0x4507
callq 0xac54
testl %eax, %eax
jns 0x4500
leaq 0x75f2(%rip), %rsi      # 0xbae6
pushq $0x3
popq %rdi
xorl %eax, %eax
callq 0x3dfc
jmp 0x4507
orb $0x2, 0xe035(%rip)      # 0x1253c
cmpl $0x0, 0xe34a(%rip)      # 0x12858
jne 0x45a3
movq 0xe20d(%rip), %rax      # 0x12728
cmpq 0xe20e(%rip), %rax      # 0x12730
je 0x4535
leaq 0x75d5(%rip), %rsi      # 0xbb00
pushq $0x4
popq %rdi
xorl %eax, %eax
callq 0x3dfc
movb 0xe209(%rip), %al       # 0x12744
testb %al, %al
jne 0x4548
cmpb $0x1, 0xe1ff(%rip)      # 0x12745
jne 0x4567
movb $0x1, 0xe1f6(%rip)      # 0x12745
leaq 0x75e0(%rip), %rdi      # 0xbb36
pushq $0x9
popq %rsi
pushq $0x18
popq %rdx
callq 0x3330
movb 0xe1dd(%rip), %al       # 0x12744
movb $0x1, 0xe1d8(%rip)      # 0x12746
testb $0x1, %al
je 0x45e8
movq 0xe1cf(%rip), %rdi      # 0x12748
callq 0x9fb3
testl %eax, %eax
je 0x45e8
leaq 0x75b5(%rip), %rdi      # 0xbb3e
callq 0x3320
pushq $-0x1
popq %rax
addq $0x3a8, %rsp            # imm = 0x3A8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
orb $0x1, 0xdf92(%rip)      # 0x1253c
callq 0x9f86
movq %rax, %rbx
movq 0xe16f(%rip), %r14      # 0x12728
cmpq 0xe170(%rip), %r14      # 0x12730
je 0x4535
movq %r14, %rdi
xorl %esi, %esi
movq %rbx, %rdx
xorl %r8d, %r8d
callq 0x56f2
subq $-0x80, %r14
jmp 0x45b9
leaq 0x73ea(%rip), %rdi      # 0xb9cd
jmp 0x55ea
xorl %edi, %edi
movl $0x7530, %esi           # imm = 0x7530
callq 0x5659
cmpq $0x0, 0xe0b4(%rip)      # 0x126b0
je 0x4610
imull $0x3e8, 0xdda8(%rip), %esi # imm = 0x3E8
pushq $0x1
popq %rdi
callq 0x5659
pushq $0x2
popq %rdi
movl $0x2710, %esi           # imm = 0x2710
callq 0x5659
cmpb $0x1, 0xe239(%rip)      # 0x1285d
jne 0x4633
pushq $0x3
popq %rdi
movl $0x927c0, %esi          # imm = 0x927C0
callq 0x5659
movq 0xddbe(%rip), %rbx      # 0x123f8
leaq 0xde77(%rip), %rdi      # 0x124b8
leaq 0x2a0(%rsp), %rsi
movl $0x100, %edx            # imm = 0x100
xorl %ecx, %ecx
callq 0x9e40
leaq 0x74f9(%rip), %rdi      # 0xbb55
leaq 0xe0ed(%rip), %rdx      # 0x12750
movq %rbx, %rsi
movq %rax, %rcx
xorl %eax, %eax
callq 0x3f31
pushq $0x55
popq %rdi
callq 0x5b37
leaq 0x1637(%rip), %rsi      # 0x5cb6
pushq $0xa
popq %rdi
callq 0x3440
leaq 0x16bc(%rip), %rbx      # 0x5d4a
pushq $0x2
popq %rdi
movq %rbx, %rsi
callq 0x3440
pushq $0xf
popq %rdi
movq %rbx, %rsi
callq 0x3440
leaq -0x658(%rip), %rsi      # 0x4053
pushq $0x11
popq %rdi
callq 0x3440
callq 0x9f86
movq %rax, 0xe1a1(%rip)      # 0x12860
leaq 0xe022(%rip), %r12      # 0x126e8
pushq $0x40
popq %r13
leaq 0x80(%rsp), %rbp
leaq 0xe18f(%rip), %r15      # 0x12868
movq %rax, 0x20(%rsp)
movq %rax, 0x18(%rsp)
xorl %eax, %eax
cmpq $0x10, %rax
je 0x46f9
andq $0x0, 0x1a0(%rsp,%rax,8)
incq %rax
jmp 0x46e5
movq 0xdff8(%rip), %rdi      # 0x126f8
cmpq %r12, %rdi
je 0x472e
movl 0x20(%rdi), %ecx
movl %ecx, %eax
cltd
idivl %r13d
movslq %eax, %rdx
shll $0x6, %eax
subl %eax, %ecx
pushq $0x1
popq %rax
shlq %cl, %rax
orq %rax, 0x1a0(%rsp,%rdx,8)
callq 0x3420
movq %rax, %rdi
jmp 0x4700
callq 0x70f8
movq 0xe12e(%rip), %rcx      # 0x12868
movl 0xe148(%rip), %edx      # 0x12888
movl 0x18(%rcx), %eax
movl %edx, %esi
subl %eax, %esi
movl $0x0, %edi
cmovbl %edi, %esi
subl %edx, %eax
cmovbl %edi, %eax
movl %esi, 0xe12e(%rip)      # 0x12888
movl %eax, 0x18(%rcx)
xorl %edx, %edx
movl $0x3e8, %ecx            # imm = 0x3E8
divl %ecx
movq %rax, 0x30(%rsp)
imull $0x3e8, %edx, %eax      # imm = 0x3E8
movq %rax, 0x38(%rsp)
movq %r12, %rdi
callq 0x3210
movl 0x20(%rax), %edi
incl %edi
leaq 0x1a0(%rsp), %rsi
xorl %edx, %edx
xorl %ecx, %ecx
leaq 0x30(%rsp), %r8
callq 0x3390
testl %eax, %eax
js 0x559b
movl %eax, %ebx
movq 0xdf4e(%rip), %r14      # 0x126f8
testl %ebx, %ebx
jle 0x48a9
cmpq %r12, %r14
je 0x48a9
movl 0x20(%r14), %eax
cltd
idivl %r13d
cltq
movq 0x1a0(%rsp,%rax,8), %rax
btq %rdx, %rax
jae 0x4899
movq %rbp, %rdi
callq 0x74dc
movl 0x20(%r14), %edi
leaq 0x180(%rsp), %rax
movq %rax, (%rsp)
movq %rbp, %rsi
leaq 0x100(%rsp), %rdx
leaq 0xe0df(%rip), %rcx      # 0x128e0
movl $0x2000, %r8d           # imm = 0x2000
leaq 0x188(%rsp), %r9
callq 0x997a
testl %eax, %eax
js 0x488f
movl %eax, %ebp
leaq 0x80(%rsp), %rdi
leaq 0xdc8f(%rip), %rsi      # 0x124b8
callq 0x9f1c
testb %al, %al
jne 0x488f
leaq 0xe0a7(%rip), %rax      # 0x128e0
movq %rax, 0x190(%rsp)
movl %ebp, %eax
movq %rax, 0x198(%rsp)
cmpl $0x4, 0xdce6(%rip)      # 0x12538
jl 0x487f
leaq 0x80(%rsp), %rdi
leaq 0x40(%rsp), %rsi
pushq $0x40
popq %rdx
pushq $0x1
popq %rcx
callq 0x9e40
leaq 0x7614(%rip), %rdi      # 0xbe87
movq %rax, %rsi
movl %ebp, %edx
xorl %eax, %eax
callq 0x3f31
movl 0x20(%r14), %edi
leaq 0x80(%rsp), %rsi
callq *0x28(%r14)
decl %ebx
leaq 0x80(%rsp), %rbp
movq %r14, %rdi
callq 0x3420
movq %rax, %r14
jmp 0x47aa
callq 0x70f8
movq 0xdfb3(%rip), %rsi      # 0x12868
cmpq %r15, %rsi
je 0x46e3
movl 0xdfc4(%rip), %eax      # 0x12888
subl 0x18(%rsi), %eax
jb 0x46e3
movl %eax, 0xdfb5(%rip)      # 0x12888
movl 0x18(%rsi), %eax
movl %eax, 0x10(%rsp)
movq 0x10(%rsi), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
callq 0x7b2e
movl 0x8(%rsp), %edi
cmpq $0x6, %rdi
ja 0x4a37
leaq 0x67c0(%rip), %rcx      # 0xb0c0
movslq (%rcx,%rdi,4), %rax
addq %rcx, %rax
jmpq *%rax
callq 0x9f86
movq %rax, %rbx
movq 0xdb58(%rip), %r14      # 0x12470
leaq 0xdb41(%rip), %rax      # 0x12460
cmpq %rax, %r14
je 0x4e46
movq %r14, %rdi
callq 0x3270
movq %rbx, %rcx
subq 0x130(%r14), %rcx
movq %rax, %r15
movsd 0xda73(%rip), %xmm0     # 0x123b8
mulsd 0x66db(%rip), %xmm0     # 0xb028
mulsd 0x66db(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rax
movl %eax, %eax
cmpq %rax, %rcx
jbe 0x4975
addq $0x20, %r14
movq %r14, %rdi
pushq $0x1
popq %rsi
callq 0x602b
movq %r15, %r14
jmp 0x4918
leaq 0x168(%r14), %rdi
movq %rbx, %rsi
callq 0x5ef6
leaq 0x260(%r14), %rdi
movq %rbx, %rsi
callq 0x5ef6
leaq 0x398(%r14), %r13
movq 0x3b0(%r14), %rbp
addq $0x3a0, %r14            # imm = 0x3A0
cmpq %r14, %rbp
je 0x4a1c
movq %rbp, %rdi
callq 0x3270
movq %rbx, %rcx
subq 0xa0(%rbp), %rcx
movq %rax, %r12
movsd 0xd9ee(%rip), %xmm0     # 0x123b8
mulsd 0x6656(%rip), %xmm0     # 0xb028
mulsd 0x6656(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rax
movl %eax, %eax
cmpq %rax, %rcx
jbe 0x49f6
movq %r13, %rdi
movq %rbp, %rsi
callq 0x7b58
movq %r12, %rbp
jmp 0x49a8
leaq 0xb0(%rbp), %rdi
movq %rbx, %rsi
callq 0x5ef6
addq $0xd8, %rbp
movq %rbp, %rdi
movq %rbx, %rsi
callq 0x5ef6
movq %r12, %rbp
jmp 0x49a8
movq %r15, %r14
leaq 0xdcc2(%rip), %r12      # 0x126e8
pushq $0x40
popq %r13
leaq 0x80(%rsp), %rbp
jmp 0x4918
leal -0x52(%rdi), %eax
cmpl $0x4, %eax
jae 0x540c
callq 0x5b37
jmp 0x5408
movq 0xde6c(%rip), %rsi      # 0x128c0
leaq (,%rsi,8), %rax
movq %rax, %xmm1
movq 0x6607(%rip), %xmm3     # 0xb070
punpckldq %xmm3, %xmm1    # xmm1 = xmm1[0],xmm3[0],xmm1[1],xmm3[1]
movapd 0x660b(%rip), %xmm4     # 0xb080
subpd %xmm4, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movsd 0x6593(%rip), %xmm5     # 0xb020
divsd %xmm5, %xmm0
movq 0xde30(%rip), %rdx      # 0x128c8
leaq (,%rdx,8), %rax
movq %rax, %xmm2
punpckldq %xmm3, %xmm2    # xmm2 = xmm2[0],xmm3[0],xmm2[1],xmm3[1]
subpd %xmm4, %xmm2
movapd %xmm2, %xmm1
unpckhpd %xmm2, %xmm1            # xmm1 = xmm1[1],xmm2[1]
addsd %xmm2, %xmm1
divsd %xmm5, %xmm1
movl $0x258, %edi            # imm = 0x258
callq 0x69a9
andq $0x0, 0xddf1(%rip)      # 0x128c0
andq $0x0, 0xddf1(%rip)      # 0x128c8
callq 0x9f86
movq %rax, 0xdd7d(%rip)      # 0x12860
jmp 0x5408
movl 0xdde2(%rip), %edx      # 0x128d0
leal (,%rdx,8), %eax
cvtsi2sd %rax, %xmm2
movsd 0x6506(%rip), %xmm0     # 0xb008
divsd %xmm0, %xmm2
cmpb $0x1, 0xdd50(%rip)      # 0x1285d
jne 0x4b4c
movl 0xfde3(%rip), %ecx      # 0x148f8
leal (,%rcx,8), %eax
cvtsi2sd %rax, %xmm1
divsd %xmm0, %xmm1
pushq $0x7
popq %rdi
leaq 0x785a(%rip), %rsi      # 0xc389
movapd %xmm2, %xmm0
movb $0x2, %al
movsd %xmm2, 0x28(%rsp)
callq 0x3dfc
movsd 0x28(%rsp), %xmm2
movl 0xdd84(%rip), %edx      # 0x128d0
movl %edx, %eax
addq %rax, 0xdd6b(%rip)      # 0x128c0
movl 0xfd9d(%rip), %ecx      # 0x148f8
addq %rcx, 0xdd66(%rip)      # 0x128c8
addq %rax, 0xfd9f(%rip)      # 0x14908
addq %rcx, 0xfda0(%rip)      # 0x14910
andl $0x0, 0xdd59(%rip)      # 0x128d0
andl $0x0, 0xfd7a(%rip)      # 0x148f8
movsd 0x648a(%rip), %xmm0     # 0xb010
maxsd %xmm2, %xmm0
callq 0x32d0
divsd 0x6481(%rip), %xmm0     # 0xb018
mulsd 0x6471(%rip), %xmm0     # 0xb010
movsd %xmm0, 0xd811(%rip)     # 0x123b8
jmp 0x5408
movb 0xfd3e(%rip), %al       # 0x148f0
testb %al, %al
je 0x553b
leaq 0xd987(%rip), %rdi      # 0x12548
leaq 0xfd20(%rip), %rsi      # 0x148e8
callq 0x713c
incl 0xfd0d(%rip)            # 0x148e0
jmp 0x5408
leaq 0x40(%rsp), %rbx
movq %rbx, %rdi
leaq 0xdac1(%rip), %rsi      # 0x126a8
callq 0x34c0
movq %rbx, %rdi
leaq 0x758a(%rip), %rsi      # 0xc180
callq 0x3640
movq 0x40(%rsp), %rdi
leaq 0x7329(%rip), %rsi      # 0xbf30
callq 0x3430
testq %rax, %rax
je 0x53f7
movq %rax, %r15
callq 0x9f86
movq %rax, %rbx
subq 0x18(%rsp), %rax
movq 0xfcdc(%rip), %rcx      # 0x14908
shlq $0x3, %rcx
movq %rcx, %xmm1
movq 0x6433(%rip), %xmm4     # 0xb070
punpckldq %xmm4, %xmm1    # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1]
movapd 0x6437(%rip), %xmm5     # 0xb080
subpd %xmm5, %xmm1
movapd %xmm1, %xmm0
unpckhpd %xmm1, %xmm0            # xmm0 = xmm0[1],xmm1[1]
addsd %xmm1, %xmm0
movq %rax, %xmm1
punpckldq %xmm4, %xmm1    # xmm1 = xmm1[0],xmm4[0],xmm1[1],xmm4[1]
subpd %xmm5, %xmm1
movapd %xmm1, %xmm2
unpckhpd %xmm1, %xmm2            # xmm2 = xmm2[1],xmm1[1]
addsd %xmm1, %xmm2
divsd %xmm2, %xmm0
movq 0xfc93(%rip), %rax      # 0x14910
shlq $0x3, %rax
movq %rax, %xmm3
punpckldq %xmm4, %xmm3    # xmm3 = xmm3[0],xmm4[0],xmm3[1],xmm4[1]
subpd %xmm5, %xmm3
movapd %xmm3, %xmm1
unpckhpd %xmm3, %xmm1            # xmm1 = xmm1[1],xmm3[1]
addsd %xmm3, %xmm1
andq $0x0, 0xfc66(%rip)      # 0x14908
divsd %xmm2, %xmm1
andq $0x0, 0xfc62(%rip)      # 0x14910
movq %r15, %rdi
leaq 0x74d1(%rip), %rsi      # 0xc189
leaq 0x6f02(%rip), %rdx      # 0xbbc1
movb $0x2, %al
callq 0x34f0
movq %r15, %rdi
leaq 0x74f1(%rip), %rsi      # 0xc1c1
leaq 0xda79(%rip), %rdx      # 0x12750
xorl %eax, %eax
callq 0x34f0
cmpl $0x0, 0xdb73(%rip)      # 0x12858
je 0x4d10
leaq 0xd91a(%rip), %rdi      # 0x12608
movq %rbp, %rsi
pushq $0x40
popq %rdx
pushq $0x1
popq %rcx
callq 0x9e40
movq %r15, %rdi
leaq 0x74cc(%rip), %rsi      # 0xc1d2
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
movsd 0xd6a0(%rip), %xmm0     # 0x123b8
movq %r15, %rdi
leaq 0x74bf(%rip), %rsi      # 0xc1e1
movb $0x1, %al
callq 0x34f0
leaq 0xd818(%rip), %rdi      # 0x12548
callq 0x9da4
testb %al, %al
jne 0x5065
movq 0xd6b4(%rip), %r14      # 0x123f8
leaq 0xd76d(%rip), %rdi      # 0x124b8
movq %rbp, %rsi
pushq $0x40
popq %rdx
pushq $0x1
popq %rcx
callq 0x9e40
leaq 0xd730(%rip), %r13      # 0x12490
movq %r15, %rdi
leaq 0x7485(%rip), %rsi      # 0xc1ef
movq %r14, %rdx
movq %rax, %rcx
xorl %eax, %eax
callq 0x34f0
cmpq $0x0, 0xd6a1(%rip)      # 0x12420
je 0x4d99
movq 0xd690(%rip), %rdx      # 0x12418
movq %r15, %rdi
leaq 0x747a(%rip), %rsi      # 0xc20c
xorl %eax, %eax
callq 0x34f0
cmpq $0x0, 0xd69f(%rip)      # 0x12440
je 0x4dbb
movq 0xd68e(%rip), %rdx      # 0x12438
movq %r15, %rdi
leaq 0x7466(%rip), %rsi      # 0xc21a
xorl %eax, %eax
callq 0x34f0
movq %rbx, %rax
subq 0x20(%rsp), %rax
xorl %edx, %edx
movl $0x3e8, %ecx            # imm = 0x3E8
divq %rcx
movq %r15, %rdi
leaq 0x7451(%rip), %rsi      # 0xc228
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
leaq 0xcfa8(%rip), %r14      # 0x11d90
xorl %r12d, %r12d
cmpq $0x2, %r12
je 0x4e52
movl 0xd745(%rip), %eax      # 0x1253c
btl %r12d, %eax
jae 0x4e11
movq (%r14), %rdx
movq %r15, %rdi
leaq 0x7449(%rip), %rsi      # 0xc253
xorl %eax, %eax
callq 0x34f0
incq %r12
addq $0x8, %r14
jmp 0x4deb
movb 0xfae0(%rip), %al       # 0x14900
testb %al, %al
je 0x556b
leaq 0xd7d9(%rip), %rdi      # 0x12608
leaq 0xfac6(%rip), %rsi      # 0x148fc
callq 0x713c
incl 0xfaa3(%rip)            # 0x148e4
jmp 0x5408
leaq 0xda1b(%rip), %r15      # 0x12868
jmp 0x5408
movq 0xd647(%rip), %r14      # 0x124a0
cmpq %r13, %r14
je 0x4ea7
movl 0x20(%r14), %eax
cmpl $0x4c, %eax
leaq 0x709b(%rip), %rdx      # 0xbf07
leaq 0x709e(%rip), %rcx      # 0xbf11
cmoveq %rcx, %rdx
cmpl $0x47, %eax
leaq 0x73f5(%rip), %rax      # 0xc276
cmoveq %rax, %rdx
movq 0x28(%r14), %rcx
movq %r15, %rdi
leaq 0x73eb(%rip), %rsi      # 0xc27e
xorl %eax, %eax
callq 0x34f0
movq %r14, %rdi
callq 0x3420
movq %rax, %r14
jmp 0x4e59
leaq 0x73f2(%rip), %rdi      # 0xc2a0
pushq $0xc
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
movq 0xd5ad(%rip), %r13      # 0x12470
leaq 0xd596(%rip), %rax      # 0x12460
cmpq %rax, %r13
je 0x502c
leaq 0x20(%r13), %rdi
movq %rbp, %rsi
pushq $0x40
popq %rdx
pushq $0x1
popq %rcx
callq 0x9e40
movq %r15, %rdi
leaq 0x73be(%rip), %rsi      # 0xc2ad
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
cmpb $0x1, 0x3f8(%r13)
jne 0x4f3d
movq 0x330(%r13), %rdx
movq %r15, %rdi
leaq 0x73ae(%rip), %rsi      # 0xc2c2
xorl %eax, %eax
callq 0x34f0
cmpq $0x0, 0x358(%r13)
je 0x4f3d
movq 0x350(%r13), %rdx
movq %r15, %rdi
leaq 0x72d6(%rip), %rsi      # 0xc20c
xorl %eax, %eax
callq 0x34f0
cmpq $0x0, 0x378(%r13)
je 0x4f5f
movq 0x370(%r13), %rdx
movq %r15, %rdi
leaq 0x72c2(%rip), %rsi      # 0xc21a
xorl %eax, %eax
callq 0x34f0
movq %rbx, %rax
subq 0x120(%r13), %rax
xorl %edx, %edx
movl $0x3e8, %r14d           # imm = 0x3E8
divq %r14
movq %r15, %rdi
leaq 0x734f(%rip), %rsi      # 0xc2cd
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
movq %rbx, %rax
subq 0x130(%r13), %rax
xorl %edx, %edx
divq %r14
movq %r15, %rdi
leaq 0x7337(%rip), %rsi      # 0xc2d8
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
cmpb $0x1, 0x18c(%r13)
jne 0x4fd9
leaq 0x168(%r13), %rdx
movl 0x128(%r13), %r8d
movq %r15, %rdi
leaq 0x731f(%rip), %rsi      # 0xc2ec
movq %rbx, %rcx
pushq $0x1
popq %r9
callq 0x6855
cmpb $0x1, 0x284(%r13)
jne 0x5007
leaq 0x260(%r13), %rdx
movl 0x128(%r13), %r8d
movq %r15, %rdi
leaq 0x72f5(%rip), %rsi      # 0xc2f0
movq %rbx, %rcx
pushq $0x1
popq %r9
callq 0x6855
leaq 0x72e6(%rip), %rdi      # 0xc2f4
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
movq %r13, %rdi
callq 0x3420
movq %rax, %r13
jmp 0x4ec3
leaq 0x72cf(%rip), %rdi      # 0xc302
pushq $0xd
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
movq %r15, %rcx
callq 0x3660
leaq 0x72c4(%rip), %rdi      # 0xc310
pushq $0xb
popq %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3660
pushq $0xa
popq %rdi
movq %r15, %rsi
callq 0x3480
movq 0xd404(%rip), %r13      # 0x12470
leaq 0xd3ed(%rip), %rax      # 0x12460
cmpq %rax, %r13
je 0x53a2
leaq 0x7299(%rip), %rdi      # 0xc31c
pushq $0x8
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
cmpb $0x1, 0x3f8(%r13)
jne 0x50d5
movq 0x330(%r13), %rdx
movq %r15, %rdi
leaq 0x7216(%rip), %rsi      # 0xc2c2
xorl %eax, %eax
callq 0x34f0
cmpq $0x0, 0x358(%r13)
je 0x50d5
movq 0x350(%r13), %rdx
movq %r15, %rdi
leaq 0x713e(%rip), %rsi      # 0xc20c
xorl %eax, %eax
callq 0x34f0
leaq 0x20(%r13), %rdi
movq %rbp, %rsi
pushq $0x40
popq %rdx
pushq $0x1
popq %rcx
callq 0x9e40
movq %r15, %rdi
leaq 0x7110(%rip), %rsi      # 0xc201
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
movq %rbx, %rax
subq 0x120(%r13), %rax
xorl %edx, %edx
movl $0x3e8, %r14d           # imm = 0x3E8
divq %r14
movq %r15, %rdi
leaq 0x71b3(%rip), %rsi      # 0xc2cd
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
movq %rbx, %rax
subq 0x138(%r13), %rax
movsd 0xd282(%rip), %xmm0     # 0x123b8
mulsd 0x5eea(%rip), %xmm0     # 0xb028
mulsd 0x5eea(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rcx
movl %ecx, %ecx
cmpq %rcx, %rax
leaq 0x6f52(%rip), %rdx      # 0xc0a9
leaq 0x6f41(%rip), %rax      # 0xc09f
cmovbq %rax, %rdx
movq %r15, %rdi
leaq 0x71b9(%rip), %rsi      # 0xc325
xorl %eax, %eax
callq 0x34f0
movq %rbx, %rax
subq 0x130(%r13), %rax
xorl %edx, %edx
divq %r14
movq %r15, %rdi
leaq 0x714c(%rip), %rsi      # 0xc2d8
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
leaq 0xcbf3(%rip), %r14      # 0x11d90
xorl %r12d, %r12d
cmpq $0x2, %r12
je 0x51d0
movl 0x390(%r13), %eax
btl %r12d, %eax
jae 0x51c7
movq (%r14), %rdx
movq %r15, %rdi
leaq 0x7093(%rip), %rsi      # 0xc253
xorl %eax, %eax
callq 0x34f0
incq %r12
addq $0x8, %r14
jmp 0x51a0
movq 0x3e0(%r13), %r14
leaq 0x3d0(%r13), %r12
cmpq %r12, %r14
je 0x522c
movl 0x20(%r14), %eax
cmpl $0x4c, %eax
leaq 0x6d16(%rip), %rdx      # 0xbf07
leaq 0x6d19(%rip), %rcx      # 0xbf11
cmoveq %rcx, %rdx
cmpl $0x47, %eax
leaq 0x7070(%rip), %rax      # 0xc276
cmoveq %rax, %rdx
movq 0x28(%r14), %rcx
movq %r15, %rdi
leaq 0x7066(%rip), %rsi      # 0xc27e
xorl %eax, %eax
callq 0x34f0
movq %r14, %rdi
callq 0x3420
movq %rax, %r14
jmp 0x51de
leaq 0x706d(%rip), %rdi      # 0xc2a0
pushq $0xc
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
movq 0x3b0(%r13), %r14
leaq 0x3a0(%r13), %r12
cmpq %r12, %r14
je 0x5364
leaq 0x70d4(%rip), %rdi      # 0xc333
pushq $0xa
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
cmpb $0x1, 0x100(%r14)
jne 0x52a7
movq 0x108(%r14), %rdx
movq %r15, %rdi
leaq 0x703a(%rip), %rsi      # 0xc2c2
xorl %eax, %eax
callq 0x34f0
movq 0x128(%r14), %rdx
movq %r15, %rdi
leaq 0x6f6c(%rip), %rsi      # 0xc20c
xorl %eax, %eax
callq 0x34f0
leaq 0x20(%r14), %rdi
movq %rbp, %rsi
pushq $0x40
popq %rdx
pushq $0x1
popq %rcx
callq 0x9e40
movq %r15, %rdi
leaq 0x6f3e(%rip), %rsi      # 0xc201
movq %rax, %rdx
xorl %eax, %eax
callq 0x34f0
movl 0xa8(%r14), %edx
movq %r15, %rdi
leaq 0x7060(%rip), %rsi      # 0xc33e
xorl %eax, %eax
callq 0x34f0
cmpb $0x1, 0xd4(%r14)
jne 0x5312
leaq 0xb0(%r14), %rdx
movl 0x128(%r13), %r8d
movq %r15, %rdi
leaq 0x6fe5(%rip), %rsi      # 0xc2ec
movq %rbx, %rcx
xorl %r9d, %r9d
callq 0x6855
cmpb $0x1, 0xfc(%r14)
jne 0x533f
leaq 0xd8(%r14), %rdx
movl 0x128(%r13), %r8d
movq %r15, %rdi
leaq 0x6fbc(%rip), %rsi      # 0xc2f0
movq %rbx, %rcx
xorl %r9d, %r9d
callq 0x6855
leaq 0x6fae(%rip), %rdi      # 0xc2f4
pushq $0xd
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
movq %r14, %rdi
callq 0x3420
movq %rax, %r14
jmp 0x524f
leaq 0x6f97(%rip), %rdi      # 0xc302
pushq $0xd
popq %rsi
pushq $0x1
popq %r14
movq %r14, %rdx
movq %r15, %rcx
callq 0x3660
leaq 0x6f8c(%rip), %rdi      # 0xc310
pushq $0xb
popq %rsi
movq %r14, %rdx
movq %r15, %rcx
callq 0x3660
movq %r13, %rdi
callq 0x3420
movq %rax, %r13
jmp 0x506c
leaq 0x6fa1(%rip), %rdi      # 0xc34a
pushq $0x14
popq %rsi
pushq $0x1
popq %rdx
movq %r15, %rcx
callq 0x3660
movq %r15, %rdi
callq 0x33b0
movq 0x40(%rsp), %rdi
movq 0xd2dd(%rip), %rsi      # 0x126a8
callq 0x3220
cmpq $0x0, 0xd2b8(%rip)      # 0x12690
je 0x53e7
callq 0x30e0
testl %eax, %eax
je 0x55f1
movq %rbx, 0x18(%rsp)
leaq 0xd2f5(%rip), %r12      # 0x126e8
pushq $0x40
popq %r13
leaq 0xd46a(%rip), %r15      # 0x12868
leaq 0x40(%rsp), %rdi
callq 0x3688
movl 0x8(%rsp), %edi
cmpl $0x7, %edi
je 0x542d
cmpl $0x5, %edi
jne 0x5444
pushq $0x4
popq %rdi
pushq $0x64
popq %rsi
callq 0x5659
andl $0x0, 0xf4b8(%rip)      # 0x148e0
jmp 0x48ae
pushq $0x6
popq %rdi
pushq $0x64
popq %rsi
callq 0x5659
andl $0x0, 0xf4a5(%rip)      # 0x148e4
jmp 0x48ae
cmpl $0x4, %edi
jne 0x5460
cmpl $0xa, 0xf490(%rip)      # 0x148e0
jne 0x5460
pushq $0x1
popq %rdi
movl %edi, %esi
callq 0x5f23
pushq $0x5
jmp 0x547a
cmpl $0x6, %edi
jne 0x5487
cmpl $0xa, 0xf478(%rip)      # 0x148e4
jne 0x5487
pushq $0x1
popq %rdi
movl %edi, %esi
callq 0x5f23
pushq $0x7
popq %rdi
movl %eax, %esi
callq 0x5659
jmp 0x48ae
addl $-0x52, %edi
cmpl $0x3, %edi
ja 0x552c
leaq 0x5c42(%rip), %rcx      # 0xb0dc
movslq (%rcx,%rdi,4), %rax
addq %rcx, %rax
jmpq *%rax
movsd 0xcf0d(%rip), %xmm0     # 0x123b8
addsd %xmm0, %xmm0
mulsd 0x5b79(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rsi
pushq $0x52
jmp 0x5521
movsd 0xcef0(%rip), %xmm0     # 0x123b8
mulsd 0x5b58(%rip), %xmm0     # 0xb028
mulsd 0x5b58(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rsi
pushq $0x54
jmp 0x5521
movsd 0xcecf(%rip), %xmm0     # 0x123b8
mulsd 0x5b47(%rip), %xmm0     # 0xb038
mulsd 0x5b37(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rsi
pushq $0x55
jmp 0x5521
movsd 0xceae(%rip), %xmm0     # 0x123b8
mulsd 0x5afe(%rip), %xmm0     # 0xb010
mulsd 0x5b16(%rip), %xmm0     # 0xb030
cvttsd2si %xmm0, %rsi
pushq $0x53
popq %rdi
callq 0x5659
jmp 0x48ae
leaq 0x8(%rsp), %rdi
callq 0x5e6e
jmp 0x48ae
leaq 0xf3ae(%rip), %rdi      # 0x148f0
callq 0x3620
testl %eax, %eax
je 0x4bba
callq 0x30f0
movl %eax, 0xf38e(%rip)      # 0x148e8
leaq 0xf38f(%rip), %rdi      # 0x148f0
callq 0x3240
jmp 0x4bba
leaq 0xf38e(%rip), %rdi      # 0x14900
callq 0x3620
testl %eax, %eax
je 0x4e28
callq 0x30f0
movl %eax, 0xf372(%rip)      # 0x148fc
leaq 0xf36f(%rip), %rdi      # 0x14900
callq 0x3240
jmp 0x4e28
callq 0x3030
movl (%rax), %edi
cmpl $0x4, %edi
je 0x46e3
callq 0x3140
leaq 0x65d7(%rip), %rdi      # 0xbb8e
movq %rax, %rsi
jmp 0x55d3
leaq 0x64d8(%rip), %rdi      # 0xba9b
jmp 0x55ea
leaq 0x6427(%rip), %rdi      # 0xb9f3
leaq 0xd17d(%rip), %rsi      # 0x12750
xorl %eax, %eax
callq 0x3fc2
leaq 0x6449(%rip), %rdi      # 0xba2a
jmp 0x55ea
leaq 0x648d(%rip), %rdi      # 0xba77
xorl %eax, %eax
callq 0x3fc2
movq 0xd090(%rip), %rdi      # 0x12688
movq 0xd0a9(%rip), %rdx      # 0x126a8
movq %rdi, %rsi
xorl %ecx, %ecx
xorl %eax, %eax
callq 0x3110
callq 0x3030
movl (%rax), %edi
callq 0x3450
jmp 0x5621
jmp 0x5621
jmp 0x5621
jmp 0x5621
jmp 0x5621
movq %rax, %rbx
leaq 0x40(%rsp), %rdi
callq 0x3688
jmp 0x5651
jmp 0x5634
jmp 0x5634
movq %rax, %rbx
leaq 0x220(%rsp), %rdi
callq 0x7ac8
leaq 0x80(%rsp), %rdi
callq 0x7ae6
movq %rbx, %rdi
callq 0x35d0