1400580df:	90                   	nop
1400580e0:	41 57                	push   %r15
1400580e2:	41 56                	push   %r14
1400580e4:	41 55                	push   %r13
1400580e6:	41 54                	push   %r12
1400580e8:	55                   	push   %rbp
1400580e9:	57                   	push   %rdi
1400580ea:	56                   	push   %rsi
1400580eb:	53                   	push   %rbx
1400580ec:	48 83 ec 28          	sub    $0x28,%rsp
1400580f0:	49 89 ce             	mov    %rcx,%r14
1400580f3:	48 89 d5             	mov    %rdx,%rbp
1400580f6:	45 89 cd             	mov    %r9d,%r13d
1400580f9:	4d 63 e0             	movslq %r8d,%r12
1400580fc:	45 8b 7e 0c          	mov    0xc(%r14),%r15d
140058100:	44 89 84 24 80 00 00 	mov    %r8d,0x80(%rsp)
140058107:	00
140058108:	45 85 ff             	test   %r15d,%r15d
14005810b:	0f 8e ce 00 00 00    	jle    0x1400581df
140058111:	31 ff                	xor    %edi,%edi
140058113:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14005811a:	00 00 00 00
14005811e:	66 90                	xchg   %ax,%ax
140058120:	44 89 fb             	mov    %r15d,%ebx
140058123:	49 8b 06             	mov    (%r14),%rax
140058126:	48 89 e9             	mov    %rbp,%rcx
140058129:	29 fb                	sub    %edi,%ebx
14005812b:	d1 fb                	sar    $1,%ebx
14005812d:	01 fb                	add    %edi,%ebx
14005812f:	48 63 d3             	movslq %ebx,%rdx
140058132:	48 8b 04 d0          	mov    (%rax,%rdx,8),%rax
140058136:	4c 89 e2             	mov    %r12,%rdx
140058139:	4c 63 48 40          	movslq 0x40(%rax),%r9
14005813d:	4c 8d 40 6c          	lea    0x6c(%rax),%r8
140058141:	8b 70 38             	mov    0x38(%rax),%esi
140058144:	e8 c7 89 06 00       	call   0x1400c0b10
140058149:	85 c0                	test   %eax,%eax
14005814b:	75 2b                	jne    0x140058178
14005814d:	c1 ee 0c             	shr    $0xc,%esi
140058150:	83 e6 03             	and    $0x3,%esi
140058153:	44 39 ee             	cmp    %r13d,%esi
140058156:	0f 8f 94 00 00 00    	jg     0x1400581f0
14005815c:	7c 1c                	jl     0x14005817a
14005815e:	89 d8                	mov    %ebx,%eax
140058160:	48 83 c4 28          	add    $0x28,%rsp
140058164:	5b                   	pop    %rbx
140058165:	5e                   	pop    %rsi
140058166:	5f                   	pop    %rdi
140058167:	5d                   	pop    %rbp
140058168:	41 5c                	pop    %r12
14005816a:	41 5d                	pop    %r13
14005816c:	41 5e                	pop    %r14
14005816e:	41 5f                	pop    %r15
140058170:	c3                   	ret
140058171:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140058178:	78 76                	js     0x1400581f0
14005817a:	8d 7b 01             	lea    0x1(%rbx),%edi
14005817d:	41 39 ff             	cmp    %edi,%r15d
140058180:	7f 9e                	jg     0x140058120
140058182:	83 bc 24 90 00 00 00 	cmpl   $0x1,0x90(%rsp)
140058189:	01
14005818a:	75 69                	jne    0x1400581f5
14005818c:	41 8b 46 3c          	mov    0x3c(%r14),%eax
140058190:	85 c0                	test   %eax,%eax
140058192:	74 61                	je     0x1400581f5
140058194:	85 ff                	test   %edi,%edi
140058196:	7e 5d                	jle    0x1400581f5
140058198:	49 8b 16             	mov    (%r14),%rdx
14005819b:	48 63 c7             	movslq %edi,%rax
14005819e:	48 8b 54 c2 f8       	mov    -0x8(%rdx,%rax,8),%rdx
1400581a3:	81 7a 34 00 40 00 00 	cmpl   $0x4000,0x34(%rdx)
1400581aa:	75 49                	jne    0x1400581f5
1400581ac:	44 8b 42 40          	mov    0x40(%rdx),%r8d
1400581b0:	44 3b 84 24 80 00 00 	cmp    0x80(%rsp),%r8d
1400581b7:	00
1400581b8:	73 3b                	jae    0x1400581f5
1400581ba:	48 83 c2 6c          	add    $0x6c,%rdx
1400581be:	48 89 e9             	mov    %rbp,%rcx
1400581c1:	e8 da 1c 19 00       	call   0x1401e9ea0
1400581c6:	85 c0                	test   %eax,%eax
1400581c8:	75 2b                	jne    0x1400581f5
1400581ca:	4c 89 f1             	mov    %r14,%rcx
1400581cd:	e8 ee 0b 04 00       	call   0x140098dc0
1400581d2:	45 8b 7e 0c          	mov    0xc(%r14),%r15d
1400581d6:	45 85 ff             	test   %r15d,%r15d
1400581d9:	0f 8f 32 ff ff ff    	jg     0x140058111
1400581df:	bb ff ff ff ff       	mov    $0xffffffff,%ebx
1400581e4:	e9 75 ff ff ff       	jmp    0x14005815e
1400581e9:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
1400581f0:	41 89 df             	mov    %ebx,%r15d
1400581f3:	eb 88                	jmp    0x14005817d
1400581f5:	f7 d7                	not    %edi
1400581f7:	89 fb                	mov    %edi,%ebx
1400581f9:	e9 60 ff ff ff       	jmp    0x14005815e
1400581fe:	66 90                	xchg   %ax,%ax
140058200:	41 57                	push   %r15
140058202:	41 56                	push   %r14
140058204:	41 55                	push   %r13
140058206:	41 54                	push   %r12
140058208:	55                   	push   %rbp
140058209:	57                   	push   %rdi
14005820a:	56                   	push   %rsi
14005820b:	53                   	push   %rbx
14005820c:	48 83 ec 58          	sub    $0x58,%rsp
140058210:	48 8b 3d d9 08 1e 00 	mov    0x1e08d9(%rip),%rdi        # 0x140238af0
140058217:	48 8b 84 24 c0 00 00 	mov    0xc0(%rsp),%rax
14005821e:	00
14005821f:	4c 8b 37             	mov    (%rdi),%r14
140058222:	4c 89 74 24 48       	mov    %r14,0x48(%rsp)
140058227:	4c 8b 35 d2 11 1e 00 	mov    0x1e11d2(%rip),%r14        # 0x140239400
14005822e:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140058233:	89 d5                	mov    %edx,%ebp
140058235:	48 89 cb             	mov    %rcx,%rbx
140058238:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14005823d:	4d 89 c7             	mov    %r8,%r15
140058240:	49 8b 06             	mov    (%r14),%rax
140058243:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
14005824a:	8b 40 10             	mov    0x10(%rax),%eax
14005824d:	49 8d 7c 00 28       	lea    0x28(%r8,%rax,1),%rdi
140058252:	0f b7 37             	movzwl (%rdi),%esi
140058255:	66 c1 c6 08          	rol    $0x8,%si
140058259:	89 f2                	mov    %esi,%edx
14005825b:	49 89 f4             	mov    %rsi,%r12
14005825e:	66 81 e2 ff 0f       	and    $0xfff,%dx
140058263:	41 81 e4 ff 0f 00 00 	and    $0xfff,%r12d
14005826a:	66 f7 c6 00 40       	test   $0x4000,%si
14005826f:	0f 84 cb 01 00 00    	je     0x140058440
140058275:	44 0f b7 6f 02       	movzwl 0x2(%rdi),%r13d
14005827a:	8b 37                	mov    (%rdi),%esi
14005827c:	66 41 c1 c5 08       	rol    $0x8,%r13w
140058281:	0f ce                	bswap  %esi
140058283:	c1 c6 10             	rol    $0x10,%esi
140058286:	41 c1 e5 10          	shl    $0x10,%r13d
14005828a:	41 f7 c5 00 00 ff 9f 	test   $0x9fff0000,%r13d
140058291:	0f 85 d9 02 00 00    	jne    0x140058570
140058297:	48 83 c7 04          	add    $0x4,%rdi
14005829b:	83 fd 04             	cmp    $0x4,%ebp
14005829e:	0f 85 ac 01 00 00    	jne    0x140058450
1400582a4:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400582a9:	89 54 24 2c          	mov    %edx,0x2c(%rsp)
1400582ad:	48 89 7c 24 40       	mov    %rdi,0x40(%rsp)
1400582b2:	e8 49 d7 06 00       	call   0x1400c5a00
1400582b7:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
1400582bc:	8b 54 24 2c          	mov    0x2c(%rsp),%edx
1400582c0:	48 85 c9             	test   %rcx,%rcx
1400582c3:	0f 84 9f 02 00 00    	je     0x140058568
1400582c9:	44 8b 69 40          	mov    0x40(%rcx),%r13d
1400582cd:	49 39 c5             	cmp    %rax,%r13
1400582d0:	0f 82 d6 02 00 00    	jb     0x1400585ac
1400582d6:	49 29 c5             	sub    %rax,%r13
1400582d9:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1400582de:	66 81 fa ff 0f       	cmp    $0xfff,%dx
1400582e3:	75 1b                	jne    0x140058300
1400582e5:	48 89 f9             	mov    %rdi,%rcx
1400582e8:	e8 ab 1b 19 00       	call   0x1401e9e98
1400582ed:	4d 8d 64 05 00       	lea    0x0(%r13,%rax,1),%r12
1400582f2:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400582f9:	00 00 00 00
1400582fd:	0f 1f 00             	nopl   (%rax)
140058300:	48 89 d9             	mov    %rbx,%rcx
140058303:	49 8d 54 24 6d       	lea    0x6d(%r12),%rdx
140058308:	81 e6 00 f0 ff ff    	and    $0xfffff000,%esi
14005830e:	e8 0d 21 11 00       	call   0x14016a420
140058313:	49 8d 57 28          	lea    0x28(%r15),%rdx
140058317:	44 89 64 24 2c       	mov    %r12d,0x2c(%rsp)
14005831c:	c7 40 3c 01 00 00 00 	movl   $0x1,0x3c(%rax)
140058323:	48 89 c3             	mov    %rax,%rbx
140058326:	41 8b 07             	mov    (%r15),%eax
140058329:	48 8d 4b 48          	lea    0x48(%rbx),%rcx
14005832d:	0f c8                	bswap  %eax
14005832f:	89 43 10             	mov    %eax,0x10(%rbx)
140058332:	41 8b 47 08          	mov    0x8(%r15),%eax
140058336:	0f c8                	bswap  %eax
140058338:	89 43 18             	mov    %eax,0x18(%rbx)
14005833b:	41 8b 47 04          	mov    0x4(%r15),%eax
14005833f:	0f c8                	bswap  %eax
140058341:	89 43 14             	mov    %eax,0x14(%rbx)
140058344:	41 8b 47 0c          	mov    0xc(%r15),%eax
140058348:	0f c8                	bswap  %eax
14005834a:	89 43 1c             	mov    %eax,0x1c(%rbx)
14005834d:	41 8b 47 10          	mov    0x10(%r15),%eax
140058351:	0f c8                	bswap  %eax
140058353:	89 43 20             	mov    %eax,0x20(%rbx)
140058356:	41 8b 47 14          	mov    0x14(%r15),%eax
14005835a:	0f c8                	bswap  %eax
14005835c:	89 43 24             	mov    %eax,0x24(%rbx)
14005835f:	41 8b 47 18          	mov    0x18(%r15),%eax
140058363:	0f c8                	bswap  %eax
140058365:	89 43 34             	mov    %eax,0x34(%rbx)
140058368:	41 8b 47 1c          	mov    0x1c(%r15),%eax
14005836c:	0f c8                	bswap  %eax
14005836e:	89 43 28             	mov    %eax,0x28(%rbx)
140058371:	41 8b 47 20          	mov    0x20(%r15),%eax
140058375:	0f c8                	bswap  %eax
140058377:	89 43 2c             	mov    %eax,0x2c(%rbx)
14005837a:	41 8b 47 24          	mov    0x24(%r15),%eax
14005837e:	89 73 38             	mov    %esi,0x38(%rbx)
140058381:	0f c8                	bswap  %eax
140058383:	89 43 30             	mov    %eax,0x30(%rbx)
140058386:	49 8b 06             	mov    (%r14),%rax
140058389:	44 89 63 40          	mov    %r12d,0x40(%rbx)
14005838d:	48 8b b0 90 01 00 00 	mov    0x190(%rax),%rsi
140058394:	c7 43 44 00 00 00 00 	movl   $0x0,0x44(%rbx)
14005839b:	4c 8b 46 10          	mov    0x10(%rsi),%r8
14005839f:	e8 4c 1a 19 00       	call   0x1401e9df0
1400583a4:	48 89 c1             	mov    %rax,%rcx
1400583a7:	48 8b 46 10          	mov    0x10(%rsi),%rax
1400583ab:	48 83 f8 1f          	cmp    $0x1f,%rax
1400583af:	0f 86 fb 00 00 00    	jbe    0x1400584b0
1400583b5:	48 2b 35 e4 0c 1e 00 	sub    0x1e0ce4(%rip),%rsi        # 0x1402390a0
1400583bc:	4d 8d 4c 24 01       	lea    0x1(%r12),%r9
1400583c1:	48 8d 4b 6c          	lea    0x6c(%rbx),%rcx
1400583c5:	48 b8 39 8e e3 38 8e 	movabs $0x8e38e38e38e38e39,%rax
1400583cc:	e3 38 8e
1400583cf:	49 89 f3             	mov    %rsi,%r11
1400583d2:	49 c1 fb 04          	sar    $0x4,%r11
1400583d6:	4c 0f af d8          	imul   %rax,%r11
1400583da:	44 89 5b 68          	mov    %r11d,0x68(%rbx)
1400583de:	83 fd 04             	cmp    $0x4,%ebp
1400583e1:	0f 85 89 00 00 00    	jne    0x140058470
1400583e7:	4d 85 ed             	test   %r13,%r13
1400583ea:	0f 85 20 01 00 00    	jne    0x140058510
1400583f0:	4d 29 e9             	sub    %r13,%r9
1400583f3:	48 89 fa             	mov    %rdi,%rdx
1400583f6:	4c 01 e9             	add    %r13,%rcx
1400583f9:	4c 29 ff             	sub    %r15,%rdi
1400583fc:	4d 89 c8             	mov    %r9,%r8
1400583ff:	e8 ec 19 19 00       	call   0x1401e9df0
140058404:	8b 44 24 2c          	mov    0x2c(%rsp),%eax
140058408:	8d 44 38 01          	lea    0x1(%rax,%rdi,1),%eax
14005840c:	44 29 e8             	sub    %r13d,%eax
14005840f:	48 8b 7c 24 20       	mov    0x20(%rsp),%rdi
140058414:	89 07                	mov    %eax,(%rdi)
140058416:	48 8b 3d d3 06 1e 00 	mov    0x1e06d3(%rip),%rdi        # 0x140238af0
14005841d:	48 8b 44 24 48       	mov    0x48(%rsp),%rax
140058422:	48 2b 07             	sub    (%rdi),%rax
140058425:	0f 85 7c 01 00 00    	jne    0x1400585a7
14005842b:	48 89 d8             	mov    %rbx,%rax
14005842e:	48 83 c4 58          	add    $0x58,%rsp
140058432:	5b                   	pop    %rbx
140058433:	5e                   	pop    %rsi
140058434:	5f                   	pop    %rdi
140058435:	5d                   	pop    %rbp
140058436:	41 5c                	pop    %r12
140058438:	41 5d                	pop    %r13
14005843a:	41 5e                	pop    %r14
14005843c:	41 5f                	pop    %r15
14005843e:	c3                   	ret
14005843f:	90                   	nop
140058440:	0f b7 f6             	movzwl %si,%esi
140058443:	48 83 c7 02          	add    $0x2,%rdi
140058447:	83 fd 04             	cmp    $0x4,%ebp
14005844a:	0f 84 54 fe ff ff    	je     0x1400582a4
140058450:	45 31 ed             	xor    %r13d,%r13d
140058453:	66 81 fa ff 0f       	cmp    $0xfff,%dx
140058458:	0f 85 a2 fe ff ff    	jne    0x140058300
14005845e:	48 89 f9             	mov    %rdi,%rcx
140058461:	e8 32 1a 19 00       	call   0x1401e9e98
140058466:	49 89 c4             	mov    %rax,%r12
140058469:	e9 92 fe ff ff       	jmp    0x140058300
14005846e:	66 90                	xchg   %ax,%ax
140058470:	48 89 fa             	mov    %rdi,%rdx
140058473:	4d 89 c8             	mov    %r9,%r8
140058476:	e8 75 19 19 00       	call   0x1401e9df0
14005847b:	49 8b 06             	mov    (%r14),%rax
14005847e:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140058485:	48 8b 50 10          	mov    0x10(%rax),%rdx
140058489:	8b 43 38             	mov    0x38(%rbx),%eax
14005848c:	25 00 40 00 00       	and    $0x4000,%eax
140058491:	83 f8 01             	cmp    $0x1,%eax
140058494:	19 c0                	sbb    %eax,%eax
140058496:	83 e0 fe             	and    $0xfffffffe,%eax
140058499:	03 43 40             	add    0x40(%rbx),%eax
14005849c:	8d 44 10 34          	lea    0x34(%rax,%rdx,1),%eax
1400584a0:	83 e0 f8             	and    $0xfffffff8,%eax
1400584a3:	e9 67 ff ff ff       	jmp    0x14005840f
1400584a8:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
1400584af:	00
1400584b0:	ba 20 00 00 00       	mov    $0x20,%edx
1400584b5:	4c 8d 04 01          	lea    (%rcx,%rax,1),%r8
1400584b9:	31 c9                	xor    %ecx,%ecx
1400584bb:	48 29 c2             	sub    %rax,%rdx
1400584be:	83 fa 08             	cmp    $0x8,%edx
1400584c1:	72 75                	jb     0x140058538
1400584c3:	89 d0                	mov    %edx,%eax
1400584c5:	49 c7 00 00 00 00 00 	movq   $0x0,(%r8)
1400584cc:	49 c7 44 00 f8 00 00 	movq   $0x0,-0x8(%r8,%rax,1)
1400584d3:	00 00
1400584d5:	49 8d 40 08          	lea    0x8(%r8),%rax
1400584d9:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
1400584dd:	49 29 c0             	sub    %rax,%r8
1400584e0:	44 01 c2             	add    %r8d,%edx
1400584e3:	83 e2 f8             	and    $0xfffffff8,%edx
1400584e6:	83 fa 08             	cmp    $0x8,%edx
1400584e9:	0f 82 c6 fe ff ff    	jb     0x1400583b5
1400584ef:	83 e2 f8             	and    $0xfffffff8,%edx
1400584f2:	41 89 d1             	mov    %edx,%r9d
1400584f5:	31 d2                	xor    %edx,%edx
1400584f7:	41 89 d0             	mov    %edx,%r8d
1400584fa:	83 c2 08             	add    $0x8,%edx
1400584fd:	4a 89 0c 00          	mov    %rcx,(%rax,%r8,1)
140058501:	44 39 ca             	cmp    %r9d,%edx
140058504:	72 f1                	jb     0x1400584f7
140058506:	e9 aa fe ff ff       	jmp    0x1400583b5
14005850b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140058510:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140058515:	4d 89 e8             	mov    %r13,%r8
140058518:	4c 89 4c 24 38       	mov    %r9,0x38(%rsp)
14005851d:	48 83 c2 6c          	add    $0x6c,%rdx
140058521:	e8 ca 18 19 00       	call   0x1401e9df0
140058526:	4c 8b 4c 24 38       	mov    0x38(%rsp),%r9
14005852b:	48 89 c1             	mov    %rax,%rcx
14005852e:	e9 bd fe ff ff       	jmp    0x1400583f0
140058533:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140058538:	f6 c2 04             	test   $0x4,%dl
14005853b:	75 53                	jne    0x140058590
14005853d:	85 d2                	test   %edx,%edx
14005853f:	0f 84 70 fe ff ff    	je     0x1400583b5
140058545:	41 c6 00 00          	movb   $0x0,(%r8)
140058549:	f6 c2 02             	test   $0x2,%dl
14005854c:	0f 84 63 fe ff ff    	je     0x1400583b5
140058552:	89 d2                	mov    %edx,%edx
140058554:	31 c0                	xor    %eax,%eax
140058556:	66 41 89 44 10 fe    	mov    %ax,-0x2(%r8,%rdx,1)
14005855c:	e9 54 fe ff ff       	jmp    0x1400583b5
140058561:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140058568:	45 31 ed             	xor    %r13d,%r13d
14005856b:	e9 69 fd ff ff       	jmp    0x1400582d9
140058570:	48 8d 0d f1 85 1a 00 	lea    0x1a85f1(%rip),%rcx        # 0x140200b68
140058577:	e8 e4 f5 ff ff       	call   0x140057b60
14005857c:	44 89 ea             	mov    %r13d,%edx
14005857f:	48 89 c1             	mov    %rax,%rcx
140058582:	e8 09 ae 06 00       	call   0x1400c3390
140058587:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
14005858e:	00 00
140058590:	89 d2                	mov    %edx,%edx
140058592:	41 c7 00 00 00 00 00 	movl   $0x0,(%r8)
140058599:	41 c7 44 10 fc 00 00 	movl   $0x0,-0x4(%r8,%rdx,1)
1400585a0:	00 00
1400585a2:	e9 0e fe ff ff       	jmp    0x1400583b5
1400585a7:	e8 c4 c2 18 00       	call   0x1401e4870
1400585ac:	48 8d 0d dd 85 1a 00 	lea    0x1a85dd(%rip),%rcx        # 0x140200b90
1400585b3:	e8 a8 f5 ff ff       	call   0x140057b60
1400585b8:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
1400585bd:	48 89 c1             	mov    %rax,%rcx
1400585c0:	48 83 c2 6c          	add    $0x6c,%rdx
1400585c4:	e8 c7 ad 06 00       	call   0x1400c3390
1400585c9:	90                   	nop
1400585ca:	66 0f 1f 44 00 00    	nopw   0x0(%rax,%rax,1)
1400585d0:	41 57                	push   %r15