140008843:	7d 0a                	jge    0x14000884f
140008845:	66 03 c7             	add    %di,%ax
140008848:	66 89 05 d1 90 cb 00 	mov    %ax,0xcb90d1(%rip)        # 0x140cc1920
14000884f:	48 8b 05 9a 90 cb 00 	mov    0xcb909a(%rip),%rax        # 0x140cc18f0
140008856:	f0 ff 08             	lock decl (%rax)
140008859:	41 8d 47 ff          	lea    -0x1(%r15),%eax
14000885d:	3b c7                	cmp    %edi,%eax
14000885f:	76 6b                	jbe    0x1400088cc
140008861:	85 ed                	test   %ebp,%ebp
140008863:	75 67                	jne    0x1400088cc
140008865:	49 8b 0c 24          	mov    (%r12),%rcx
140008869:	48 85 c9             	test   %rcx,%rcx
14000886c:	74 5e                	je     0x1400088cc
14000886e:	4c 89 6c 24 70       	mov    %r13,0x70(%rsp)
140008873:	41 8a dd             	mov    %r13b,%bl
140008876:	41 83 ff 03          	cmp    $0x3,%r15d
14000887a:	74 1f                	je     0x14000889b
14000887c:	48 8b 01             	mov    (%rcx),%rax
14000887f:	4c 8d 44 24 70       	lea    0x70(%rsp),%r8
140008884:	48 8d 15 0d 66 b3 00 	lea    0xb3660d(%rip),%rdx        # 0x140b3ee98
14000888b:	48 8b 00             	mov    (%rax),%rax
14000888e:	ff 15 a4 43 b0 00    	call   *0xb043a4(%rip)        # 0x140b0cc38
140008894:	40 8a df             	mov    %dil,%bl
140008897:	85 c0                	test   %eax,%eax
140008899:	78 31                	js     0x1400088cc
14000889b:	48 8d 8c 24 80 00 00 	lea    0x80(%rsp),%rcx
1400088a2:	00
1400088a3:	e8 88 f8 ff ff       	call   0x140008130
1400088a8:	84 db                	test   %bl,%bl
1400088aa:	74 17                	je     0x1400088c3
1400088ac:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1400088b1:	48 85 c9             	test   %rcx,%rcx
1400088b4:	74 0d                	je     0x1400088c3
1400088b6:	48 8b 01             	mov    (%rcx),%rax
1400088b9:	48 8b 40 10          	mov    0x10(%rax),%rax
1400088bd:	ff 15 75 43 b0 00    	call   *0xb04375(%rip)        # 0x140b0cc38
1400088c3:	4d 89 2c 24          	mov    %r13,(%r12)
1400088c7:	bd 02 40 00 80       	mov    $0x80004002,%ebp
1400088cc:	8b c5                	mov    %ebp,%eax
1400088ce:	48 8b 8c 24 d0 00 00 	mov    0xd0(%rsp),%rcx
1400088d5:	00
1400088d6:	48 33 cc             	xor    %rsp,%rcx
1400088d9:	e8 02 6d ae 00       	call   0x140aef5e0
1400088de:	48 8b 9c 24 28 01 00 	mov    0x128(%rsp),%rbx
1400088e5:	00
1400088e6:	48 81 c4 e0 00 00 00 	add    $0xe0,%rsp
1400088ed:	41 5f                	pop    %r15
1400088ef:	41 5e                	pop    %r14
1400088f1:	41 5d                	pop    %r13
1400088f3:	41 5c                	pop    %r12
1400088f5:	5f                   	pop    %rdi
1400088f6:	5e                   	pop    %rsi
1400088f7:	5d                   	pop    %rbp
1400088f8:	c3                   	ret
1400088f9:	90                   	nop
1400088fa:	90                   	nop
1400088fb:	90                   	nop
1400088fc:	48 8b c4             	mov    %rsp,%rax
1400088ff:	48 89 50 10          	mov    %rdx,0x10(%rax)
140008903:	4c 89 40 18          	mov    %r8,0x18(%rax)
140008907:	4c 89 48 20          	mov    %r9,0x20(%rax)
14000890b:	53                   	push   %rbx
14000890c:	56                   	push   %rsi
14000890d:	57                   	push   %rdi
14000890e:	48 83 ec 40          	sub    $0x40,%rsp
140008912:	48 8b da             	mov    %rdx,%rbx
140008915:	48 8d 70 18          	lea    0x18(%rax),%rsi
140008919:	48 8b f9             	mov    %rcx,%rdi
14000891c:	e8 ff f6 ff ff       	call   0x140008020
140008921:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140008926:	4c 8b cb             	mov    %rbx,%r9
140008929:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14000892f:	41 b8 18 00 00 00    	mov    $0x18,%r8d
140008935:	48 8b d7             	mov    %rdi,%rdx
140008938:	48 8b 08             	mov    (%rax),%rcx
14000893b:	ff 15 77 40 b0 00    	call   *0xb04077(%rip)        # 0x140b0c9b8
140008941:	83 c9 ff             	or     $0xffffffff,%ecx
140008944:	85 c0                	test   %eax,%eax
140008946:	0f 48 c1             	cmovs  %ecx,%eax
140008949:	48 83 c4 40          	add    $0x40,%rsp
14000894d:	5f                   	pop    %rdi
14000894e:	5e                   	pop    %rsi
14000894f:	5b                   	pop    %rbx
140008950:	c3                   	ret
140008951:	90                   	nop
140008952:	90                   	nop
140008953:	90                   	nop
140008954:	48 8b c4             	mov    %rsp,%rax
140008957:	48 89 50 10          	mov    %rdx,0x10(%rax)
14000895b:	4c 89 40 18          	mov    %r8,0x18(%rax)
14000895f:	4c 89 48 20          	mov    %r9,0x20(%rax)
140008963:	53                   	push   %rbx
140008964:	56                   	push   %rsi
140008965:	57                   	push   %rdi
140008966:	48 83 ec 40          	sub    $0x40,%rsp
14000896a:	48 8b da             	mov    %rdx,%rbx
14000896d:	48 8d 70 18          	lea    0x18(%rax),%rsi
140008971:	48 8b f9             	mov    %rcx,%rdi
140008974:	e8 a7 f6 ff ff       	call   0x140008020
140008979:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
14000897e:	4c 8b cb             	mov    %rbx,%r9
140008981:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
140008987:	41 b8 44 01 00 00    	mov    $0x144,%r8d
14000898d:	48 8b d7             	mov    %rdi,%rdx
140008990:	48 8b 08             	mov    (%rax),%rcx
140008993:	ff 15 1f 40 b0 00    	call   *0xb0401f(%rip)        # 0x140b0c9b8
140008999:	83 c9 ff             	or     $0xffffffff,%ecx
14000899c:	85 c0                	test   %eax,%eax
14000899e:	0f 48 c1             	cmovs  %ecx,%eax
1400089a1:	48 83 c4 40          	add    $0x40,%rsp
1400089a5:	5f                   	pop    %rdi
1400089a6:	5e                   	pop    %rsi
1400089a7:	5b                   	pop    %rbx
1400089a8:	c3                   	ret
1400089a9:	90                   	nop
1400089aa:	90                   	nop
1400089ab:	90                   	nop
1400089ac:	48 8b c4             	mov    %rsp,%rax
1400089af:	48 89 50 10          	mov    %rdx,0x10(%rax)
1400089b3:	4c 89 40 18          	mov    %r8,0x18(%rax)
1400089b7:	4c 89 48 20          	mov    %r9,0x20(%rax)
1400089bb:	53                   	push   %rbx
1400089bc:	56                   	push   %rsi
1400089bd:	57                   	push   %rdi
1400089be:	48 83 ec 40          	sub    $0x40,%rsp
1400089c2:	48 8b da             	mov    %rdx,%rbx
1400089c5:	48 8d 70 18          	lea    0x18(%rax),%rsi
1400089c9:	48 8b f9             	mov    %rcx,%rdi
1400089cc:	e8 4f f6 ff ff       	call   0x140008020
1400089d1:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
1400089d6:	4c 8b cb             	mov    %rbx,%r9
1400089d9:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400089df:	41 b8 28 00 00 00    	mov    $0x28,%r8d
1400089e5:	48 8b d7             	mov    %rdi,%rdx
1400089e8:	48 8b 08             	mov    (%rax),%rcx
1400089eb:	ff 15 c7 3f b0 00    	call   *0xb03fc7(%rip)        # 0x140b0c9b8
1400089f1:	83 c9 ff             	or     $0xffffffff,%ecx
1400089f4:	85 c0                	test   %eax,%eax
1400089f6:	0f 48 c1             	cmovs  %ecx,%eax
1400089f9:	48 83 c4 40          	add    $0x40,%rsp
1400089fd:	5f                   	pop    %rdi
1400089fe:	5e                   	pop    %rsi
1400089ff:	5b                   	pop    %rbx
140008a00:	c3                   	ret
140008a01:	90                   	nop
140008a02:	90                   	nop
140008a03:	90                   	nop
140008a04:	90                   	nop
140008a05:	90                   	nop
140008a06:	90                   	nop
140008a07:	90                   	nop
140008a08:	90                   	nop
140008a09:	90                   	nop
140008a0a:	90                   	nop
140008a0b:	90                   	nop
140008a0c:	90                   	nop
140008a0d:	90                   	nop
140008a0e:	90                   	nop
140008a0f:	90                   	nop
140008a10:	c2 00 00             	ret    $0x0
140008a13:	90                   	nop
140008a14:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140008a19:	57                   	push   %rdi
140008a1a:	48 83 ec 20          	sub    $0x20,%rsp
140008a1e:	48 8b d9             	mov    %rcx,%rbx
140008a21:	ff 15 81 3a b0 00    	call   *0xb03a81(%rip)        # 0x140b0c4a8
140008a27:	48 8b f8             	mov    %rax,%rdi
140008a2a:	ff 15 80 3a b0 00    	call   *0xb03a80(%rip)        # 0x140b0c4b0
140008a30:	4c 8b c8             	mov    %rax,%r9
140008a33:	48 81 ff 80 96 98 00 	cmp    $0x989680,%rdi
140008a3a:	75 09                	jne    0x140008a45
140008a3c:	49 6b c1 64          	imul   $0x64,%r9,%rax
140008a40:	e9 80 00 00 00       	jmp    0x140008ac5
140008a45:	48 81 ff 00 36 6e 01 	cmp    $0x16e3600,%rdi
140008a4c:	75 59                	jne    0x140008aa7
140008a4e:	49 ba f3 8c 90 94 07 	movabs $0xb2f4fc0794908cf3,%r10
140008a55:	fc f4 b2
140008a58:	49 8b c2             	mov    %r10,%rax
140008a5b:	49 f7 e9             	imul   %r9
140008a5e:	49 8b c2             	mov    %r10,%rax
140008a61:	4d 8d 04 11          	lea    (%r9,%rdx,1),%r8
140008a65:	49 c1 f8 18          	sar    $0x18,%r8
140008a69:	49 8b c8             	mov    %r8,%rcx
140008a6c:	48 c1 e9 3f          	shr    $0x3f,%rcx
140008a70:	4c 03 c1             	add    %rcx,%r8
140008a73:	49 69 c8 00 36 6e 01 	imul   $0x16e3600,%r8,%rcx
140008a7a:	4c 2b c9             	sub    %rcx,%r9
140008a7d:	49 69 c9 00 ca 9a 3b 	imul   $0x3b9aca00,%r9,%rcx
140008a84:	48 f7 e9             	imul   %rcx
140008a87:	48 03 d1             	add    %rcx,%rdx
140008a8a:	48 c1 fa 18          	sar    $0x18,%rdx
140008a8e:	48 8b c2             	mov    %rdx,%rax
140008a91:	48 c1 e8 3f          	shr    $0x3f,%rax
140008a95:	48 03 d0             	add    %rax,%rdx
140008a98:	49 69 c0 00 ca 9a 3b 	imul   $0x3b9aca00,%r8,%rax
140008a9f:	48 03 d0             	add    %rax,%rdx
140008aa2:	48 89 13             	mov    %rdx,(%rbx)
140008aa5:	eb 21                	jmp    0x140008ac8
140008aa7:	48 99                	cqto
140008aa9:	48 f7 ff             	idiv   %rdi
140008aac:	48 8b c8             	mov    %rax,%rcx
140008aaf:	48 69 c2 00 ca 9a 3b 	imul   $0x3b9aca00,%rdx,%rax
140008ab6:	48 69 c9 00 ca 9a 3b 	imul   $0x3b9aca00,%rcx,%rcx
140008abd:	48 99                	cqto
140008abf:	48 f7 ff             	idiv   %rdi
140008ac2:	48 03 c1             	add    %rcx,%rax
140008ac5:	48 89 03             	mov    %rax,(%rbx)
140008ac8:	48 8b c3             	mov    %rbx,%rax
140008acb:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140008ad0:	48 83 c4 20          	add    $0x20,%rsp
140008ad4:	5f                   	pop    %rdi
140008ad5:	c3                   	ret
140008ad6:	90                   	nop
140008ad7:	90                   	nop
140008ad8:	90                   	nop
140008ad9:	90                   	nop
140008ada:	90                   	nop
140008adb:	90                   	nop
140008adc:	90                   	nop
140008add:	90                   	nop
140008ade:	90                   	nop
140008adf:	90                   	nop
140008ae0:	48 8b c4             	mov    %rsp,%rax
140008ae3:	48 89 58 08          	mov    %rbx,0x8(%rax)
140008ae7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140008aeb:	48 89 78 20          	mov    %rdi,0x20(%rax)
140008aef:	55                   	push   %rbp
140008af0:	41 54                	push   %r12
140008af2:	41 55                	push   %r13
140008af4:	41 56                	push   %r14
140008af6:	41 57                	push   %r15
140008af8:	48 8d 68 a1          	lea    -0x5f(%rax),%rbp
140008afc:	48 81 ec d0 00 00 00 	sub    $0xd0,%rsp
140008b03:	48 8b 05 36 65 cb 00 	mov    0xcb6536(%rip),%rax        # 0x140cbf040
140008b0a:	48 33 c4             	xor    %rsp,%rax
140008b0d:	48 89 45 2f          	mov    %rax,0x2f(%rbp)
140008b11:	4c 8b fa             	mov    %rdx,%r15
140008b14:	48 89 55 9f          	mov    %rdx,-0x61(%rbp)
140008b18:	83 f9 03             	cmp    $0x3,%ecx
140008b1b:	0f 85 06 03 00 00    	jne    0x140008e27
140008b21:	b9 01 00 00 00       	mov    $0x1,%ecx
140008b26:	01 0d 84 17 d2 00    	add    %ecx,0xd21784(%rip)        # 0x140d2a2b0
140008b2c:	8b f1                	mov    %ecx,%esi
140008b2e:	4c 8d 62 18          	lea    0x18(%rdx),%r12
140008b32:	45 33 ed             	xor    %r13d,%r13d
140008b35:	48 8b 05 6c 17 d2 00 	mov    0xd2176c(%rip),%rax        # 0x140d2a2a8
140008b3c:	48 85 c0             	test   %rax,%rax
140008b3f:	74 14                	je     0x140008b55
140008b41:	45 33 c0             	xor    %r8d,%r8d
140008b44:	41 8d 50 32          	lea    0x32(%r8),%edx
140008b48:	8b ce                	mov    %esi,%ecx
140008b4a:	ff 15 e8 40 b0 00    	call   *0xb040e8(%rip)        # 0x140b0cc38
140008b50:	b9 01 00 00 00       	mov    $0x1,%ecx
140008b55:	48 8b 05 44 18 d2 00 	mov    0xd21844(%rip),%rax        # 0x140d2a3a0
140008b5c:	48 85 c0             	test   %rax,%rax
140008b5f:	74 18                	je     0x140008b79
140008b61:	49 8b d7             	mov    %r15,%rdx
140008b64:	ff 15 ce 40 b0 00    	call   *0xb040ce(%rip)        # 0x140b0cc38
140008b6a:	48 8b f8             	mov    %rax,%rdi
140008b6d:	4d 8b f4             	mov    %r12,%r14
140008b70:	48 85 c0             	test   %rax,%rax
140008b73:	0f 85 dd 02 00 00    	jne    0x140008e56
140008b79:	4d 8d 77 18          	lea    0x18(%r15),%r14
140008b7d:	49 8b 1e             	mov    (%r14),%rbx
140008b80:	44 38 2b             	cmp    %r13b,(%rbx)
140008b83:	75 07                	jne    0x140008b8c
140008b85:	b9 05 00 00 00       	mov    $0x5,%ecx
140008b8a:	cd 29                	int    $0x29
140008b8c:	33 d2                	xor    %edx,%edx
140008b8e:	41 b8 00 10 00 00    	mov    $0x1000,%r8d
140008b94:	48 8b cb             	mov    %rbx,%rcx
140008b97:	ff 15 2b 36 b0 00    	call   *0xb0362b(%rip)        # 0x140b0c1c8
140008b9d:	48 8b f8             	mov    %rax,%rdi
140008ba0:	48 85 c0             	test   %rax,%rax
140008ba3:	75 3e                	jne    0x140008be3
140008ba5:	ff 15 65 36 b0 00    	call   *0xb03665(%rip)        # 0x140b0c210
140008bab:	83 f8 57             	cmp    $0x57,%eax
140008bae:	75 33                	jne    0x140008be3
140008bb0:	48 8d 0d c9 64 b3 00 	lea    0xb364c9(%rip),%rcx        # 0x140b3f080
140008bb7:	ff 15 03 36 b0 00    	call   *0xb03603(%rip)        # 0x140b0c1c0
140008bbd:	48 8b c8             	mov    %rax,%rcx
140008bc0:	48 8d 15 a9 64 b3 00 	lea    0xb364a9(%rip),%rdx        # 0x140b3f070
140008bc7:	ff 15 0b 36 b0 00    	call   *0xb0360b(%rip)        # 0x140b0c1d8
140008bcd:	48 85 c0             	test   %rax,%rax
140008bd0:	75 11                	jne    0x140008be3
140008bd2:	45 33 c0             	xor    %r8d,%r8d
140008bd5:	33 d2                	xor    %edx,%edx
140008bd7:	48 8b cb             	mov    %rbx,%rcx
140008bda:	ff 15 e8 35 b0 00    	call   *0xb035e8(%rip)        # 0x140b0c1c8
140008be0:	48 8b f8             	mov    %rax,%rdi
140008be3:	48 85 ff             	test   %rdi,%rdi
140008be6:	0f 85 6a 02 00 00    	jne    0x140008e56
140008bec:	8b fe                	mov    %esi,%edi
140008bee:	48 8d 4d 97          	lea    -0x69(%rbp),%rcx
140008bf2:	e8 1d fe ff ff       	call   0x140008a14
140008bf7:	48 8b 5d 97          	mov    -0x69(%rbp),%rbx
140008bfb:	85 f6                	test   %esi,%esi
140008bfd:	74 3a                	je     0x140008c39
140008bff:	48 69 d7 80 96 98 00 	imul   $0x989680,%rdi,%rdx
140008c06:	48 bf ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdi
140008c0d:	ff ff 7f
140008c10:	48 8b cf             	mov    %rdi,%rcx
140008c13:	48 2b ca             	sub    %rdx,%rcx
140008c16:	48 3b d9             	cmp    %rcx,%rbx
140008c19:	75 05                	jne    0x140008c20
140008c1b:	41 8a c5             	mov    %r13b,%al
140008c1e:	eb 0d                	jmp    0x140008c2d
140008c20:	b8 ff 00 00 00       	mov    $0xff,%eax
140008c25:	b9 01 00 00 00       	mov    $0x1,%ecx
140008c2a:	0f 4d c1             	cmovge %ecx,%eax
140008c2d:	84 c0                	test   %al,%al
140008c2f:	79 05                	jns    0x140008c36
140008c31:	48 03 da             	add    %rdx,%rbx
140008c34:	eb 03                	jmp    0x140008c39
140008c36:	48 8b df             	mov    %rdi,%rbx
140008c39:	48 bf 00 00 4f 91 94 	movabs $0x4e94914f0000,%rdi
140008c40:	4e 00 00
140008c43:	41 bc 01 00 00 00    	mov    $0x1,%r12d
140008c49:	41 bf ff 00 00 00    	mov    $0xff,%r15d
140008c4f:	48 8d 4d e7          	lea    -0x19(%rbp),%rcx
140008c53:	e8 bc fd ff ff       	call   0x140008a14
140008c58:	48 8b 45 e7          	mov    -0x19(%rbp),%rax
140008c5c:	48 3b d8             	cmp    %rax,%rbx
140008c5f:	75 05                	jne    0x140008c66
140008c61:	41 8a cd             	mov    %r13b,%cl
140008c64:	eb 07                	jmp    0x140008c6d
140008c66:	41 8b cc             	mov    %r12d,%ecx
140008c69:	41 0f 4c cf          	cmovl  %r15d,%ecx
140008c6d:	84 c9                	test   %cl,%cl
140008c6f:	7e 69                	jle    0x140008cda
140008c71:	48 8b cb             	mov    %rbx,%rcx
140008c74:	48 2b c8             	sub    %rax,%rcx
140008c77:	48 3b cf             	cmp    %rdi,%rcx
140008c7a:	75 05                	jne    0x140008c81
140008c7c:	41 8a c5             	mov    %r13b,%al
140008c7f:	eb 07                	jmp    0x140008c88
140008c81:	41 8b c7             	mov    %r15d,%eax
140008c84:	41 0f 4d c4          	cmovge %r12d,%eax
140008c88:	84 c0                	test   %al,%al
140008c8a:	78 07                	js     0x140008c93
140008c8c:	b9 00 5c 26 05       	mov    $0x5265c00,%ecx
140008c91:	eb 3d                	jmp    0x140008cd0
140008c93:	48 b8 db 34 b6 d7 82 	movabs $0x431bde82d7b634db,%rax
140008c9a:	de 1b 43
140008c9d:	48 f7 e9             	imul   %rcx
140008ca0:	48 c1 fa 12          	sar    $0x12,%rdx
140008ca4:	48 8b c2             	mov    %rdx,%rax
140008ca7:	48 c1 e8 3f          	shr    $0x3f,%rax
140008cab:	48 03 d0             	add    %rax,%rdx
140008cae:	48 69 c2 40 42 0f 00 	imul   $0xf4240,%rdx,%rax