1400042d2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1400042d7:	57                   	push   %rdi
1400042d8:	48 83 ec 20          	sub    $0x20,%rsp
1400042dc:	48 8b f9             	mov    %rcx,%rdi
1400042df:	48 8b 19             	mov    (%rcx),%rbx
1400042e2:	48 85 db             	test   %rbx,%rbx
1400042e5:	74 7d                	je     0x140004364
1400042e7:	48 8b 69 08          	mov    0x8(%rcx),%rbp
1400042eb:	48 8b f3             	mov    %rbx,%rsi
1400042ee:	48 3b dd             	cmp    %rbp,%rbx
1400042f1:	74 2e                	je     0x140004321
1400042f3:	48 8b 16             	mov    (%rsi),%rdx
1400042f6:	48 83 ea 18          	sub    $0x18,%rdx
1400042fa:	83 c8 ff             	or     $0xffffffff,%eax
1400042fd:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140004302:	83 e8 01             	sub    $0x1,%eax
140004305:	7f 11                	jg     0x140004318
140004307:	48 8b 0a             	mov    (%rdx),%rcx
14000430a:	48 8b 01             	mov    (%rcx),%rax
14000430d:	48 8b 40 08          	mov    0x8(%rax),%rax
140004311:	ff 15 b9 63 00 00    	call   *0x63b9(%rip)        # 0x14000a6d0
140004317:	90                   	nop
140004318:	48 83 c6 08          	add    $0x8,%rsi
14000431c:	48 3b f5             	cmp    %rbp,%rsi
14000431f:	75 d2                	jne    0x1400042f3
140004321:	48 8b 57 10          	mov    0x10(%rdi),%rdx
140004325:	48 2b d3             	sub    %rbx,%rdx
140004328:	48 83 e2 f8          	and    $0xfffffffffffffff8,%rdx
14000432c:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140004333:	72 18                	jb     0x14000434d
140004335:	48 83 c2 27          	add    $0x27,%rdx
140004339:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14000433d:	48 2b d9             	sub    %rcx,%rbx
140004340:	48 8d 43 f8          	lea    -0x8(%rbx),%rax
140004344:	48 83 f8 1f          	cmp    $0x1f,%rax
140004348:	77 30                	ja     0x14000437a
14000434a:	48 8b d9             	mov    %rcx,%rbx
14000434d:	48 8b cb             	mov    %rbx,%rcx
140004350:	e8 23 36 00 00       	call   0x140007978
140004355:	90                   	nop
140004356:	48 83 27 00          	andq   $0x0,(%rdi)
14000435a:	48 83 67 08 00       	andq   $0x0,0x8(%rdi)
14000435f:	48 83 67 10 00       	andq   $0x0,0x10(%rdi)
140004364:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140004369:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
14000436e:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140004373:	48 83 c4 20          	add    $0x20,%rsp
140004377:	5f                   	pop    %rdi
140004378:	c3                   	ret
140004379:	cc                   	int3
14000437a:	48 ff 15 37 61 00 00 	rex.W call *0x6137(%rip)        # 0x14000a4b8
140004381:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004386:	90                   	nop
140004387:	cc                   	int3
140004388:	cc                   	int3
140004389:	cc                   	int3
14000438a:	cc                   	int3
14000438b:	cc                   	int3
14000438c:	cc                   	int3
14000438d:	cc                   	int3
14000438e:	cc                   	int3
14000438f:	cc                   	int3
140004390:	48 83 ec 28          	sub    $0x28,%rsp
140004394:	48 8d 0d 8d 6b 00 00 	lea    0x6b8d(%rip),%rcx        # 0x14000af28
14000439b:	48 ff 15 f6 62 00 00 	rex.W call *0x62f6(%rip)        # 0x14000a698
1400043a2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400043a7:	cc                   	int3
1400043a8:	cc                   	int3
1400043a9:	cc                   	int3
1400043aa:	cc                   	int3
1400043ab:	cc                   	int3
1400043ac:	cc                   	int3
1400043ad:	cc                   	int3
1400043ae:	cc                   	int3
1400043af:	cc                   	int3
1400043b0:	49 3b d0             	cmp    %r8,%rdx
1400043b3:	74 47                	je     0x1400043fc
1400043b5:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400043ba:	57                   	push   %rdi
1400043bb:	48 83 ec 20          	sub    $0x20,%rsp
1400043bf:	49 8b f8             	mov    %r8,%rdi
1400043c2:	48 8b da             	mov    %rdx,%rbx
1400043c5:	48 8b 13             	mov    (%rbx),%rdx
1400043c8:	48 83 ea 18          	sub    $0x18,%rdx
1400043cc:	83 c8 ff             	or     $0xffffffff,%eax
1400043cf:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400043d4:	83 e8 01             	sub    $0x1,%eax
1400043d7:	7f 10                	jg     0x1400043e9
1400043d9:	48 8b 0a             	mov    (%rdx),%rcx
1400043dc:	48 8b 01             	mov    (%rcx),%rax
1400043df:	48 8b 40 08          	mov    0x8(%rax),%rax
1400043e3:	ff 15 e7 62 00 00    	call   *0x62e7(%rip)        # 0x14000a6d0
1400043e9:	48 83 c3 08          	add    $0x8,%rbx
1400043ed:	48 3b df             	cmp    %rdi,%rbx
1400043f0:	75 d3                	jne    0x1400043c5
1400043f2:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400043f7:	48 83 c4 20          	add    $0x20,%rsp
1400043fb:	5f                   	pop    %rdi
1400043fc:	c3                   	ret
1400043fd:	cc                   	int3
1400043fe:	cc                   	int3
1400043ff:	cc                   	int3
140004400:	cc                   	int3
140004401:	cc                   	int3
140004402:	cc                   	int3
140004403:	cc                   	int3
140004404:	48 83 ec 28          	sub    $0x28,%rsp
140004408:	48 8b c2             	mov    %rdx,%rax
14000440b:	49 8b d0             	mov    %r8,%rdx
14000440e:	48 c1 e2 03          	shl    $0x3,%rdx
140004412:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140004419:	72 18                	jb     0x140004433
14000441b:	48 8b 48 f8          	mov    -0x8(%rax),%rcx
14000441f:	48 83 c2 27          	add    $0x27,%rdx
140004423:	48 2b c1             	sub    %rcx,%rax
140004426:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
14000442a:	48 83 f8 1f          	cmp    $0x1f,%rax
14000442e:	77 0f                	ja     0x14000443f
140004430:	48 8b c1             	mov    %rcx,%rax
140004433:	48 8b c8             	mov    %rax,%rcx
140004436:	48 83 c4 28          	add    $0x28,%rsp
14000443a:	e9 39 35 00 00       	jmp    0x140007978
14000443f:	48 ff 15 72 60 00 00 	rex.W call *0x6072(%rip)        # 0x14000a4b8
140004446:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000444b:	cc                   	int3
14000444c:	cc                   	int3
14000444d:	cc                   	int3
14000444e:	cc                   	int3
14000444f:	cc                   	int3
140004450:	cc                   	int3
140004451:	cc                   	int3
140004452:	cc                   	int3
140004453:	cc                   	int3
140004454:	48 8b c4             	mov    %rsp,%rax
140004457:	48 89 58 10          	mov    %rbx,0x10(%rax)
14000445b:	48 89 70 18          	mov    %rsi,0x18(%rax)
14000445f:	48 89 78 20          	mov    %rdi,0x20(%rax)
140004463:	55                   	push   %rbp
140004464:	41 54                	push   %r12
140004466:	41 55                	push   %r13
140004468:	41 56                	push   %r14
14000446a:	41 57                	push   %r15
14000446c:	48 8d a8 f8 fe ff ff 	lea    -0x108(%rax),%rbp
140004473:	48 81 ec e0 01 00 00 	sub    $0x1e0,%rsp
14000447a:	48 8b 05 6f 9d 00 00 	mov    0x9d6f(%rip),%rax        # 0x14000e1f0
140004481:	48 33 c4             	xor    %rsp,%rax
140004484:	48 89 85 d0 00 00 00 	mov    %rax,0xd0(%rbp)
14000448b:	48 8b f9             	mov    %rcx,%rdi
14000448e:	33 f6                	xor    %esi,%esi
140004490:	89 74 24 3c          	mov    %esi,0x3c(%rsp)
140004494:	48 8d 15 0d 6c 00 00 	lea    0x6c0d(%rip),%rdx        # 0x14000b0a8
14000449b:	48 8d 4d 98          	lea    -0x68(%rbp),%rcx
14000449f:	e8 14 fc ff ff       	call   0x1400040b8
1400044a4:	90                   	nop
1400044a5:	48 8d 15 34 6c 00 00 	lea    0x6c34(%rip),%rdx        # 0x14000b0e0
1400044ac:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
1400044b0:	e8 03 fc ff ff       	call   0x1400040b8
1400044b5:	48 89 74 24 50       	mov    %rsi,0x50(%rsp)
1400044ba:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
1400044bf:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400044c4:	41 b9 19 00 02 00    	mov    $0x20019,%r9d
1400044ca:	45 33 c0             	xor    %r8d,%r8d
1400044cd:	48 8b 55 90          	mov    -0x70(%rbp),%rdx
1400044d1:	48 c7 c1 02 00 00 80 	mov    $0xffffffff80000002,%rcx
1400044d8:	48 ff 15 f9 5e 00 00 	rex.W call *0x5ef9(%rip)        # 0x14000a3d8
1400044df:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400044e4:	44 8d 7e 04          	lea    0x4(%rsi),%r15d
1400044e8:	85 c0                	test   %eax,%eax
1400044ea:	75 65                	jne    0x140004551
1400044ec:	44 89 7c 24 34       	mov    %r15d,0x34(%rsp)
1400044f1:	89 74 24 38          	mov    %esi,0x38(%rsp)
1400044f5:	48 8d 44 24 34       	lea    0x34(%rsp),%rax
1400044fa:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400044ff:	48 8d 44 24 3c       	lea    0x3c(%rsp),%rax
140004504:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140004509:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
14000450e:	45 33 c0             	xor    %r8d,%r8d
140004511:	48 8b 55 98          	mov    -0x68(%rbp),%rdx
140004515:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14000451a:	48 ff 15 af 5e 00 00 	rex.W call *0x5eaf(%rip)        # 0x14000a3d0
140004521:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004526:	85 c0                	test   %eax,%eax
140004528:	75 27                	jne    0x140004551
14000452a:	39 74 24 34          	cmp    %esi,0x34(%rsp)
14000452e:	76 21                	jbe    0x140004551
140004530:	44 39 7c 24 38       	cmp    %r15d,0x38(%rsp)
140004535:	75 1a                	jne    0x140004551
140004537:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
14000453c:	48 85 c9             	test   %rcx,%rcx
14000453f:	74 0c                	je     0x14000454d
140004541:	48 ff 15 80 5e 00 00 	rex.W call *0x5e80(%rip)        # 0x14000a3c8
140004548:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000454d:	b3 01                	mov    $0x1,%bl
14000454f:	eb 19                	jmp    0x14000456a
140004551:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140004556:	48 85 c9             	test   %rcx,%rcx
140004559:	74 0c                	je     0x140004567
14000455b:	48 ff 15 66 5e 00 00 	rex.W call *0x5e66(%rip)        # 0x14000a3c8
140004562:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004567:	40 8a de             	mov    %sil,%bl
14000456a:	48 8b 55 90          	mov    -0x70(%rbp),%rdx
14000456e:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140004572:	49 83 ce ff          	or     $0xffffffffffffffff,%r14
140004576:	41 8b c6             	mov    %r14d,%eax
140004579:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
14000457e:	41 03 c6             	add    %r14d,%eax
140004581:	85 c0                	test   %eax,%eax
140004583:	7f 11                	jg     0x140004596
140004585:	48 8b 0a             	mov    (%rdx),%rcx
140004588:	48 8b 01             	mov    (%rcx),%rax
14000458b:	48 8b 40 08          	mov    0x8(%rax),%rax
14000458f:	ff 15 3b 61 00 00    	call   *0x613b(%rip)        # 0x14000a6d0
140004595:	90                   	nop
140004596:	48 8b 55 98          	mov    -0x68(%rbp),%rdx
14000459a:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
14000459e:	41 8b c6             	mov    %r14d,%eax
1400045a1:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
1400045a6:	41 03 c6             	add    %r14d,%eax
1400045a9:	85 c0                	test   %eax,%eax
1400045ab:	7f 10                	jg     0x1400045bd
1400045ad:	48 8b 0a             	mov    (%rdx),%rcx
1400045b0:	48 8b 01             	mov    (%rcx),%rax
1400045b3:	48 8b 40 08          	mov    0x8(%rax),%rax
1400045b7:	ff 15 13 61 00 00    	call   *0x6113(%rip)        # 0x14000a6d0
1400045bd:	84 db                	test   %bl,%bl
1400045bf:	74 0a                	je     0x1400045cb
1400045c1:	39 74 24 3c          	cmp    %esi,0x3c(%rsp)
1400045c5:	0f 87 c2 03 00 00    	ja     0x14000498d
1400045cb:	48 8b cf             	mov    %rdi,%rcx
1400045ce:	e8 1d 04 00 00       	call   0x1400049f0
1400045d3:	84 c0                	test   %al,%al
1400045d5:	0f 84 b2 03 00 00    	je     0x14000498d
1400045db:	e8 80 40 00 00       	call   0x140008660
1400045e0:	84 c0                	test   %al,%al
1400045e2:	0f 84 a5 03 00 00    	je     0x14000498d
1400045e8:	89 74 24 44          	mov    %esi,0x44(%rsp)
1400045ec:	89 74 24 30          	mov    %esi,0x30(%rsp)
1400045f0:	44 89 7c 24 40       	mov    %r15d,0x40(%rsp)
1400045f5:	48 8b 05 34 6b 00 00 	mov    0x6b34(%rip),%rax        # 0x14000b130
1400045fc:	48 89 45 a8          	mov    %rax,-0x58(%rbp)
140004600:	8b de                	mov    %esi,%ebx
140004602:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
140004607:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
14000460c:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140004611:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140004616:	4c 8d 4c 24 44       	lea    0x44(%rsp),%r9
14000461b:	45 33 c0             	xor    %r8d,%r8d
14000461e:	33 d2                	xor    %edx,%edx
140004620:	48 8d 4d a8          	lea    -0x58(%rbp),%rcx
140004624:	48 ff 15 8d 60 00 00 	rex.W call *0x608d(%rip)        # 0x14000a6b8
14000462b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004630:	85 c0                	test   %eax,%eax
140004632:	78 17                	js     0x14000464b
140004634:	44 39 7c 24 40       	cmp    %r15d,0x40(%rsp)
140004639:	75 10                	jne    0x14000464b
14000463b:	44 39 7c 24 30       	cmp    %r15d,0x30(%rsp)
140004640:	73 09                	jae    0x14000464b
140004642:	39 74 24 44          	cmp    %esi,0x44(%rsp)
140004646:	0f 45 5c 24 30       	cmovne 0x30(%rsp),%ebx
14000464b:	8b c8                	mov    %eax,%ecx
14000464d:	48 ff 15 5c 60 00 00 	rex.W call *0x605c(%rip)        # 0x14000a6b0
140004654:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140004659:	0f b7 c8             	movzwl %ax,%ecx
14000465c:	81 c9 00 00 07 80    	or     $0x80070000,%ecx
140004662:	85 c0                	test   %eax,%eax
140004664:	0f 4e c8             	cmovle %eax,%ecx
140004667:	85 c9                	test   %ecx,%ecx
140004669:	0f 88 1e 03 00 00    	js     0x14000498d
14000466f:	83 fb 01             	cmp    $0x1,%ebx
140004672:	0f 86 15 03 00 00    	jbe    0x14000498d
140004678:	8b fe                	mov    %esi,%edi
14000467a:	b9 f6 ff ff ff       	mov    $0xfffffff6,%ecx
14000467f:	48 ff 15 da 5c 00 00 	rex.W call *0x5cda(%rip)        # 0x14000a360
140004686:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000468b:	48 8b d8             	mov    %rax,%rbx
14000468e:	41 bc 03 00 00 00    	mov    $0x3,%r12d
140004694:	4c 8d 2d 55 63 00 00 	lea    0x6355(%rip),%r13        # 0x14000a9f0
14000469b:	49 3b c6             	cmp    %r14,%rax
14000469e:	75 5f                	jne    0x1400046ff
1400046a0:	48 ff 15 f9 5b 00 00 	rex.W call *0x5bf9(%rip)        # 0x14000a2a0
1400046a7:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400046ac:	0f b7 f8             	movzwl %ax,%edi
1400046af:	81 cf 00 00 07 80    	or     $0x80070000,%edi
1400046b5:	85 c0                	test   %eax,%eax
1400046b7:	0f 4e f8             	cmovle %eax,%edi
1400046ba:	f6 05 ff a1 00 00 02 	testb  $0x2,0xa1ff(%rip)        # 0x14000e8c0
1400046c1:	74 3c                	je     0x1400046ff
1400046c3:	89 7c 24 58          	mov    %edi,0x58(%rsp)
1400046c7:	48 8d 44 24 58       	lea    0x58(%rsp),%rax
1400046cc:	48 89 45 c0          	mov    %rax,-0x40(%rbp)
1400046d0:	48 c7 45 c8 04 00 00 	movq   $0x4,-0x38(%rbp)
1400046d7:	00
1400046d8:	48 8d 05 69 68 00 00 	lea    0x6869(%rip),%rax        # 0x14000af48
1400046df:	48 89 45 d0          	mov    %rax,-0x30(%rbp)
1400046e3:	48 c7 45 d8 35 00 00 	movq   $0x35,-0x28(%rbp)
1400046ea:	00
1400046eb:	48 8d 45 b0          	lea    -0x50(%rbp),%rax
1400046ef:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400046f4:	45 8b cc             	mov    %r12d,%r9d
1400046f7:	49 8b d5             	mov    %r13,%rdx
1400046fa:	e8 1d cc ff ff       	call   0x14000131c
1400046ff:	89 74 24 48          	mov    %esi,0x48(%rsp)
140004703:	85 ff                	test   %edi,%edi
140004705:	78 77                	js     0x14000477e
140004707:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
14000470c:	48 8b cb             	mov    %rbx,%rcx
14000470f:	48 ff 15 0a 5c 00 00 	rex.W call *0x5c0a(%rip)        # 0x14000a320
140004716:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000471b:	85 c0                	test   %eax,%eax
14000471d:	75 5f                	jne    0x14000477e
14000471f:	48 ff 15 7a 5b 00 00 	rex.W call *0x5b7a(%rip)        # 0x14000a2a0
140004726:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14000472b:	0f b7 f8             	movzwl %ax,%edi
14000472e:	81 cf 00 00 07 80    	or     $0x80070000,%edi
140004734:	85 c0                	test   %eax,%eax
140004736:	0f 4e f8             	cmovle %eax,%edi
140004739:	f6 05 80 a1 00 00 02 	testb  $0x2,0xa180(%rip)        # 0x14000e8c0
140004740:	74 3c                	je     0x14000477e
140004742:	89 7c 24 60          	mov    %edi,0x60(%rsp)
140004746:	48 8d 44 24 60       	lea    0x60(%rsp),%rax
14000474b:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
14000474f:	48 c7 45 f8 04 00 00 	movq   $0x4,-0x8(%rbp)
140004756:	00
140004757:	48 8d 05 22 68 00 00 	lea    0x6822(%rip),%rax        # 0x14000af80
14000475e:	48 89 45 00          	mov    %rax,0x0(%rbp)
140004762:	48 c7 45 08 44 00 00 	movq   $0x44,0x8(%rbp)
140004769:	00
14000476a:	48 8d 45 e0          	lea    -0x20(%rbp),%rax
14000476e:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140004773:	45 8b cc             	mov    %r12d,%r9d
140004776:	49 8b d5             	mov    %r13,%rdx
140004779:	e8 9e cb ff ff       	call   0x14000131c
14000477e:	49 8b de             	mov    %r14,%rbx
140004781:	48 89 5d a0          	mov    %rbx,-0x60(%rbp)
140004785:	85 ff                	test   %edi,%edi
140004787:	0f 88 83 00 00 00    	js     0x140004810
14000478d:	44 8b 44 24 48       	mov    0x48(%rsp),%r8d
140004792:	33 d2                	xor    %edx,%edx
140004794:	b9 00 04 00 00       	mov    $0x400,%ecx
140004799:	48 ff 15 08 5c 00 00 	rex.W call *0x5c08(%rip)        # 0x14000a3a8
1400047a0:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400047a5:	48 8b d8             	mov    %rax,%rbx
1400047a8:	48 89 45 a0          	mov    %rax,-0x60(%rbp)
1400047ac:	49 3b c6             	cmp    %r14,%rax
1400047af:	75 5f                	jne    0x140004810
1400047b1:	48 ff 15 e8 5a 00 00 	rex.W call *0x5ae8(%rip)        # 0x14000a2a0
1400047b8:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400047bd:	0f b7 f8             	movzwl %ax,%edi
1400047c0:	81 cf 00 00 07 80    	or     $0x80070000,%edi
1400047c6:	85 c0                	test   %eax,%eax