140640043:	48 8b 85 90 00 00 00 	mov    0x90(%rbp),%rax
14064004a:	48 8d 8d 90 00 00 00 	lea    0x90(%rbp),%rcx
140640051:	48 89 4d d0          	mov    %rcx,-0x30(%rbp)
140640055:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14064005a:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
14064005f:	48 89 8d 90 00 00 00 	mov    %rcx,0x90(%rbp)
140640066:	bb 01 00 00 00       	mov    $0x1,%ebx
14064006b:	48 85 c0             	test   %rax,%rax
14064006e:	74 1d                	je     0x14064008d
140640070:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
140640075:	e8 e6 7f 0d 00       	call   0x140718060
14064007a:	0f b6 4d 98          	movzbl -0x68(%rbp),%ecx
14064007e:	84 c0                	test   %al,%al
140640080:	0f 45 cb             	cmovne %ebx,%ecx
140640083:	88 4d 98             	mov    %cl,-0x68(%rbp)
140640086:	48 8b 8d 90 00 00 00 	mov    0x90(%rbp),%rcx
14064008d:	48 85 c9             	test   %rcx,%rcx
140640090:	74 21                	je     0x1406400b3
140640092:	8b 41 10             	mov    0x10(%rcx),%eax
140640095:	ff c8                	dec    %eax
140640097:	89 41 10             	mov    %eax,0x10(%rcx)
14064009a:	85 c0                	test   %eax,%eax
14064009c:	7f 15                	jg     0x1406400b3
14064009e:	0f 88 d6 00 00 00    	js     0x14064017a
1406400a4:	48 8b 01             	mov    (%rcx),%rax
1406400a7:	8b d3                	mov    %ebx,%edx
1406400a9:	48 8b 00             	mov    (%rax),%rax
1406400ac:	ff 15 6e 39 94 00    	call   *0x94396e(%rip)        # 0x140f83a20
1406400b2:	90                   	nop
1406400b3:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1406400b8:	48 8b d7             	mov    %rdi,%rdx
1406400bb:	48 8b ce             	mov    %rsi,%rcx
1406400be:	e8 6d e2 fd ff       	call   0x14061e330
1406400c3:	90                   	nop
1406400c4:	48 8b 4d 80          	mov    -0x80(%rbp),%rcx
1406400c8:	48 85 c9             	test   %rcx,%rcx
1406400cb:	74 21                	je     0x1406400ee
1406400cd:	8b 41 10             	mov    0x10(%rcx),%eax
1406400d0:	ff c8                	dec    %eax
1406400d2:	89 41 10             	mov    %eax,0x10(%rcx)
1406400d5:	85 c0                	test   %eax,%eax
1406400d7:	7f 15                	jg     0x1406400ee
1406400d9:	0f 88 a6 00 00 00    	js     0x140640185
1406400df:	48 8b 01             	mov    (%rcx),%rax
1406400e2:	8b d3                	mov    %ebx,%edx
1406400e4:	48 8b 00             	mov    (%rax),%rax
1406400e7:	ff 15 33 39 94 00    	call   *0x943933(%rip)        # 0x140f83a20
1406400ed:	90                   	nop
1406400ee:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1406400f3:	48 85 c9             	test   %rcx,%rcx
1406400f6:	74 21                	je     0x140640119
1406400f8:	8b 41 10             	mov    0x10(%rcx),%eax
1406400fb:	ff c8                	dec    %eax
1406400fd:	89 41 10             	mov    %eax,0x10(%rcx)
140640100:	85 c0                	test   %eax,%eax
140640102:	7f 15                	jg     0x140640119
140640104:	0f 88 86 00 00 00    	js     0x140640190
14064010a:	48 8b 01             	mov    (%rcx),%rax
14064010d:	8b d3                	mov    %ebx,%edx
14064010f:	48 8b 00             	mov    (%rax),%rax
140640112:	ff 15 08 39 94 00    	call   *0x943908(%rip)        # 0x140f83a20
140640118:	90                   	nop
140640119:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
14064011e:	48 85 c9             	test   %rcx,%rcx
140640121:	74 1d                	je     0x140640140
140640123:	8b 41 10             	mov    0x10(%rcx),%eax
140640126:	ff c8                	dec    %eax
140640128:	89 41 10             	mov    %eax,0x10(%rcx)
14064012b:	85 c0                	test   %eax,%eax
14064012d:	7f 11                	jg     0x140640140
14064012f:	78 2b                	js     0x14064015c
140640131:	48 8b 01             	mov    (%rcx),%rax
140640134:	8b d3                	mov    %ebx,%edx
140640136:	48 8b 00             	mov    (%rax),%rax
140640139:	ff 15 e1 38 94 00    	call   *0x9438e1(%rip)        # 0x140f83a20
14064013f:	90                   	nop
140640140:	48 8b c7             	mov    %rdi,%rax
140640143:	4c 8d 9c 24 70 01 00 	lea    0x170(%rsp),%r11
14064014a:	00
14064014b:	49 8b 5b 10          	mov    0x10(%r11),%rbx
14064014f:	49 8b 73 18          	mov    0x18(%r11),%rsi
140640153:	49 8b 7b 28          	mov    0x28(%r11),%rdi
140640157:	49 8b e3             	mov    %r11,%rsp
14064015a:	5d                   	pop    %rbp
14064015b:	c3                   	ret
14064015c:	b9 02 00 00 00       	mov    $0x2,%ecx
140640161:	e8 9a a5 14 00       	call   0x14078a700
140640166:	90                   	nop
140640167:	33 c9                	xor    %ecx,%ecx
140640169:	e8 92 a5 14 00       	call   0x14078a700
14064016e:	cc                   	int3
14064016f:	b9 01 00 00 00       	mov    $0x1,%ecx
140640174:	e8 87 a5 14 00       	call   0x14078a700
140640179:	90                   	nop
14064017a:	b9 02 00 00 00       	mov    $0x2,%ecx
14064017f:	e8 7c a5 14 00       	call   0x14078a700
140640184:	90                   	nop
140640185:	b9 02 00 00 00       	mov    $0x2,%ecx
14064018a:	e8 71 a5 14 00       	call   0x14078a700
14064018f:	90                   	nop
140640190:	b9 02 00 00 00       	mov    $0x2,%ecx
140640195:	e8 66 a5 14 00       	call   0x14078a700
14064019a:	cc                   	int3
14064019b:	cc                   	int3
14064019c:	cc                   	int3
14064019d:	cc                   	int3
14064019e:	cc                   	int3
14064019f:	cc                   	int3
1406401a0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1406401a5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1406401aa:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1406401af:	57                   	push   %rdi
1406401b0:	48 83 ec 20          	sub    $0x20,%rsp
1406401b4:	48 8b f1             	mov    %rcx,%rsi
1406401b7:	e8 54 07 00 00       	call   0x140640910
1406401bc:	48 8b ce             	mov    %rsi,%rcx
1406401bf:	e8 1c 02 00 00       	call   0x1406403e0
1406401c4:	48 8b be b8 00 00 00 	mov    0xb8(%rsi),%rdi
1406401cb:	48 8b bf b0 00 00 00 	mov    0xb0(%rdi),%rdi
1406401d2:	48 8b 1f             	mov    (%rdi),%rbx
1406401d5:	48 3b df             	cmp    %rdi,%rbx
1406401d8:	74 2c                	je     0x140640206
1406401da:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1406401e0:	48 8b 6b 10          	mov    0x10(%rbx),%rbp
1406401e4:	48 8b d5             	mov    %rbp,%rdx
1406401e7:	48 8b ce             	mov    %rsi,%rcx
1406401ea:	e8 71 45 fd ff       	call   0x140614760
1406401ef:	84 c0                	test   %al,%al
1406401f1:	75 0b                	jne    0x1406401fe
1406401f3:	48 8b d5             	mov    %rbp,%rdx
1406401f6:	48 8b ce             	mov    %rsi,%rcx
1406401f9:	e8 72 43 fd ff       	call   0x140614570
1406401fe:	48 8b 1b             	mov    (%rbx),%rbx
140640201:	48 3b df             	cmp    %rdi,%rbx
140640204:	75 da                	jne    0x1406401e0
140640206:	48 8b be 00 01 00 00 	mov    0x100(%rsi),%rdi
14064020d:	48 8b 1f             	mov    (%rdi),%rbx
140640210:	48 3b df             	cmp    %rdi,%rbx
140640213:	0f 84 ad 00 00 00    	je     0x1406402c6
140640219:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140640220:	48 8b 43 10          	mov    0x10(%rbx),%rax
140640224:	48 8b 48 38          	mov    0x38(%rax),%rcx
140640228:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
14064022d:	48 85 c9             	test   %rcx,%rcx
140640230:	74 1c                	je     0x14064024e
140640232:	8b 41 10             	mov    0x10(%rcx),%eax
140640235:	ff c0                	inc    %eax
140640237:	89 41 10             	mov    %eax,0x10(%rcx)
14064023a:	83 f8 01             	cmp    $0x1,%eax
14064023d:	0f 8e 8f 01 00 00    	jle    0x1406403d2
140640243:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
140640248:	0f 84 79 01 00 00    	je     0x1406403c7
14064024e:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140640253:	e8 08 7e 0d 00       	call   0x140718060
140640258:	84 c0                	test   %al,%al
14064025a:	74 30                	je     0x14064028c
14064025c:	48 8d 8e b0 03 00 00 	lea    0x3b0(%rsi),%rcx
140640263:	4c 8d 43 18          	lea    0x18(%rbx),%r8
140640267:	48 8b 96 b8 03 00 00 	mov    0x3b8(%rsi),%rdx
14064026e:	48 3b 96 c0 03 00 00 	cmp    0x3c0(%rsi),%rdx
140640275:	74 0f                	je     0x140640286
140640277:	41 8b 00             	mov    (%r8),%eax
14064027a:	89 02                	mov    %eax,(%rdx)
14064027c:	48 83 86 b8 03 00 00 	addq   $0x4,0x3b8(%rsi)
140640283:	04
140640284:	eb 06                	jmp    0x14064028c
140640286:	e8 95 e1 ee ff       	call   0x14052e420
14064028b:	90                   	nop
14064028c:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140640291:	48 85 c9             	test   %rcx,%rcx
140640294:	74 24                	je     0x1406402ba
140640296:	8b 41 10             	mov    0x10(%rcx),%eax
140640299:	ff c8                	dec    %eax
14064029b:	89 41 10             	mov    %eax,0x10(%rcx)
14064029e:	85 c0                	test   %eax,%eax
1406402a0:	7f 18                	jg     0x1406402ba
1406402a2:	0f 88 14 01 00 00    	js     0x1406403bc
1406402a8:	48 8b 01             	mov    (%rcx),%rax
1406402ab:	ba 01 00 00 00       	mov    $0x1,%edx
1406402b0:	48 8b 00             	mov    (%rax),%rax
1406402b3:	ff 15 67 37 94 00    	call   *0x943767(%rip)        # 0x140f83a20
1406402b9:	90                   	nop
1406402ba:	48 8b 1b             	mov    (%rbx),%rbx
1406402bd:	48 3b df             	cmp    %rdi,%rbx
1406402c0:	0f 85 5a ff ff ff    	jne    0x140640220
1406402c6:	4c 8b 86 b0 00 00 00 	mov    0xb0(%rsi),%r8
1406402cd:	41 0f b6 d0          	movzbl %r8b,%edx
1406402d1:	48 b8 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rax
1406402d8:	9c f2 cb
1406402db:	48 33 d0             	xor    %rax,%rdx
1406402de:	49 b9 b3 01 00 00 00 	movabs $0x100000001b3,%r9
1406402e5:	01 00 00
1406402e8:	49 0f af d1          	imul   %r9,%rdx
1406402ec:	49 8b c0             	mov    %r8,%rax
1406402ef:	48 c1 e8 08          	shr    $0x8,%rax
1406402f3:	0f b6 c8             	movzbl %al,%ecx
1406402f6:	48 33 d1             	xor    %rcx,%rdx
1406402f9:	49 0f af d1          	imul   %r9,%rdx
1406402fd:	49 8b c0             	mov    %r8,%rax
140640300:	48 c1 e8 10          	shr    $0x10,%rax
140640304:	0f b6 c8             	movzbl %al,%ecx
140640307:	48 33 d1             	xor    %rcx,%rdx
14064030a:	49 0f af d1          	imul   %r9,%rdx
14064030e:	49 8b c0             	mov    %r8,%rax
140640311:	48 c1 e8 18          	shr    $0x18,%rax
140640315:	0f b6 c8             	movzbl %al,%ecx
140640318:	48 33 d1             	xor    %rcx,%rdx
14064031b:	49 0f af d1          	imul   %r9,%rdx
14064031f:	49 8b c0             	mov    %r8,%rax
140640322:	48 c1 e8 20          	shr    $0x20,%rax
140640326:	0f b6 c8             	movzbl %al,%ecx
140640329:	48 33 d1             	xor    %rcx,%rdx
14064032c:	49 0f af d1          	imul   %r9,%rdx
140640330:	49 8b c0             	mov    %r8,%rax
140640333:	48 c1 e8 28          	shr    $0x28,%rax
140640337:	0f b6 c8             	movzbl %al,%ecx
14064033a:	48 33 d1             	xor    %rcx,%rdx
14064033d:	49 0f af d1          	imul   %r9,%rdx
140640341:	49 8b c0             	mov    %r8,%rax
140640344:	48 c1 e8 30          	shr    $0x30,%rax
140640348:	0f b6 c8             	movzbl %al,%ecx
14064034b:	48 33 ca             	xor    %rdx,%rcx
14064034e:	49 0f af c9          	imul   %r9,%rcx
140640352:	49 8b c0             	mov    %r8,%rax
140640355:	48 c1 e8 38          	shr    $0x38,%rax
140640359:	48 33 c8             	xor    %rax,%rcx
14064035c:	49 0f af c9          	imul   %r9,%rcx
140640360:	48 23 0d a9 fc de 00 	and    0xdefca9(%rip),%rcx        # 0x141430010
140640367:	48 c1 e1 04          	shl    $0x4,%rcx
14064036b:	48 03 0d 86 fc de 00 	add    0xdefc86(%rip),%rcx        # 0x14142fff8
140640372:	48 8b 41 08          	mov    0x8(%rcx),%rax
140640376:	48 3b 05 6b fc de 00 	cmp    0xdefc6b(%rip),%rax        # 0x14142ffe8
14064037d:	74 1a                	je     0x140640399
14064037f:	48 8b 09             	mov    (%rcx),%rcx
140640382:	4c 3b 40 10          	cmp    0x10(%rax),%r8
140640386:	74 13                	je     0x14064039b
140640388:	48 3b c1             	cmp    %rcx,%rax
14064038b:	74 0c                	je     0x140640399
14064038d:	48 8b 40 08          	mov    0x8(%rax),%rax
140640391:	4c 3b 40 10          	cmp    0x10(%rax),%r8
140640395:	75 f1                	jne    0x140640388
140640397:	eb 02                	jmp    0x14064039b
140640399:	33 c0                	xor    %eax,%eax
14064039b:	48 85 c0             	test   %rax,%rax
14064039e:	0f 95 c0             	setne  %al
1406403a1:	88 86 ec 03 00 00    	mov    %al,0x3ec(%rsi)
1406403a7:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1406403ac:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
1406403b1:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1406403b6:	48 83 c4 20          	add    $0x20,%rsp
1406403ba:	5f                   	pop    %rdi
1406403bb:	c3                   	ret
1406403bc:	b9 02 00 00 00       	mov    $0x2,%ecx
1406403c1:	e8 3a a3 14 00       	call   0x14078a700
1406403c6:	90                   	nop
1406403c7:	b9 01 00 00 00       	mov    $0x1,%ecx
1406403cc:	e8 2f a3 14 00       	call   0x14078a700
1406403d1:	cc                   	int3
1406403d2:	33 c9                	xor    %ecx,%ecx
1406403d4:	e8 27 a3 14 00       	call   0x14078a700
1406403d9:	cc                   	int3
1406403da:	cc                   	int3
1406403db:	cc                   	int3
1406403dc:	cc                   	int3
1406403dd:	cc                   	int3
1406403de:	cc                   	int3
1406403df:	cc                   	int3
1406403e0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1406403e5:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1406403ea:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
1406403ef:	55                   	push   %rbp
1406403f0:	41 54                	push   %r12
1406403f2:	41 55                	push   %r13
1406403f4:	41 56                	push   %r14
1406403f6:	41 57                	push   %r15
1406403f8:	48 8b ec             	mov    %rsp,%rbp
1406403fb:	48 83 ec 60          	sub    $0x60,%rsp
1406403ff:	4c 8b e1             	mov    %rcx,%r12
140640402:	33 f6                	xor    %esi,%esi
140640404:	89 75 30             	mov    %esi,0x30(%rbp)
140640407:	4c 8b 89 d8 00 00 00 	mov    0xd8(%rcx),%r9
14064040e:	4c 8b 81 d0 00 00 00 	mov    0xd0(%rcx),%r8
140640415:	49 8b c0             	mov    %r8,%rax
140640418:	48 c1 e8 08          	shr    $0x8,%rax
14064041c:	0f b6 d0             	movzbl %al,%edx
14064041f:	41 0f b6 c0          	movzbl %r8b,%eax
140640423:	48 b9 25 23 22 84 e4 	movabs $0xcbf29ce484222325,%rcx
14064042a:	9c f2 cb
14064042d:	48 33 c1             	xor    %rcx,%rax
140640430:	49 ba b3 01 00 00 00 	movabs $0x100000001b3,%r10
140640437:	01 00 00
14064043a:	49 0f af c2          	imul   %r10,%rax
14064043e:	48 33 d0             	xor    %rax,%rdx
140640441:	49 0f af d2          	imul   %r10,%rdx
140640445:	49 8b c0             	mov    %r8,%rax
140640448:	48 c1 e8 10          	shr    $0x10,%rax
14064044c:	0f b6 c8             	movzbl %al,%ecx
14064044f:	48 33 d1             	xor    %rcx,%rdx
140640452:	49 0f af d2          	imul   %r10,%rdx
140640456:	49 8b c0             	mov    %r8,%rax
140640459:	48 c1 e8 18          	shr    $0x18,%rax
14064045d:	0f b6 c8             	movzbl %al,%ecx
140640460:	48 33 d1             	xor    %rcx,%rdx
140640463:	49 0f af d2          	imul   %r10,%rdx
140640467:	49 8b c0             	mov    %r8,%rax
14064046a:	48 c1 e8 20          	shr    $0x20,%rax
14064046e:	0f b6 c8             	movzbl %al,%ecx
140640471:	48 33 d1             	xor    %rcx,%rdx
140640474:	49 0f af d2          	imul   %r10,%rdx
140640478:	49 8b c0             	mov    %r8,%rax
14064047b:	48 c1 e8 28          	shr    $0x28,%rax
14064047f:	0f b6 c8             	movzbl %al,%ecx
140640482:	48 33 d1             	xor    %rcx,%rdx
140640485:	49 0f af d2          	imul   %r10,%rdx
140640489:	49 8b c0             	mov    %r8,%rax
14064048c:	48 c1 e8 30          	shr    $0x30,%rax
140640490:	0f b6 c8             	movzbl %al,%ecx
140640493:	48 33 d1             	xor    %rcx,%rdx
140640496:	49 0f af d2          	imul   %r10,%rdx
14064049a:	49 8b c0             	mov    %r8,%rax
14064049d:	48 c1 e8 38          	shr    $0x38,%rax
1406404a1:	48 33 d0             	xor    %rax,%rdx
1406404a4:	49 0f af d2          	imul   %r10,%rdx
1406404a8:	49 8b 49 30          	mov    0x30(%r9),%rcx
1406404ac:	48 23 ca             	and    %rdx,%rcx
1406404af:	48 c1 e1 04          	shl    $0x4,%rcx
1406404b3:	49 03 49 18          	add    0x18(%r9),%rcx
1406404b7:	48 8b 41 08          	mov    0x8(%rcx),%rax
1406404bb:	49 8b 51 08          	mov    0x8(%r9),%rdx
1406404bf:	48 3b c2             	cmp    %rdx,%rax
1406404c2:	74 1d                	je     0x1406404e1
1406404c4:	48 8b 09             	mov    (%rcx),%rcx
1406404c7:	4c 3b 40 10          	cmp    0x10(%rax),%r8
1406404cb:	74 17                	je     0x1406404e4
1406404cd:	0f 1f 00             	nopl   (%rax)
1406404d0:	48 3b c1             	cmp    %rcx,%rax
1406404d3:	74 0c                	je     0x1406404e1
1406404d5:	48 8b 40 08          	mov    0x8(%rax),%rax
1406404d9:	4c 3b 40 10          	cmp    0x10(%rax),%r8
1406404dd:	75 f1                	jne    0x1406404d0
1406404df:	eb 03                	jmp    0x1406404e4
1406404e1:	48 8b c6             	mov    %rsi,%rax
1406404e4:	48 85 c0             	test   %rax,%rax
1406404e7:	48 0f 44 c2          	cmove  %rdx,%rax
1406404eb:	48 3b c2             	cmp    %rdx,%rax
1406404ee:	74 1b                	je     0x14064050b
1406404f0:	48 8d 55 e8          	lea    -0x18(%rbp),%rdx
1406404f4:	49 8b c9             	mov    %r9,%rcx
1406404f7:	e8 34 f5 01 00       	call   0x14065fa30
1406404fc:	48 8d 4d e8          	lea    -0x18(%rbp),%rcx