18005344d:	4c 8b 4a 78          	mov    0x78(%rdx),%r9
180053451:	0f 57 c0             	xorps  %xmm0,%xmm0
180053454:	8b b2 80 00 00 00    	mov    0x80(%rdx),%esi
18005345a:	4c 8b f1             	mov    %rcx,%r14
18005345d:	83 65 38 00          	andl   $0x0,0x38(%rbp)
180053461:	49 03 f1             	add    %r9,%rsi
180053464:	48 8b 9a a8 00 00 00 	mov    0xa8(%rdx),%rbx
18005346b:	33 c9                	xor    %ecx,%ecx
18005346d:	49 03 d9             	add    %r9,%rbx
180053470:	4d 8b e0             	mov    %r8,%r12
180053473:	4c 8b fa             	mov    %rdx,%r15
180053476:	0f 11 45 d0          	movups %xmm0,-0x30(%rbp)
18005347a:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
18005347e:	0f 11 45 f0          	movups %xmm0,-0x10(%rbp)
180053482:	e9 c6 00 00 00       	jmp    0x18005354d
180053487:	41 8a 4e 2a          	mov    0x2a(%r14),%cl
18005348b:	ba 01 00 00 00       	mov    $0x1,%edx
180053490:	48 d3 e2             	shl    %cl,%rdx
180053493:	8d 42 ff             	lea    -0x1(%rdx),%eax
180053496:	23 c3                	and    %ebx,%eax
180053498:	2b d0                	sub    %eax,%edx
18005349a:	48 8b c6             	mov    %rsi,%rax
18005349d:	48 2b c3             	sub    %rbx,%rax
1800534a0:	8b fa                	mov    %edx,%edi
1800534a2:	48 3b c7             	cmp    %rdi,%rax
1800534a5:	73 04                	jae    0x1800534ab
1800534a7:	8b fe                	mov    %esi,%edi
1800534a9:	2b fb                	sub    %ebx,%edi
1800534ab:	49 8b 06             	mov    (%r14),%rax
1800534ae:	4c 8d 45 38          	lea    0x38(%rbp),%r8
1800534b2:	48 8b d3             	mov    %rbx,%rdx
1800534b5:	49 8b ce             	mov    %r14,%rcx
1800534b8:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
1800534bf:	ff d0                	call   *%rax
1800534c1:	0f 1f 00             	nopl   (%rax)
1800534c4:	4d 8b 56 40          	mov    0x40(%r14),%r10
1800534c8:	8b 55 38             	mov    0x38(%rbp),%edx
1800534cb:	4c 89 75 d0          	mov    %r14,-0x30(%rbp)
1800534cf:	4c 89 7d d8          	mov    %r15,-0x28(%rbp)
1800534d3:	4c 89 65 e0          	mov    %r12,-0x20(%rbp)
1800534d7:	89 55 e8             	mov    %edx,-0x18(%rbp)
1800534da:	4d 85 d2             	test   %r10,%r10
1800534dd:	74 39                	je     0x180053518
1800534df:	49 83 7a 28 00       	cmpq   $0x0,0x28(%r10)
1800534e4:	74 32                	je     0x180053518
1800534e6:	41 8a 4e 2a          	mov    0x2a(%r14),%cl
1800534ea:	4c 8b c8             	mov    %rax,%r9
1800534ed:	49 d3 e9             	shr    %cl,%r9
1800534f0:	4c 8b c0             	mov    %rax,%r8
1800534f3:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
1800534f7:	48 89 4c 24 30       	mov    %rcx,0x30(%rsp)
1800534fc:	48 8d 0d 91 00 00 00 	lea    0x91(%rip),%rcx        # 0x180053594
180053503:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
180053508:	49 8b ca             	mov    %r10,%rcx
18005350b:	89 54 24 20          	mov    %edx,0x20(%rsp)
18005350f:	8b d7                	mov    %edi,%edx
180053511:	e8 7a 7c 00 00       	call   0x18005b190
180053516:	eb 25                	jmp    0x18005353d
180053518:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
18005351c:	89 7d f4             	mov    %edi,-0xc(%rbp)
18005351f:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
180053524:	33 d2                	xor    %edx,%edx
180053526:	44 8b cf             	mov    %edi,%r9d
180053529:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
18005352d:	45 33 c0             	xor    %r8d,%r8d
180053530:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180053535:	8d 4a 04             	lea    0x4(%rdx),%ecx
180053538:	e8 57 00 00 00       	call   0x180053594
18005353d:	8b c8                	mov    %eax,%ecx
18005353f:	85 c0                	test   %eax,%eax
180053541:	78 34                	js     0x180053577
180053543:	4d 85 e4             	test   %r12,%r12
180053546:	75 0e                	jne    0x180053556
180053548:	8b c7                	mov    %edi,%eax
18005354a:	48 03 d8             	add    %rax,%rbx
18005354d:	48 3b de             	cmp    %rsi,%rbx
180053550:	0f 82 31 ff ff ff    	jb     0x180053487
180053556:	49 8b 46 20          	mov    0x20(%r14),%rax
18005355a:	48 85 c0             	test   %rax,%rax
18005355d:	74 18                	je     0x180053577
18005355f:	83 78 70 00          	cmpl   $0x0,0x70(%rax)
180053563:	76 09                	jbe    0x18005356e
180053565:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
18005356c:	eb 02                	jmp    0x180053570
18005356e:	33 c0                	xor    %eax,%eax
180053570:	48 85 c0             	test   %rax,%rax
180053573:	74 02                	je     0x180053577
180053575:	ff 00                	incl   (%rax)
180053577:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
18005357c:	8b c1                	mov    %ecx,%eax
18005357e:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180053582:	49 8b 73 40          	mov    0x40(%r11),%rsi
180053586:	49 8b e3             	mov    %r11,%rsp
180053589:	41 5f                	pop    %r15
18005358b:	41 5e                	pop    %r14
18005358d:	41 5c                	pop    %r12
18005358f:	5f                   	pop    %rdi
180053590:	5d                   	pop    %rbp
180053591:	c3                   	ret
180053592:	cc                   	int3
180053593:	cc                   	int3
180053594:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180053599:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18005359e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800535a3:	57                   	push   %rdi
1800535a4:	41 54                	push   %r12
1800535a6:	41 55                	push   %r13
1800535a8:	41 56                	push   %r14
1800535aa:	41 57                	push   %r15
1800535ac:	48 83 ec 30          	sub    $0x30,%rsp
1800535b0:	48 8b b4 24 88 00 00 	mov    0x88(%rsp),%rsi
1800535b7:	00
1800535b8:	45 33 ff             	xor    %r15d,%r15d
1800535bb:	45 8b e1             	mov    %r9d,%r12d
1800535be:	4d 8b f0             	mov    %r8,%r14
1800535c1:	41 8b df             	mov    %r15d,%ebx
1800535c4:	41 8b ff             	mov    %r15d,%edi
1800535c7:	4c 8b 2e             	mov    (%rsi),%r13
1800535ca:	48 8b 6e 08          	mov    0x8(%rsi),%rbp
1800535ce:	83 e9 01             	sub    $0x1,%ecx
1800535d1:	0f 84 c5 02 00 00    	je     0x18005389c
1800535d7:	83 e9 01             	sub    $0x1,%ecx
1800535da:	74 69                	je     0x180053645
1800535dc:	83 e9 01             	sub    $0x1,%ecx
1800535df:	0f 84 b7 02 00 00    	je     0x18005389c
1800535e5:	83 f9 01             	cmp    $0x1,%ecx
1800535e8:	75 6d                	jne    0x180053657
1800535ea:	44 39 7e 24          	cmp    %r15d,0x24(%rsi)
1800535ee:	0f 84 98 02 00 00    	je     0x18005388c
1800535f4:	49 8b 45 00          	mov    0x0(%r13),%rax
1800535f8:	49 8b cd             	mov    %r13,%rcx
1800535fb:	4c 8b 46 28          	mov    0x28(%rsi),%r8
1800535ff:	8b 56 18             	mov    0x18(%rsi),%edx
180053602:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
180053609:	ff d0                	call   *%rax
18005360b:	0f 1f 00             	nopl   (%rax)
18005360e:	4c 8b f0             	mov    %rax,%r14
180053611:	48 8b 46 10          	mov    0x10(%rsi),%rax
180053615:	44 2b 75 78          	sub    0x78(%rbp),%r14d
180053619:	48 85 c0             	test   %rax,%rax
18005361c:	0f 85 cc 01 00 00    	jne    0x1800537ee
180053622:	b9 00 01 00 00       	mov    $0x100,%ecx
180053627:	e8 e8 32 ff ff       	call   0x180046914
18005362c:	48 85 c0             	test   %rax,%rax
18005362f:	0f 84 8a 01 00 00    	je     0x1800537bf
180053635:	48 8b c8             	mov    %rax,%rcx
180053638:	e8 43 bd fe ff       	call   0x18003f380
18005363d:	48 8b d8             	mov    %rax,%rbx
180053640:	e9 7d 01 00 00       	jmp    0x1800537c2
180053645:	41 8b 48 20          	mov    0x20(%r8),%ecx
180053649:	83 e9 01             	sub    $0x1,%ecx
18005364c:	74 13                	je     0x180053661
18005364e:	83 f9 01             	cmp    $0x1,%ecx
180053651:	0f 84 45 02 00 00    	je     0x18005389c
180053657:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
18005365c:	e9 8b 00 00 00       	jmp    0x1800536ec
180053661:	44 39 7e 24          	cmp    %r15d,0x24(%rsi)
180053665:	74 0a                	je     0x180053671
180053667:	4c 39 7e 10          	cmp    %r15,0x10(%rsi)
18005366b:	0f 85 79 ff ff ff    	jne    0x1800535ea
180053671:	4c 39 7e 10          	cmp    %r15,0x10(%rsi)
180053675:	74 07                	je     0x18005367e
180053677:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
18005367c:	eb 6e                	jmp    0x1800536ec
18005367e:	b9 00 01 00 00       	mov    $0x100,%ecx
180053683:	e8 8c 32 ff ff       	call   0x180046914
180053688:	48 85 c0             	test   %rax,%rax
18005368b:	74 0b                	je     0x180053698
18005368d:	48 8b c8             	mov    %rax,%rcx
180053690:	e8 eb bc fe ff       	call   0x18003f380
180053695:	48 8b d8             	mov    %rax,%rbx
180053698:	48 85 db             	test   %rbx,%rbx
18005369b:	74 da                	je     0x180053677
18005369d:	49 8b 45 00          	mov    0x0(%r13),%rax
1800536a1:	49 8b cd             	mov    %r13,%rcx
1800536a4:	4c 8b bc 24 80 00 00 	mov    0x80(%rsp),%r15
1800536ab:	00
1800536ac:	8b 56 18             	mov    0x18(%rsi),%edx
1800536af:	4d 8b c7             	mov    %r15,%r8
1800536b2:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
1800536b9:	ff d0                	call   *%rax
1800536bb:	0f 1f 00             	nopl   (%rax)
1800536be:	2b 45 78             	sub    0x78(%rbp),%eax
1800536c1:	45 8b cc             	mov    %r12d,%r9d
1800536c4:	44 8b c0             	mov    %eax,%r8d
1800536c7:	40 88 7c 24 20       	mov    %dil,0x20(%rsp)
1800536cc:	48 8b d5             	mov    %rbp,%rdx
1800536cf:	48 8b cb             	mov    %rbx,%rcx
1800536d2:	e8 65 3a ff ff       	call   0x18004713c
1800536d7:	8b f8                	mov    %eax,%edi
1800536d9:	85 c0                	test   %eax,%eax
1800536db:	78 0c                	js     0x1800536e9
1800536dd:	48 83 7b 68 00       	cmpq   $0x0,0x68(%rbx)
1800536e2:	75 46                	jne    0x18005372a
1800536e4:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
1800536e9:	45 33 ff             	xor    %r15d,%r15d
1800536ec:	4c 39 7e 10          	cmp    %r15,0x10(%rsi)
1800536f0:	75 18                	jne    0x18005370a
1800536f2:	48 85 db             	test   %rbx,%rbx
1800536f5:	74 13                	je     0x18005370a
1800536f7:	48 8b 03             	mov    (%rbx),%rax
1800536fa:	ba 01 00 00 00       	mov    $0x1,%edx
1800536ff:	48 8b cb             	mov    %rbx,%rcx
180053702:	48 8b 00             	mov    (%rax),%rax
180053705:	ff d0                	call   *%rax
180053707:	0f 1f 00             	nopl   (%rax)
18005370a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18005370f:	8b c7                	mov    %edi,%eax
180053711:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180053716:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18005371b:	48 83 c4 30          	add    $0x30,%rsp
18005371f:	41 5f                	pop    %r15
180053721:	41 5e                	pop    %r14
180053723:	41 5d                	pop    %r13
180053725:	41 5c                	pop    %r12
180053727:	5f                   	pop    %rdi
180053728:	c3                   	ret
180053729:	cc                   	int3
18005372a:	4c 89 7b 78          	mov    %r15,0x78(%rbx)
18005372e:	48 8b d3             	mov    %rbx,%rdx
180053731:	44 89 a3 80 00 00 00 	mov    %r12d,0x80(%rbx)
180053738:	48 8b cd             	mov    %rbp,%rcx
18005373b:	8b 46 18             	mov    0x18(%rsi),%eax
18005373e:	89 83 84 00 00 00    	mov    %eax,0x84(%rbx)
180053744:	8b 85 88 00 00 00    	mov    0x88(%rbp),%eax
18005374a:	89 83 88 00 00 00    	mov    %eax,0x88(%rbx)
180053750:	41 8b 46 3c          	mov    0x3c(%r14),%eax
180053754:	89 83 8c 00 00 00    	mov    %eax,0x8c(%rbx)
18005375a:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
180053761:	c6 83 9a 00 00 00 08 	movb   $0x8,0x9a(%rbx)
180053768:	4c 89 ab d8 00 00 00 	mov    %r13,0xd8(%rbx)
18005376f:	49 8b 46 30          	mov    0x30(%r14),%rax
180053773:	48 89 83 e0 00 00 00 	mov    %rax,0xe0(%rbx)
18005377a:	4d 2b 7e 28          	sub    0x28(%r14),%r15
18005377e:	4c 89 bb e8 00 00 00 	mov    %r15,0xe8(%rbx)
180053785:	45 33 ff             	xor    %r15d,%r15d
180053788:	41 8b 46 38          	mov    0x38(%r14),%eax
18005378c:	44 89 bb f8 00 00 00 	mov    %r15d,0xf8(%rbx)
180053793:	89 83 f0 00 00 00    	mov    %eax,0xf0(%rbx)
180053799:	c7 83 fc 00 00 00 04 	movl   $0x4,0xfc(%rbx)
1800537a0:	00 00 00
1800537a3:	e8 04 39 ff ff       	call   0x1800470ac
1800537a8:	41 8b df             	mov    %r15d,%ebx
1800537ab:	4c 39 7e 10          	cmp    %r15,0x10(%rsi)
1800537af:	0f 84 35 fe ff ff    	je     0x1800535ea
1800537b5:	bf 02 00 e7 00       	mov    $0xe70002,%edi
1800537ba:	e9 2d ff ff ff       	jmp    0x1800536ec
1800537bf:	49 8b df             	mov    %r15,%rbx
1800537c2:	48 85 db             	test   %rbx,%rbx
1800537c5:	0f 84 ac fe ff ff    	je     0x180053677
1800537cb:	44 8b 4e 24          	mov    0x24(%rsi),%r9d
1800537cf:	45 8b c6             	mov    %r14d,%r8d
1800537d2:	48 8b d5             	mov    %rbp,%rdx
1800537d5:	44 88 7c 24 20       	mov    %r15b,0x20(%rsp)
1800537da:	48 8b cb             	mov    %rbx,%rcx
1800537dd:	e8 5a 39 ff ff       	call   0x18004713c
1800537e2:	8b f8                	mov    %eax,%edi
1800537e4:	85 c0                	test   %eax,%eax
1800537e6:	0f 88 00 ff ff ff    	js     0x1800536ec
1800537ec:	eb 41                	jmp    0x18005382f
1800537ee:	8b 4e 24             	mov    0x24(%rsi),%ecx
1800537f1:	48 8b 18             	mov    (%rax),%rbx
1800537f4:	8b 40 28             	mov    0x28(%rax),%eax
1800537f7:	3b c8                	cmp    %eax,%ecx
1800537f9:	0f 43 c8             	cmovae %eax,%ecx
1800537fc:	89 4e 24             	mov    %ecx,0x24(%rsi)
1800537ff:	3b 8d 80 00 00 00    	cmp    0x80(%rbp),%ecx
180053805:	75 09                	jne    0x180053810
180053807:	8b 45 3c             	mov    0x3c(%rbp),%eax
18005380a:	83 e0 02             	and    $0x2,%eax
18005380d:	09 43 3c             	or     %eax,0x3c(%rbx)
180053810:	41 8b c6             	mov    %r14d,%eax
180053813:	48 03 45 68          	add    0x68(%rbp),%rax
180053817:	48 89 43 68          	mov    %rax,0x68(%rbx)
18005381b:	8b 85 94 00 00 00    	mov    0x94(%rbp),%eax
180053821:	83 f8 ff             	cmp    $0xffffffff,%eax
180053824:	74 09                	je     0x18005382f
180053826:	41 03 c6             	add    %r14d,%eax
180053829:	89 83 94 00 00 00    	mov    %eax,0x94(%rbx)
18005382f:	48 8b 46 28          	mov    0x28(%rsi),%rax
180053833:	48 8b d3             	mov    %rbx,%rdx
180053836:	48 89 43 78          	mov    %rax,0x78(%rbx)
18005383a:	48 8b cd             	mov    %rbp,%rcx
18005383d:	8b 46 24             	mov    0x24(%rsi),%eax
180053840:	89 83 80 00 00 00    	mov    %eax,0x80(%rbx)
180053846:	8b 46 18             	mov    0x18(%rsi),%eax
180053849:	89 83 84 00 00 00    	mov    %eax,0x84(%rbx)
18005384f:	8b 85 88 00 00 00    	mov    0x88(%rbp),%eax
180053855:	89 83 88 00 00 00    	mov    %eax,0x88(%rbx)
18005385b:	c6 83 98 00 00 00 03 	movb   $0x3,0x98(%rbx)
180053862:	c6 83 9a 00 00 00 01 	movb   $0x1,0x9a(%rbx)
180053869:	4c 89 ab d8 00 00 00 	mov    %r13,0xd8(%rbx)
180053870:	c7 83 fc 00 00 00 01 	movl   $0x1,0xfc(%rbx)
180053877:	00 00 00
18005387a:	e8 2d 38 ff ff       	call   0x1800470ac
18005387f:	49 8b df             	mov    %r15,%rbx
180053882:	4c 39 7e 10          	cmp    %r15,0x10(%rsi)
180053886:	0f 85 29 ff ff ff    	jne    0x1800537b5
18005388c:	4c 89 7e 28          	mov    %r15,0x28(%rsi)
180053890:	49 8b df             	mov    %r15,%rbx
180053893:	44 89 7e 24          	mov    %r15d,0x24(%rsi)
180053897:	e9 50 fe ff ff       	jmp    0x1800536ec
18005389c:	8b 4e 24             	mov    0x24(%rsi),%ecx
18005389f:	85 c9                	test   %ecx,%ecx
1800538a1:	75 0c                	jne    0x1800538af
1800538a3:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
1800538aa:	00
1800538ab:	48 89 46 28          	mov    %rax,0x28(%rsi)
1800538af:	42 8d 04 09          	lea    (%rcx,%r9,1),%eax
1800538b3:	89 46 24             	mov    %eax,0x24(%rsi)
1800538b6:	e9 31 fe ff ff       	jmp    0x1800536ec
1800538bb:	cc                   	int3
1800538bc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800538c1:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800538c6:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1800538cb:	41 56                	push   %r14
1800538cd:	48 83 ec 30          	sub    $0x30,%rsp
1800538d1:	8b b2 a0 00 00 00    	mov    0xa0(%rdx),%esi
1800538d7:	48 8b fa             	mov    %rdx,%rdi
1800538da:	0f b6 92 9a 00 00 00 	movzbl 0x9a(%rdx),%edx
1800538e1:	4c 8b f1             	mov    %rcx,%r14
1800538e4:	83 ea 01             	sub    $0x1,%edx
1800538e7:	74 3d                	je     0x180053926
1800538e9:	83 fa 07             	cmp    $0x7,%edx
1800538ec:	0f 85 a1 00 00 00    	jne    0x180053993
1800538f2:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800538f6:	8b 97 f8 00 00 00    	mov    0xf8(%rdi),%edx
1800538fc:	48 8b 88 50 01 00 00 	mov    0x150(%rax),%rcx
180053903:	48 8b 44 d1 28       	mov    0x28(%rcx,%rdx,8),%rax
180053908:	48 8b 48 18          	mov    0x18(%rax),%rcx
18005390c:	48 39 8f e0 00 00 00 	cmp    %rcx,0xe0(%rdi)
180053913:	73 11                	jae    0x180053926
180053915:	c6 87 9a 00 00 00 01 	movb   $0x1,0x9a(%rdi)
18005391c:	be 2d 02 00 c0       	mov    $0xc000022d,%esi
180053921:	e9 8a 00 00 00       	jmp    0x1800539b0
180053926:	85 f6                	test   %esi,%esi
180053928:	0f 88 82 00 00 00    	js     0x1800539b0
18005392e:	f7 47 3c 00 00 00 40 	testl  $0x40000000,0x3c(%rdi)
180053935:	74 42                	je     0x180053979
180053937:	49 8b 06             	mov    (%r14),%rax
18005393a:	49 8b ce             	mov    %r14,%rcx
18005393d:	4c 8b 47 78          	mov    0x78(%rdi),%r8
180053941:	8b 97 84 00 00 00    	mov    0x84(%rdi),%edx
180053947:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
18005394b:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
180053952:	ff d0                	call   *%rax
180053954:	0f 1f 00             	nopl   (%rax)
180053957:	44 8b 87 80 00 00 00 	mov    0x80(%rdi),%r8d
18005395e:	48 8d 57 60          	lea    0x60(%rdi),%rdx
180053962:	2b 43 78             	sub    0x78(%rbx),%eax