18005a50b:	85 c0                	test   %eax,%eax
18005a50d:	0f 88 fd 01 00 00    	js     0x18005a710
18005a513:	8b 4d 48             	mov    0x48(%rbp),%ecx
18005a516:	48 8b 45 d8          	mov    -0x28(%rbp),%rax
18005a51a:	eb 0a                	jmp    0x18005a526
18005a51c:	41 8b c7             	mov    %r15d,%eax
18005a51f:	49 03 c5             	add    %r13,%rax
18005a522:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18005a526:	89 4c 24 20          	mov    %ecx,0x20(%rsp)
18005a52a:	4c 8b c8             	mov    %rax,%r9
18005a52d:	48 8b ce             	mov    %rsi,%rcx
18005a530:	45 33 c0             	xor    %r8d,%r8d
18005a533:	49 8b d5             	mov    %r13,%rdx
18005a536:	e8 d9 4d ff ff       	call   0x18004f314
18005a53b:	44 8b f0             	mov    %eax,%r14d
18005a53e:	45 85 f6             	test   %r14d,%r14d
18005a541:	0f 88 07 01 00 00    	js     0x18005a64e
18005a547:	48 8b 86 60 2e 00 00 	mov    0x2e60(%rsi),%rax
18005a54e:	48 85 c0             	test   %rax,%rax
18005a551:	74 37                	je     0x18005a58a
18005a553:	8b be 48 0e 00 00    	mov    0xe48(%rsi),%edi
18005a559:	49 8b d5             	mov    %r13,%rdx
18005a55c:	0f af fb             	imul   %ebx,%edi
18005a55f:	45 8b c7             	mov    %r15d,%r8d
18005a562:	8b cf                	mov    %edi,%ecx
18005a564:	48 03 c8             	add    %rax,%rcx
18005a567:	e8 54 b4 0d 00       	call   0x1801359c0
18005a56c:	8b 45 48             	mov    0x48(%rbp),%eax
18005a56f:	85 c0                	test   %eax,%eax
18005a571:	74 17                	je     0x18005a58a
18005a573:	48 8b 55 d8          	mov    -0x28(%rbp),%rdx
18005a577:	42 8d 0c 3f          	lea    (%rdi,%r15,1),%ecx
18005a57b:	48 03 8e 60 2e 00 00 	add    0x2e60(%rsi),%rcx
18005a582:	44 8b c0             	mov    %eax,%r8d
18005a585:	e8 36 b4 0d 00       	call   0x1801359c0
18005a58a:	49 8b d5             	mov    %r13,%rdx
18005a58d:	48 8b ce             	mov    %rsi,%rcx
18005a590:	e8 8f 50 ff ff       	call   0x18004f624
18005a595:	44 8b f0             	mov    %eax,%r14d
18005a598:	85 c0                	test   %eax,%eax
18005a59a:	0f 88 70 01 00 00    	js     0x18005a710
18005a5a0:	48 8b 4d 78          	mov    0x78(%rbp),%rcx
18005a5a4:	48 85 c9             	test   %rcx,%rcx
18005a5a7:	74 39                	je     0x18005a5e2
18005a5a9:	41 8b 45 40          	mov    0x40(%r13),%eax
18005a5ad:	49 03 c5             	add    %r13,%rax
18005a5b0:	83 78 28 02          	cmpl   $0x2,0x28(%rax)
18005a5b4:	75 26                	jne    0x18005a5dc
18005a5b6:	8b 50 18             	mov    0x18(%rax),%edx
18005a5b9:	39 95 80 00 00 00    	cmp    %edx,0x80(%rbp)
18005a5bf:	73 0b                	jae    0x18005a5cc
18005a5c1:	41 be 23 00 00 c0    	mov    $0xc0000023,%r14d
18005a5c7:	e9 44 01 00 00       	jmp    0x18005a710
18005a5cc:	4c 8b c2             	mov    %rdx,%r8
18005a5cf:	8b 50 20             	mov    0x20(%rax),%edx
18005a5d2:	48 03 d0             	add    %rax,%rdx
18005a5d5:	e8 e6 b3 0d 00       	call   0x1801359c0
18005a5da:	eb 06                	jmp    0x18005a5e2
18005a5dc:	41 be 05 01 00 00    	mov    $0x105,%r14d
18005a5e2:	4c 8b 85 90 00 00 00 	mov    0x90(%rbp),%r8
18005a5e9:	4d 85 c0             	test   %r8,%r8
18005a5ec:	0f 84 1e 01 00 00    	je     0x18005a710
18005a5f2:	49 8b 45 28          	mov    0x28(%r13),%rax
18005a5f6:	45 8b 4d 30          	mov    0x30(%r13),%r9d
18005a5fa:	8b d0                	mov    %eax,%edx
18005a5fc:	48 89 45 70          	mov    %rax,0x70(%rbp)
18005a600:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
18005a605:	49 8d 0c 11          	lea    (%r9,%rdx,1),%rcx
18005a609:	48 3b c8             	cmp    %rax,%rcx
18005a60c:	76 09                	jbe    0x18005a617
18005a60e:	48 8b 05 3b 46 0f 00 	mov    0xf463b(%rip),%rax        # 0x18014ec50
18005a615:	eb 0a                	jmp    0x18005a621
18005a617:	41 03 d1             	add    %r9d,%edx
18005a61a:	89 55 70             	mov    %edx,0x70(%rbp)
18005a61d:	48 8b 45 70          	mov    0x70(%rbp),%rax
18005a621:	3b 86 58 0e 00 00    	cmp    0xe58(%rsi),%eax
18005a627:	75 1d                	jne    0x18005a646
18005a629:	48 89 86 60 0e 00 00 	mov    %rax,0xe60(%rsi)
18005a630:	48 c1 e8 20          	shr    $0x20,%rax
18005a634:	ff c0                	inc    %eax
18005a636:	89 45 74             	mov    %eax,0x74(%rbp)
18005a639:	8b 86 4c 0e 00 00    	mov    0xe4c(%rsi),%eax
18005a63f:	89 45 70             	mov    %eax,0x70(%rbp)
18005a642:	48 8b 45 70          	mov    0x70(%rbp),%rax
18005a646:	49 89 00             	mov    %rax,(%r8)
18005a649:	e9 c2 00 00 00       	jmp    0x18005a710
18005a64e:	48 8b 46 18          	mov    0x18(%rsi),%rax
18005a652:	33 d2                	xor    %edx,%edx
18005a654:	8b 8e 48 0e 00 00    	mov    0xe48(%rsi),%ecx
18005a65a:	48 89 45 d8          	mov    %rax,-0x28(%rbp)
18005a65e:	48 c1 e8 20          	shr    $0x20,%rax
18005a662:	ff c0                	inc    %eax
18005a664:	48 89 5d 48          	mov    %rbx,0x48(%rbp)
18005a668:	89 45 dc             	mov    %eax,-0x24(%rbp)
18005a66b:	41 8b c7             	mov    %r15d,%eax
18005a66e:	f7 f1                	div    %ecx
18005a670:	03 c3                	add    %ebx,%eax
18005a672:	89 45 70             	mov    %eax,0x70(%rbp)
18005a675:	89 45 48             	mov    %eax,0x48(%rbp)
18005a678:	44 3b ff             	cmp    %edi,%r15d
18005a67b:	73 5e                	jae    0x18005a6db
18005a67d:	48 8b 7d 48          	mov    0x48(%rbp),%rdi
18005a681:	44 8b c9             	mov    %ecx,%r9d
18005a684:	45 8b c7             	mov    %r15d,%r8d
18005a687:	4d 03 c5             	add    %r13,%r8
18005a68a:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
18005a68f:	48 8b d7             	mov    %rdi,%rdx
18005a692:	48 8b ce             	mov    %rsi,%rcx
18005a695:	e8 de 4a ff ff       	call   0x18004f178
18005a69a:	ba 00 00 00 80       	mov    $0x80000000,%edx
18005a69f:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
18005a6a2:	85 ca                	test   %ecx,%edx
18005a6a4:	0f 85 94 00 00 00    	jne    0x18005a73e
18005a6aa:	3d 1e 00 e7 c0       	cmp    $0xc0e7001e,%eax
18005a6af:	0f 84 89 00 00 00    	je     0x18005a73e
18005a6b5:	8b 45 70             	mov    0x70(%rbp),%eax
18005a6b8:	ff c0                	inc    %eax
18005a6ba:	89 45 48             	mov    %eax,0x48(%rbp)
18005a6bd:	48 8b 7d 48          	mov    0x48(%rbp),%rdi
18005a6c1:	89 45 70             	mov    %eax,0x70(%rbp)
18005a6c4:	48 3b 7d d8          	cmp    -0x28(%rbp),%rdi
18005a6c8:	73 6c                	jae    0x18005a736
18005a6ca:	8b 86 48 0e 00 00    	mov    0xe48(%rsi),%eax
18005a6d0:	44 03 f8             	add    %eax,%r15d
18005a6d3:	8b c8                	mov    %eax,%ecx
18005a6d5:	44 3b 7d 58          	cmp    0x58(%rbp),%r15d
18005a6d9:	72 a6                	jb     0x18005a681
18005a6db:	41 80 7c 24 0c 00    	cmpb   $0x0,0xc(%r12)
18005a6e1:	74 2d                	je     0x18005a710
18005a6e3:	48 8b 45 e8          	mov    -0x18(%rbp),%rax
18005a6e7:	48 8b 8d 90 00 00 00 	mov    0x90(%rbp),%rcx
18005a6ee:	ff c0                	inc    %eax
18005a6f0:	89 45 74             	mov    %eax,0x74(%rbp)
18005a6f3:	8b 86 4c 0e 00 00    	mov    0xe4c(%rsi),%eax
18005a6f9:	89 45 70             	mov    %eax,0x70(%rbp)
18005a6fc:	48 8b 45 70          	mov    0x70(%rbp),%rax
18005a700:	48 89 01             	mov    %rax,(%rcx)
18005a703:	48 89 9e 60 0e 00 00 	mov    %rbx,0xe60(%rsi)
18005a70a:	41 be 05 01 00 00    	mov    $0x105,%r14d
18005a710:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
18005a714:	48 85 c0             	test   %rax,%rax
18005a717:	74 08                	je     0x18005a721
18005a719:	48 8b c8             	mov    %rax,%rcx
18005a71c:	e8 3b c2 fe ff       	call   0x18004695c
18005a721:	41 8b c6             	mov    %r14d,%eax
18005a724:	48 83 c4 58          	add    $0x58,%rsp
18005a728:	41 5f                	pop    %r15
18005a72a:	41 5e                	pop    %r14
18005a72c:	41 5d                	pop    %r13
18005a72e:	41 5c                	pop    %r12
18005a730:	5f                   	pop    %rdi
18005a731:	5e                   	pop    %rsi
18005a732:	5b                   	pop    %rbx
18005a733:	5d                   	pop    %rbp
18005a734:	c3                   	ret
18005a735:	cc                   	int3
18005a736:	41 c6 44 24 0c 00    	movb   $0x0,0xc(%r12)
18005a73c:	eb 9d                	jmp    0x18005a6db
18005a73e:	b9 01 00 00 00       	mov    $0x1,%ecx
18005a743:	f0 0f c1 8e d0 2c 00 	lock xadd %ecx,0x2cd0(%rsi)
18005a74a:	00
18005a74b:	ff c1                	inc    %ecx
18005a74d:	ba 20 00 00 00       	mov    $0x20,%edx
18005a752:	8d 41 ff             	lea    -0x1(%rcx),%eax
18005a755:	83 f8 1f             	cmp    $0x1f,%eax
18005a758:	0f 47 ca             	cmova  %edx,%ecx
18005a75b:	48 63 c1             	movslq %ecx,%rax
18005a75e:	89 9c 86 d0 2c 00 00 	mov    %ebx,0x2cd0(%rsi,%rax,4)
18005a765:	48 8b 85 90 00 00 00 	mov    0x90(%rbp),%rax
18005a76c:	48 89 38             	mov    %rdi,(%rax)
18005a76f:	eb 99                	jmp    0x18005a70a
18005a771:	cc                   	int3
18005a772:	cc                   	int3
18005a773:	cc                   	int3
18005a774:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18005a779:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18005a77e:	55                   	push   %rbp
18005a77f:	56                   	push   %rsi
18005a780:	57                   	push   %rdi
18005a781:	41 54                	push   %r12
18005a783:	41 55                	push   %r13
18005a785:	41 56                	push   %r14
18005a787:	41 57                	push   %r15
18005a789:	48 83 ec 40          	sub    $0x40,%rsp
18005a78d:	49 8b d8             	mov    %r8,%rbx
18005a790:	41 8b f1             	mov    %r9d,%esi
18005a793:	44 8b 89 48 0e 00 00 	mov    0xe48(%rcx),%r9d
18005a79a:	33 d2                	xor    %edx,%edx
18005a79c:	4c 8b f1             	mov    %rcx,%r14
18005a79f:	8b 89 58 0e 00 00    	mov    0xe58(%rcx),%ecx
18005a7a5:	2b cb                	sub    %ebx,%ecx
18005a7a7:	44 8d 46 ff          	lea    -0x1(%rsi),%r8d
18005a7ab:	45 03 c1             	add    %r9d,%r8d
18005a7ae:	41 8b c0             	mov    %r8d,%eax
18005a7b1:	41 f7 f1             	div    %r9d
18005a7b4:	44 2b c2             	sub    %edx,%r8d
18005a7b7:	33 d2                	xor    %edx,%edx
18005a7b9:	41 8b c0             	mov    %r8d,%eax
18005a7bc:	41 f7 f1             	div    %r9d
18005a7bf:	3b c1                	cmp    %ecx,%eax
18005a7c1:	76 0a                	jbe    0x18005a7cd
18005a7c3:	be 06 02 00 c0       	mov    $0xc0000206,%esi
18005a7c8:	e9 bd 01 00 00       	jmp    0x18005a98a
18005a7cd:	49 8b 6e 08          	mov    0x8(%r14),%rbp
18005a7d1:	48 8b ce             	mov    %rsi,%rcx
18005a7d4:	8b c3                	mov    %ebx,%eax
18005a7d6:	48 03 e8             	add    %rax,%rbp
18005a7d9:	48 89 b4 24 80 00 00 	mov    %rsi,0x80(%rsp)
18005a7e0:	00
18005a7e1:	49 0f af e9          	imul   %r9,%rbp
18005a7e5:	e8 2a c1 fe ff       	call   0x180046914
18005a7ea:	4c 8b f8             	mov    %rax,%r15
18005a7ed:	48 85 c0             	test   %rax,%rax
18005a7f0:	75 0a                	jne    0x18005a7fc
18005a7f2:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
18005a7f7:	e9 8e 01 00 00       	jmp    0x18005a98a
18005a7fc:	b9 60 00 00 00       	mov    $0x60,%ecx
18005a801:	e8 0e c1 fe ff       	call   0x180046914
18005a806:	33 d2                	xor    %edx,%edx
18005a808:	48 8b f8             	mov    %rax,%rdi
18005a80b:	48 85 c0             	test   %rax,%rax
18005a80e:	75 0a                	jne    0x18005a81a
18005a810:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
18005a815:	e9 68 01 00 00       	jmp    0x18005a982
18005a81a:	4c 8b ac 24 b0 00 00 	mov    0xb0(%rsp),%r13
18005a821:	00
18005a822:	44 8b a4 24 b8 00 00 	mov    0xb8(%rsp),%r12d
18005a829:	00
18005a82a:	4c 89 30             	mov    %r14,(%rax)
18005a82d:	4c 89 78 08          	mov    %r15,0x8(%rax)
18005a831:	89 70 10             	mov    %esi,0x10(%rax)
18005a834:	48 89 68 18          	mov    %rbp,0x18(%rax)
18005a838:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
18005a83f:	00
18005a840:	48 89 47 20          	mov    %rax,0x20(%rdi)
18005a844:	8b 84 24 a8 00 00 00 	mov    0xa8(%rsp),%eax
18005a84b:	89 47 28             	mov    %eax,0x28(%rdi)
18005a84e:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
18005a855:	00
18005a856:	48 89 47 48          	mov    %rax,0x48(%rdi)
18005a85a:	4c 89 6f 30          	mov    %r13,0x30(%rdi)
18005a85e:	48 89 57 38          	mov    %rdx,0x38(%rdi)
18005a862:	44 89 67 40          	mov    %r12d,0x40(%rdi)
18005a866:	48 89 5f 50          	mov    %rbx,0x50(%rdi)
18005a86a:	48 89 57 58          	mov    %rdx,0x58(%rdi)
18005a86e:	49 8b 8e 60 2e 00 00 	mov    0x2e60(%r14),%rcx
18005a875:	48 85 c9             	test   %rcx,%rcx
18005a878:	74 7a                	je     0x18005a8f4
18005a87a:	8b d3                	mov    %ebx,%edx
18005a87c:	4c 8b c6             	mov    %rsi,%r8
18005a87f:	41 0f af 96 48 0e 00 	imul   0xe48(%r14),%edx
18005a886:	00
18005a887:	48 8b ee             	mov    %rsi,%rbp
18005a88a:	48 03 d1             	add    %rcx,%rdx
18005a88d:	49 8b cf             	mov    %r15,%rcx
18005a890:	e8 2b b1 0d 00       	call   0x1801359c0
18005a895:	44 8b ce             	mov    %esi,%r9d
18005a898:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
18005a89d:	4d 8b c7             	mov    %r15,%r8
18005a8a0:	48 8b d3             	mov    %rbx,%rdx
18005a8a3:	49 8b ce             	mov    %r14,%rcx
18005a8a6:	e8 cd 48 ff ff       	call   0x18004f178
18005a8ab:	8b f0                	mov    %eax,%esi
18005a8ad:	85 c0                	test   %eax,%eax
18005a8af:	0f 88 bf 00 00 00    	js     0x18005a974
18005a8b5:	45 85 e4             	test   %r12d,%r12d
18005a8b8:	74 27                	je     0x18005a8e1
18005a8ba:	41 0f af 9e 48 0e 00 	imul   0xe48(%r14),%ebx
18005a8c1:	00
18005a8c2:	45 8b c4             	mov    %r12d,%r8d
18005a8c5:	49 8b cd             	mov    %r13,%rcx
18005a8c8:	8b d3                	mov    %ebx,%edx
18005a8ca:	49 03 96 60 2e 00 00 	add    0x2e60(%r14),%rdx
18005a8d1:	48 03 d5             	add    %rbp,%rdx
18005a8d4:	48 03 94 24 c0 00 00 	add    0xc0(%rsp),%rdx
18005a8db:	00
18005a8dc:	e8 df b0 0d 00       	call   0x1801359c0
18005a8e1:	48 8b cf             	mov    %rdi,%rcx
18005a8e4:	4c 89 6f 38          	mov    %r13,0x38(%rdi)
18005a8e8:	e8 87 4e ff ff       	call   0x18004f774
18005a8ed:	8b f0                	mov    %eax,%esi
18005a8ef:	e9 80 00 00 00       	jmp    0x18005a974
18005a8f4:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
18005a8fb:	00
18005a8fc:	48 8d 05 71 4f ff ff 	lea    -0xb08f(%rip),%rax        # 0x18004f874
18005a903:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
18005a908:	48 8b cb             	mov    %rbx,%rcx
18005a90b:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
18005a910:	44 8b ce             	mov    %esi,%r9d
18005a913:	4d 8b c7             	mov    %r15,%r8
18005a916:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
18005a91b:	b2 03                	mov    $0x3,%dl
18005a91d:	e8 62 c1 fe ff       	call   0x180046a84
18005a922:	8b f0                	mov    %eax,%esi
18005a924:	85 c0                	test   %eax,%eax
18005a926:	78 4c                	js     0x18005a974
18005a928:	f0 ff 47 58          	lock incl 0x58(%rdi)
18005a92c:	45 85 e4             	test   %r12d,%r12d
18005a92f:	74 43                	je     0x18005a974
18005a931:	48 8b 84 24 80 00 00 	mov    0x80(%rsp),%rax
18005a938:	00
18005a939:	48 8d 0d 74 4f ff ff 	lea    -0xb08c(%rip),%rcx        # 0x18004f8b4
18005a940:	48 03 c5             	add    %rbp,%rax
18005a943:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
18005a948:	48 03 84 24 c0 00 00 	add    0xc0(%rsp),%rax
18005a94f:	00
18005a950:	45 8b cc             	mov    %r12d,%r9d
18005a953:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18005a958:	4d 8b c5             	mov    %r13,%r8
18005a95b:	b2 03                	mov    $0x3,%dl
18005a95d:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18005a962:	48 8b cb             	mov    %rbx,%rcx
18005a965:	e8 1a c1 fe ff       	call   0x180046a84
18005a96a:	8b f0                	mov    %eax,%esi
18005a96c:	85 c0                	test   %eax,%eax
18005a96e:	78 04                	js     0x18005a974
18005a970:	f0 ff 47 58          	lock incl 0x58(%rdi)
18005a974:	83 7f 58 00          	cmpl   $0x0,0x58(%rdi)
18005a978:	75 10                	jne    0x18005a98a
18005a97a:	48 8b cf             	mov    %rdi,%rcx
18005a97d:	e8 da bf fe ff       	call   0x18004695c
18005a982:	49 8b cf             	mov    %r15,%rcx
18005a985:	e8 d2 bf fe ff       	call   0x18004695c
18005a98a:	48 8b 9c 24 90 00 00 	mov    0x90(%rsp),%rbx
18005a991:	00
18005a992:	8b c6                	mov    %esi,%eax
18005a994:	48 83 c4 40          	add    $0x40,%rsp
18005a998:	41 5f                	pop    %r15
18005a99a:	41 5e                	pop    %r14
18005a99c:	41 5d                	pop    %r13
18005a99e:	41 5c                	pop    %r12
18005a9a0:	5f                   	pop    %rdi
18005a9a1:	5e                   	pop    %rsi
18005a9a2:	5d                   	pop    %rbp
18005a9a3:	c3                   	ret
18005a9a4:	cc                   	int3
18005a9a5:	cc                   	int3
18005a9a6:	cc                   	int3
18005a9a7:	cc                   	int3
18005a9a8:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
18005a9ad:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
18005a9b2:	55                   	push   %rbp
18005a9b3:	56                   	push   %rsi
18005a9b4:	57                   	push   %rdi
18005a9b5:	41 54                	push   %r12
18005a9b7:	41 55                	push   %r13
18005a9b9:	41 56                	push   %r14
18005a9bb:	41 57                	push   %r15
18005a9bd:	48 8b ec             	mov    %rsp,%rbp
18005a9c0:	48 83 ec 40          	sub    $0x40,%rsp