// File: /workspace/github_cpp_makefile_star2_O3/tewalds[P]pentagod/agentmcts.cpp
// Function: AgentMCTS::search(double, unsigned long, int)
void AgentMCTS::search(double time, uint64_t max_runs, int verbose){
	time_used = 0;
	int toplay = rootboard.toplay();

	if(rootboard.won() >= 0 || (time <= 0 && max_runs == 0))
		return;

	Time starttime;

	stop_threads();

	if(runs)
		logerr("Pondered " + to_str(runs) + " runs\n");

	runs = 0;
	maxruns = max_runs;
	for(unsigned int i = 0; i < threads.size(); i++)
		threads[i]->reset();


	//let them run!
	start_threads();

	Alarm timer;
	if(time > 0)
		timer(time - (Time() - starttime), std::bind(&AgentMCTS::timedout, this));

	//wait for the timer to stop them
	runbarrier.wait();
	CAS(threadstate, Thread_Wait_End, Thread_Wait_Start);
	assert(threadstate == Thread_Wait_Start);

	time_used = Time() - starttime;


	if(verbose){
		DepthStats gamelen, treelen;
		double times[4] = {0,0,0,0};
		for(unsigned int i = 0; i < threads.size(); i++){
			gamelen += threads[i]->gamelen;
			treelen += threads[i]->treelen;
			for(int a = 0; a < 4; a++)
				times[a] += threads[i]->times[a];
		}

		logerr("Finished:    " + to_str(runs) + " runs in " + to_str(time_used*1000, 0) + " msec: " + to_str(runs/time_used, 0) + " Games/s\n");
		if(runs > 0){
			logerr("Game length: " + gamelen.to_s() + "\n");
			logerr("Tree depth:  " + treelen.to_s() + "\n");
			if(profile)
				logerr("Times:       " + to_str(times[0], 3) + ", " + to_str(times[1], 3) + ", " + to_str(times[2], 3) + ", " + to_str(times[3], 3) + "\n");
		}

		if(root.outcome != -3){
			logerr("Solved as a ");
			if(     root.outcome == 0)        logerr("draw\n");
			else if(root.outcome == 3)        logerr("draw by simultaneous win\n");
			else if(root.outcome == toplay)   logerr("win\n");
			else if(root.outcome == 3-toplay) logerr("loss\n");
			else if(root.outcome == -toplay)  logerr("win or draw\n");
			else if(root.outcome == toplay-3) logerr("loss or draw\n");
		}

		vector<Move> pv = get_pv();
		string pvstr;
		for(vector<Move>::iterator m = pv.begin(); m != pv.end(); ++m)
			pvstr += " " + m->to_s();
		logerr("PV:         " + pvstr + "\n");

		if(verbose >= 3 && !root.children.empty())
			logerr("Move stats:\n" + move_stats(vector<Move>()));
	}

	for(unsigned int i = 0; i < threads.size(); i++)
		threads[i]->reset();
	runs = 0;


	if(ponder && root.outcome < 0)
		start_threads();
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x3d8, %rsp            # imm = 0x3D8
movq $0x0, 0xb60(%rdi)
movl %edx, %ebp
movq %rsi, %r15
movq %rdi, %rbx
movzbl 0x99(%rdi), %r14d
movb 0x9a(%rdi), %al
cmpb $-0x4, %al
jne 0x1ae4a
leaq 0x80(%rbx), %rdi
vmovsd %xmm0, 0xf0(%rsp)
callq 0xd9e4
vmovsd 0xf0(%rsp), %xmm0
movb %al, 0x9a(%rbx)
testb %al, %al
jns 0x1b163
vxorpd %xmm1, %xmm1, %xmm1
vucomisd %xmm0, %xmm1
setae %al
testq %r15, %r15
sete %cl
testb %cl, %al
jne 0x1b163
leaq 0xd0(%rsp), %r12
vmovsd %xmm0, 0xf0(%rsp)
xorl %esi, %esi
movq %r12, %rdi
callq 0x4500
vcvtsi2sdq (%r12), %xmm2, %xmm0
movq %rbx, %rdi
vmovsd %xmm0, 0x178(%rsp)
vcvtsi2sdq 0x8(%r12), %xmm2, %xmm0
vmovsd %xmm0, 0x40(%rsp)
callq 0x1c842
vmovsd 0x40(%rsp), %xmm0
movq 0xe0(%rbx), %rsi
testq %rsi, %rsi
jne 0x1b175
vdivsd 0xd140(%rip), %xmm0, %xmm0 # 0x28008
movq $0x0, 0xe0(%rbx)
movq %r15, 0xe8(%rbx)
movq 0xa88(%rbx), %rsi
cmpq %rsi, 0xa90(%rbx)
je 0x1af55
movl $0x1, %eax
movl $0x3b9aca00, %edx       # imm = 0x3B9ACA00
vxorpd %xmm1, %xmm1, %xmm1
vxorpd %xmm2, %xmm2, %xmm2
xorl %ecx, %ecx
xorl %edi, %edi
movq (%rsi,%rdi,8), %rsi
movl %eax, %edi
incl %eax
movl %ecx, 0x80(%rsi)
movq %rdx, 0x78(%rsi)
vmovupd %xmm1, 0x88(%rsi)
movl %ecx, 0xa0(%rsi)
movq %rdx, 0x98(%rsi)
movb $0x0, 0x48(%rsi)
vmovupd %ymm2, 0xa8(%rsi)
vmovupd %ymm2, 0xb8(%rsi)
movq 0xa88(%rbx), %rsi
movq 0xa90(%rbx), %r8
subq %rsi, %r8
sarq $0x3, %r8
cmpq %rdi, %r8
ja 0x1af00
vaddsd 0x178(%rsp), %xmm0, %xmm0
movq %rbx, %rdi
vmovsd %xmm0, 0x40(%rsp)
vzeroupper
callq 0x1c8a2
vmovsd 0xf0(%rsp), %xmm1
vxorpd %xmm0, %xmm0, %xmm0
movl $0xffffffff, 0x4c(%rsp) # imm = 0xFFFFFFFF
vucomisd %xmm0, %xmm1
jbe 0x1b047
leaq 0xd0(%rsp), %r15
xorl %esi, %esi
movq %r15, %rdi
callq 0x4500
movq (%r15), %r12
movq 0x8(%r15), %r15
vxorpd %xmm0, %xmm0, %xmm0
vmovupd %ymm0, 0x1e0(%rsp)
movl $0x18, %edi
vzeroupper
callq 0x42e0
vcvtsi2sd %r15, %xmm3, %xmm0
vdivsd 0xd03a(%rip), %xmm0, %xmm0 # 0x28008
vmovsd 0x40(%rsp), %xmm2
leaq 0x1e0(%rsp), %rsi
movq $0x59, (%rax)
movq $0x0, 0x8(%rax)
movq %rbx, 0x10(%rax)
movq %rax, (%rsi)
leaq 0x558d(%rip), %rax      # 0x20586
movq %rax, 0x18(%rsi)
leaq 0x559e(%rip), %rax      # 0x205a2
movq %rax, 0x10(%rsi)
vcvtsi2sd %r12, %xmm3, %xmm1
vaddsd %xmm1, %xmm0, %xmm0
vsubsd %xmm0, %xmm2, %xmm0
vaddsd 0xf0(%rsp), %xmm0, %xmm0
leaq 0x4c(%rsp), %rdi
callq 0x1e2da
movq 0x1f0(%rsp), %rax
testq %rax, %rax
je 0x1b047
leaq 0x1e0(%rsp), %rdi
movl $0x3, %edx
movq %rdi, %rsi
callq *%rax
leaq 0xaa0(%rbx), %rdi
callq 0x1ddd8
movl $0x1, %ecx
movl $0x6, %eax
lock
cmpxchgl %ecx, 0xa80(%rbx)
movl 0xa80(%rbx), %eax
cmpl $0x1, %eax
jne 0x1c4c2
leaq 0xd0(%rsp), %r15
xorl %r12d, %r12d
xorl %esi, %esi
movq %r15, %rdi
callq 0x4500
vcvtsi2sdq (%r15), %xmm3, %xmm0
vcvtsi2sdq 0x8(%r15), %xmm3, %xmm1
vdivsd 0xcf6c(%rip), %xmm1, %xmm1 # 0x28008
vaddsd %xmm0, %xmm1, %xmm0
vsubsd 0x40(%rsp), %xmm0, %xmm0
vmovsd %xmm0, 0xb60(%rbx)
testl %ebp, %ebp
jne 0x1b1cd
movq 0xa88(%rbx), %rsi
cmpq %rsi, 0xa90(%rbx)
je 0x1b131
movl $0x1, %eax
movl $0x3b9aca00, %edx       # imm = 0x3B9ACA00
vxorpd %xmm0, %xmm0, %xmm0
vxorpd %xmm1, %xmm1, %xmm1
xorl %ecx, %ecx
xorl %edi, %edi
movq (%rsi,%rdi,8), %rsi
movl %eax, %edi
incl %eax
movl %ecx, 0x80(%rsi)
movq %rdx, 0x78(%rsi)
vmovupd %xmm0, 0x88(%rsi)
movl %ecx, 0xa0(%rsi)
movq %rdx, 0x98(%rsi)
movb $0x0, 0x48(%rsi)
vmovupd %ymm1, 0xa8(%rsi)
vmovupd %ymm1, 0xb8(%rsi)
movq 0xa88(%rbx), %rsi
movq 0xa90(%rbx), %r8
subq %rsi, %r8
sarq $0x3, %r8
cmpq %rdi, %r8
ja 0x1b0dc
movq $0x0, 0xe0(%rbx)
cmpb $0x1, 0x38(%rbx)
jne 0x1b156
cmpb $0x0, 0xba(%rbx)
jns 0x1b156
movq %rbx, %rdi
vzeroupper
callq 0x1c8a2
leaq 0x4c(%rsp), %rdi
vzeroupper
callq 0x1eb34
addq $0x3d8, %rsp            # imm = 0x3D8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0x158(%rsp), %r12
movq %r12, %rdi
callq 0xd5e9
leaq 0x105b0(%rip), %rcx     # 0x2b73c
movl $0x9, %r8d
movq %r12, %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0xe0(%rsp), %r12
movq %rax, %rcx
addq $0x10, %rcx
movq %r12, -0x10(%r12)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b381
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r12)
jmp 0x1b394
movl $0x3b9aca00, %eax       # imm = 0x3B9ACA00
vxorpd %xmm0, %xmm0, %xmm0
movl %r12d, 0xd8(%rsp)
movl %r12d, 0x160(%rsp)
vxorpd %xmm1, %xmm1, %xmm1
movq %rax, 0xd0(%rsp)
movq %rax, 0x158(%rsp)
vmovupd %xmm0, 0xe0(%rsp)
vmovupd %xmm0, 0x168(%rsp)
vmovupd %ymm1, 0xf0(%rsp)
movq 0xa88(%rbx), %rax
movq 0xa90(%rbx), %rcx
subq %rax, %rcx
je 0x1b31e
vmovupd %ymm1, 0xf0(%rsp)
sarq $0x3, %rcx
movl $0x3b9aca00, %esi       # imm = 0x3B9ACA00
movl $0x1, %edi
movl $0x3b9aca00, %r10d      # imm = 0x3B9ACA00
vxorpd %xmm1, %xmm1, %xmm1
movl %ebp, %r12d
xorl %edx, %edx
xorl %r9d, %r9d
xorl %r8d, %r8d
xorl %r11d, %r11d
movq -0x8(%rax,%rdi,8), %r15
movl 0x98(%r15), %ebp
cmpl %ebp, %esi
jbe 0x1b274
movl %ebp, %esi
movl %ebp, 0xd0(%rsp)
movl 0x9c(%r15), %ebp
cmpl %ebp, %r9d
jae 0x1b28a
movl %ebp, %r9d
movl %ebp, 0xd4(%rsp)
movl 0x78(%r15), %ebp
cmpl %ebp, %r10d
jbe 0x1b29d
movl %ebp, %r10d
movl %ebp, 0x158(%rsp)
movl 0x7c(%r15), %ebp
cmpl %ebp, %r11d
jae 0x1b2b0
movl %ebp, %r11d
movl %ebp, 0x15c(%rsp)
vmovupd 0xf0(%rsp), %ymm2
vpaddq 0xa8(%r15), %xmm0, %xmm0
vpaddq 0x88(%r15), %xmm1, %xmm1
addl 0xa0(%r15), %edx
addl 0x80(%r15), %r8d
vaddpd 0xb8(%r15), %ymm2, %ymm2
movl %edi, %r15d
incq %rdi
vmovupd %ymm2, 0xf0(%rsp)
cmpq %r15, %rcx
ja 0x1b25b
movl %edx, 0xd8(%rsp)
movl %r8d, 0x160(%rsp)
movl %r12d, %ebp
vmovdqu %xmm0, 0xe0(%rsp)
vmovdqu %xmm1, 0x168(%rsp)
movq 0xe0(%rbx), %rsi
leaq 0x138(%rsp), %rdi
vzeroupper
callq 0xd5e9
leaq 0x10476(%rip), %rcx     # 0x2b7b2
leaq 0x138(%rsp), %rdi
movl $0xd, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0xa0(%rsp), %r13
movq %rax, %rcx
addq $0x10, %rcx
movq %r13, -0x10(%r13)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b470
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r13)
jmp 0x1b483
movq %rdx, 0xd0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xe0(%rsp)
movq 0x8(%rax), %rdx
leaq 0xd0(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1038c(%rip), %rsi     # 0x2b746
callq 0x4610
leaq 0x2b0(%rsp), %r13
movq %rax, %rcx
addq $0x10, %rcx
movq %r13, -0x10(%r13)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b3e6
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r13)
jmp 0x1b3f9
movq %rdx, 0x2a0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x2b0(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x2a8(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1abc5(%rip), %rax     # 0x35fe0
movq 0x2a0(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x2a0(%rsp), %rdi
cmpq %r13, %rdi
je 0x1b43d
callq 0x42b0
movq 0xd0(%rsp), %rdi
cmpq %r12, %rdi
je 0x1b44f
callq 0x42b0
leaq 0x168(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1b465
callq 0x42b0
vmovsd 0x40(%rsp), %xmm0
jmp 0x1aec0
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
movq 0x8(%rax), %rdx
leaq 0x90(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x10317(%rip), %rsi     # 0x2b7c0
callq 0x4610
leaq 0x80(%rsp), %r12
movq %rax, %rcx
addq $0x10, %rcx
movq %r12, -0x10(%r12)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b4d6
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r12)
jmp 0x1b4e6
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
vmovsd 0xb60(%rbx), %xmm0
vmulsd 0xcb02(%rip), %xmm0, %xmm0 # 0x28010
leaq 0xb0(%rsp), %rdi
xorl %esi, %esi
callq 0x15694
movq 0x78(%rsp), %r8
movq 0xb8(%rsp), %rdx
movq 0x70(%rsp), %rcx
movl $0xf, %edi
leaq (%rdx,%r8), %rax
cmpq %r12, %rcx
je 0x1b545
movq 0x80(%rsp), %rdi
movq 0xb0(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1b571
leaq 0xc0(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1b56c
movq 0xc0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1b57d
leaq 0x70(%rsp), %rdi
callq 0x40b0
jmp 0x1b58e
leaq 0xb0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x60(%rsp), %rdx
leaq 0x10(%rax), %rcx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
cmpq %rcx, %rsi
jne 0x1b5ad
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rdx)
jmp 0x1b5ba
movq %rsi, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
movq 0x8(%rax), %rsi
movq %rax, %rdx
addq $0x8, %rdx
movl %ebp, 0x40(%rsp)
movq %rsi, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x101e8(%rip), %rsi     # 0x2b7ca
leaq 0x50(%rsp), %rdi
callq 0x4610
leaq 0x30(%rsp), %rbp
movq %rax, %rcx
addq $0x10, %rcx
movq %rbp, -0x10(%rbp)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b60f
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rbp)
jmp 0x1b61c
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
vcvtusi2sdq 0xe0(%rbx), %xmm3, %xmm0
vdivsd 0xb60(%rbx), %xmm0, %xmm0
leaq 0x118(%rsp), %rdi
xorl %esi, %esi
callq 0x15694
movq 0x28(%rsp), %r8
movq 0x120(%rsp), %rdx
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq (%rdx,%r8), %rax
cmpq %rbp, %rcx
je 0x1b677
movq 0x30(%rsp), %rdi
movq 0x118(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1b6a3
leaq 0x128(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1b69e
movq 0x128(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1b6af
leaq 0x20(%rsp), %rdi
callq 0x40b0
jmp 0x1b6c0
leaq 0x118(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x10(%rsp), %rdx
leaq 0x10(%rax), %rcx
movq %rdx, -0x10(%rdx)
movq (%rax), %rsi
cmpq %rcx, %rsi
jne 0x1b6df
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rdx)
jmp 0x1b6eb
movq %rsi, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rsi
movq %rax, %rdx
addq $0x8, %rdx
movq %rsi, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x100c3(%rip), %rsi     # 0x2b7d2
movq %rsp, %rdi
callq 0x4610
leaq 0x290(%rsp), %r15
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, -0x10(%r15)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b73d
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r15)
jmp 0x1b750
movq %rdx, 0x280(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x290(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x288(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1a86e(%rip), %rax     # 0x35fe0
movq 0x280(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x280(%rsp), %rdi
cmpq %r15, %rdi
je 0x1b794
callq 0x42b0
leaq 0x10(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1b7a7
callq 0x42b0
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1b7bd
callq 0x42b0
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b7cc
callq 0x42b0
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1b7df
callq 0x42b0
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1b7f5
callq 0x42b0
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x1b804
callq 0x42b0
movq 0x90(%rsp), %rdi
cmpq %r13, %rdi
je 0x1b816
callq 0x42b0
leaq 0x148(%rsp), %r13
movq -0x10(%r13), %rdi
cmpq %r13, %rdi
je 0x1b82c
callq 0x42b0
cmpq $0x0, 0xe0(%rbx)
je 0x1c04b
leaq 0x20(%rsp), %rdi
leaq 0xd0(%rsp), %rsi
callq 0x1e394
leaq 0xff89(%rip), %rcx      # 0x2b7dc
leaq 0x20(%rsp), %rdi
movl $0xd, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $0x10, %rcx
movq %rsi, (%rsp)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b889
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rsi)
jmp 0x1b895
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd22c(%rip), %rsi      # 0x28ae2
callq 0x4610
leaq 0x270(%rsp), %r15
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, -0x10(%r15)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b8e1
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r15)
jmp 0x1b8f4
movq %rdx, 0x260(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x270(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x268(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1a6ca(%rip), %rax     # 0x35fe0
movq 0x260(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x260(%rsp), %rdi
cmpq %r15, %rdi
je 0x1b938
callq 0x42b0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x1b94b
callq 0x42b0
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1b95a
callq 0x42b0
leaq 0x20(%rsp), %rdi
leaq 0x158(%rsp), %rsi
callq 0x1e394
leaq 0xfe77(%rip), %rcx      # 0x2b7ea
leaq 0x20(%rsp), %rdi
movl $0xd, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x10(%rsp), %rsi
movq %rax, %rcx
addq $0x10, %rcx
movq %rsi, (%rsp)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1b9a9
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rsi)
jmp 0x1b9b5
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rdx
movq %rsp, %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0xd10c(%rip), %rsi      # 0x28ae2
callq 0x4610
leaq 0x250(%rsp), %r15
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, -0x10(%r15)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1ba01
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r15)
jmp 0x1ba14
movq %rdx, 0x240(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x250(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x248(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1a5aa(%rip), %rax     # 0x35fe0
movq 0x240(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x240(%rsp), %rdi
cmpq %r15, %rdi
je 0x1ba58
callq 0x42b0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
leaq 0xc0(%rsp), %r15
cmpq %rax, %rdi
je 0x1ba73
callq 0x42b0
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1ba82
callq 0x42b0
cmpb $0x1, 0x48(%rbx)
jne 0x1c04b
leaq 0x118(%rsp), %rdi
movl $0x3, %esi
vmovups 0xf0(%rsp), %ymm0
vzeroupper
callq 0x15694
leaq 0xfd47(%rip), %rcx      # 0x2b7f8
leaq 0x118(%rsp), %rdi
movl $0xd, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
movq %r15, 0xb0(%rsp)
movq %rax, %rcx
addq $0x10, %rcx
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1baea
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r15)
jmp 0x1bafd
movq %rdx, 0xb0(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xc0(%rsp)
movq 0x8(%rax), %rdx
leaq 0xb0(%rsp), %rdi
movq %rdx, 0x8(%rdi)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x10fb9(%rip), %rsi     # 0x2cadc
callq 0x4610
movq %r13, 0x138(%rsp)
movq %rax, %rcx
addq $0x10, %rcx
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1bb4b
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r13)
jmp 0x1bb5e
movq %rdx, 0x138(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x148(%rsp)
vpermilpd $0x1, 0xf0(%rsp), %xmm0 # xmm0 = mem[1,0]
movq 0x8(%rax), %rdx
movq %rdx, 0x140(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
leaq 0x1c0(%rsp), %rdi
movl $0x3, %esi
callq 0x15694
movq 0x140(%rsp), %r8
movq 0x1c8(%rsp), %rdx
movq 0x138(%rsp), %rcx
movl $0xf, %edi
leaq (%rdx,%r8), %rax
cmpq %r13, %rcx
je 0x1bbc4
movq 0x148(%rsp), %rdi
movq 0x1c0(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1bbf0
leaq 0x1d0(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1bbeb
movq 0x1d0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1bbff
leaq 0x138(%rsp), %rdi
callq 0x40b0
jmp 0x1bc10
leaq 0x1c0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0xa0(%rsp), %rsi
leaq 0x10(%rax), %rcx
movq %rsi, 0x90(%rsp)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1bc36
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rsi)
jmp 0x1bc49
movq %rdx, 0x90(%rsp)
movq (%rcx), %rdx
movq %rdx, 0xa0(%rsp)
movq 0x8(%rax), %rsi
movq %rax, %rdx
addq $0x8, %rdx
movq %rsi, 0x98(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x10e6c(%rip), %rsi     # 0x2cadc
leaq 0x90(%rsp), %rdi
callq 0x4610
movq %r12, 0x70(%rsp)
movq %rax, %rcx
addq $0x10, %rcx
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1bc9d
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r12)
jmp 0x1bcad
movq %rdx, 0x70(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x80(%rsp)
vmovupd 0xf0(%rsp), %ymm0
movq 0x8(%rax), %rdx
movq %rdx, 0x78(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
vextractf128 $0x1, %ymm0, %xmm0
leaq 0x1a0(%rsp), %rdi
movl $0x3, %esi
vmovapd %xmm0, 0xf0(%rsp)
vzeroupper
callq 0x15694
movq 0x78(%rsp), %r8
movq 0x1a8(%rsp), %rdx
movq 0x70(%rsp), %rcx
movl $0xf, %edi
leaq (%rdx,%r8), %rax
cmpq %r12, %rcx
je 0x1bd1a
movq 0x80(%rsp), %rdi
movq 0x1a0(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1bd46
leaq 0x1b0(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1bd41
movq 0x1b0(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1bd52
leaq 0x70(%rsp), %rdi
callq 0x40b0
jmp 0x1bd63
leaq 0x1a0(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x60(%rsp), %rsi
leaq 0x10(%rax), %rcx
movq %rsi, 0x50(%rsp)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1bd83
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rsi)
jmp 0x1bd90
movq %rdx, 0x50(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x60(%rsp)
movq 0x8(%rax), %rsi
movq %rax, %rdx
addq $0x8, %rdx
movq %rsi, 0x58(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0x10d28(%rip), %rsi     # 0x2cadc
leaq 0x50(%rsp), %rdi
callq 0x4610
movq %rbp, 0x20(%rsp)
movq %rax, %rcx
addq $0x10, %rcx
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1bddd
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rbp)
jmp 0x1bdea
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
vmovapd 0xf0(%rsp), %xmm0
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
vshufpd $0x1, %xmm0, %xmm0, %xmm0 # xmm0 = xmm0[1,0]
leaq 0x180(%rsp), %rdi
movl $0x3, %esi
callq 0x15694
movq 0x28(%rsp), %r8
movq 0x188(%rsp), %rdx
movq 0x20(%rsp), %rcx
movl $0xf, %edi
leaq (%rdx,%r8), %rax
cmpq %rbp, %rcx
je 0x1be47
movq 0x30(%rsp), %rdi
movq 0x180(%rsp), %rsi
cmpq %rdi, %rax
jbe 0x1be73
leaq 0x190(%rsp), %r9
movl $0xf, %edi
cmpq %r9, %rsi
je 0x1be6e
movq 0x190(%rsp), %rdi
cmpq %rdi, %rax
jbe 0x1be7f
leaq 0x20(%rsp), %rdi
callq 0x40b0
jmp 0x1be90
leaq 0x180(%rsp), %rdi
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x10(%rsp), %rsi
leaq 0x10(%rax), %rcx
movq %rsi, (%rsp)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1beaf
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rsi)
jmp 0x1bebb
movq %rdx, (%rsp)
movq (%rcx), %rdx
movq %rdx, 0x10(%rsp)
movq 0x8(%rax), %rsi
movq %rax, %rdx
addq $0x8, %rdx
movq %rsi, 0x8(%rsp)
movq %rcx, (%rax)
movq $0x0, (%rdx)
movb $0x0, (%rcx)
leaq 0xcc03(%rip), %rsi      # 0x28ae2
movq %rsp, %rdi
callq 0x4610
leaq 0x230(%rsp), %r15
movq %rax, %rcx
addq $0x10, %rcx
movq %r15, -0x10(%r15)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1bf0d
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r15)
jmp 0x1bf20
movq %rdx, 0x220(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x230(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x228(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x1a09e(%rip), %rax     # 0x35fe0
movq 0x220(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x220(%rsp), %rdi
cmpq %r15, %rdi
je 0x1bf64
callq 0x42b0
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
leaq 0xc0(%rsp), %r15
cmpq %rax, %rdi
je 0x1bf7f
callq 0x42b0
leaq 0x190(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1bf95
callq 0x42b0
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1bfa4
callq 0x42b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x1bfb8
callq 0x42b0
leaq 0x1b0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1bfce
callq 0x42b0
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x1bfdd
callq 0x42b0
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x1bff7
callq 0x42b0
leaq 0x1d0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c00d
callq 0x42b0
movq 0x138(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c01f
callq 0x42b0
movq 0xb0(%rsp), %rdi
cmpq %r15, %rdi
je 0x1c031
callq 0x42b0
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
cmpq %rax, %rdi
je 0x1c04b
callq 0x42b0
cmpb $-0x3, 0xba(%rbx)
je 0x1c27a
leaq 0x3a8(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xf79b(%rip), %rsi      # 0x2b806
leaq 0xf7a0(%rip), %rdx      # 0x2b812
leaq 0x398(%rsp), %rdi
callq 0xa810
leaq 0xba(%rbx), %rdx
leaq 0x398(%rsp), %rdi
movq %r15, %rsi
movl %r14d, %ecx
callq 0x4915
cmpw $0x5, %ax
ja 0x1c27a
movzwl %ax, %eax
leaq 0xf5cb(%rip), %rcx      # 0x2b678
movslq (%rcx,%rax,4), %rax
addq %rcx, %rax
jmpq *%rax
leaq 0x388(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf771(%rip), %rsi      # 0x2b83a
leaq 0xf76f(%rip), %rdx      # 0x2b83f
leaq 0x378(%rsp), %rdi
callq 0xa810
movq 0x19efc(%rip), %rax     # 0x35fe0
movq 0x378(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x378(%rsp), %rdi
jmp 0x1c270
leaq 0x308(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf71f(%rip), %rsi      # 0x2b833
leaq 0xf724(%rip), %rdx      # 0x2b83f
leaq 0x2f8(%rsp), %rdi
callq 0xa810
movq 0x19eb1(%rip), %rax     # 0x35fe0
movq 0x2f8(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x2f8(%rsp), %rdi
jmp 0x1c270
leaq 0x348(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf6c9(%rip), %rsi      # 0x2b828
leaq 0xf6c6(%rip), %rdx      # 0x2b82c
leaq 0x338(%rsp), %rdi
callq 0xa810
movq 0x19e66(%rip), %rax     # 0x35fe0
movq 0x338(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x338(%rsp), %rdi
jmp 0x1c270
leaq 0x328(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf683(%rip), %rsi      # 0x2b82d
leaq 0xf681(%rip), %rdx      # 0x2b832
leaq 0x318(%rsp), %rdi
callq 0xa810
movq 0x19e1b(%rip), %rax     # 0x35fe0
movq 0x318(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x318(%rsp), %rdi
jmp 0x1c270
leaq 0x368(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf61e(%rip), %rsi      # 0x2b813
leaq 0xf630(%rip), %rdx      # 0x2b82c
leaq 0x358(%rsp), %rdi
callq 0xa810
movq 0x19dd0(%rip), %rax     # 0x35fe0
movq 0x358(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x358(%rsp), %rdi
jmp 0x1c270
leaq 0x2e8(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xf603(%rip), %rsi      # 0x2b840
leaq 0xf609(%rip), %rdx      # 0x2b84d
leaq 0x2d8(%rsp), %rdi
callq 0xa810
movq 0x19d88(%rip), %rax     # 0x35fe0
movq 0x2d8(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x2d8(%rsp), %rdi
cmpq %r14, %rdi
je 0x1c27a
callq 0x42b0
movq (%rbx), %rax
leaq 0x70(%rsp), %rdi
movq %rbx, %rsi
callq *0x40(%rax)
movq 0x70(%rsp), %r14
leaq 0x10(%rsp), %rax
movq %rax, (%rsp)
movq $0x0, 0x8(%rsp)
movb $0x0, 0x10(%rsp)
cmpq 0x78(%rsp), %r14
je 0x1c368
leaq 0x50(%rsp), %r15
leaq 0xf59e(%rip), %r12      # 0x2b859
movq %rsp, %r13
movq %r15, %rdi
movq %r14, %rsi
xorl %edx, %edx
callq 0x999a
movl $0x1, %r8d
movq %r15, %rdi
xorl %esi, %esi
xorl %edx, %edx
movq %r12, %rcx
callq 0x4330
movq %rbp, 0x20(%rsp)
movq %rax, %rcx
addq $0x10, %rcx
movq (%rax), %rdx
cmpq %rcx, %rdx
je 0x1c303
movq %rdx, 0x20(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x30(%rsp)
jmp 0x1c30c
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%rbp)
movq 0x8(%rax), %rdx
movq %rdx, 0x28(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x28(%rsp), %rdx
movq 0x20(%rsp), %rsi
movq %r13, %rdi
callq 0x40b0
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c345
callq 0x42b0
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x1c359
callq 0x42b0
addq $0x4, %r14
cmpq 0x78(%rsp), %r14
jne 0x1c2be
leaq 0xf4df(%rip), %rsi      # 0x2b84e
leaq 0x20(%rsp), %rdi
movq %rsp, %rdx
callq 0x7bb7
leaq 0xc75f(%rip), %rsi      # 0x28ae2
leaq 0x20(%rsp), %rdi
callq 0x4610
leaq 0x210(%rsp), %r14
movq %rax, %rcx
addq $0x10, %rcx
movq %r14, -0x10(%r14)
movq (%rax), %rdx
cmpq %rcx, %rdx
jne 0x1c3b3
vmovupd (%rcx), %xmm0
vmovupd %xmm0, (%r14)
jmp 0x1c3c6
movq %rdx, 0x200(%rsp)
movq (%rcx), %rdx
movq %rdx, 0x210(%rsp)
movq 0x8(%rax), %rdx
movq %rdx, 0x208(%rsp)
movq %rcx, (%rax)
movq $0x0, 0x8(%rax)
movb $0x0, 0x10(%rax)
movq 0x19bf8(%rip), %rax     # 0x35fe0
movq 0x200(%rsp), %rdi
movq (%rax), %rsi
callq 0x4320
movq 0x200(%rsp), %rdi
cmpq %r14, %rdi
je 0x1c40a
callq 0x42b0
movq 0x20(%rsp), %rdi
leaq 0x10(%rsp), %r14
cmpq %rbp, %rdi
je 0x1c41e
callq 0x42b0
cmpl $0x3, 0x40(%rsp)
jl 0x1c439
movq 0xc8(%rbx), %rax
cmpq $0x2, %rax
jb 0x1c439
cmpw $0x0, 0x6(%rax)
jne 0x1c45f
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0x1c447
callq 0x42b0
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x1b0b6
callq 0x42b0
jmp 0x1b0b6
leaq 0x2c0(%rsp), %rdx
vxorpd %xmm0, %xmm0, %xmm0
vmovapd %xmm0, (%rdx)
movq $0x0, 0x10(%rdx)
movq (%rbx), %rax
leaq 0x20(%rsp), %rdi
movq %rbx, %rsi
callq *0x48(%rax)
leaq 0xf3cf(%rip), %rcx      # 0x2b85b
leaq 0x20(%rsp), %rdi
movl $0xc, %r8d
xorl %esi, %esi
xorl %edx, %edx
callq 0x4330
leaq 0x3b8(%rsp), %rdi
leaq 0x20(%rsp), %rdx
leaq 0x2c0(%rsp), %rcx
movq %rax, %rsi
callq 0x49a4
jmp 0x1c439
leaq 0xf284(%rip), %rdi      # 0x2b74d
leaq 0xf29e(%rip), %rsi      # 0x2b76e
leaq 0xf2a5(%rip), %rcx      # 0x2b77c
movl $0x67, %edx
callq 0x41b0
movq 0x20(%rsp), %rdi
movq %rax, %rbx
cmpq %rbp, %rdi
je 0x1c4f8
callq 0x42b0
jmp 0x1c4f8
movq %rax, %rbx
movq 0x2c0(%rsp), %rdi
testq %rdi, %rdi
jne 0x1c804
jmp 0x1c80e
jmp 0x1c7d9
jmp 0x1c7d9
jmp 0x1c7d9
jmp 0x1c7d9
jmp 0x1c7d9
jmp 0x1c7d9
movq (%rsp), %rdi
movq %rax, %rbx
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x1c547
callq 0x42b0
jmp 0x1c547
movq %rax, %rbx
leaq 0x190(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c562
callq 0x42b0
jmp 0x1c562
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c576
callq 0x42b0
jmp 0x1c576
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x1c58f
callq 0x42b0
jmp 0x1c58f
movq %rax, %rbx
leaq 0x1b0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c5aa
callq 0x42b0
jmp 0x1c5aa
movq %rax, %rbx
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x1c5be
callq 0x42b0
jmp 0x1c5be
movq %rax, %rbx
movq 0x90(%rsp), %rdi
leaq 0xa0(%rsp), %rax
cmpq %rax, %rdi
je 0x1c5dd
callq 0x42b0
jmp 0x1c5dd
movq %rax, %rbx
leaq 0x1d0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c5f8
callq 0x42b0
jmp 0x1c5f8
movq %rax, %rbx
movq 0x138(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c60a
callq 0x42b0
movq 0xb0(%rsp), %rdi
leaq 0xc0(%rsp), %rax
cmpq %rax, %rdi
je 0x1c624
callq 0x42b0
movq 0x118(%rsp), %rdi
leaq 0x128(%rsp), %rax
jmp 0x1c797
movq %rax, %rbx
jmp 0x1c60a
movq %rax, %rbx
jmp 0x1c624
jmp 0x1c7d9
jmp 0x1c6b6
jmp 0x1c7d9
jmp 0x1c658
jmp 0x1c670
jmp 0x1c7d9
movq (%rsp), %rdi
movq %rax, %rbx
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x1c673
callq 0x42b0
jmp 0x1c673
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
jne 0x1c82b
jmp 0x1c830
jmp 0x1c7d9
movq %rax, %rbx
movq 0x1f0(%rsp), %rax
testq %rax, %rax
je 0x1c830
leaq 0x1e0(%rsp), %rdi
movl $0x3, %edx
movq %rdi, %rsi
callq *%rax
jmp 0x1c830
movq %rax, %rdi
callq 0x8dae
jmp 0x1c7d9
movq 0x20(%rsp), %rdi
movq %rax, %rbx
cmpq %rbp, %rdi
jne 0x1c804
jmp 0x1c80e
jmp 0x1c80b
jmp 0x1c7d9
leaq 0x10(%rsp), %rcx
movq %rax, %rbx
movq -0x10(%rcx), %rdi
cmpq %rcx, %rdi
je 0x1c6fe
callq 0x42b0
jmp 0x1c6fe
movq %rax, %rbx
leaq 0x128(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c719
callq 0x42b0
jmp 0x1c719
movq %rax, %rbx
movq 0x20(%rsp), %rdi
cmpq %rbp, %rdi
je 0x1c72d
callq 0x42b0
jmp 0x1c72d
movq %rax, %rbx
leaq 0x60(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c745
callq 0x42b0
jmp 0x1c745
movq %rax, %rbx
leaq 0xc0(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c760
callq 0x42b0
jmp 0x1c760
movq %rax, %rbx
movq 0x70(%rsp), %rdi
cmpq %r12, %rdi
je 0x1c774
callq 0x42b0
jmp 0x1c774
movq %rax, %rbx
movq 0x90(%rsp), %rdi
cmpq %r13, %rdi
je 0x1c78b
callq 0x42b0
jmp 0x1c78b
movq %rax, %rbx
leaq 0x148(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
jne 0x1c82b
jmp 0x1c830
movq 0xd0(%rsp), %rdi
movq %rax, %rbx
cmpq %r12, %rdi
je 0x1c7c1
callq 0x42b0
jmp 0x1c7c1
jmp 0x1c7d9
movq %rax, %rbx
leaq 0x168(%rsp), %rax
movq -0x10(%rax), %rdi
cmpq %rax, %rdi
je 0x1c83a
callq 0x42b0
jmp 0x1c83a
movq %rax, %rbx
jmp 0x1c830
movq 0x20(%rsp), %rdi
movq %rax, %rbx
cmpq %rbp, %rdi
je 0x1c7f5
callq 0x42b0
jmp 0x1c7f5
movq %rax, %rbx
movq 0x50(%rsp), %rdi
leaq 0x60(%rsp), %rax
cmpq %rax, %rdi
je 0x1c80e
callq 0x42b0
jmp 0x1c80e
movq %rax, %rbx
movq (%rsp), %rdi
leaq 0x10(%rsp), %rax
cmpq %rax, %rdi
je 0x1c821
callq 0x42b0
movq 0x70(%rsp), %rdi
testq %rdi, %rdi
je 0x1c830
callq 0x42b0
leaq 0x4c(%rsp), %rdi
callq 0x1eb34
movq %rbx, %rdi
callq 0x45b0