140183668:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14018366d:	57                   	push   %rdi
14018366e:	48 83 ec 30          	sub    $0x30,%rsp
140183672:	48 8b fa             	mov    %rdx,%rdi
140183675:	48 8b d9             	mov    %rcx,%rbx
140183678:	83 64 24 20 00       	andl   $0x0,0x20(%rsp)
14018367d:	4c 8d 0d 7c 06 b4 00 	lea    0xb4067c(%rip),%r9        # 0x140cc3d00
140183684:	4c 8d 05 4d 06 b4 00 	lea    0xb4064d(%rip),%r8        # 0x140cc3cd8
14018368b:	33 d2                	xor    %edx,%edx
14018368d:	48 8b 0f             	mov    (%rdi),%rcx
140183690:	e8 49 ec 96 00       	call   0x140af22de
140183695:	48 83 23 00          	andq   $0x0,(%rbx)
140183699:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
14018369e:	48 85 c0             	test   %rax,%rax
1401836a1:	74 18                	je     0x1401836bb
1401836a3:	48 8b 4f 08          	mov    0x8(%rdi),%rcx
1401836a7:	48 85 c9             	test   %rcx,%rcx
1401836aa:	74 04                	je     0x1401836b0
1401836ac:	f0 ff 41 08          	lock incl 0x8(%rcx)
1401836b0:	48 89 03             	mov    %rax,(%rbx)
1401836b3:	48 8b 47 08          	mov    0x8(%rdi),%rax
1401836b7:	48 89 43 08          	mov    %rax,0x8(%rbx)
1401836bb:	48 8b c3             	mov    %rbx,%rax
1401836be:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401836c3:	48 83 c4 30          	add    $0x30,%rsp
1401836c7:	5f                   	pop    %rdi
1401836c8:	c3                   	ret
1401836c9:	90                   	nop
1401836ca:	90                   	nop
1401836cb:	90                   	nop
1401836cc:	90                   	nop
1401836cd:	90                   	nop
1401836ce:	90                   	nop
1401836cf:	90                   	nop
1401836d0:	40 53                	rex push %rbx
1401836d2:	48 83 ec 20          	sub    $0x20,%rsp
1401836d6:	4c 8b c2             	mov    %rdx,%r8
1401836d9:	41 b9 23 00 00 00    	mov    $0x23,%r9d
1401836df:	33 d2                	xor    %edx,%edx
1401836e1:	48 8b d9             	mov    %rcx,%rbx
1401836e4:	e8 17 f9 00 00       	call   0x140193000
1401836e9:	48 8d 05 d0 9d 99 00 	lea    0x999dd0(%rip),%rax        # 0x140b1d4c0
1401836f0:	48 89 03             	mov    %rax,(%rbx)
1401836f3:	33 c0                	xor    %eax,%eax
1401836f5:	48 89 83 88 00 00 00 	mov    %rax,0x88(%rbx)
1401836fc:	66 89 83 90 00 00 00 	mov    %ax,0x90(%rbx)
140183703:	48 89 83 98 00 00 00 	mov    %rax,0x98(%rbx)
14018370a:	48 89 83 a0 00 00 00 	mov    %rax,0xa0(%rbx)
140183711:	48 89 83 a8 00 00 00 	mov    %rax,0xa8(%rbx)
140183718:	48 8b c3             	mov    %rbx,%rax
14018371b:	c7 83 b0 00 00 00 00 	movl   $0x1000000,0xb0(%rbx)
140183722:	00 00 01
140183725:	48 83 c4 20          	add    $0x20,%rsp
140183729:	5b                   	pop    %rbx
14018372a:	c3                   	ret
14018372b:	90                   	nop
14018372c:	90                   	nop
14018372d:	90                   	nop
14018372e:	90                   	nop
14018372f:	90                   	nop
140183730:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140183735:	57                   	push   %rdi
140183736:	48 83 ec 20          	sub    $0x20,%rsp
14018373a:	8b da                	mov    %edx,%ebx
14018373c:	48 8b f9             	mov    %rcx,%rdi
14018373f:	e8 1c 00 00 00       	call   0x140183760
140183744:	f6 c3 01             	test   $0x1,%bl
140183747:	74 08                	je     0x140183751
140183749:	48 8b cf             	mov    %rdi,%rcx
14018374c:	e8 83 be 96 00       	call   0x140aef5d4
140183751:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140183756:	48 8b c7             	mov    %rdi,%rax
140183759:	48 83 c4 20          	add    $0x20,%rsp
14018375d:	5f                   	pop    %rdi
14018375e:	c3                   	ret
14018375f:	90                   	nop
140183760:	40 53                	rex push %rbx
140183762:	48 83 ec 20          	sub    $0x20,%rsp
140183766:	48 8d 05 53 9d 99 00 	lea    0x999d53(%rip),%rax        # 0x140b1d4c0
14018376d:	48 8b d9             	mov    %rcx,%rbx
140183770:	48 89 01             	mov    %rax,(%rcx)
140183773:	48 81 c1 98 00 00 00 	add    $0x98,%rcx
14018377a:	e8 51 77 e9 ff       	call   0x14001aed0
14018377f:	48 8b cb             	mov    %rbx,%rcx
140183782:	48 83 c4 20          	add    $0x20,%rsp
140183786:	5b                   	pop    %rbx
140183787:	e9 0c fb 00 00       	jmp    0x140193298
14018378c:	cc                   	int3
14018378d:	90                   	nop
14018378e:	90                   	nop
14018378f:	90                   	nop
140183790:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
140183795:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
14018379a:	55                   	push   %rbp
14018379b:	56                   	push   %rsi
14018379c:	57                   	push   %rdi
14018379d:	41 54                	push   %r12
14018379f:	41 55                	push   %r13
1401837a1:	41 56                	push   %r14
1401837a3:	41 57                	push   %r15
1401837a5:	48 8d 6c 24 d9       	lea    -0x27(%rsp),%rbp
1401837aa:	48 81 ec a0 00 00 00 	sub    $0xa0,%rsp
1401837b1:	4d 8b d0             	mov    %r8,%r10
1401837b4:	48 8b f2             	mov    %rdx,%rsi
1401837b7:	c7 45 77 01 00 00 00 	movl   $0x1,0x77(%rbp)
1401837be:	48 83 22 00          	andq   $0x0,(%rdx)
1401837c2:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
1401837c7:	48 83 62 10 00       	andq   $0x0,0x10(%rdx)
1401837cc:	c7 45 77 01 00 00 00 	movl   $0x1,0x77(%rbp)
1401837d3:	0f 57 c0             	xorps  %xmm0,%xmm0
1401837d6:	f3 0f 7f 45 0f       	movdqu %xmm0,0xf(%rbp)
1401837db:	48 83 65 1f 00       	andq   $0x0,0x1f(%rbp)
1401837e0:	f3 0f 7f 45 f7       	movdqu %xmm0,-0x9(%rbp)
1401837e5:	48 83 65 07 00       	andq   $0x0,0x7(%rbp)
1401837ea:	8a 81 b3 00 00 00    	mov    0xb3(%rcx),%al
1401837f0:	f6 d8                	neg    %al
1401837f2:	45 1b c0             	sbb    %r8d,%r8d
1401837f5:	41 83 c0 03          	add    $0x3,%r8d
1401837f9:	c6 44 24 20 01       	movb   $0x1,0x20(%rsp)
1401837fe:	41 b1 01             	mov    $0x1,%r9b
140183801:	48 8d 55 0f          	lea    0xf(%rbp),%rdx
140183805:	49 8b 0a             	mov    (%r10),%rcx
140183808:	e8 2b 89 00 00       	call   0x14018c138
14018380d:	48 8b 5d 0f          	mov    0xf(%rbp),%rbx
140183811:	41 83 ce ff          	or     $0xffffffff,%r14d
140183815:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
140183819:	48 3b 5d 17          	cmp    0x17(%rbp),%rbx
14018381d:	0f 84 b8 00 00 00    	je     0x1401838db
140183823:	48 8b d3             	mov    %rbx,%rdx
140183826:	48 8d 4d b7          	lea    -0x49(%rbp),%rcx
14018382a:	e8 21 8e e9 ff       	call   0x14001c650
14018382f:	48 8b 45 b7          	mov    -0x49(%rbp),%rax
140183833:	48 85 c0             	test   %rax,%rax
140183836:	74 4f                	je     0x140183887
140183838:	48 3b 7d 07          	cmp    0x7(%rbp),%rdi
14018383c:	74 35                	je     0x140183873
14018383e:	48 83 27 00          	andq   $0x0,(%rdi)
140183842:	48 8d 57 08          	lea    0x8(%rdi),%rdx
140183846:	48 83 22 00          	andq   $0x0,(%rdx)
14018384a:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
14018384e:	48 85 c9             	test   %rcx,%rcx
140183851:	74 10                	je     0x140183863
140183853:	f0 ff 41 08          	lock incl 0x8(%rcx)
140183857:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
14018385b:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
14018385f:	48 8b 45 b7          	mov    -0x49(%rbp),%rax
140183863:	48 89 07             	mov    %rax,(%rdi)
140183866:	48 89 0a             	mov    %rcx,(%rdx)
140183869:	48 83 c7 10          	add    $0x10,%rdi
14018386d:	48 89 7d ff          	mov    %rdi,-0x1(%rbp)
140183871:	eb 18                	jmp    0x14018388b
140183873:	4c 8d 45 b7          	lea    -0x49(%rbp),%r8
140183877:	48 8b d7             	mov    %rdi,%rdx
14018387a:	48 8d 4d f7          	lea    -0x9(%rbp),%rcx
14018387e:	e8 a1 cc e9 ff       	call   0x140020524
140183883:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
140183887:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
14018388b:	48 85 c9             	test   %rcx,%rcx
14018388e:	74 42                	je     0x1401838d2
140183890:	41 8b c6             	mov    %r14d,%eax
140183893:	f0 0f c1 41 08       	lock xadd %eax,0x8(%rcx)
140183898:	41 03 c6             	add    %r14d,%eax
14018389b:	75 31                	jne    0x1401838ce
14018389d:	48 8b 7d bf          	mov    -0x41(%rbp),%rdi
1401838a1:	48 8b 07             	mov    (%rdi),%rax
1401838a4:	48 8b cf             	mov    %rdi,%rcx
1401838a7:	48 8b 00             	mov    (%rax),%rax
1401838aa:	ff 15 88 93 98 00    	call   *0x989388(%rip)        # 0x140b0cc38
1401838b0:	41 8b c6             	mov    %r14d,%eax
1401838b3:	f0 0f c1 47 0c       	lock xadd %eax,0xc(%rdi)
1401838b8:	41 03 c6             	add    %r14d,%eax
1401838bb:	75 11                	jne    0x1401838ce
1401838bd:	48 8b 4d bf          	mov    -0x41(%rbp),%rcx
1401838c1:	48 8b 01             	mov    (%rcx),%rax
1401838c4:	48 8b 40 08          	mov    0x8(%rax),%rax
1401838c8:	ff 15 6a 93 98 00    	call   *0x98936a(%rip)        # 0x140b0cc38
1401838ce:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
1401838d2:	48 83 c3 10          	add    $0x10,%rbx
1401838d6:	e9 3e ff ff ff       	jmp    0x140183819
1401838db:	48 8b c7             	mov    %rdi,%rax
1401838de:	48 8b 5d f7          	mov    -0x9(%rbp),%rbx
1401838e2:	48 2b c3             	sub    %rbx,%rax
1401838e5:	48 c1 f8 04          	sar    $0x4,%rax
1401838e9:	48 85 c0             	test   %rax,%rax
1401838ec:	0f 84 56 05 00 00    	je     0x140183e48
1401838f2:	45 33 ff             	xor    %r15d,%r15d
1401838f5:	48 85 c0             	test   %rax,%rax
1401838f8:	0f 84 94 00 00 00    	je     0x140183992
1401838fe:	45 33 e4             	xor    %r12d,%r12d
140183901:	48 8b c7             	mov    %rdi,%rax
140183904:	48 2b c3             	sub    %rbx,%rax
140183907:	48 c1 f8 04          	sar    $0x4,%rax
14018390b:	4c 3b f8             	cmp    %rax,%r15
14018390e:	0f 83 cb 05 00 00    	jae    0x140183edf
140183914:	4d 8d 34 1c          	lea    (%r12,%rbx,1),%r14
140183918:	49 8b 0e             	mov    (%r14),%rcx
14018391b:	e8 c0 a2 00 00       	call   0x14018dbe0
140183920:	84 c0                	test   %al,%al
140183922:	75 0c                	jne    0x140183930
140183924:	49 8b 0e             	mov    (%r14),%rcx
140183927:	e8 34 a3 00 00       	call   0x14018dc60
14018392c:	84 c0                	test   %al,%al
14018392e:	74 62                	je     0x140183992
140183930:	48 8b 56 08          	mov    0x8(%rsi),%rdx
140183934:	48 3b 56 10          	cmp    0x10(%rsi),%rdx
140183938:	74 33                	je     0x14018396d
14018393a:	48 83 22 00          	andq   $0x0,(%rdx)
14018393e:	48 83 62 08 00       	andq   $0x0,0x8(%rdx)
140183943:	49 8b 46 08          	mov    0x8(%r14),%rax
140183947:	48 85 c0             	test   %rax,%rax
14018394a:	74 0c                	je     0x140183958
14018394c:	f0 ff 40 08          	lock incl 0x8(%rax)
140183950:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
140183954:	48 8b 5d f7          	mov    -0x9(%rbp),%rbx
140183958:	49 8b 06             	mov    (%r14),%rax
14018395b:	48 89 02             	mov    %rax,(%rdx)
14018395e:	49 8b 46 08          	mov    0x8(%r14),%rax
140183962:	48 89 42 08          	mov    %rax,0x8(%rdx)
140183966:	48 83 46 08 10       	addq   $0x10,0x8(%rsi)
14018396b:	eb 0b                	jmp    0x140183978
14018396d:	4d 8b c6             	mov    %r14,%r8
140183970:	48 8b ce             	mov    %rsi,%rcx
140183973:	e8 ac cb e9 ff       	call   0x140020524
140183978:	49 ff c7             	inc    %r15
14018397b:	49 83 c4 10          	add    $0x10,%r12
14018397f:	48 8b c7             	mov    %rdi,%rax
140183982:	48 2b c3             	sub    %rbx,%rax
140183985:	48 c1 f8 04          	sar    $0x4,%rax
140183989:	4c 3b f8             	cmp    %rax,%r15
14018398c:	0f 82 6f ff ff ff    	jb     0x140183901
140183992:	48 8b 46 08          	mov    0x8(%rsi),%rax
140183996:	48 3b 06             	cmp    (%rsi),%rax
140183999:	0f 85 a9 04 00 00    	jne    0x140183e48
14018399f:	45 32 ff             	xor    %r15b,%r15b
1401839a2:	44 88 7d 67          	mov    %r15b,0x67(%rbp)
1401839a6:	45 33 e4             	xor    %r12d,%r12d
1401839a9:	4c 8b ef             	mov    %rdi,%r13
1401839ac:	4c 2b eb             	sub    %rbx,%r13
1401839af:	49 c1 fd 04          	sar    $0x4,%r13
1401839b3:	4d 85 ed             	test   %r13,%r13
1401839b6:	0f 84 23 05 00 00    	je     0x140183edf
1401839bc:	48 8b 0b             	mov    (%rbx),%rcx
1401839bf:	48 8b 81 50 01 00 00 	mov    0x150(%rcx),%rax
1401839c6:	48 2b 81 48 01 00 00 	sub    0x148(%rcx),%rax
1401839cd:	48 c1 f8 04          	sar    $0x4,%rax
1401839d1:	4c 3b e0             	cmp    %rax,%r12
1401839d4:	73 21                	jae    0x1401839f7
1401839d6:	49 8b d4             	mov    %r12,%rdx
1401839d9:	e8 12 98 00 00       	call   0x14018d1f0
1401839de:	4c 8b f0             	mov    %rax,%r14
1401839e1:	48 8b 40 10          	mov    0x10(%rax),%rax
1401839e5:	48 85 c0             	test   %rax,%rax
1401839e8:	0f 85 a2 00 00 00    	jne    0x140183a90
1401839ee:	45 84 ff             	test   %r15b,%r15b
1401839f1:	0f 84 ff 00 00 00    	je     0x140183af6
1401839f7:	48 8b c7             	mov    %rdi,%rax
1401839fa:	48 2b c3             	sub    %rbx,%rax
1401839fd:	48 c1 f8 04          	sar    $0x4,%rax
140183a01:	48 85 c0             	test   %rax,%rax
140183a04:	0f 84 d5 04 00 00    	je     0x140183edf
140183a0a:	48 8b 0b             	mov    (%rbx),%rcx
140183a0d:	48 8b 81 50 01 00 00 	mov    0x150(%rcx),%rax
140183a14:	48 2b 81 48 01 00 00 	sub    0x148(%rcx),%rax
140183a1b:	48 c1 f8 04          	sar    $0x4,%rax
140183a1f:	4c 3b e0             	cmp    %rax,%r12
140183a22:	0f 83 5d 04 00 00    	jae    0x140183e85
140183a28:	4d 8b cc             	mov    %r12,%r9
140183a2b:	45 33 c0             	xor    %r8d,%r8d
140183a2e:	48 8d 55 b7          	lea    -0x49(%rbp),%rdx
140183a32:	e8 49 98 00 00       	call   0x14018d280
140183a37:	90                   	nop
140183a38:	48 8b c7             	mov    %rdi,%rax
140183a3b:	48 2b c3             	sub    %rbx,%rax
140183a3e:	48 c1 f8 04          	sar    $0x4,%rax
140183a42:	48 85 c0             	test   %rax,%rax
140183a45:	0f 84 33 04 00 00    	je     0x140183e7e
140183a4b:	48 8b 0b             	mov    (%rbx),%rcx
140183a4e:	4c 8b 89 50 01 00 00 	mov    0x150(%rcx),%r9
140183a55:	4c 2b 89 48 01 00 00 	sub    0x148(%rcx),%r9
140183a5c:	49 c1 f9 04          	sar    $0x4,%r9
140183a60:	4d 8b c4             	mov    %r12,%r8
140183a63:	48 8d 55 d7          	lea    -0x29(%rbp),%rdx
140183a67:	e8 14 98 00 00       	call   0x14018d280
140183a6c:	90                   	nop
140183a6d:	48 8b c7             	mov    %rdi,%rax
140183a70:	48 2b c3             	sub    %rbx,%rax
140183a73:	48 c1 f8 04          	sar    $0x4,%rax
140183a77:	48 85 c0             	test   %rax,%rax
140183a7a:	0f 85 87 00 00 00    	jne    0x140183b07
140183a80:	ff 15 12 8f 98 00    	call   *0x988f12(%rip)        # 0x140b0c998
140183a86:	90                   	nop
140183a87:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140183a8e:	00 00
140183a90:	45 33 ff             	xor    %r15d,%r15d
140183a93:	48 85 c0             	test   %rax,%rax
140183a96:	74 57                	je     0x140183aef
140183a98:	4c 3b f8             	cmp    %rax,%r15
140183a9b:	0f 87 3e 04 00 00    	ja     0x140183edf
140183aa1:	49 8b ce             	mov    %r14,%rcx
140183aa4:	49 83 7e 18 07       	cmpq   $0x7,0x18(%r14)
140183aa9:	76 03                	jbe    0x140183aae
140183aab:	49 8b 0e             	mov    (%r14),%rcx
140183aae:	42 0f b7 0c 79       	movzwl (%rcx,%r15,2),%ecx
140183ab3:	ff 15 e7 8f 98 00    	call   *0x988fe7(%rip)        # 0x140b0caa0
140183ab9:	85 c0                	test   %eax,%eax
140183abb:	75 26                	jne    0x140183ae3
140183abd:	4d 3b 7e 10          	cmp    0x10(%r14),%r15
140183ac1:	0f 87 18 04 00 00    	ja     0x140183edf
140183ac7:	49 8b ce             	mov    %r14,%rcx
140183aca:	49 83 7e 18 07       	cmpq   $0x7,0x18(%r14)
140183acf:	76 03                	jbe    0x140183ad4
140183ad1:	49 8b 0e             	mov    (%r14),%rcx
140183ad4:	42 0f b7 0c 79       	movzwl (%rcx,%r15,2),%ecx
140183ad9:	ff 15 e9 8f 98 00    	call   *0x988fe9(%rip)        # 0x140b0cac8
140183adf:	85 c0                	test   %eax,%eax
140183ae1:	74 1b                	je     0x140183afe
140183ae3:	49 ff c7             	inc    %r15
140183ae6:	49 8b 46 10          	mov    0x10(%r14),%rax
140183aea:	4c 3b f8             	cmp    %rax,%r15
140183aed:	72 b2                	jb     0x140183aa1
140183aef:	41 b7 01             	mov    $0x1,%r15b
140183af2:	44 88 7d 67          	mov    %r15b,0x67(%rbp)
140183af6:	49 ff c4             	inc    %r12
140183af9:	e9 b5 fe ff ff       	jmp    0x1401839b3
140183afe:	44 8a 7d 67          	mov    0x67(%rbp),%r15b
140183b02:	e9 e7 fe ff ff       	jmp    0x1401839ee
140183b07:	48 8b 0b             	mov    (%rbx),%rcx
140183b0a:	48 8b 01             	mov    (%rcx),%rax
140183b0d:	45 33 c0             	xor    %r8d,%r8d
140183b10:	48 8d 55 c7          	lea    -0x39(%rbp),%rdx
140183b14:	48 8b 40 20          	mov    0x20(%rax),%rax
140183b18:	ff 15 1a 91 98 00    	call   *0x98911a(%rip)        # 0x140b0cc38
140183b1e:	90                   	nop
140183b1f:	48 8b 4d c7          	mov    -0x39(%rbp),%rcx
140183b23:	48 8b 01             	mov    (%rcx),%rax
140183b26:	0f 57 c0             	xorps  %xmm0,%xmm0
140183b29:	66 0f 7f 45 e7       	movdqa %xmm0,-0x19(%rbp)
140183b2e:	48 8b 55 bf          	mov    -0x41(%rbp),%rdx
140183b32:	48 85 d2             	test   %rdx,%rdx
140183b35:	74 0c                	je     0x140183b43
140183b37:	f0 ff 42 08          	lock incl 0x8(%rdx)
140183b3b:	48 8b 7d ff          	mov    -0x1(%rbp),%rdi
140183b3f:	48 8b 5d f7          	mov    -0x9(%rbp),%rbx
140183b43:	0f 28 45 b7          	movaps -0x49(%rbp),%xmm0
140183b47:	66 0f 7f 45 e7       	movdqa %xmm0,-0x19(%rbp)
140183b4c:	48 8d 55 e7          	lea    -0x19(%rbp),%rdx
140183b50:	48 8b 40 48          	mov    0x48(%rax),%rax
140183b54:	ff 15 de 90 98 00    	call   *0x9890de(%rip)        # 0x140b0cc38
140183b5a:	4c 8b 75 ef          	mov    -0x11(%rbp),%r14
140183b5e:	41 83 cf ff          	or     $0xffffffff,%r15d