1400451fc:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140045200:	48 2b c1             	sub    %rcx,%rax
140045203:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140045207:	48 83 f8 1f          	cmp    $0x1f,%rax
14004520b:	0f 87 41 01 00 00    	ja     0x140045352
140045211:	e8 7e 4a 01 00       	call   0x140059c94
140045216:	85 db                	test   %ebx,%ebx
140045218:	0f 88 3b 01 00 00    	js     0x140045359
14004521e:	48 ff c7             	inc    %rdi
140045221:	48 83 c6 68          	add    $0x68,%rsi
140045225:	49 3b fc             	cmp    %r12,%rdi
140045228:	0f 82 23 ff ff ff    	jb     0x140045151
14004522e:	33 f6                	xor    %esi,%esi
140045230:	4d 8b 07             	mov    (%r15),%r8
140045233:	4d 8d 88 d0 00 00 00 	lea    0xd0(%r8),%r9
14004523a:	49 83 b8 80 00 00 00 	cmpq   $0x0,0x80(%r8)
140045241:	00
140045242:	75 06                	jne    0x14004524a
140045244:	41 83 39 00          	cmpl   $0x0,(%r9)
140045248:	74 19                	je     0x140045263
14004524a:	49 83 c0 70          	add    $0x70,%r8
14004524e:	45 8b 09             	mov    (%r9),%r9d
140045251:	48 8b 95 a0 03 00 00 	mov    0x3a0(%rbp),%rdx
140045258:	e8 03 27 00 00       	call   0x140047960
14004525d:	8b d8                	mov    %eax,%ebx
14004525f:	89 44 24 40          	mov    %eax,0x40(%rsp)
140045263:	85 db                	test   %ebx,%ebx
140045265:	0f 89 6a 01 00 00    	jns    0x1400453d5
14004526b:	48 8b 8d a0 03 00 00 	mov    0x3a0(%rbp),%rcx
140045272:	48 85 c9             	test   %rcx,%rcx
140045275:	74 0e                	je     0x140045285
140045277:	48 89 b5 a0 03 00 00 	mov    %rsi,0x3a0(%rbp)
14004527e:	48 8b 01             	mov    (%rcx),%rax
140045281:	ff 50 10             	call   *0x10(%rax)
140045284:	90                   	nop
140045285:	48 8b 8d b0 03 00 00 	mov    0x3b0(%rbp),%rcx
14004528c:	48 85 c9             	test   %rcx,%rcx
14004528f:	74 0e                	je     0x14004529f
140045291:	48 89 b5 b0 03 00 00 	mov    %rsi,0x3b0(%rbp)
140045298:	48 8b 01             	mov    (%rcx),%rax
14004529b:	ff 50 10             	call   *0x10(%rax)
14004529e:	90                   	nop
14004529f:	48 8b 8d b8 03 00 00 	mov    0x3b8(%rbp),%rcx
1400452a6:	48 85 c9             	test   %rcx,%rcx
1400452a9:	74 0e                	je     0x1400452b9
1400452ab:	48 89 b5 b8 03 00 00 	mov    %rsi,0x3b8(%rbp)
1400452b2:	48 8b 01             	mov    (%rcx),%rax
1400452b5:	ff 50 10             	call   *0x10(%rax)
1400452b8:	90                   	nop
1400452b9:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
1400452c0:	48 85 c9             	test   %rcx,%rcx
1400452c3:	74 0e                	je     0x1400452d3
1400452c5:	48 89 b5 a8 03 00 00 	mov    %rsi,0x3a8(%rbp)
1400452cc:	48 8b 01             	mov    (%rcx),%rax
1400452cf:	ff 50 10             	call   *0x10(%rax)
1400452d2:	90                   	nop
1400452d3:	49 8b 5f 08          	mov    0x8(%r15),%rbx
1400452d7:	48 85 db             	test   %rbx,%rbx
1400452da:	0f 84 83 0c 00 00    	je     0x140045f63
1400452e0:	e9 54 0c 00 00       	jmp    0x140045f39
1400452e5:	48 8b 8d a0 03 00 00 	mov    0x3a0(%rbp),%rcx
1400452ec:	48 85 c9             	test   %rcx,%rcx
1400452ef:	74 0e                	je     0x1400452ff
1400452f1:	4c 89 b5 a0 03 00 00 	mov    %r14,0x3a0(%rbp)
1400452f8:	48 8b 01             	mov    (%rcx),%rax
1400452fb:	ff 50 10             	call   *0x10(%rax)
1400452fe:	90                   	nop
1400452ff:	48 8b 8d b0 03 00 00 	mov    0x3b0(%rbp),%rcx
140045306:	48 85 c9             	test   %rcx,%rcx
140045309:	74 0e                	je     0x140045319
14004530b:	4c 89 b5 b0 03 00 00 	mov    %r14,0x3b0(%rbp)
140045312:	48 8b 01             	mov    (%rcx),%rax
140045315:	ff 50 10             	call   *0x10(%rax)
140045318:	90                   	nop
140045319:	48 8b 8d b8 03 00 00 	mov    0x3b8(%rbp),%rcx
140045320:	48 85 c9             	test   %rcx,%rcx
140045323:	74 0e                	je     0x140045333
140045325:	4c 89 b5 b8 03 00 00 	mov    %r14,0x3b8(%rbp)
14004532c:	48 8b 01             	mov    (%rcx),%rax
14004532f:	ff 50 10             	call   *0x10(%rax)
140045332:	90                   	nop
140045333:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
14004533a:	48 85 c9             	test   %rcx,%rcx
14004533d:	74 0e                	je     0x14004534d
14004533f:	4c 89 b5 a8 03 00 00 	mov    %r14,0x3a8(%rbp)
140045346:	48 8b 01             	mov    (%rcx),%rax
140045349:	ff 50 10             	call   *0x10(%rax)
14004534c:	90                   	nop
14004534d:	e9 d7 0b 00 00       	jmp    0x140045f29
140045352:	ff 15 48 a2 01 00    	call   *0x1a248(%rip)        # 0x14005f5a0
140045358:	90                   	nop
140045359:	48 8b 8d a0 03 00 00 	mov    0x3a0(%rbp),%rcx
140045360:	33 db                	xor    %ebx,%ebx
140045362:	48 85 c9             	test   %rcx,%rcx
140045365:	74 0e                	je     0x140045375
140045367:	48 89 9d a0 03 00 00 	mov    %rbx,0x3a0(%rbp)
14004536e:	48 8b 01             	mov    (%rcx),%rax
140045371:	ff 50 10             	call   *0x10(%rax)
140045374:	90                   	nop
140045375:	48 8b 8d b0 03 00 00 	mov    0x3b0(%rbp),%rcx
14004537c:	48 85 c9             	test   %rcx,%rcx
14004537f:	74 0e                	je     0x14004538f
140045381:	48 89 9d b0 03 00 00 	mov    %rbx,0x3b0(%rbp)
140045388:	48 8b 01             	mov    (%rcx),%rax
14004538b:	ff 50 10             	call   *0x10(%rax)
14004538e:	90                   	nop
14004538f:	48 8b 8d b8 03 00 00 	mov    0x3b8(%rbp),%rcx
140045396:	48 85 c9             	test   %rcx,%rcx
140045399:	74 0e                	je     0x1400453a9
14004539b:	48 89 9d b8 03 00 00 	mov    %rbx,0x3b8(%rbp)
1400453a2:	48 8b 01             	mov    (%rcx),%rax
1400453a5:	ff 50 10             	call   *0x10(%rax)
1400453a8:	90                   	nop
1400453a9:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
1400453b0:	48 85 c9             	test   %rcx,%rcx
1400453b3:	74 0e                	je     0x1400453c3
1400453b5:	48 89 9d a8 03 00 00 	mov    %rbx,0x3a8(%rbp)
1400453bc:	48 8b 01             	mov    (%rcx),%rax
1400453bf:	ff 50 10             	call   *0x10(%rax)
1400453c2:	90                   	nop
1400453c3:	49 8b 5f 08          	mov    0x8(%r15),%rbx
1400453c7:	48 85 db             	test   %rbx,%rbx
1400453ca:	0f 84 93 0b 00 00    	je     0x140045f63
1400453d0:	e9 64 0b 00 00       	jmp    0x140045f39
1400453d5:	49 8b 07             	mov    (%r15),%rax
1400453d8:	8b 88 d8 00 00 00    	mov    0xd8(%rax),%ecx
1400453de:	85 c9                	test   %ecx,%ecx
1400453e0:	0f 84 98 00 00 00    	je     0x14004547e
1400453e6:	48 8d 05 43 f8 01 00 	lea    0x1f843(%rip),%rax        # 0x140064c30
1400453ed:	48 8d 15 2c f8 01 00 	lea    0x1f82c(%rip),%rdx        # 0x140064c20
1400453f4:	83 f9 01             	cmp    $0x1,%ecx
1400453f7:	48 0f 44 d0          	cmove  %rax,%rdx
1400453fb:	0f 57 c0             	xorps  %xmm0,%xmm0
1400453fe:	0f 11 45 a0          	movups %xmm0,-0x60(%rbp)
140045402:	48 89 75 b0          	mov    %rsi,-0x50(%rbp)
140045406:	48 89 75 b8          	mov    %rsi,-0x48(%rbp)
14004540a:	4d 8b c6             	mov    %r14,%r8
14004540d:	0f 1f 00             	nopl   (%rax)
140045410:	49 ff c0             	inc    %r8
140045413:	66 42 83 3c 42 00    	cmpw   $0x0,(%rdx,%r8,2)
140045419:	75 f5                	jne    0x140045410
14004541b:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
14004541f:	e8 1c ec fd ff       	call   0x140024040
140045424:	90                   	nop
140045425:	4c 8d 45 a0          	lea    -0x60(%rbp),%r8
140045429:	48 8b 95 a0 03 00 00 	mov    0x3a0(%rbp),%rdx
140045430:	e8 bb 12 00 00       	call   0x1400466f0
140045435:	8b d8                	mov    %eax,%ebx
140045437:	89 44 24 40          	mov    %eax,0x40(%rsp)
14004543b:	48 8b 55 b8          	mov    -0x48(%rbp),%rdx
14004543f:	48 83 fa 07          	cmp    $0x7,%rdx
140045443:	76 39                	jbe    0x14004547e
140045445:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
14004544c:	00
14004544d:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
140045451:	48 8b c1             	mov    %rcx,%rax
140045454:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
14004545b:	72 1c                	jb     0x140045479
14004545d:	48 83 c2 27          	add    $0x27,%rdx
140045461:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140045465:	48 2b c1             	sub    %rcx,%rax
140045468:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14004546c:	48 83 f8 1f          	cmp    $0x1f,%rax
140045470:	76 07                	jbe    0x140045479
140045472:	ff 15 28 a1 01 00    	call   *0x1a128(%rip)        # 0x14005f5a0
140045478:	cc                   	int3
140045479:	e8 16 48 01 00       	call   0x140059c94
14004547e:	85 db                	test   %ebx,%ebx
140045480:	79 7a                	jns    0x1400454fc
140045482:	48 8b 8d a0 03 00 00 	mov    0x3a0(%rbp),%rcx
140045489:	48 85 c9             	test   %rcx,%rcx
14004548c:	74 0e                	je     0x14004549c
14004548e:	48 89 b5 a0 03 00 00 	mov    %rsi,0x3a0(%rbp)
140045495:	48 8b 01             	mov    (%rcx),%rax
140045498:	ff 50 10             	call   *0x10(%rax)
14004549b:	90                   	nop
14004549c:	48 8b 8d b0 03 00 00 	mov    0x3b0(%rbp),%rcx
1400454a3:	48 85 c9             	test   %rcx,%rcx
1400454a6:	74 0e                	je     0x1400454b6
1400454a8:	48 89 b5 b0 03 00 00 	mov    %rsi,0x3b0(%rbp)
1400454af:	48 8b 01             	mov    (%rcx),%rax
1400454b2:	ff 50 10             	call   *0x10(%rax)
1400454b5:	90                   	nop
1400454b6:	48 8b 8d b8 03 00 00 	mov    0x3b8(%rbp),%rcx
1400454bd:	48 85 c9             	test   %rcx,%rcx
1400454c0:	74 0e                	je     0x1400454d0
1400454c2:	48 89 b5 b8 03 00 00 	mov    %rsi,0x3b8(%rbp)
1400454c9:	48 8b 01             	mov    (%rcx),%rax
1400454cc:	ff 50 10             	call   *0x10(%rax)
1400454cf:	90                   	nop
1400454d0:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
1400454d7:	48 85 c9             	test   %rcx,%rcx
1400454da:	74 0e                	je     0x1400454ea
1400454dc:	48 89 b5 a8 03 00 00 	mov    %rsi,0x3a8(%rbp)
1400454e3:	48 8b 01             	mov    (%rcx),%rax
1400454e6:	ff 50 10             	call   *0x10(%rax)
1400454e9:	90                   	nop
1400454ea:	49 8b 5f 08          	mov    0x8(%r15),%rbx
1400454ee:	48 85 db             	test   %rbx,%rbx
1400454f1:	0f 84 6c 0a 00 00    	je     0x140045f63
1400454f7:	e9 3d 0a 00 00       	jmp    0x140045f39
1400454fc:	4d 8b 07             	mov    (%r15),%r8
1400454ff:	49 81 c0 b0 00 00 00 	add    $0xb0,%r8
140045506:	48 8b 95 a0 03 00 00 	mov    0x3a0(%rbp),%rdx
14004550d:	e8 ce 14 00 00       	call   0x1400469e0
140045512:	8b d8                	mov    %eax,%ebx
140045514:	89 44 24 40          	mov    %eax,0x40(%rsp)
140045518:	85 c0                	test   %eax,%eax
14004551a:	0f 89 e6 00 00 00    	jns    0x140045606
140045520:	48 8b 8d a0 03 00 00 	mov    0x3a0(%rbp),%rcx
140045527:	48 85 c9             	test   %rcx,%rcx
14004552a:	74 0e                	je     0x14004553a
14004552c:	48 89 b5 a0 03 00 00 	mov    %rsi,0x3a0(%rbp)
140045533:	48 8b 01             	mov    (%rcx),%rax
140045536:	ff 50 10             	call   *0x10(%rax)
140045539:	90                   	nop
14004553a:	48 8b 8d b0 03 00 00 	mov    0x3b0(%rbp),%rcx
140045541:	48 85 c9             	test   %rcx,%rcx
140045544:	74 0e                	je     0x140045554
140045546:	48 89 b5 b0 03 00 00 	mov    %rsi,0x3b0(%rbp)
14004554d:	48 8b 01             	mov    (%rcx),%rax
140045550:	ff 50 10             	call   *0x10(%rax)
140045553:	90                   	nop
140045554:	48 8b 8d b8 03 00 00 	mov    0x3b8(%rbp),%rcx
14004555b:	48 85 c9             	test   %rcx,%rcx
14004555e:	74 0e                	je     0x14004556e
140045560:	48 89 b5 b8 03 00 00 	mov    %rsi,0x3b8(%rbp)
140045567:	48 8b 01             	mov    (%rcx),%rax
14004556a:	ff 50 10             	call   *0x10(%rax)
14004556d:	90                   	nop
14004556e:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
140045575:	48 85 c9             	test   %rcx,%rcx
140045578:	74 0e                	je     0x140045588
14004557a:	48 89 b5 a8 03 00 00 	mov    %rsi,0x3a8(%rbp)
140045581:	48 8b 01             	mov    (%rcx),%rax
140045584:	ff 50 10             	call   *0x10(%rax)
140045587:	90                   	nop
140045588:	49 8b 5f 08          	mov    0x8(%r15),%rbx
14004558c:	48 85 db             	test   %rbx,%rbx
14004558f:	0f 84 ce 09 00 00    	je     0x140045f63
140045595:	e9 9f 09 00 00       	jmp    0x140045f39
14004559a:	e8 31 1d fc ff       	call   0x1400072d0
14004559f:	33 f6                	xor    %esi,%esi
1400455a1:	48 89 75 a8          	mov    %rsi,-0x58(%rbp)
1400455a5:	48 89 75 a0          	mov    %rsi,-0x60(%rbp)
1400455a9:	48 89 75 b0          	mov    %rsi,-0x50(%rbp)
1400455ad:	48 8d 0d bc f6 01 00 	lea    0x1f6bc(%rip),%rcx        # 0x140064c70
1400455b4:	48 89 8d d0 03 00 00 	mov    %rcx,0x3d0(%rbp)
1400455bb:	48 c7 85 d8 03 00 00 	movq   $0x50,0x3d8(%rbp)
1400455c2:	50 00 00 00
1400455c6:	0f 28 85 d0 03 00 00 	movaps 0x3d0(%rbp),%xmm0
1400455cd:	66 0f 7f 45 f0       	movdqa %xmm0,-0x10(%rbp)
1400455d2:	0f 10 4d a0          	movups -0x60(%rbp),%xmm1
1400455d6:	0f 29 4d 40          	movaps %xmm1,0x40(%rbp)
1400455da:	f2 0f 10 45 b0       	movsd  -0x50(%rbp),%xmm0
1400455df:	f2 0f 11 45 50       	movsd  %xmm0,0x50(%rbp)
1400455e4:	48 8d 0d 4d f5 01 00 	lea    0x1f54d(%rip),%rcx        # 0x140064b38
1400455eb:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400455f0:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
1400455f4:	48 8d 55 40          	lea    0x40(%rbp),%rdx
1400455f8:	48 8b 88 d8 01 00 00 	mov    0x1d8(%rax),%rcx
1400455ff:	e8 6c 53 00 00       	call   0x14004a970
140045604:	eb 04                	jmp    0x14004560a
140045606:	4c 8b 65 10          	mov    0x10(%rbp),%r12
14004560a:	33 d2                	xor    %edx,%edx
14004560c:	41 b8 14 01 00 00    	mov    $0x114,%r8d
140045612:	48 8d 8d 88 02 00 00 	lea    0x288(%rbp),%rcx
140045619:	e8 8c 51 01 00       	call   0x14005a7aa
14004561e:	48 8d 0d f3 d7 01 00 	lea    0x1d7f3(%rip),%rcx        # 0x140062e18
140045625:	ff 15 bd 9a 01 00    	call   *0x19abd(%rip)        # 0x14005f0e8
14004562b:	48 85 c0             	test   %rax,%rax
14004562e:	74 28                	je     0x140045658
140045630:	48 8d 15 f9 d7 01 00 	lea    0x1d7f9(%rip),%rdx        # 0x140062e30
140045637:	48 8b c8             	mov    %rax,%rcx
14004563a:	ff 15 a0 9a 01 00    	call   *0x19aa0(%rip)        # 0x14005f0e0
140045640:	48 85 c0             	test   %rax,%rax
140045643:	74 13                	je     0x140045658
140045645:	c7 85 88 02 00 00 14 	movl   $0x114,0x288(%rbp)
14004564c:	01 00 00
14004564f:	48 8d 8d 88 02 00 00 	lea    0x288(%rbp),%rcx
140045656:	ff d0                	call   *%rax
140045658:	48 8b bd 90 02 00 00 	mov    0x290(%rbp),%rdi
14004565f:	48 c1 ef 20          	shr    $0x20,%rdi
140045663:	81 ff 39 38 00 00    	cmp    $0x3839,%edi
140045669:	72 0f                	jb     0x14004567a
14004566b:	49 8b 07             	mov    (%r15),%rax
14004566e:	83 b8 dc 00 00 00 01 	cmpl   $0x1,0xdc(%rax)
140045675:	0f 94 c0             	sete   %al
140045678:	eb 02                	jmp    0x14004567c
14004567a:	32 c0                	xor    %al,%al
14004567c:	4d 8b 07             	mov    (%r15),%r8
14004567f:	41 83 b8 d4 00 00 00 	cmpl   $0x4,0xd4(%r8)
140045686:	04
140045687:	7d 33                	jge    0x1400456bc
140045689:	49 83 78 60 00       	cmpq   $0x0,0x60(%r8)
14004568e:	75 0f                	jne    0x14004569f
140045690:	41 83 b8 dc 00 00 00 	cmpl   $0x1,0xdc(%r8)
140045697:	01
140045698:	74 05                	je     0x14004569f
14004569a:	45 33 c9             	xor    %r9d,%r9d
14004569d:	eb 03                	jmp    0x1400456a2
14004569f:	41 b1 01             	mov    $0x1,%r9b
1400456a2:	49 83 c0 30          	add    $0x30,%r8
1400456a6:	88 44 24 20          	mov    %al,0x20(%rsp)
1400456aa:	48 8b 95 a0 03 00 00 	mov    0x3a0(%rbp),%rdx
1400456b1:	e8 ea 1a 00 00       	call   0x1400471a0
1400456b6:	8b d8                	mov    %eax,%ebx
1400456b8:	89 44 24 40          	mov    %eax,0x40(%rsp)
1400456bc:	85 db                	test   %ebx,%ebx
1400456be:	79 7a                	jns    0x14004573a
1400456c0:	48 8b 8d a0 03 00 00 	mov    0x3a0(%rbp),%rcx
1400456c7:	48 85 c9             	test   %rcx,%rcx
1400456ca:	74 0e                	je     0x1400456da
1400456cc:	48 89 b5 a0 03 00 00 	mov    %rsi,0x3a0(%rbp)
1400456d3:	48 8b 01             	mov    (%rcx),%rax
1400456d6:	ff 50 10             	call   *0x10(%rax)
1400456d9:	90                   	nop
1400456da:	48 8b 8d b0 03 00 00 	mov    0x3b0(%rbp),%rcx
1400456e1:	48 85 c9             	test   %rcx,%rcx
1400456e4:	74 0e                	je     0x1400456f4
1400456e6:	48 89 b5 b0 03 00 00 	mov    %rsi,0x3b0(%rbp)
1400456ed:	48 8b 01             	mov    (%rcx),%rax
1400456f0:	ff 50 10             	call   *0x10(%rax)
1400456f3:	90                   	nop
1400456f4:	48 8b 8d b8 03 00 00 	mov    0x3b8(%rbp),%rcx
1400456fb:	48 85 c9             	test   %rcx,%rcx
1400456fe:	74 0e                	je     0x14004570e
140045700:	48 89 b5 b8 03 00 00 	mov    %rsi,0x3b8(%rbp)
140045707:	48 8b 01             	mov    (%rcx),%rax
14004570a:	ff 50 10             	call   *0x10(%rax)
14004570d:	90                   	nop
14004570e:	48 8b 8d a8 03 00 00 	mov    0x3a8(%rbp),%rcx
140045715:	48 85 c9             	test   %rcx,%rcx
140045718:	74 0e                	je     0x140045728
14004571a:	48 89 b5 a8 03 00 00 	mov    %rsi,0x3a8(%rbp)
140045721:	48 8b 01             	mov    (%rcx),%rax
140045724:	ff 50 10             	call   *0x10(%rax)
140045727:	90                   	nop
140045728:	49 8b 5f 08          	mov    0x8(%r15),%rbx
14004572c:	48 85 db             	test   %rbx,%rbx
14004572f:	0f 84 2e 08 00 00    	je     0x140045f63
140045735:	e9 ff 07 00 00       	jmp    0x140045f39
14004573a:	81 ff 39 38 00 00    	cmp    $0x3839,%edi
140045740:	72 2e                	jb     0x140045770
140045742:	4d 8b 0f             	mov    (%r15),%r9
140045745:	41 83 b9 d4 00 00 00 	cmpl   $0x4,0xd4(%r9)
14004574c:	04
14004574d:	7d 21                	jge    0x140045770
14004574f:	49 83 79 60 00       	cmpq   $0x0,0x60(%r9)
140045754:	74 1a                	je     0x140045770