18004f5a4:	2b 42 34             	sub    0x34(%rdx),%eax
18004f5a7:	ff c0                	inc    %eax
18004f5a9:	0f af 87 48 0e 00 00 	imul   0xe48(%rdi),%eax
18004f5b0:	42 8a 4c 18 fe       	mov    -0x2(%rax,%r11,1),%cl
18004f5b5:	41 8b c0             	mov    %r8d,%eax
18004f5b8:	88 0b                	mov    %cl,(%rbx)
18004f5ba:	48 8d 5b fe          	lea    -0x2(%rbx),%rbx
18004f5be:	2b 42 34             	sub    0x34(%rdx),%eax
18004f5c1:	ff c0                	inc    %eax
18004f5c3:	0f af 87 48 0e 00 00 	imul   0xe48(%rdi),%eax
18004f5ca:	42 8a 4c 18 ff       	mov    -0x1(%rax,%r11,1),%cl
18004f5cf:	41 8b c0             	mov    %r8d,%eax
18004f5d2:	88 4b 03             	mov    %cl,0x3(%rbx)
18004f5d5:	41 8b c8             	mov    %r8d,%ecx
18004f5d8:	2b 42 34             	sub    0x34(%rdx),%eax
18004f5db:	41 ff c8             	dec    %r8d
18004f5de:	ff c0                	inc    %eax
18004f5e0:	0f af 87 48 0e 00 00 	imul   0xe48(%rdi),%eax
18004f5e7:	42 c6 44 18 fe 04    	movb   $0x4,-0x2(%rax,%r11,1)
18004f5ed:	2b 4a 34             	sub    0x34(%rdx),%ecx
18004f5f0:	8a 42 2c             	mov    0x2c(%rdx),%al
18004f5f3:	ff c1                	inc    %ecx
18004f5f5:	0f af 8f 48 0e 00 00 	imul   0xe48(%rdi),%ecx
18004f5fc:	42 88 44 19 ff       	mov    %al,-0x1(%rcx,%r11,1)
18004f601:	44 3b 42 34          	cmp    0x34(%rdx),%r8d
18004f605:	7d 9a                	jge    0x18004f5a1
18004f607:	41 8b c9             	mov    %r9d,%ecx
18004f60a:	42 80 4c 19 fe 20    	orb    $0x20,-0x2(%rcx,%r11,1)
18004f610:	83 4a 38 01          	orl    $0x1,0x38(%rdx)
18004f614:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18004f619:	41 8b c2             	mov    %r10d,%eax
18004f61c:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
18004f621:	c3                   	ret
18004f622:	cc                   	int3
18004f623:	cc                   	int3
18004f624:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004f629:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
18004f62e:	45 33 c9             	xor    %r9d,%r9d
18004f631:	4c 8b d2             	mov    %rdx,%r10
18004f634:	48 8b f9             	mov    %rcx,%rdi
18004f637:	44 39 4a 30          	cmp    %r9d,0x30(%rdx)
18004f63b:	75 08                	jne    0x18004f645
18004f63d:	41 b9 1f 00 e7 c0    	mov    $0xc0e7001f,%r9d
18004f643:	eb 63                	jmp    0x18004f6a8
18004f645:	8b 4a 38             	mov    0x38(%rdx),%ecx
18004f648:	f6 c1 02             	test   $0x2,%cl
18004f64b:	74 f0                	je     0x18004f63d
18004f64d:	8b 87 48 0e 00 00    	mov    0xe48(%rdi),%eax
18004f653:	8b 52 34             	mov    0x34(%rdx),%edx
18004f656:	45 8b 42 3c          	mov    0x3c(%r10),%r8d
18004f65a:	0f af c2             	imul   %edx,%eax
18004f65d:	44 3b c0             	cmp    %eax,%r8d
18004f660:	73 db                	jae    0x18004f63d
18004f662:	4f 8d 1c 02          	lea    (%r10,%r8,1),%r11
18004f666:	41 8b d9             	mov    %r9d,%ebx
18004f669:	85 d2                	test   %edx,%edx
18004f66b:	74 34                	je     0x18004f6a1
18004f66d:	8b 8f 48 0e 00 00    	mov    0xe48(%rdi),%ecx
18004f673:	44 8b c3             	mov    %ebx,%r8d
18004f676:	ff c3                	inc    %ebx
18004f678:	0f af cb             	imul   %ebx,%ecx
18004f67b:	43 8a 04 43          	mov    (%r11,%r8,2),%al
18004f67f:	42 88 44 11 fe       	mov    %al,-0x2(%rcx,%r10,1)
18004f684:	8b 87 48 0e 00 00    	mov    0xe48(%rdi),%eax
18004f68a:	43 8a 4c 43 01       	mov    0x1(%r11,%r8,2),%cl
18004f68f:	0f af c3             	imul   %ebx,%eax
18004f692:	42 88 4c 10 ff       	mov    %cl,-0x1(%rax,%r10,1)
18004f697:	41 3b 5a 34          	cmp    0x34(%r10),%ebx
18004f69b:	72 d0                	jb     0x18004f66d
18004f69d:	41 8b 4a 38          	mov    0x38(%r10),%ecx
18004f6a1:	83 e1 fd             	and    $0xfffffffd,%ecx
18004f6a4:	41 89 4a 38          	mov    %ecx,0x38(%r10)
18004f6a8:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
18004f6ad:	41 8b c1             	mov    %r9d,%eax
18004f6b0:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
18004f6b5:	c3                   	ret
18004f6b6:	cc                   	int3
18004f6b7:	cc                   	int3
18004f6b8:	48 8b c4             	mov    %rsp,%rax
18004f6bb:	48 89 58 08          	mov    %rbx,0x8(%rax)
18004f6bf:	48 89 68 10          	mov    %rbp,0x10(%rax)
18004f6c3:	48 89 70 18          	mov    %rsi,0x18(%rax)
18004f6c7:	48 89 78 20          	mov    %rdi,0x20(%rax)
18004f6cb:	41 56                	push   %r14
18004f6cd:	8b b1 48 0e 00 00    	mov    0xe48(%rcx),%esi
18004f6d3:	45 33 d2             	xor    %r10d,%r10d
18004f6d6:	4d 8b f1             	mov    %r9,%r14
18004f6d9:	41 8b e8             	mov    %r8d,%ebp
18004f6dc:	4c 8b da             	mov    %rdx,%r11
18004f6df:	44 39 52 30          	cmp    %r10d,0x30(%rdx)
18004f6e3:	75 08                	jne    0x18004f6ed
18004f6e5:	41 ba 1f 00 e7 c0    	mov    $0xc0e7001f,%r10d
18004f6eb:	eb 6c                	jmp    0x18004f759
18004f6ed:	8b 42 38             	mov    0x38(%rdx),%eax
18004f6f0:	a8 01                	test   $0x1,%al
18004f6f2:	74 f1                	je     0x18004f6e5
18004f6f4:	44 8b 44 24 30       	mov    0x30(%rsp),%r8d
18004f6f9:	45 85 c0             	test   %r8d,%r8d
18004f6fc:	74 54                	je     0x18004f752
18004f6fe:	44 8b 4a 3c          	mov    0x3c(%rdx),%r9d
18004f702:	41 8b da             	mov    %r10d,%ebx
18004f705:	4d 03 cb             	add    %r11,%r9
18004f708:	45 85 c0             	test   %r8d,%r8d
18004f70b:	74 45                	je     0x18004f752
18004f70d:	33 d2                	xor    %edx,%edx
18004f70f:	8b c5                	mov    %ebp,%eax
18004f711:	f7 f6                	div    %esi
18004f713:	49 8b fa             	mov    %r10,%rdi
18004f716:	8b d0                	mov    %eax,%edx
18004f718:	41 8b 43 34          	mov    0x34(%r11),%eax
18004f71c:	ff c3                	inc    %ebx
18004f71e:	48 03 c2             	add    %rdx,%rax
18004f721:	8b cb                	mov    %ebx,%ecx
18004f723:	48 03 c7             	add    %rdi,%rax
18004f726:	0f af ce             	imul   %esi,%ecx
18004f729:	41 8a 04 41          	mov    (%r9,%rax,2),%al
18004f72d:	41 88 44 0e fe       	mov    %al,-0x2(%r14,%rcx,1)
18004f732:	41 8b 43 34          	mov    0x34(%r11),%eax
18004f736:	48 03 c2             	add    %rdx,%rax
18004f739:	48 03 c7             	add    %rdi,%rax
18004f73c:	48 ff c7             	inc    %rdi
18004f73f:	41 8a 44 41 01       	mov    0x1(%r9,%rax,2),%al
18004f744:	41 88 44 0e ff       	mov    %al,-0x1(%r14,%rcx,1)
18004f749:	41 3b d8             	cmp    %r8d,%ebx
18004f74c:	72 ca                	jb     0x18004f718
18004f74e:	41 8b 43 38          	mov    0x38(%r11),%eax
18004f752:	83 e0 fe             	and    $0xfffffffe,%eax
18004f755:	41 89 43 38          	mov    %eax,0x38(%r11)
18004f759:	48 8b 5c 24 10       	mov    0x10(%rsp),%rbx
18004f75e:	41 8b c2             	mov    %r10d,%eax
18004f761:	48 8b 6c 24 18       	mov    0x18(%rsp),%rbp
18004f766:	48 8b 74 24 20       	mov    0x20(%rsp),%rsi
18004f76b:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
18004f770:	41 5e                	pop    %r14
18004f772:	c3                   	ret
18004f773:	cc                   	int3
18004f774:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004f779:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18004f77e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18004f783:	57                   	push   %rdi
18004f784:	41 56                	push   %r14
18004f786:	41 57                	push   %r15
18004f788:	48 83 ec 30          	sub    $0x30,%rsp
18004f78c:	33 ff                	xor    %edi,%edi
18004f78e:	48 8b d9             	mov    %rcx,%rbx
18004f791:	39 79 28             	cmp    %edi,0x28(%rcx)
18004f794:	75 09                	jne    0x18004f79f
18004f796:	39 79 40             	cmp    %edi,0x40(%rcx)
18004f799:	0f 84 b8 00 00 00    	je     0x18004f857
18004f79f:	48 8b 69 08          	mov    0x8(%rcx),%rbp
18004f7a3:	4c 8b 39             	mov    (%rcx),%r15
18004f7a6:	48 8b d5             	mov    %rbp,%rdx
18004f7a9:	49 8b cf             	mov    %r15,%rcx
18004f7ac:	e8 73 fe ff ff       	call   0x18004f624
18004f7b1:	8b f8                	mov    %eax,%edi
18004f7b3:	85 c0                	test   %eax,%eax
18004f7b5:	0f 88 9c 00 00 00    	js     0x18004f857
18004f7bb:	8b 75 40             	mov    0x40(%rbp),%esi
18004f7be:	8b 43 28             	mov    0x28(%rbx),%eax
18004f7c1:	48 03 f5             	add    %rbp,%rsi
18004f7c4:	85 c0                	test   %eax,%eax
18004f7c6:	74 1e                	je     0x18004f7e6
18004f7c8:	8b 4e 18             	mov    0x18(%rsi),%ecx
18004f7cb:	3b c1                	cmp    %ecx,%eax
18004f7cd:	76 05                	jbe    0x18004f7d4
18004f7cf:	89 4b 28             	mov    %ecx,0x28(%rbx)
18004f7d2:	8b c1                	mov    %ecx,%eax
18004f7d4:	8b 56 20             	mov    0x20(%rsi),%edx
18004f7d7:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
18004f7db:	48 03 d6             	add    %rsi,%rdx
18004f7de:	44 8b c0             	mov    %eax,%r8d
18004f7e1:	e8 da 61 0e 00       	call   0x1801359c0
18004f7e6:	44 8b 73 40          	mov    0x40(%rbx),%r14d
18004f7ea:	45 85 f6             	test   %r14d,%r14d
18004f7ed:	74 68                	je     0x18004f857
18004f7ef:	8b 46 1c             	mov    0x1c(%rsi),%eax
18004f7f2:	41 8b ce             	mov    %r14d,%ecx
18004f7f5:	48 03 4b 48          	add    0x48(%rbx),%rcx
18004f7f9:	48 3b c8             	cmp    %rax,%rcx
18004f7fc:	7e 07                	jle    0x18004f805
18004f7fe:	bf 06 02 00 c0       	mov    $0xc0000206,%edi
18004f803:	eb 52                	jmp    0x18004f857
18004f805:	8b 73 48             	mov    0x48(%rbx),%esi
18004f808:	48 8b d5             	mov    %rbp,%rdx
18004f80b:	4c 8b 4b 38          	mov    0x38(%rbx),%r9
18004f80f:	44 8b c6             	mov    %esi,%r8d
18004f812:	49 8b cf             	mov    %r15,%rcx
18004f815:	44 89 74 24 20       	mov    %r14d,0x20(%rsp)
18004f81a:	e8 f5 fa ff ff       	call   0x18004f314
18004f81f:	8b f8                	mov    %eax,%edi
18004f821:	85 c0                	test   %eax,%eax
18004f823:	78 32                	js     0x18004f857
18004f825:	45 8b 97 48 0e 00 00 	mov    0xe48(%r15),%r10d
18004f82c:	41 8d 4e ff          	lea    -0x1(%r14),%ecx
18004f830:	33 d2                	xor    %edx,%edx
18004f832:	41 03 ca             	add    %r10d,%ecx
18004f835:	8b c1                	mov    %ecx,%eax
18004f837:	44 8b c6             	mov    %esi,%r8d
18004f83a:	41 f7 f2             	div    %r10d
18004f83d:	2b ca                	sub    %edx,%ecx
18004f83f:	33 d2                	xor    %edx,%edx
18004f841:	8b c1                	mov    %ecx,%eax
18004f843:	48 8b 0b             	mov    (%rbx),%rcx
18004f846:	41 f7 f2             	div    %r10d
18004f849:	48 8b d5             	mov    %rbp,%rdx
18004f84c:	89 44 24 20          	mov    %eax,0x20(%rsp)
18004f850:	e8 63 fe ff ff       	call   0x18004f6b8
18004f855:	8b f8                	mov    %eax,%edi
18004f857:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18004f85c:	8b c7                	mov    %edi,%eax
18004f85e:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
18004f863:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
18004f868:	48 83 c4 30          	add    $0x30,%rsp
18004f86c:	41 5f                	pop    %r15
18004f86e:	41 5e                	pop    %r14
18004f870:	5f                   	pop    %rdi
18004f871:	c3                   	ret
18004f872:	cc                   	int3
18004f873:	cc                   	int3
18004f874:	40 53                	rex push %rbx
18004f876:	48 83 ec 30          	sub    $0x30,%rsp
18004f87a:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18004f87f:	41 8b c1             	mov    %r9d,%eax
18004f882:	48 8b 0b             	mov    (%rbx),%rcx
18004f885:	45 85 c9             	test   %r9d,%r9d
18004f888:	78 16                	js     0x18004f8a0
18004f88a:	4c 8b 43 08          	mov    0x8(%rbx),%r8
18004f88e:	44 8b 4b 10          	mov    0x10(%rbx),%r9d
18004f892:	48 8b 53 50          	mov    0x50(%rbx),%rdx
18004f896:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
18004f89b:	e8 d8 f8 ff ff       	call   0x18004f178
18004f8a0:	4c 8b c3             	mov    %rbx,%r8
18004f8a3:	8b d0                	mov    %eax,%edx
18004f8a5:	e8 2a 00 00 00       	call   0x18004f8d4
18004f8aa:	48 83 c4 30          	add    $0x30,%rsp
18004f8ae:	5b                   	pop    %rbx
18004f8af:	c3                   	ret
18004f8b0:	cc                   	int3
18004f8b1:	cc                   	int3
18004f8b2:	cc                   	int3
18004f8b3:	cc                   	int3
18004f8b4:	48 83 ec 28          	sub    $0x28,%rsp
18004f8b8:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
18004f8bd:	45 85 c9             	test   %r9d,%r9d
18004f8c0:	78 04                	js     0x18004f8c6
18004f8c2:	49 89 50 38          	mov    %rdx,0x38(%r8)
18004f8c6:	41 8b d1             	mov    %r9d,%edx
18004f8c9:	e8 06 00 00 00       	call   0x18004f8d4
18004f8ce:	48 83 c4 28          	add    $0x28,%rsp
18004f8d2:	c3                   	ret
18004f8d3:	cc                   	int3
18004f8d4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004f8d9:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
18004f8de:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
18004f8e3:	57                   	push   %rdi
18004f8e4:	48 83 ec 20          	sub    $0x20,%rsp
18004f8e8:	49 8b 28             	mov    (%r8),%rbp
18004f8eb:	49 8b d8             	mov    %r8,%rbx
18004f8ee:	8b fa                	mov    %edx,%edi
18004f8f0:	85 d2                	test   %edx,%edx
18004f8f2:	79 04                	jns    0x18004f8f8
18004f8f4:	41 89 50 5c          	mov    %edx,0x5c(%r8)
18004f8f8:	83 c8 ff             	or     $0xffffffff,%eax
18004f8fb:	f0 41 0f c1 40 58    	lock xadd %eax,0x58(%r8)
18004f901:	83 f8 01             	cmp    $0x1,%eax
18004f904:	75 5b                	jne    0x18004f961
18004f906:	41 8b 78 5c          	mov    0x5c(%r8),%edi
18004f90a:	49 8b 70 08          	mov    0x8(%r8),%rsi
18004f90e:	85 ff                	test   %edi,%edi
18004f910:	78 0e                	js     0x18004f920
18004f912:	48 8b cb             	mov    %rbx,%rcx
18004f915:	e8 5a fe ff ff       	call   0x18004f774
18004f91a:	8b f8                	mov    %eax,%edi
18004f91c:	85 c0                	test   %eax,%eax
18004f91e:	79 2c                	jns    0x18004f94c
18004f920:	41 b8 01 00 00 00    	mov    $0x1,%r8d
18004f926:	f0 44 0f c1 85 d8 2d 	lock xadd %r8d,0x2dd8(%rbp)
18004f92d:	00 00
18004f92f:	41 ff c0             	inc    %r8d
18004f932:	b8 20 00 00 00       	mov    $0x20,%eax
18004f937:	41 8d 50 ff          	lea    -0x1(%r8),%edx
18004f93b:	83 fa 1f             	cmp    $0x1f,%edx
18004f93e:	44 0f 47 c0          	cmova  %eax,%r8d
18004f942:	49 63 c0             	movslq %r8d,%rax
18004f945:	89 bc 85 d8 2d 00 00 	mov    %edi,0x2dd8(%rbp,%rax,4)
18004f94c:	48 8b cb             	mov    %rbx,%rcx
18004f94f:	e8 08 70 ff ff       	call   0x18004695c
18004f954:	48 85 f6             	test   %rsi,%rsi
18004f957:	74 08                	je     0x18004f961
18004f959:	48 8b ce             	mov    %rsi,%rcx
18004f95c:	e8 fb 6f ff ff       	call   0x18004695c
18004f961:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004f966:	8b c7                	mov    %edi,%eax
18004f968:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
18004f96d:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
18004f972:	48 83 c4 20          	add    $0x20,%rsp
18004f976:	5f                   	pop    %rdi
18004f977:	c3                   	ret
18004f978:	cc                   	int3
18004f979:	cc                   	int3
18004f97a:	cc                   	int3
18004f97b:	cc                   	int3
18004f97c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18004f981:	57                   	push   %rdi
18004f982:	48 83 ec 20          	sub    $0x20,%rsp
18004f986:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18004f98b:	41 8b f9             	mov    %r9d,%edi
18004f98e:	4c 8b ca             	mov    %rdx,%r9
18004f991:	4c 8b 13             	mov    (%rbx),%r10
18004f994:	85 ff                	test   %edi,%edi
18004f996:	79 2b                	jns    0x18004f9c3
18004f998:	b9 01 00 00 00       	mov    $0x1,%ecx
18004f99d:	f0 41 0f c1 8a 54 2d 	lock xadd %ecx,0x2d54(%r10)
18004f9a4:	00 00
18004f9a6:	ff c1                	inc    %ecx
18004f9a8:	ba 20 00 00 00       	mov    $0x20,%edx
18004f9ad:	8d 41 ff             	lea    -0x1(%rcx),%eax
18004f9b0:	83 f8 1f             	cmp    $0x1f,%eax
18004f9b3:	0f 47 ca             	cmova  %edx,%ecx
18004f9b6:	48 63 c1             	movslq %ecx,%rax
18004f9b9:	41 89 bc 82 54 2d 00 	mov    %edi,0x2d54(%r10,%rax,4)
18004f9c0:	00
18004f9c1:	eb 25                	jmp    0x18004f9e8
18004f9c3:	49 8b 92 60 2e 00 00 	mov    0x2e60(%r10),%rdx
18004f9ca:	48 85 d2             	test   %rdx,%rdx
18004f9cd:	74 19                	je     0x18004f9e8
18004f9cf:	41 8b 8a 48 0e 00 00 	mov    0xe48(%r10),%ecx
18004f9d6:	0f af 4b 20          	imul   0x20(%rbx),%ecx
18004f9da:	45 8b c0             	mov    %r8d,%r8d
18004f9dd:	48 03 ca             	add    %rdx,%rcx
18004f9e0:	49 8b d1             	mov    %r9,%rdx
18004f9e3:	e8 d8 5f 0e 00       	call   0x1801359c0
18004f9e8:	48 8b cb             	mov    %rbx,%rcx
18004f9eb:	e8 6c 6f ff ff       	call   0x18004695c
18004f9f0:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18004f9f5:	8b c7                	mov    %edi,%eax
18004f9f7:	48 83 c4 20          	add    $0x20,%rsp
18004f9fb:	5f                   	pop    %rdi
18004f9fc:	c3                   	ret
18004f9fd:	cc                   	int3
18004f9fe:	cc                   	int3
18004f9ff:	cc                   	int3
18004fa00:	48 8b 81 60 0e 00 00 	mov    0xe60(%rcx),%rax
18004fa07:	45 33 c0             	xor    %r8d,%r8d
18004fa0a:	48 39 05 3f f2 0f 00 	cmp    %rax,0xff23f(%rip)        # 0x18014ec50
18004fa11:	4c 8b c9             	mov    %rcx,%r9
18004fa14:	44 8b 59 20          	mov    0x20(%rcx),%r11d
18004fa18:	75 20                	jne    0x18004fa3a
18004fa1a:	8b 51 18             	mov    0x18(%rcx),%edx
18004fa1d:	45 8b d3             	mov    %r11d,%r10d