140121ed1:	e8 4a 92 ff ff       	call   0x14011b120
140121ed6:	48 8b 76 08          	mov    0x8(%rsi),%rsi
140121eda:	48 39 c3             	cmp    %rax,%rbx
140121edd:	48 0f 47 d8          	cmova  %rax,%rbx
140121ee1:	48 85 f6             	test   %rsi,%rsi
140121ee4:	75 da                	jne    0x140121ec0
140121ee6:	49 89 d9             	mov    %rbx,%r9
140121ee9:	4d 89 e0             	mov    %r12,%r8
140121eec:	48 89 fa             	mov    %rdi,%rdx
140121eef:	4c 89 e9             	mov    %r13,%rcx
140121ef2:	e8 e9 e0 ff ff       	call   0x14011ffe0
140121ef7:	85 c0                	test   %eax,%eax
140121ef9:	74 1d                	je     0x140121f18
140121efb:	83 f8 02             	cmp    $0x2,%eax
140121efe:	0f 94 c0             	sete   %al
140121f01:	0f b6 c0             	movzbl %al,%eax
140121f04:	48 83 c4 48          	add    $0x48,%rsp
140121f08:	5b                   	pop    %rbx
140121f09:	5e                   	pop    %rsi
140121f0a:	5f                   	pop    %rdi
140121f0b:	5d                   	pop    %rbp
140121f0c:	41 5c                	pop    %r12
140121f0e:	41 5d                	pop    %r13
140121f10:	41 5e                	pop    %r14
140121f12:	41 5f                	pop    %r15
140121f14:	c3                   	ret
140121f15:	0f 1f 00             	nopl   (%rax)
140121f18:	ba 80 01 00 00       	mov    $0x180,%edx
140121f1d:	31 c9                	xor    %ecx,%ecx
140121f1f:	4d 89 ef             	mov    %r13,%r15
140121f22:	bd 01 00 00 00       	mov    $0x1,%ebp
140121f27:	e8 14 8d fa ff       	call   0x1400cac40
140121f2c:	4d 8b 55 30          	mov    0x30(%r13),%r10
140121f30:	66 49 0f 6e c5       	movq   %r13,%xmm0
140121f35:	c7 44 24 3c 18 00 00 	movl   $0x18,0x3c(%rsp)
140121f3c:	00
140121f3d:	49 89 c6             	mov    %rax,%r14
140121f40:	66 49 0f 6e ca       	movq   %r10,%xmm1
140121f45:	66 0f 6c c1          	punpcklqdq %xmm1,%xmm0
140121f49:	0f 11 00             	movups %xmm0,(%rax)
140121f4c:	e9 b7 00 00 00       	jmp    0x140122008
140121f51:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140121f58:	48 63 f5             	movslq %ebp,%rsi
140121f5b:	49 8b 0a             	mov    (%r10),%rcx
140121f5e:	49 89 d9             	mov    %rbx,%r9
140121f61:	4d 89 e0             	mov    %r12,%r8
140121f64:	48 89 f0             	mov    %rsi,%rax
140121f67:	48 89 fa             	mov    %rdi,%rdx
140121f6a:	4c 89 54 24 28       	mov    %r10,0x28(%rsp)
140121f6f:	48 c1 e0 04          	shl    $0x4,%rax
140121f73:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140121f78:	e8 63 e0 ff ff       	call   0x14011ffe0
140121f7d:	4c 8b 54 24 28       	mov    0x28(%rsp),%r10
140121f82:	83 f8 01             	cmp    $0x1,%eax
140121f85:	0f 84 c5 00 00 00    	je     0x140122050
140121f8b:	83 f8 02             	cmp    $0x2,%eax
140121f8e:	0f 84 cc 00 00 00    	je     0x140122060
140121f94:	85 c0                	test   %eax,%eax
140121f96:	75 60                	jne    0x140121ff8
140121f98:	8b 44 24 3c          	mov    0x3c(%rsp),%eax
140121f9c:	49 8b 32             	mov    (%r10),%rsi
140121f9f:	39 c5                	cmp    %eax,%ebp
140121fa1:	7c 38                	jl     0x140121fdb
140121fa3:	8d 54 40 30          	lea    0x30(%rax,%rax,2),%edx
140121fa7:	89 d0                	mov    %edx,%eax
140121fa9:	c1 e8 1f             	shr    $0x1f,%eax
140121fac:	01 d0                	add    %edx,%eax
140121fae:	8d 55 01             	lea    0x1(%rbp),%edx
140121fb1:	d1 f8                	sar    $1,%eax
140121fb3:	39 c5                	cmp    %eax,%ebp
140121fb5:	0f 4d c2             	cmovge %edx,%eax
140121fb8:	48 63 d0             	movslq %eax,%rdx
140121fbb:	89 44 24 3c          	mov    %eax,0x3c(%rsp)
140121fbf:	48 89 d0             	mov    %rdx,%rax
140121fc2:	48 c1 e8 3c          	shr    $0x3c,%rax
140121fc6:	0f 85 ae 00 00 00    	jne    0x14012207a
140121fcc:	4c 89 f1             	mov    %r14,%rcx
140121fcf:	48 c1 e2 04          	shl    $0x4,%rdx
140121fd3:	e8 68 8c fa ff       	call   0x1400cac40
140121fd8:	49 89 c6             	mov    %rax,%r14
140121fdb:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
140121fe0:	66 48 0f 6e c6       	movq   %rsi,%xmm0
140121fe5:	83 c5 01             	add    $0x1,%ebp
140121fe8:	0f 16 46 30          	movhps 0x30(%rsi),%xmm0
140121fec:	41 0f 11 04 06       	movups %xmm0,(%r14,%rax,1)
140121ff1:	85 ed                	test   %ebp,%ebp
140121ff3:	74 35                	je     0x14012202a
140121ff5:	48 63 f5             	movslq %ebp,%rsi
140121ff8:	48 c1 e6 04          	shl    $0x4,%rsi
140121ffc:	49 8d 44 36 f0       	lea    -0x10(%r14,%rsi,1),%rax
140122001:	4c 8b 38             	mov    (%rax),%r15
140122004:	4c 8b 50 08          	mov    0x8(%rax),%r10
140122008:	4d 85 d2             	test   %r10,%r10
14012200b:	0f 85 47 ff ff ff    	jne    0x140121f58
140122011:	41 8b 57 40          	mov    0x40(%r15),%edx
140122015:	4c 89 e1             	mov    %r12,%rcx
140122018:	83 ed 01             	sub    $0x1,%ebp
14012201b:	e8 20 df ff ff       	call   0x14011ff40
140122020:	c7 00 01 00 00 00    	movl   $0x1,(%rax)
140122026:	85 ed                	test   %ebp,%ebp
140122028:	75 cb                	jne    0x140121ff5
14012202a:	4c 89 f1             	mov    %r14,%rcx
14012202d:	e8 7e 6e fd ff       	call   0x1400f8eb0
140122032:	49 89 d9             	mov    %rbx,%r9
140122035:	4d 89 e0             	mov    %r12,%r8
140122038:	48 89 fa             	mov    %rdi,%rdx
14012203b:	4c 89 e9             	mov    %r13,%rcx
14012203e:	e8 9d df ff ff       	call   0x14011ffe0
140122043:	e9 b3 fe ff ff       	jmp    0x140121efb
140122048:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14012204f:	00
140122050:	49 8b 42 08          	mov    0x8(%r10),%rax
140122054:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140122059:	49 89 44 16 f8       	mov    %rax,-0x8(%r14,%rdx,1)
14012205e:	eb 98                	jmp    0x140121ff8
140122060:	41 8b 57 40          	mov    0x40(%r15),%edx
140122064:	4c 89 e1             	mov    %r12,%rcx
140122067:	83 ed 01             	sub    $0x1,%ebp
14012206a:	e8 d1 de ff ff       	call   0x14011ff40
14012206f:	c7 00 02 00 00 00    	movl   $0x2,(%rax)
140122075:	e9 77 ff ff ff       	jmp    0x140121ff1
14012207a:	49 89 d0             	mov    %rdx,%r8
14012207d:	48 8d 0d e4 90 0f 00 	lea    0xf90e4(%rip),%rcx        # 0x14021b168
140122084:	ba 10 00 00 00       	mov    $0x10,%edx
140122089:	e8 02 13 fa ff       	call   0x1400c3390
14012208e:	90                   	nop
14012208f:	90                   	nop
140122090:	41 57                	push   %r15
140122092:	41 56                	push   %r14
140122094:	41 55                	push   %r13
140122096:	41 54                	push   %r12
140122098:	55                   	push   %rbp
140122099:	57                   	push   %rdi
14012209a:	56                   	push   %rsi
14012209b:	53                   	push   %rbx
14012209c:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
1401220a3:	48 8b 3d 46 6a 11 00 	mov    0x116a46(%rip),%rdi        # 0x140238af0
1401220aa:	66 0f ef c0          	pxor   %xmm0,%xmm0
1401220ae:	48 8b 07             	mov    (%rdi),%rax
1401220b1:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
1401220b6:	31 c0                	xor    %eax,%eax
1401220b8:	49 63 c1             	movslq %r9d,%rax
1401220bb:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1401220c0:	4d 89 c5             	mov    %r8,%r13
1401220c3:	4d 8d 34 c0          	lea    (%r8,%rax,8),%r14
1401220c7:	48 63 c2             	movslq %edx,%rax
1401220ca:	89 94 24 d8 00 00 00 	mov    %edx,0xd8(%rsp)
1401220d1:	4c 8d 3c c1          	lea    (%rcx,%rax,8),%r15
1401220d5:	48 8b 05 04 6d 11 00 	mov    0x116d04(%rip),%rax        # 0x140238de0
1401220dc:	44 89 8c 24 e8 00 00 	mov    %r9d,0xe8(%rsp)
1401220e3:	00
1401220e4:	48 c7 44 24 38 00 00 	movq   $0x0,0x38(%rsp)
1401220eb:	00 00
1401220ed:	48 c7 44 24 68 00 00 	movq   $0x0,0x68(%rsp)
1401220f4:	00 00
1401220f6:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401220fb:	0f 11 44 24 48       	movups %xmm0,0x48(%rsp)
140122100:	0f 11 44 24 58       	movups %xmm0,0x58(%rsp)
140122105:	4d 39 f0             	cmp    %r14,%r8
140122108:	0f 83 23 02 00 00    	jae    0x140122331
14012210e:	48 8b 3d eb 72 11 00 	mov    0x1172eb(%rip),%rdi        # 0x140239400
140122115:	4c 89 c5             	mov    %r8,%rbp
140122118:	45 31 e4             	xor    %r12d,%r12d
14012211b:	48 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rsi
140122122:	ff ff 7f
140122125:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14012212c:	00 00 00 00
140122130:	48 8b 5d 00          	mov    0x0(%rbp),%rbx
140122134:	48 8b 0f             	mov    (%rdi),%rcx
140122137:	45 31 c0             	xor    %r8d,%r8d
14012213a:	48 89 da             	mov    %rbx,%rdx
14012213d:	e8 4e 2f 00 00       	call   0x140125090
140122142:	48 89 d9             	mov    %rbx,%rcx
140122145:	e8 d6 8f ff ff       	call   0x14011b120
14012214a:	48 39 c6             	cmp    %rax,%rsi
14012214d:	48 0f 47 f0          	cmova  %rax,%rsi
140122151:	8b 03                	mov    (%rbx),%eax
140122153:	89 c2                	mov    %eax,%edx
140122155:	c1 ea 04             	shr    $0x4,%edx
140122158:	a9 00 00 10 00       	test   $0x100000,%eax
14012215d:	75 14                	jne    0x140122173
14012215f:	81 ca 00 00 01 00    	or     $0x10000,%edx
140122165:	83 e0 0f             	and    $0xf,%eax
140122168:	41 83 c4 01          	add    $0x1,%r12d
14012216c:	c1 e2 04             	shl    $0x4,%edx
14012216f:	09 d0                	or     %edx,%eax
140122171:	89 03                	mov    %eax,(%rbx)
140122173:	48 83 c5 08          	add    $0x8,%rbp
140122177:	4c 39 f5             	cmp    %r14,%rbp
14012217a:	72 b4                	jb     0x140122130
14012217c:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
140122181:	4c 39 7c 24 28       	cmp    %r15,0x28(%rsp)
140122186:	73 62                	jae    0x1401221ea
140122188:	48 8b 7c 24 28       	mov    0x28(%rsp),%rdi
14012218d:	48 8b 1d 6c 72 11 00 	mov    0x11726c(%rip),%rbx        # 0x140239400
140122194:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
140122199:	eb 0e                	jmp    0x1401221a9
14012219b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401221a0:	48 83 c7 08          	add    $0x8,%rdi
1401221a4:	4c 39 ff             	cmp    %r15,%rdi
1401221a7:	73 41                	jae    0x1401221ea
1401221a9:	48 8b 17             	mov    (%rdi),%rdx
1401221ac:	8b 02                	mov    (%rdx),%eax
1401221ae:	89 c1                	mov    %eax,%ecx
1401221b0:	c1 e9 04             	shr    $0x4,%ecx
1401221b3:	a9 00 00 20 00       	test   $0x200000,%eax
1401221b8:	75 e6                	jne    0x1401221a0
1401221ba:	81 c9 00 00 02 00    	or     $0x20000,%ecx
1401221c0:	83 e0 0f             	and    $0xf,%eax
1401221c3:	45 31 c0             	xor    %r8d,%r8d
1401221c6:	48 83 c7 08          	add    $0x8,%rdi
1401221ca:	c1 e1 04             	shl    $0x4,%ecx
1401221cd:	09 c8                	or     %ecx,%eax
1401221cf:	48 8b 0b             	mov    (%rbx),%rcx
1401221d2:	89 02                	mov    %eax,(%rdx)
1401221d4:	e8 b7 2e 00 00       	call   0x140125090
1401221d9:	48 8b 57 f8          	mov    -0x8(%rdi),%rdx
1401221dd:	48 89 e9             	mov    %rbp,%rcx
1401221e0:	e8 eb b4 06 00       	call   0x14018d6d0
1401221e5:	4c 39 ff             	cmp    %r15,%rdi
1401221e8:	72 bf                	jb     0x1401221a9
1401221ea:	48 8b 3d 0f 72 11 00 	mov    0x11720f(%rip),%rdi        # 0x140239400
1401221f1:	4c 8d 7c 24 38       	lea    0x38(%rsp),%r15
1401221f6:	45 85 e4             	test   %r12d,%r12d
1401221f9:	0f 84 8a 00 00 00    	je     0x140122289
1401221ff:	90                   	nop
140122200:	48 89 e9             	mov    %rbp,%rcx
140122203:	e8 08 b6 06 00       	call   0x14018d810
140122208:	48 89 c3             	mov    %rax,%rbx
14012220b:	48 85 c0             	test   %rax,%rax
14012220e:	74 79                	je     0x140122289
140122210:	8b 03                	mov    (%rbx),%eax
140122212:	89 c2                	mov    %eax,%edx
140122214:	c1 ea 04             	shr    $0x4,%edx
140122217:	a9 00 00 10 00       	test   $0x100000,%eax
14012221c:	0f 85 ce 00 00 00    	jne    0x1401222f0
140122222:	4c 8b 73 30          	mov    0x30(%rbx),%r14
140122226:	4d 85 f6             	test   %r14,%r14
140122229:	74 d5                	je     0x140122200
14012222b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140122230:	49 8b 1e             	mov    (%r14),%rbx
140122233:	48 8b 0f             	mov    (%rdi),%rcx
140122236:	45 31 c0             	xor    %r8d,%r8d
140122239:	48 89 da             	mov    %rbx,%rdx
14012223c:	e8 4f 2e 00 00       	call   0x140125090
140122241:	48 89 d9             	mov    %rbx,%rcx
140122244:	e8 d7 8e ff ff       	call   0x14011b120
140122249:	48 39 f0             	cmp    %rsi,%rax
14012224c:	72 29                	jb     0x140122277
14012224e:	8b 03                	mov    (%rbx),%eax
140122250:	89 c2                	mov    %eax,%edx
140122252:	c1 ea 04             	shr    $0x4,%edx
140122255:	a9 00 00 20 00       	test   $0x200000,%eax
14012225a:	75 1b                	jne    0x140122277
14012225c:	81 ca 00 00 02 00    	or     $0x20000,%edx
140122262:	83 e0 0f             	and    $0xf,%eax
140122265:	48 89 e9             	mov    %rbp,%rcx
140122268:	c1 e2 04             	shl    $0x4,%edx
14012226b:	09 d0                	or     %edx,%eax
14012226d:	48 89 da             	mov    %rbx,%rdx
140122270:	89 03                	mov    %eax,(%rbx)
140122272:	e8 59 b4 06 00       	call   0x14018d6d0
140122277:	4d 8b 76 08          	mov    0x8(%r14),%r14
14012227b:	4d 85 f6             	test   %r14,%r14
14012227e:	75 b0                	jne    0x140122230
140122280:	45 85 e4             	test   %r12d,%r12d
140122283:	0f 85 77 ff ff ff    	jne    0x140122200
140122289:	48 89 e9             	mov    %rbp,%rcx
14012228c:	e8 0f b4 06 00       	call   0x14018d6a0
140122291:	8b 8c 24 e8 00 00 00 	mov    0xe8(%rsp),%ecx
140122298:	41 b8 00 00 01 00    	mov    $0x10000,%r8d
14012229e:	4c 89 ea             	mov    %r13,%rdx
1401222a1:	e8 7a 32 00 00       	call   0x140125520
1401222a6:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
1401222ab:	8b 8c 24 d8 00 00 00 	mov    0xd8(%rsp),%ecx
1401222b2:	41 b8 00 00 02 00    	mov    $0x20000,%r8d
1401222b8:	e8 63 32 00 00       	call   0x140125520
1401222bd:	48 8b 3d 2c 68 11 00 	mov    0x11682c(%rip),%rdi        # 0x140238af0
1401222c4:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
1401222c9:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
1401222ce:	48 2b 17             	sub    (%rdi),%rdx
1401222d1:	0f 85 7c 00 00 00    	jne    0x140122353
1401222d7:	48 81 c4 88 00 00 00 	add    $0x88,%rsp
1401222de:	5b                   	pop    %rbx
1401222df:	5e                   	pop    %rsi
1401222e0:	5f                   	pop    %rdi
1401222e1:	5d                   	pop    %rbp
1401222e2:	41 5c                	pop    %r12
1401222e4:	41 5d                	pop    %r13
1401222e6:	41 5e                	pop    %r14
1401222e8:	41 5f                	pop    %r15
1401222ea:	c3                   	ret
1401222eb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401222f0:	81 e2 ff ff fe 0f    	and    $0xffeffff,%edx
1401222f6:	83 e0 0f             	and    $0xf,%eax
1401222f9:	48 89 d9             	mov    %rbx,%rcx
1401222fc:	41 83 ec 01          	sub    $0x1,%r12d
140122300:	0b 94 24 f0 00 00 00 	or     0xf0(%rsp),%edx
140122307:	c1 e2 04             	shl    $0x4,%edx
14012230a:	09 d0                	or     %edx,%eax
14012230c:	4c 89 fa             	mov    %r15,%rdx
14012230f:	89 03                	mov    %eax,(%rbx)
140122311:	e8 fa 2e 00 00       	call   0x140125210
140122316:	4c 8b 73 30          	mov    0x30(%rbx),%r14
14012231a:	4d 85 f6             	test   %r14,%r14
14012231d:	0f 85 0d ff ff ff    	jne    0x140122230
140122323:	45 85 e4             	test   %r12d,%r12d
140122326:	0f 85 d4 fe ff ff    	jne    0x140122200
14012232c:	e9 58 ff ff ff       	jmp    0x140122289
140122331:	48 be ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rsi
140122338:	ff ff 7f
14012233b:	45 31 e4             	xor    %r12d,%r12d
14012233e:	4c 39 7c 24 28       	cmp    %r15,0x28(%rsp)
140122343:	0f 82 3f fe ff ff    	jb     0x140122188
140122349:	48 8d 6c 24 40       	lea    0x40(%rsp),%rbp
14012234e:	e9 36 ff ff ff       	jmp    0x140122289
140122353:	e8 18 25 0c 00       	call   0x1401e4870
140122358:	90                   	nop
140122359:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140122360:	41 57                	push   %r15
140122362:	41 56                	push   %r14
140122364:	41 55                	push   %r13
140122366:	41 54                	push   %r12
140122368:	55                   	push   %rbp
140122369:	57                   	push   %rdi
14012236a:	56                   	push   %rsi
14012236b:	53                   	push   %rbx
14012236c:	48 81 ec 88 00 00 00 	sub    $0x88,%rsp
140122373:	66 0f ef c0          	pxor   %xmm0,%xmm0
140122377:	48 8b b4 24 f0 00 00 	mov    0xf0(%rsp),%rsi
14012237e:	00
14012237f:	48 89 cf             	mov    %rcx,%rdi
140122382:	48 8b 0d 67 67 11 00 	mov    0x116767(%rip),%rcx        # 0x140238af0
140122389:	49 89 d7             	mov    %rdx,%r15
14012238c:	4c 89 c3             	mov    %r8,%rbx
14012238f:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
140122394:	48 8b 01             	mov    (%rcx),%rax
140122397:	48 89 44 24 78       	mov    %rax,0x78(%rsp)
14012239c:	31 c0                	xor    %eax,%eax
14012239e:	48 8b 05 3b 6a 11 00 	mov    0x116a3b(%rip),%rax        # 0x140238de0
1401223a5:	0f 11 44 24 48       	movups %xmm0,0x48(%rsp)
1401223aa:	48 c7 44 24 68 00 00 	movq   $0x0,0x68(%rsp)
1401223b1:	00 00
1401223b3:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
1401223b8:	0f 11 44 24 58       	movups %xmm0,0x58(%rsp)
1401223bd:	4d 85 c0             	test   %r8,%r8
1401223c0:	0f 84 7f 01 00 00    	je     0x140122545
1401223c6:	48 85 f6             	test   %rsi,%rsi
1401223c9:	0f 84 76 01 00 00    	je     0x140122545
1401223cf:	49 8d 51 10          	lea    0x10(%r9),%rdx