14004608f:	48 29 c2             	sub    %rax,%rdx
140046092:	48 01 e8             	add    %rbp,%rax
140046095:	83 fa 08             	cmp    $0x8,%edx
140046098:	73 26                	jae    0x1400460c0
14004609a:	f6 c2 04             	test   $0x4,%dl
14004609d:	75 69                	jne    0x140046108
14004609f:	85 d2                	test   %edx,%edx
1400460a1:	74 c2                	je     0x140046065
1400460a3:	c6 00 00             	movb   $0x0,(%rax)
1400460a6:	f6 c2 02             	test   $0x2,%dl
1400460a9:	74 ba                	je     0x140046065
1400460ab:	89 d2                	mov    %edx,%edx
1400460ad:	66 c7 44 10 fe 00 00 	movw   $0x0,-0x2(%rax,%rdx,1)
1400460b4:	eb af                	jmp    0x140046065
1400460b6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1400460bd:	00 00 00
1400460c0:	89 d1                	mov    %edx,%ecx
1400460c2:	48 c7 00 00 00 00 00 	movq   $0x0,(%rax)
1400460c9:	48 c7 44 08 f8 00 00 	movq   $0x0,-0x8(%rax,%rcx,1)
1400460d0:	00 00
1400460d2:	48 8d 48 08          	lea    0x8(%rax),%rcx
1400460d6:	48 83 e1 f8          	and    $0xfffffffffffffff8,%rcx
1400460da:	48 29 c8             	sub    %rcx,%rax
1400460dd:	01 c2                	add    %eax,%edx
1400460df:	83 e2 f8             	and    $0xfffffff8,%edx
1400460e2:	83 fa 08             	cmp    $0x8,%edx
1400460e5:	0f 82 7a ff ff ff    	jb     0x140046065
1400460eb:	83 e2 f8             	and    $0xfffffff8,%edx
1400460ee:	31 c0                	xor    %eax,%eax
1400460f0:	41 89 c1             	mov    %eax,%r9d
1400460f3:	83 c0 08             	add    $0x8,%eax
1400460f6:	4e 89 04 09          	mov    %r8,(%rcx,%r9,1)
1400460fa:	39 d0                	cmp    %edx,%eax
1400460fc:	72 f2                	jb     0x1400460f0
1400460fe:	e9 62 ff ff ff       	jmp    0x140046065
140046103:	e8 68 e7 19 00       	call   0x1401e4870
140046108:	31 c9                	xor    %ecx,%ecx
14004610a:	89 d2                	mov    %edx,%edx
14004610c:	45 31 c0             	xor    %r8d,%r8d
14004610f:	89 08                	mov    %ecx,(%rax)
140046111:	44 89 44 10 fc       	mov    %r8d,-0x4(%rax,%rdx,1)
140046116:	e9 4a ff ff ff       	jmp    0x140046065
14004611b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140046120:	53                   	push   %rbx
140046121:	48 83 ec 20          	sub    $0x20,%rsp
140046125:	b8 01 00 00 00       	mov    $0x1,%eax
14004612a:	83 b9 90 00 00 00 ff 	cmpl   $0xffffffff,0x90(%rcx)
140046131:	48 89 cb             	mov    %rcx,%rbx
140046134:	75 2b                	jne    0x140046161
140046136:	48 8b 51 28          	mov    0x28(%rcx),%rdx
14004613a:	48 85 d2             	test   %rdx,%rdx
14004613d:	74 11                	je     0x140046150
14004613f:	48 83 7a 10 00       	cmpq   $0x0,0x10(%rdx)
140046144:	75 0a                	jne    0x140046150
140046146:	48 8b 49 30          	mov    0x30(%rcx),%rcx
14004614a:	48 39 4a 18          	cmp    %rcx,0x18(%rdx)
14004614e:	74 11                	je     0x140046161
140046150:	48 89 d9             	mov    %rbx,%rcx
140046153:	e8 88 c0 ff ff       	call   0x1400421e0
140046158:	85 c0                	test   %eax,%eax
14004615a:	75 0b                	jne    0x140046167
14004615c:	b8 01 00 00 00       	mov    $0x1,%eax
140046161:	48 83 c4 20          	add    $0x20,%rsp
140046165:	5b                   	pop    %rbx
140046166:	c3                   	ret
140046167:	8b 8b 90 00 00 00    	mov    0x90(%rbx),%ecx
14004616d:	85 c9                	test   %ecx,%ecx
14004616f:	78 16                	js     0x140046187
140046171:	e8 ca 39 1a 00       	call   0x1401e9b40
140046176:	83 2d 67 ce 21 00 01 	subl   $0x1,0x21ce67(%rip)        # 0x140262fe4
14004617d:	c7 83 90 00 00 00 ff 	movl   $0xffffffff,0x90(%rbx)
140046184:	ff ff ff
140046187:	31 c0                	xor    %eax,%eax
140046189:	eb d6                	jmp    0x140046161
14004618b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140046190:	55                   	push   %rbp
140046191:	57                   	push   %rdi
140046192:	56                   	push   %rsi
140046193:	53                   	push   %rbx
140046194:	48 83 ec 38          	sub    $0x38,%rsp
140046198:	48 8b 2d 51 29 1f 00 	mov    0x1f2951(%rip),%rbp        # 0x140238af0
14004619f:	48 8b 45 00          	mov    0x0(%rbp),%rax
1400461a3:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400461a8:	31 c0                	xor    %eax,%eax
1400461aa:	48 89 ce             	mov    %rcx,%rsi
1400461ad:	48 89 d3             	mov    %rdx,%rbx
1400461b0:	48 85 d2             	test   %rdx,%rdx
1400461b3:	74 5b                	je     0x140046210
1400461b5:	48 8d 7c 24 24       	lea    0x24(%rsp),%rdi
1400461ba:	eb 1f                	jmp    0x1400461db
1400461bc:	0f 1f 40 00          	nopl   0x0(%rax)
1400461c0:	49 89 f8             	mov    %rdi,%r8
1400461c3:	48 89 da             	mov    %rbx,%rdx
1400461c6:	48 89 f1             	mov    %rsi,%rcx
1400461c9:	e8 e2 e5 ff ff       	call   0x1400447b0
1400461ce:	85 c0                	test   %eax,%eax
1400461d0:	75 1e                	jne    0x1400461f0
1400461d2:	48 8b 5b 10          	mov    0x10(%rbx),%rbx
1400461d6:	48 85 db             	test   %rbx,%rbx
1400461d9:	74 35                	je     0x140046210
1400461db:	48 83 7b 38 00       	cmpq   $0x0,0x38(%rbx)
1400461e0:	75 de                	jne    0x1400461c0
1400461e2:	48 89 d9             	mov    %rbx,%rcx
1400461e5:	e8 66 bf ff ff       	call   0x140042150
1400461ea:	85 c0                	test   %eax,%eax
1400461ec:	74 d2                	je     0x1400461c0
1400461ee:	eb e2                	jmp    0x1400461d2
1400461f0:	8b 54 24 24          	mov    0x24(%rsp),%edx
1400461f4:	48 89 d9             	mov    %rbx,%rcx
1400461f7:	e8 34 e9 ff ff       	call   0x140044b30
1400461fc:	48 85 c0             	test   %rax,%rax
1400461ff:	74 d1                	je     0x1400461d2
140046201:	48 89 d8             	mov    %rbx,%rax
140046204:	eb 0c                	jmp    0x140046212
140046206:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14004620d:	00 00 00
140046210:	31 c0                	xor    %eax,%eax
140046212:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
140046217:	48 2b 55 00          	sub    0x0(%rbp),%rdx
14004621b:	75 09                	jne    0x140046226
14004621d:	48 83 c4 38          	add    $0x38,%rsp
140046221:	5b                   	pop    %rbx
140046222:	5e                   	pop    %rsi
140046223:	5f                   	pop    %rdi
140046224:	5d                   	pop    %rbp
140046225:	c3                   	ret
140046226:	e8 45 e6 19 00       	call   0x1401e4870
14004622b:	90                   	nop
14004622c:	0f 1f 40 00          	nopl   0x0(%rax)
140046230:	41 55                	push   %r13
140046232:	41 54                	push   %r12
140046234:	55                   	push   %rbp
140046235:	57                   	push   %rdi
140046236:	56                   	push   %rsi
140046237:	53                   	push   %rbx
140046238:	48 83 ec 28          	sub    $0x28,%rsp
14004623c:	48 8b 41 10          	mov    0x10(%rcx),%rax
140046240:	48 89 ce             	mov    %rcx,%rsi
140046243:	48 89 d7             	mov    %rdx,%rdi
140046246:	4c 89 c5             	mov    %r8,%rbp
140046249:	f6 80 d4 00 00 00 02 	testb  $0x2,0xd4(%rax)
140046250:	75 09                	jne    0x14004625b
140046252:	e8 29 da ff ff       	call   0x140043c80
140046257:	48 8b 46 10          	mov    0x10(%rsi),%rax
14004625b:	48 83 78 78 00       	cmpq   $0x0,0x78(%rax)
140046260:	48 8b 58 70          	mov    0x70(%rax),%rbx
140046264:	0f 84 46 01 00 00    	je     0x1400463b0
14004626a:	48 85 db             	test   %rbx,%rbx
14004626d:	75 11                	jne    0x140046280
14004626f:	eb 43                	jmp    0x1400462b4
140046271:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140046278:	48 8b 1b             	mov    (%rbx),%rbx
14004627b:	48 85 db             	test   %rbx,%rbx
14004627e:	74 30                	je     0x1400462b0
140046280:	49 89 d9             	mov    %rbx,%r9
140046283:	49 89 e8             	mov    %rbp,%r8
140046286:	48 89 fa             	mov    %rdi,%rdx
140046289:	48 89 f1             	mov    %rsi,%rcx
14004628c:	e8 9f aa 13 00       	call   0x140180d30
140046291:	85 c0                	test   %eax,%eax
140046293:	74 e3                	je     0x140046278
140046295:	b8 01 00 00 00       	mov    $0x1,%eax
14004629a:	48 83 c4 28          	add    $0x28,%rsp
14004629e:	5b                   	pop    %rbx
14004629f:	5e                   	pop    %rsi
1400462a0:	5f                   	pop    %rdi
1400462a1:	5d                   	pop    %rbp
1400462a2:	41 5c                	pop    %r12
1400462a4:	41 5d                	pop    %r13
1400462a6:	c3                   	ret
1400462a7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400462ae:	00 00
1400462b0:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400462b4:	48 8b 98 80 00 00 00 	mov    0x80(%rax),%rbx
1400462bb:	48 8d 90 80 00 00 00 	lea    0x80(%rax),%rdx
1400462c2:	48 39 d3             	cmp    %rdx,%rbx
1400462c5:	75 2c                	jne    0x1400462f3
1400462c7:	e9 cb 00 00 00       	jmp    0x140046397
1400462cc:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400462d3:	00 00 00 00
1400462d7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1400462de:	00 00
1400462e0:	48 8b 1b             	mov    (%rbx),%rbx
1400462e3:	48 8d 90 80 00 00 00 	lea    0x80(%rax),%rdx
1400462ea:	48 39 d3             	cmp    %rdx,%rbx
1400462ed:	0f 84 a4 00 00 00    	je     0x140046397
1400462f3:	f6 83 80 00 00 00 40 	testb  $0x40,0x80(%rbx)
1400462fa:	75 e4                	jne    0x1400462e0
1400462fc:	8b 43 44             	mov    0x44(%rbx),%eax
1400462ff:	85 c0                	test   %eax,%eax
140046301:	74 10                	je     0x140046313
140046303:	48 8d 4b 40          	lea    0x40(%rbx),%rcx
140046307:	48 89 fa             	mov    %rdi,%rdx
14004630a:	e8 51 03 14 00       	call   0x140186660
14004630f:	85 c0                	test   %eax,%eax
140046311:	75 6d                	jne    0x140046380
140046313:	4c 8d 6b e8          	lea    -0x18(%rbx),%r13
140046317:	48 89 f9             	mov    %rdi,%rcx
14004631a:	4c 89 ea             	mov    %r13,%rdx
14004631d:	e8 ae e8 ff ff       	call   0x140044bd0
140046322:	49 89 c4             	mov    %rax,%r12
140046325:	48 85 c0             	test   %rax,%rax
140046328:	74 56                	je     0x140046380
14004632a:	4c 89 e9             	mov    %r13,%rcx
14004632d:	e8 ee fd ff ff       	call   0x140046120
140046332:	85 c0                	test   %eax,%eax
140046334:	74 4a                	je     0x140046380
140046336:	48 8b 56 10          	mov    0x10(%rsi),%rdx
14004633a:	48 8b 0b             	mov    (%rbx),%rcx
14004633d:	4c 89 65 00          	mov    %r12,0x0(%rbp)
140046341:	48 8b 43 08          	mov    0x8(%rbx),%rax
140046345:	4c 89 6d 08          	mov    %r13,0x8(%rbp)
140046349:	48 89 41 08          	mov    %rax,0x8(%rcx)
14004634d:	48 89 08             	mov    %rcx,(%rax)
140046350:	48 8b 82 80 00 00 00 	mov    0x80(%rdx),%rax
140046357:	48 8d 8a 80 00 00 00 	lea    0x80(%rdx),%rcx
14004635e:	66 48 0f 6e c9       	movq   %rcx,%xmm1
140046363:	66 48 0f 6e c0       	movq   %rax,%xmm0
140046368:	48 89 58 08          	mov    %rbx,0x8(%rax)
14004636c:	66 0f 6c c1          	punpcklqdq %xmm1,%xmm0
140046370:	0f 11 03             	movups %xmm0,(%rbx)
140046373:	48 89 9a 80 00 00 00 	mov    %rbx,0x80(%rdx)
14004637a:	e9 16 ff ff ff       	jmp    0x140046295
14004637f:	90                   	nop
140046380:	48 8b 46 10          	mov    0x10(%rsi),%rax
140046384:	48 8b 1b             	mov    (%rbx),%rbx
140046387:	48 8d 90 80 00 00 00 	lea    0x80(%rax),%rdx
14004638e:	48 39 d3             	cmp    %rdx,%rbx
140046391:	0f 85 5c ff ff ff    	jne    0x1400462f3
140046397:	31 c0                	xor    %eax,%eax
140046399:	48 83 c4 28          	add    $0x28,%rsp
14004639d:	5b                   	pop    %rbx
14004639e:	5e                   	pop    %rsi
14004639f:	5f                   	pop    %rdi
1400463a0:	5d                   	pop    %rbp
1400463a1:	41 5c                	pop    %r12
1400463a3:	41 5d                	pop    %r13
1400463a5:	c3                   	ret
1400463a6:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
1400463ad:	00 00 00
1400463b0:	48 85 db             	test   %rbx,%rbx
1400463b3:	0f 85 c7 fe ff ff    	jne    0x140046280
1400463b9:	31 c0                	xor    %eax,%eax
1400463bb:	eb dc                	jmp    0x140046399
1400463bd:	0f 1f 00             	nopl   (%rax)
1400463c0:	41 57                	push   %r15
1400463c2:	41 56                	push   %r14
1400463c4:	41 55                	push   %r13
1400463c6:	41 54                	push   %r12
1400463c8:	55                   	push   %rbp
1400463c9:	57                   	push   %rdi
1400463ca:	56                   	push   %rsi
1400463cb:	53                   	push   %rbx
1400463cc:	48 83 ec 48          	sub    $0x48,%rsp
1400463d0:	48 8b 41 10          	mov    0x10(%rcx),%rax
1400463d4:	48 8b b0 90 00 00 00 	mov    0x90(%rax),%rsi
1400463db:	48 89 cf             	mov    %rcx,%rdi
1400463de:	48 89 d5             	mov    %rdx,%rbp
1400463e1:	45 89 c5             	mov    %r8d,%r13d
1400463e4:	4d 89 cc             	mov    %r9,%r12
1400463e7:	48 85 f6             	test   %rsi,%rsi
1400463ea:	74 2a                	je     0x140046416
1400463ec:	44 3b 80 98 00 00 00 	cmp    0x98(%rax),%r8d
1400463f3:	74 78                	je     0x14004646d
1400463f5:	48 89 f1             	mov    %rsi,%rcx
1400463f8:	e8 b3 2a 0b 00       	call   0x1400f8eb0
1400463fd:	48 8b 47 10          	mov    0x10(%rdi),%rax
140046401:	48 c7 80 90 00 00 00 	movq   $0x0,0x90(%rax)
140046408:	00 00 00 00
14004640c:	c7 80 98 00 00 00 00 	movl   $0x0,0x98(%rax)
140046413:	00 00 00
140046416:	48 89 f9             	mov    %rdi,%rcx
140046419:	45 89 ef             	mov    %r13d,%r15d
14004641c:	31 f6                	xor    %esi,%esi
14004641e:	45 31 f6             	xor    %r14d,%r14d
140046421:	e8 2a de ff ff       	call   0x140044250
140046426:	41 83 e7 01          	and    $0x1,%r15d
14004642a:	45 31 c0             	xor    %r8d,%r8d
14004642d:	ba c0 00 00 00       	mov    $0xc0,%edx
140046432:	48 89 c3             	mov    %rax,%rbx
140046435:	44 89 e8             	mov    %r13d,%eax
140046438:	83 e0 02             	and    $0x2,%eax
14004643b:	89 44 24 2c          	mov    %eax,0x2c(%rsp)
14004643f:	48 85 db             	test   %rbx,%rbx
140046442:	0f 85 ff 00 00 00    	jne    0x140046547
140046448:	48 89 f1             	mov    %rsi,%rcx
14004644b:	e8 f0 47 08 00       	call   0x1400cac40
140046450:	48 89 c6             	mov    %rax,%rsi
140046453:	48 8b 47 10          	mov    0x10(%rdi),%rax
140046457:	48 c7 04 1e 00 00 00 	movq   $0x0,(%rsi,%rbx,1)
14004645e:	00
14004645f:	48 89 b0 90 00 00 00 	mov    %rsi,0x90(%rax)
140046466:	44 89 a8 98 00 00 00 	mov    %r13d,0x98(%rax)
14004646d:	48 8b 1e             	mov    (%rsi),%rbx
140046470:	48 85 db             	test   %rbx,%rbx
140046473:	0f 84 28 01 00 00    	je     0x1400465a1
140046479:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140046480:	8b 43 5c             	mov    0x5c(%rbx),%eax
140046483:	85 c0                	test   %eax,%eax
140046485:	74 14                	je     0x14004649b
140046487:	48 8d 4b 58          	lea    0x58(%rbx),%rcx
14004648b:	48 89 ea             	mov    %rbp,%rdx
14004648e:	e8 cd 01 14 00       	call   0x140186660
140046493:	85 c0                	test   %eax,%eax
140046495:	0f 85 f5 00 00 00    	jne    0x140046590
14004649b:	48 89 da             	mov    %rbx,%rdx
14004649e:	48 89 e9             	mov    %rbp,%rcx
1400464a1:	e8 2a e7 ff ff       	call   0x140044bd0
1400464a6:	48 89 c7             	mov    %rax,%rdi
1400464a9:	48 85 c0             	test   %rax,%rax
1400464ac:	0f 84 de 00 00 00    	je     0x140046590
1400464b2:	48 89 d9             	mov    %rbx,%rcx
1400464b5:	e8 66 fc ff ff       	call   0x140046120
1400464ba:	85 c0                	test   %eax,%eax
1400464bc:	0f 84 ce 00 00 00    	je     0x140046590
1400464c2:	49 89 3c 24          	mov    %rdi,(%r12)
1400464c6:	49 89 5c 24 08       	mov    %rbx,0x8(%r12)
1400464cb:	48 83 c4 48          	add    $0x48,%rsp
1400464cf:	5b                   	pop    %rbx
1400464d0:	5e                   	pop    %rsi
1400464d1:	5f                   	pop    %rdi
1400464d2:	5d                   	pop    %rbp
1400464d3:	41 5c                	pop    %r12
1400464d5:	41 5d                	pop    %r13
1400464d7:	41 5e                	pop    %r14
1400464d9:	41 5f                	pop    %r15
1400464db:	c3                   	ret
1400464dc:	0f 1f 40 00          	nopl   0x0(%rax)
1400464e0:	45 85 ff             	test   %r15d,%r15d
1400464e3:	74 6d                	je     0x140046552
1400464e5:	4d 8d 5e 01          	lea    0x1(%r14),%r11
1400464e9:	4d 39 d8             	cmp    %r11,%r8
1400464ec:	73 49                	jae    0x140046537
1400464ee:	48 b8 ff ff ff ff ff 	movabs $0x1fffffffffffffff,%rax
1400464f5:	ff ff 1f
1400464f8:	4f 8d 44 40 30       	lea    0x30(%r8,%r8,2),%r8
1400464fd:	49 d1 e8             	shr    $1,%r8
140046500:	4d 39 d8             	cmp    %r11,%r8
140046503:	4d 0f 42 c3          	cmovb  %r11,%r8
140046507:	4c 39 c0             	cmp    %r8,%rax
14004650a:	0f 82 c5 00 00 00    	jb     0x1400465d5
140046510:	4a 8d 14 c5 00 00 00 	lea    0x0(,%r8,8),%rdx
140046517:	00
140046518:	48 89 f1             	mov    %rsi,%rcx
14004651b:	4c 89 5c 24 38       	mov    %r11,0x38(%rsp)
140046520:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
140046525:	e8 16 47 08 00       	call   0x1400cac40
14004652a:	4c 8b 5c 24 38       	mov    0x38(%rsp),%r11
14004652f:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
140046534:	48 89 c6             	mov    %rax,%rsi