14006ac48:	ff ff 7f
14006ac4b:	48 8b 51 28          	mov    0x28(%rcx),%rdx
14006ac4f:	48 8b 49 30          	mov    0x30(%rcx),%rcx
14006ac53:	4e 8d 0c 01          	lea    (%rcx,%r8,1),%r9
14006ac57:	49 83 c1 02          	add    $0x2,%r9
14006ac5b:	49 83 f9 02          	cmp    $0x2,%r9
14006ac5f:	73 12                	jae    0x14006ac73
14006ac61:	48 39 ca             	cmp    %rcx,%rdx
14006ac64:	74 23                	je     0x14006ac89
14006ac66:	49 8d 50 01          	lea    0x1(%r8),%rdx
14006ac6a:	48 85 c9             	test   %rcx,%rcx
14006ac6d:	49 0f 48 d0          	cmovs  %r8,%rdx
14006ac71:	eb ca                	jmp    0x14006ac3d
14006ac73:	45 31 c9             	xor    %r9d,%r9d
14006ac76:	48 39 ca             	cmp    %rcx,%rdx
14006ac79:	41 0f 99 c1          	setns  %r9b
14006ac7d:	4d 01 c1             	add    %r8,%r9
14006ac80:	48 29 ca             	sub    %rcx,%rdx
14006ac83:	49 0f 40 d1          	cmovo  %r9,%rdx
14006ac87:	eb b4                	jmp    0x14006ac3d
14006ac89:	cc                   	int3
14006ac8a:	0f 0b                	ud2
14006ac8c:	cc                   	int3
14006ac8d:	cc                   	int3
14006ac8e:	cc                   	int3
14006ac8f:	cc                   	int3
14006ac90:	48 89 d0             	mov    %rdx,%rax
14006ac93:	83 79 38 00          	cmpl   $0x0,0x38(%rcx)
14006ac97:	75 3c                	jne    0x14006acd5
14006ac99:	49 b8 01 00 00 00 00 	movabs $0x8000000000000001,%r8
14006aca0:	00 00 80
14006aca3:	48 8b 51 28          	mov    0x28(%rcx),%rdx
14006aca7:	48 8b 49 30          	mov    0x30(%rcx),%rcx
14006acab:	4e 8d 0c 01          	lea    (%rcx,%r8,1),%r9
14006acaf:	49 83 f9 02          	cmp    $0x2,%r9
14006acb3:	72 28                	jb     0x14006acdd
14006acb5:	4c 8d 04 0a          	lea    (%rdx,%rcx,1),%r8
14006acb9:	49 c1 f8 3f          	sar    $0x3f,%r8
14006acbd:	49 b9 00 00 00 00 00 	movabs $0x8000000000000000,%r9
14006acc4:	00 00 80
14006acc7:	4d 31 c1             	xor    %r8,%r9
14006acca:	48 01 ca             	add    %rcx,%rdx
14006accd:	49 0f 40 d1          	cmovo  %r9,%rdx
14006acd1:	48 89 10             	mov    %rdx,(%rax)
14006acd4:	c3                   	ret
14006acd5:	48 8b 49 28          	mov    0x28(%rcx),%rcx
14006acd9:	48 89 08             	mov    %rcx,(%rax)
14006acdc:	c3                   	ret
14006acdd:	49 01 d0             	add    %rdx,%r8
14006ace0:	49 83 f8 02          	cmp    $0x2,%r8
14006ace4:	41 0f 93 c0          	setae  %r8b
14006ace8:	48 39 ca             	cmp    %rcx,%rdx
14006aceb:	0f 94 c2             	sete   %dl
14006acee:	44 08 c2             	or     %r8b,%dl
14006acf1:	75 e6                	jne    0x14006acd9
14006acf3:	cc                   	int3
14006acf4:	0f 0b                	ud2
14006acf6:	cc                   	int3
14006acf7:	cc                   	int3
14006acf8:	cc                   	int3
14006acf9:	cc                   	int3
14006acfa:	cc                   	int3
14006acfb:	cc                   	int3
14006acfc:	cc                   	int3
14006acfd:	cc                   	int3
14006acfe:	cc                   	int3
14006acff:	cc                   	int3
14006ad00:	48 89 d0             	mov    %rdx,%rax
14006ad03:	48 ba ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rdx
14006ad0a:	ff ff 7f
14006ad0d:	80 79 58 01          	cmpb   $0x1,0x58(%rcx)
14006ad11:	74 04                	je     0x14006ad17
14006ad13:	48 89 10             	mov    %rdx,(%rax)
14006ad16:	c3                   	ret
14006ad17:	48 8b 49 48          	mov    0x48(%rcx),%rcx
14006ad1b:	f2 48 0f 2a 41 30    	cvtsi2sdq 0x30(%rcx),%xmm0
14006ad21:	f2 0f 59 05 ef 95 08 	mulsd  0x895ef(%rip),%xmm0        # 0x1400f4318
14006ad28:	00
14006ad29:	31 c9                	xor    %ecx,%ecx
14006ad2b:	f2 0f 10 0d 45 94 08 	movsd  0x89445(%rip),%xmm1        # 0x1400f4178
14006ad32:	00
14006ad33:	66 0f 2e c1          	ucomisd %xmm1,%xmm0
14006ad37:	48 0f 42 d1          	cmovb  %rcx,%rdx
14006ad3b:	f2 0f 10 15 2d 94 08 	movsd  0x8942d(%rip),%xmm2        # 0x1400f4170
14006ad42:	00
14006ad43:	66 0f 2e d0          	ucomisd %xmm0,%xmm2
14006ad47:	f2 0f 5f c1          	maxsd  %xmm1,%xmm0
14006ad4b:	f2 48 0f 2c c8       	cvttsd2si %xmm0,%rcx
14006ad50:	48 0f 43 d1          	cmovae %rcx,%rdx
14006ad54:	eb bd                	jmp    0x14006ad13
14006ad56:	cc                   	int3
14006ad57:	cc                   	int3
14006ad58:	cc                   	int3
14006ad59:	cc                   	int3
14006ad5a:	cc                   	int3
14006ad5b:	cc                   	int3
14006ad5c:	cc                   	int3
14006ad5d:	cc                   	int3
14006ad5e:	cc                   	int3
14006ad5f:	cc                   	int3
14006ad60:	41 57                	push   %r15
14006ad62:	41 56                	push   %r14
14006ad64:	41 55                	push   %r13
14006ad66:	41 54                	push   %r12
14006ad68:	56                   	push   %rsi
14006ad69:	57                   	push   %rdi
14006ad6a:	55                   	push   %rbp
14006ad6b:	53                   	push   %rbx
14006ad6c:	48 81 ec d8 00 00 00 	sub    $0xd8,%rsp
14006ad73:	0f 29 b4 24 c0 00 00 	movaps %xmm6,0xc0(%rsp)
14006ad7a:	00
14006ad7b:	4d 89 c7             	mov    %r8,%r15
14006ad7e:	48 89 d6             	mov    %rdx,%rsi
14006ad81:	49 89 ce             	mov    %rcx,%r14
14006ad84:	48 8b 05 b5 62 09 00 	mov    0x962b5(%rip),%rax        # 0x140101040
14006ad8b:	48 31 e0             	xor    %rsp,%rax
14006ad8e:	48 89 84 24 b8 00 00 	mov    %rax,0xb8(%rsp)
14006ad95:	00
14006ad96:	0f 28 35 73 5b 07 00 	movaps 0x75b73(%rip),%xmm6        # 0x1400e0910
14006ad9d:	48 8d 7c 24 30       	lea    0x30(%rsp),%rdi
14006ada2:	0f 29 77 50          	movaps %xmm6,0x50(%rdi)
14006ada6:	0f 29 77 40          	movaps %xmm6,0x40(%rdi)
14006adaa:	0f 29 77 30          	movaps %xmm6,0x30(%rdi)
14006adae:	0f 29 77 20          	movaps %xmm6,0x20(%rdi)
14006adb2:	0f 29 77 10          	movaps %xmm6,0x10(%rdi)
14006adb6:	0f 29 37             	movaps %xmm6,(%rdi)
14006adb9:	48 8b 51 48          	mov    0x48(%rcx),%rdx
14006adbd:	48 89 f9             	mov    %rdi,%rcx
14006adc0:	e8 9b dc ff ff       	call   0x140068a60
14006adc5:	48 8d 05 04 6d 07 00 	lea    0x76d04(%rip),%rax        # 0x1400e1ad0
14006adcc:	48 89 07             	mov    %rax,(%rdi)
14006adcf:	48 c7 47 48 00 00 00 	movq   $0x0,0x48(%rdi)
14006add6:	00
14006add7:	49 8b 5e 48          	mov    0x48(%r14),%rbx
14006addb:	48 83 c3 68          	add    $0x68,%rbx
14006addf:	48 89 d9             	mov    %rbx,%rcx
14006ade2:	ff 15 28 cb 08 00    	call   *0x8cb28(%rip)        # 0x1400f7910
14006ade8:	84 c0                	test   %al,%al
14006adea:	0f 84 98 02 00 00    	je     0x14006b088
14006adf0:	b9 c0 01 00 00       	mov    $0x1c0,%ecx
14006adf5:	49 03 4e 48          	add    0x48(%r14),%rcx
14006adf9:	e8 82 30 00 00       	call   0x14006de80
14006adfe:	4c 39 f8             	cmp    %r15,%rax
14006ae01:	0f 84 0f 05 00 00    	je     0x14006b316
14006ae07:	48 8d bc 24 a0 00 00 	lea    0xa0(%rsp),%rdi
14006ae0e:	00
14006ae0f:	4c 89 f9             	mov    %r15,%rcx
14006ae12:	48 89 fa             	mov    %rdi,%rdx
14006ae15:	e8 86 16 00 00       	call   0x14006c4a0
14006ae1a:	48 83 3f 00          	cmpq   $0x0,(%rdi)
14006ae1e:	0f 85 f2 04 00 00    	jne    0x14006b316
14006ae24:	49 8b 4e 48          	mov    0x48(%r14),%rcx
14006ae28:	48 8b 81 88 01 00 00 	mov    0x188(%rcx),%rax
14006ae2f:	48 2b 81 80 01 00 00 	sub    0x180(%rcx),%rax
14006ae36:	48 c1 f8 03          	sar    $0x3,%rax
14006ae3a:	48 2b 81 d0 01 00 00 	sub    0x1d0(%rcx),%rax
14006ae41:	48 3b 81 10 01 00 00 	cmp    0x110(%rcx),%rax
14006ae48:	0f 87 f6 04 00 00    	ja     0x14006b344
14006ae4e:	48 8d bc 24 a0 00 00 	lea    0xa0(%rsp),%rdi
14006ae55:	00
14006ae56:	0f 29 37             	movaps %xmm6,(%rdi)
14006ae59:	48 89 f9             	mov    %rdi,%rcx
14006ae5c:	e8 8f f9 ff ff       	call   0x14006a7f0
14006ae61:	48 83 3f 00          	cmpq   $0x0,(%rdi)
14006ae65:	0f 85 64 04 00 00    	jne    0x14006b2cf
14006ae6b:	40 b5 aa             	mov    $0xaa,%bpl
14006ae6e:	4c 8d a4 24 90 00 00 	lea    0x90(%rsp),%r12
14006ae75:	00
14006ae76:	4c 8d 6c 24 30       	lea    0x30(%rsp),%r13
14006ae7b:	48 8d bc 24 a0 00 00 	lea    0xa0(%rsp),%rdi
14006ae82:	00
14006ae83:	49 8b 4e 48          	mov    0x48(%r14),%rcx
14006ae87:	48 83 c1 78          	add    $0x78,%rcx
14006ae8b:	e8 e0 23 00 00       	call   0x14006d270
14006ae90:	84 c0                	test   %al,%al
14006ae92:	0f 85 fd 01 00 00    	jne    0x14006b095
14006ae98:	49 8b 4e 48          	mov    0x48(%r14),%rcx
14006ae9c:	48 83 c1 78          	add    $0x78,%rcx
14006aea0:	e8 9b 23 00 00       	call   0x14006d240
14006aea5:	40 8a 28             	mov    (%rax),%bpl
14006aea8:	49 8b 46 48          	mov    0x48(%r14),%rax
14006aeac:	48 8b 48 08          	mov    0x8(%rax),%rcx
14006aeb0:	89 ea                	mov    %ebp,%edx
14006aeb2:	e8 d9 e7 ff ff       	call   0x140069690
14006aeb7:	84 c0                	test   %al,%al
14006aeb9:	0f 84 d6 01 00 00    	je     0x14006b095
14006aebf:	49 8b 4e 48          	mov    0x48(%r14),%rcx
14006aec3:	40 84 ed             	test   %bpl,%bpl
14006aec6:	0f 84 e4 02 00 00    	je     0x14006b1b0
14006aecc:	4c 89 e2             	mov    %r12,%rdx
14006aecf:	4d 89 e8             	mov    %r13,%r8
14006aed2:	e8 99 de ff ff       	call   0x140068d70
14006aed7:	48 89 f9             	mov    %rdi,%rcx
14006aeda:	4c 89 e2             	mov    %r12,%rdx
14006aedd:	e8 0e fa ff ff       	call   0x14006a8f0
14006aee2:	4c 89 e1             	mov    %r12,%rcx
14006aee5:	e8 36 f9 ff ff       	call   0x14006a820
14006aeea:	48 83 bc 24 a0 00 00 	cmpq   $0x0,0xa0(%rsp)
14006aef1:	00 00
14006aef3:	74 8e                	je     0x14006ae83
14006aef5:	49 8b 4e 48          	mov    0x48(%r14),%rcx
14006aef9:	89 ea                	mov    %ebp,%edx
14006aefb:	e8 30 e4 ff ff       	call   0x140069330
14006af00:	40 0f b6 c5          	movzbl %bpl,%eax
14006af04:	0d 00 01 00 00       	or     $0x100,%eax
14006af09:	66 41 89 46 38       	mov    %ax,0x38(%r14)
14006af0e:	48 8b 84 24 a0 00 00 	mov    0xa0(%rsp),%rax
14006af15:	00
14006af16:	0f b6 40 0d          	movzbl 0xd(%rax),%eax
14006af1a:	83 e0 7f             	and    $0x7f,%eax
14006af1d:	0d 00 01 00 00       	or     $0x100,%eax
14006af22:	66 41 89 46 3a       	mov    %ax,0x3a(%r14)
14006af27:	4d 8b 76 48          	mov    0x48(%r14),%r14
14006af2b:	49 8b 06             	mov    (%r14),%rax
14006af2e:	48 8b 40 48          	mov    0x48(%rax),%rax
14006af32:	48 8d 0d f7 0c 00 00 	lea    0xcf7(%rip),%rcx        # 0x14006bc30
14006af39:	48 39 c8             	cmp    %rcx,%rax
14006af3c:	0f 85 42 04 00 00    	jne    0x14006b384
14006af42:	49 83 be 10 01 00 00 	cmpq   $0x0,0x110(%r14)
14006af49:	00
14006af4a:	0f 84 26 01 00 00    	je     0x14006b076
14006af50:	41 80 be b0 01 00 00 	cmpb   $0x0,0x1b0(%r14)
14006af57:	00
14006af58:	0f 85 18 01 00 00    	jne    0x14006b076
14006af5e:	4c 89 f1             	mov    %r14,%rcx
14006af61:	e8 da df ff ff       	call   0x140068f40
14006af66:	49 89 c7             	mov    %rax,%r15
14006af69:	4d 8b ae 88 01 00 00 	mov    0x188(%r14),%r13
14006af70:	4d 2b ae 80 01 00 00 	sub    0x180(%r14),%r13
14006af77:	49 c1 fd 03          	sar    $0x3,%r13
14006af7b:	4d 2b ae d0 01 00 00 	sub    0x1d0(%r14),%r13
14006af82:	4c 29 e8             	sub    %r13,%rax
14006af85:	0f 86 ad 00 00 00    	jbe    0x14006b038
14006af8b:	4d 8d a6 c0 01 00 00 	lea    0x1c0(%r14),%r12
14006af92:	48 8d ac 24 80 00 00 	lea    0x80(%rsp),%rbp
14006af99:	00
14006af9a:	48 83 f8 02          	cmp    $0x2,%rax
14006af9e:	bf 01 00 00 00       	mov    $0x1,%edi
14006afa3:	48 83 df ff          	sbb    $0xffffffffffffffff,%rdi
14006afa7:	49 8b 86 88 01 00 00 	mov    0x188(%r14),%rax
14006afae:	49 2b 86 80 01 00 00 	sub    0x180(%r14),%rax
14006afb5:	48 3d 00 08 00 00    	cmp    $0x800,%rax
14006afbb:	74 0e                	je     0x14006afcb
14006afbd:	49 83 be d0 01 00 00 	cmpq   $0x0,0x1d0(%r14)
14006afc4:	00
14006afc5:	0f 84 00 02 00 00    	je     0x14006b1cb
14006afcb:	4c 89 e1             	mov    %r12,%rcx
14006afce:	e8 3d 2a 00 00       	call   0x14006da10
14006afd3:	48 85 c0             	test   %rax,%rax
14006afd6:	74 16                	je     0x14006afee
14006afd8:	b9 01 00 00 00       	mov    $0x1,%ecx
14006afdd:	f0 0f c1 48 08       	lock xadd %ecx,0x8(%rax)
14006afe2:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
14006afe8:	0f 84 93 03 00 00    	je     0x14006b381
14006afee:	48 89 84 24 90 00 00 	mov    %rax,0x90(%rsp)
14006aff5:	00
14006aff6:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
14006affb:	41 b8 02 00 00 00    	mov    $0x2,%r8d
14006b001:	48 89 ea             	mov    %rbp,%rdx
14006b004:	f6 c1 01             	test   $0x1,%cl
14006b007:	0f 85 ad 02 00 00    	jne    0x14006b2ba
14006b00d:	48 d1 e9             	shr    $1,%rcx
14006b010:	4c 39 c1             	cmp    %r8,%rcx
14006b013:	0f 84 be 02 00 00    	je     0x14006b2d7
14006b019:	48 c1 e1 03          	shl    $0x3,%rcx
14006b01d:	48 01 ca             	add    %rcx,%rdx
14006b020:	0f 84 1c 03 00 00    	je     0x14006b342
14006b026:	48 89 02             	mov    %rax,(%rdx)
14006b029:	48 83 44 24 78 02    	addq   $0x2,0x78(%rsp)
14006b02f:	48 ff cf             	dec    %rdi
14006b032:	0f 85 6f ff ff ff    	jne    0x14006afa7
14006b038:	4d 39 ef             	cmp    %r13,%r15
14006b03b:	75 24                	jne    0x14006b061
14006b03d:	49 8b 86 88 01 00 00 	mov    0x188(%r14),%rax
14006b044:	49 2b 86 80 01 00 00 	sub    0x180(%r14),%rax
14006b04b:	48 3d 00 08 00 00    	cmp    $0x800,%rax
14006b051:	74 0e                	je     0x14006b061
14006b053:	49 83 be d0 01 00 00 	cmpq   $0x0,0x1d0(%r14)
14006b05a:	00
14006b05b:	0f 84 dc 01 00 00    	je     0x14006b23d
14006b061:	4c 89 f1             	mov    %r14,%rcx
14006b064:	e8 e7 e1 ff ff       	call   0x140069250
14006b069:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14006b06e:	4c 89 f1             	mov    %r14,%rcx
14006b071:	e8 1a e0 ff ff       	call   0x140069090
14006b076:	48 8d 94 24 a0 00 00 	lea    0xa0(%rsp),%rdx
14006b07d:	00
14006b07e:	48 89 f1             	mov    %rsi,%rcx
14006b081:	e8 7a f7 ff ff       	call   0x14006a800
14006b086:	eb 45                	jmp    0x14006b0cd
14006b088:	48 89 d9             	mov    %rbx,%rcx
14006b08b:	e8 b0 17 ff ff       	call   0x14005c840
14006b090:	e9 5b fd ff ff       	jmp    0x14006adf0
14006b095:	48 83 bc 24 a0 00 00 	cmpq   $0x0,0xa0(%rsp)
14006b09c:	00 00
14006b09e:	0f 85 51 fe ff ff    	jne    0x14006aef5
14006b0a4:	b9 c0 01 00 00       	mov    $0x1c0,%ecx
14006b0a9:	49 03 4e 48          	add    0x48(%r14),%rcx
14006b0ad:	4c 89 fa             	mov    %r15,%rdx
14006b0b0:	e8 bb 26 00 00       	call   0x14006d770
14006b0b5:	b9 38 01 00 00       	mov    $0x138,%ecx
14006b0ba:	49 03 4e 48          	add    0x48(%r14),%rcx
14006b0be:	e8 cd 17 ff ff       	call   0x14005c890
14006b0c3:	48 89 f1             	mov    %rsi,%rcx
14006b0c6:	31 d2                	xor    %edx,%edx
14006b0c8:	e8 23 f7 ff ff       	call   0x14006a7f0
14006b0cd:	48 8d 8c 24 a0 00 00 	lea    0xa0(%rsp),%rcx
14006b0d4:	00
14006b0d5:	e8 46 f7 ff ff       	call   0x14006a820
14006b0da:	48 89 d9             	mov    %rbx,%rcx
14006b0dd:	ff 15 55 c7 08 00    	call   *0x8c755(%rip)        # 0x1400f7838
14006b0e3:	48 8d 05 e6 69 07 00 	lea    0x769e6(%rip),%rax        # 0x1400e1ad0
14006b0ea:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14006b0ef:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
14006b0f4:	f6 c3 01             	test   $0x1,%bl
14006b0f7:	0f 85 b0 01 00 00    	jne    0x14006b2ad
14006b0fd:	4c 8d b4 24 80 00 00 	lea    0x80(%rsp),%r14
14006b104:	00
14006b105:	48 83 fb 02          	cmp    $0x2,%rbx
14006b109:	72 51                	jb     0x14006b15c
14006b10b:	48 d1 eb             	shr    $1,%rbx
14006b10e:	48 c1 e3 03          	shl    $0x3,%rbx
14006b112:	45 31 ff             	xor    %r15d,%r15d
14006b115:	4b 8b 3c 3e          	mov    (%r14,%r15,1),%rdi
14006b119:	48 85 ff             	test   %rdi,%rdi
14006b11c:	0f 84 41 02 00 00    	je     0x14006b363
14006b122:	b8 01 00 00 00       	mov    $0x1,%eax
14006b127:	f0 0f c1 47 08       	lock xadd %eax,0x8(%rdi)
14006b12c:	3d ff ff ff 7f       	cmp    $0x7fffffff,%eax
14006b131:	0f 84 08 02 00 00    	je     0x14006b33f
14006b137:	4c 8d 67 08          	lea    0x8(%rdi),%r12
14006b13b:	48 89 f9             	mov    %rdi,%rcx
14006b13e:	e8 0d 12 00 00       	call   0x14006c350
14006b143:	f0 41 ff 0c 24       	lock decl (%r12)
14006b148:	0f 84 21 02 00 00    	je     0x14006b36f
14006b14e:	49 83 c7 08          	add    $0x8,%r15
14006b152:	4c 39 fb             	cmp    %r15,%rbx
14006b155:	75 be                	jne    0x14006b115
14006b157:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
14006b15c:	48 85 db             	test   %rbx,%rbx
14006b15f:	75 43                	jne    0x14006b1a4
14006b161:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14006b166:	e8 25 d9 ff ff       	call   0x140068a90
14006b16b:	48 8b 8c 24 b8 00 00 	mov    0xb8(%rsp),%rcx
14006b172:	00
14006b173:	48 31 e1             	xor    %rsp,%rcx
14006b176:	48 3b 0d c3 5e 09 00 	cmp    0x95ec3(%rip),%rcx        # 0x140101040
14006b17d:	74 06                	je     0x14006b185
14006b17f:	e8 4c 41 00 00       	call   0x14006f2d0
14006b184:	cc                   	int3