140057e86:	33 d2                	xor    %edx,%edx
140057e88:	41 b8 80 16 00 00    	mov    $0x1680,%r8d
140057e8e:	48 8b ce             	mov    %rsi,%rcx
140057e91:	e8 80 24 01 00       	call   0x14006a316
140057e96:	48 8b 8e 90 16 00 00 	mov    0x1690(%rsi),%rcx
140057e9d:	8b 9e a0 16 00 00    	mov    0x16a0(%rsi),%ebx
140057ea3:	48 83 e9 18          	sub    $0x18,%rcx
140057ea7:	8b be a8 16 00 00    	mov    0x16a8(%rsi),%edi
140057ead:	e8 ce ec fc ff       	call   0x140026b80
140057eb2:	48 8b 0d 07 0c 07 00 	mov    0x70c07(%rip),%rcx        # 0x1400c8ac0
140057eb9:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
140057ebe:	48 83 c0 18          	add    $0x18,%rax
140057ec2:	89 5c 24 20          	mov    %ebx,0x20(%rsp)
140057ec6:	44 8b cd             	mov    %ebp,%r9d
140057ec9:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140057ece:	44 8b c7             	mov    %edi,%r8d
140057ed1:	e8 5e fd ff ff       	call   0x140057c34
140057ed6:	48 8b 5c 24 48       	mov    0x48(%rsp),%rbx
140057edb:	48 8b 6c 24 50       	mov    0x50(%rsp),%rbp
140057ee0:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140057ee5:	48 83 c4 30          	add    $0x30,%rsp
140057ee9:	5f                   	pop    %rdi
140057eea:	c3                   	ret
140057eeb:	90                   	nop
140057eec:	40 53                	rex push %rbx
140057eee:	48 83 ec 20          	sub    $0x20,%rsp
140057ef2:	80 79 18 00          	cmpb   $0x0,0x18(%rcx)
140057ef6:	48 8b d9             	mov    %rcx,%rbx
140057ef9:	0f 84 9c 00 00 00    	je     0x140057f9b
140057eff:	8b 49 10             	mov    0x10(%rcx),%ecx
140057f02:	ff 43 14             	incl   0x14(%rbx)
140057f05:	ff c1                	inc    %ecx
140057f07:	89 4b 10             	mov    %ecx,0x10(%rbx)
140057f0a:	81 f9 d0 07 00 00    	cmp    $0x7d0,%ecx
140057f10:	0f 8c 85 00 00 00    	jl     0x140057f9b
140057f16:	48 83 7b 08 00       	cmpq   $0x0,0x8(%rbx)
140057f1b:	75 5f                	jne    0x140057f7c
140057f1d:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
140057f22:	f7 e9                	imul   %ecx
140057f24:	c1 fa 07             	sar    $0x7,%edx
140057f27:	8b c2                	mov    %edx,%eax
140057f29:	c1 e8 1f             	shr    $0x1f,%eax
140057f2c:	03 d0                	add    %eax,%edx
140057f2e:	69 c2 d0 07 00 00    	imul   $0x7d0,%edx,%eax
140057f34:	3b c8                	cmp    %eax,%ecx
140057f36:	75 44                	jne    0x140057f7c
140057f38:	8b 13                	mov    (%rbx),%edx
140057f3a:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140057f3f:	e8 30 fa ff ff       	call   0x140057974
140057f44:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140057f49:	48 8b d1             	mov    %rcx,%rdx
140057f4c:	ff 15 be 73 08 00    	call   *0x873be(%rip)        # 0x1400df310
140057f52:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
140057f57:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140057f5b:	48 89 43 08          	mov    %rax,0x8(%rbx)
140057f5f:	83 c8 ff             	or     $0xffffffff,%eax
140057f62:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140057f67:	83 e8 01             	sub    $0x1,%eax
140057f6a:	7f 10                	jg     0x140057f7c
140057f6c:	48 8b 0a             	mov    (%rdx),%rcx
140057f6f:	48 8b 01             	mov    (%rcx),%rax
140057f72:	48 8b 40 08          	mov    0x8(%rax),%rax
140057f76:	ff 15 0c 77 01 00    	call   *0x1770c(%rip)        # 0x14006f688
140057f7c:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140057f80:	48 85 c9             	test   %rcx,%rcx
140057f83:	74 16                	je     0x140057f9b
140057f85:	4c 63 43 10          	movslq 0x10(%rbx),%r8
140057f89:	45 33 c9             	xor    %r9d,%r9d
140057f8c:	ba e2 ac 00 00       	mov    $0xace2,%edx
140057f91:	ff 15 99 73 08 00    	call   *0x87399(%rip)        # 0x1400df330
140057f97:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140057f9b:	48 83 c4 20          	add    $0x20,%rsp
140057f9f:	5b                   	pop    %rbx
140057fa0:	c3                   	ret
140057fa1:	90                   	nop
140057fa2:	90                   	nop
140057fa3:	90                   	nop
140057fa4:	48 83 ec 28          	sub    $0x28,%rsp
140057fa8:	48 83 25 08 0b 07 00 	andq   $0x0,0x70b08(%rip)        # 0x1400c8ab8
140057faf:	00
140057fb0:	48 8b 0d 09 0b 07 00 	mov    0x70b09(%rip),%rcx        # 0x1400c8ac0
140057fb7:	48 85 c9             	test   %rcx,%rcx
140057fba:	74 23                	je     0x140057fdf
140057fbc:	ff 15 26 73 08 00    	call   *0x87326(%rip)        # 0x1400df2e8
140057fc2:	48 83 25 f6 0a 07 00 	andq   $0x0,0x70af6(%rip)        # 0x1400c8ac0
140057fc9:	00
140057fca:	ff 15 80 71 01 00    	call   *0x17180(%rip)        # 0x14006f150
140057fd0:	48 8b d0             	mov    %rax,%rdx
140057fd3:	48 8d 0d 86 38 02 00 	lea    0x23886(%rip),%rcx        # 0x14007b860
140057fda:	e8 b1 91 fc ff       	call   0x140021190
140057fdf:	48 83 c4 28          	add    $0x28,%rsp
140057fe3:	c3                   	ret
140057fe4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140057fe9:	57                   	push   %rdi
140057fea:	48 83 ec 20          	sub    $0x20,%rsp
140057fee:	48 83 a1 98 16 00 00 	andq   $0x0,0x1698(%rcx)
140057ff5:	00
140057ff6:	48 8b f9             	mov    %rcx,%rdi
140057ff9:	83 a1 a4 16 00 00 00 	andl   $0x0,0x16a4(%rcx)
140058000:	83 a1 80 16 00 00 00 	andl   $0x0,0x1680(%rcx)
140058007:	83 a1 a0 16 00 00 00 	andl   $0x0,0x16a0(%rcx)
14005800e:	83 a1 84 16 00 00 00 	andl   $0x0,0x1684(%rcx)
140058015:	c6 81 88 16 00 00 00 	movb   $0x0,0x1688(%rcx)
14005801c:	48 81 c1 90 16 00 00 	add    $0x1690,%rcx
140058023:	e8 14 96 fc ff       	call   0x14002163c
140058028:	33 d2                	xor    %edx,%edx
14005802a:	41 b8 80 16 00 00    	mov    $0x1680,%r8d
140058030:	48 8b cf             	mov    %rdi,%rcx
140058033:	e8 de 22 01 00       	call   0x14006a316
140058038:	48 8b 8f 98 16 00 00 	mov    0x1698(%rdi),%rcx
14005803f:	48 85 c9             	test   %rcx,%rcx
140058042:	74 6c                	je     0x1400580b0
140058044:	45 33 c0             	xor    %r8d,%r8d
140058047:	41 8d 50 eb          	lea    -0x15(%r8),%edx
14005804b:	ff 15 c7 72 08 00    	call   *0x872c7(%rip)        # 0x1400df318
140058051:	48 8b 8f 98 16 00 00 	mov    0x1698(%rdi),%rcx
140058058:	ff 15 8a 72 08 00    	call   *0x8728a(%rip)        # 0x1400df2e8
14005805e:	48 83 a7 98 16 00 00 	andq   $0x0,0x1698(%rdi)
140058065:	00
140058066:	ff 15 e4 70 01 00    	call   *0x170e4(%rip)        # 0x14006f150
14005806c:	8b 97 8c 16 00 00    	mov    0x168c(%rdi),%edx
140058072:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140058077:	48 8b d8             	mov    %rax,%rbx
14005807a:	e8 f5 f8 ff ff       	call   0x140057974
14005807f:	48 8b d3             	mov    %rbx,%rdx
140058082:	48 8b 08             	mov    (%rax),%rcx
140058085:	e8 06 91 fc ff       	call   0x140021190
14005808a:	48 8b 54 24 30       	mov    0x30(%rsp),%rdx
14005808f:	48 83 c2 e8          	add    $0xffffffffffffffe8,%rdx
140058093:	83 c8 ff             	or     $0xffffffff,%eax
140058096:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
14005809b:	83 e8 01             	sub    $0x1,%eax
14005809e:	7f 10                	jg     0x1400580b0
1400580a0:	48 8b 0a             	mov    (%rdx),%rcx
1400580a3:	48 8b 01             	mov    (%rcx),%rax
1400580a6:	48 8b 40 08          	mov    0x8(%rax),%rax
1400580aa:	ff 15 d8 75 01 00    	call   *0x175d8(%rip)        # 0x14006f688
1400580b0:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400580b5:	48 83 c4 20          	add    $0x20,%rsp
1400580b9:	5f                   	pop    %rdi
1400580ba:	c3                   	ret
1400580bb:	90                   	nop
1400580bc:	90                   	nop
1400580bd:	90                   	nop
1400580be:	90                   	nop
1400580bf:	90                   	nop
1400580c0:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1400580c5:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1400580ca:	56                   	push   %rsi
1400580cb:	57                   	push   %rdi
1400580cc:	41 56                	push   %r14
1400580ce:	48 83 ec 30          	sub    $0x30,%rsp
1400580d2:	48 3b 0d e7 09 07 00 	cmp    0x709e7(%rip),%rcx        # 0x1400c8ac0
1400580d9:	4d 8b f0             	mov    %r8,%r14
1400580dc:	48 8b d9             	mov    %rcx,%rbx
1400580df:	0f 85 a8 00 00 00    	jne    0x14005818d
1400580e5:	81 fa e3 ac 00 00    	cmp    $0xace3,%edx
1400580eb:	0f 85 9c 00 00 00    	jne    0x14005818d
1400580f1:	80 3d d0 09 07 00 00 	cmpb   $0x0,0x709d0(%rip)        # 0x1400c8ac8
1400580f8:	0f 85 b7 00 00 00    	jne    0x1400581b5
1400580fe:	c6 05 c3 09 07 00 01 	movb   $0x1,0x709c3(%rip)        # 0x1400c8ac8
140058105:	4d 85 c0             	test   %r8,%r8
140058108:	74 78                	je     0x140058182
14005810a:	48 8b 2d a7 09 07 00 	mov    0x709a7(%rip),%rbp        # 0x1400c8ab8
140058111:	48 85 ed             	test   %rbp,%rbp
140058114:	74 40                	je     0x140058156
140058116:	49 8b 08             	mov    (%r8),%rcx
140058119:	41 8b 58 10          	mov    0x10(%r8),%ebx
14005811d:	48 83 e9 18          	sub    $0x18,%rcx
140058121:	41 8b 78 0c          	mov    0xc(%r8),%edi
140058125:	41 8b 70 08          	mov    0x8(%r8),%esi
140058129:	e8 52 ea fc ff       	call   0x140026b80
14005812e:	48 83 c0 18          	add    $0x18,%rax
140058132:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140058137:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
14005813c:	44 8b cb             	mov    %ebx,%r9d
14005813f:	48 8b c5             	mov    %rbp,%rax
140058142:	44 8b c7             	mov    %edi,%r8d
140058145:	8b d6                	mov    %esi,%edx
140058147:	ff 15 3b 75 01 00    	call   *0x1753b(%rip)        # 0x14006f688
14005814d:	84 c0                	test   %al,%al
14005814f:	75 05                	jne    0x140058156
140058151:	e8 4e fe ff ff       	call   0x140057fa4
140058156:	49 8b 16             	mov    (%r14),%rdx
140058159:	48 83 ea 18          	sub    $0x18,%rdx
14005815d:	83 c8 ff             	or     $0xffffffff,%eax
140058160:	f0 0f c1 42 10       	lock xadd %eax,0x10(%rdx)
140058165:	83 e8 01             	sub    $0x1,%eax
140058168:	7f 10                	jg     0x14005817a
14005816a:	48 8b 0a             	mov    (%rdx),%rcx
14005816d:	48 8b 01             	mov    (%rcx),%rax
140058170:	48 8b 40 08          	mov    0x8(%rax),%rax
140058174:	ff 15 0e 75 01 00    	call   *0x1750e(%rip)        # 0x14006f688
14005817a:	49 8b ce             	mov    %r14,%rcx
14005817d:	e8 5e d7 ff ff       	call   0x1400558e0
140058182:	c6 05 3f 09 07 00 00 	movb   $0x0,0x7093f(%rip)        # 0x1400c8ac8
140058189:	33 c0                	xor    %eax,%eax
14005818b:	eb 2e                	jmp    0x1400581bb
14005818d:	81 fa e2 ac 00 00    	cmp    $0xace2,%edx
140058193:	75 20                	jne    0x1400581b5
140058195:	ba eb ff ff ff       	mov    $0xffffffeb,%edx
14005819a:	ff 15 80 71 08 00    	call   *0x87180(%rip)        # 0x1400df320
1400581a0:	48 85 c0             	test   %rax,%rax
1400581a3:	74 e4                	je     0x140058189
1400581a5:	45 8b c6             	mov    %r14d,%r8d
1400581a8:	48 8b d3             	mov    %rbx,%rdx
1400581ab:	48 8b c8             	mov    %rax,%rcx
1400581ae:	e8 ad fb ff ff       	call   0x140057d60
1400581b3:	eb d4                	jmp    0x140058189
1400581b5:	ff 15 fd 70 08 00    	call   *0x870fd(%rip)        # 0x1400df2b8
1400581bb:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1400581c0:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1400581c5:	48 83 c4 30          	add    $0x30,%rsp
1400581c9:	41 5e                	pop    %r14
1400581cb:	5f                   	pop    %rdi
1400581cc:	5e                   	pop    %rsi
1400581cd:	c3                   	ret
1400581ce:	90                   	nop
1400581cf:	90                   	nop
1400581d0:	48 8b c4             	mov    %rsp,%rax
1400581d3:	48 89 58 08          	mov    %rbx,0x8(%rax)
1400581d7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1400581db:	48 89 78 20          	mov    %rdi,0x20(%rax)
1400581df:	41 56                	push   %r14
1400581e1:	48 83 ec 30          	sub    $0x30,%rsp
1400581e5:	48 8b d9             	mov    %rcx,%rbx
1400581e8:	45 33 f6             	xor    %r14d,%r14d
1400581eb:	66 44 89 70 e8       	mov    %r14w,-0x18(%rax)
1400581f0:	4c 89 70 10          	mov    %r14,0x10(%rax)
1400581f4:	44 39 35 0d 11 08 00 	cmp    %r14d,0x8110d(%rip)        # 0x1400d9308
1400581fb:	75 19                	jne    0x140058216
1400581fd:	44 39 35 0c 11 08 00 	cmp    %r14d,0x8110c(%rip)        # 0x1400d9310
140058204:	75 10                	jne    0x140058216
140058206:	48 8d 48 10          	lea    0x10(%rax),%rcx
14005820a:	e8 91 40 fc ff       	call   0x14001c2a0
14005820f:	85 c0                	test   %eax,%eax
140058211:	41 8b c6             	mov    %r14d,%eax
140058214:	74 05                	je     0x14005821b
140058216:	b8 01 00 00 00       	mov    $0x1,%eax
14005821b:	85 c0                	test   %eax,%eax
14005821d:	75 1a                	jne    0x140058239
14005821f:	41 0f b7 c6          	movzwl %r14w,%eax
140058223:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140058228:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14005822d:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
140058232:	48 83 c4 30          	add    $0x30,%rsp
140058236:	41 5e                	pop    %r14
140058238:	c3                   	ret
140058239:	48 8b cb             	mov    %rbx,%rcx
14005823c:	ff 15 e6 70 08 00    	call   *0x870e6(%rip)        # 0x1400df328
140058242:	0f b7 d8             	movzwl %ax,%ebx
140058245:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
14005824a:	44 39 35 b7 10 08 00 	cmp    %r14d,0x810b7(%rip)        # 0x1400d9308
140058251:	74 09                	je     0x14005825c
140058253:	44 39 35 b6 10 08 00 	cmp    %r14d,0x810b6(%rip)        # 0x1400d9310
14005825a:	75 34                	jne    0x140058290
14005825c:	41 8b fe             	mov    %r14d,%edi
14005825f:	66 85 db             	test   %bx,%bx
140058262:	40 0f 94 c7          	sete   %dil
140058266:	85 ff                	test   %edi,%edi
140058268:	74 0a                	je     0x140058274
14005826a:	ff 15 a0 6d 01 00    	call   *0x16da0(%rip)        # 0x14006f010
140058270:	8b f0                	mov    %eax,%esi
140058272:	eb 03                	jmp    0x140058277
140058274:	41 8b f6             	mov    %r14d,%esi
140058277:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
14005827c:	33 c9                	xor    %ecx,%ecx
14005827e:	ff 15 54 6e 01 00    	call   *0x16e54(%rip)        # 0x14006f0d8
140058284:	85 ff                	test   %edi,%edi
140058286:	74 08                	je     0x140058290
140058288:	8b ce                	mov    %esi,%ecx
14005828a:	ff 15 88 6d 01 00    	call   *0x16d88(%rip)        # 0x14006f018
140058290:	0f b7 c3             	movzwl %bx,%eax
140058293:	eb 8e                	jmp    0x140058223
140058295:	cc                   	int3
140058296:	90                   	nop
140058297:	90                   	nop
140058298:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005829d:	57                   	push   %rdi
14005829e:	48 83 ec 20          	sub    $0x20,%rsp
1400582a2:	33 c0                	xor    %eax,%eax
1400582a4:	48 8b fa             	mov    %rdx,%rdi
1400582a7:	48 89 01             	mov    %rax,(%rcx)
1400582aa:	48 8b d9             	mov    %rcx,%rbx
1400582ad:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400582b1:	48 89 41 10          	mov    %rax,0x10(%rcx)
1400582b5:	48 89 41 18          	mov    %rax,0x18(%rcx)
1400582b9:	48 89 41 28          	mov    %rax,0x28(%rcx)
1400582bd:	48 89 41 20          	mov    %rax,0x20(%rcx)
1400582c1:	48 85 d2             	test   %rdx,%rdx
1400582c4:	75 09                	jne    0x1400582cf
1400582c6:	c7 41 2c 57 00 00 00 	movl   $0x57,0x2c(%rcx)
1400582cd:	eb 09                	jmp    0x1400582d8
1400582cf:	e8 74 00 00 00       	call   0x140058348
1400582d4:	48 89 7b 18          	mov    %rdi,0x18(%rbx)
1400582d8:	48 8b c3             	mov    %rbx,%rax
1400582db:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400582e0:	48 83 c4 20          	add    $0x20,%rsp
1400582e4:	5f                   	pop    %rdi
1400582e5:	c3                   	ret
1400582e6:	90                   	nop
1400582e7:	90                   	nop
1400582e8:	40 53                	rex push %rbx
1400582ea:	48 83 ec 20          	sub    $0x20,%rsp
1400582ee:	48 8b d9             	mov    %rcx,%rbx
1400582f1:	e8 52 00 00 00       	call   0x140058348
1400582f6:	48 8b 0b             	mov    (%rbx),%rcx
1400582f9:	48 85 c9             	test   %rcx,%rcx
1400582fc:	74 3b                	je     0x140058339
1400582fe:	48 8b 43 10          	mov    0x10(%rbx),%rax
140058302:	48 2b c1             	sub    %rcx,%rax
140058305:	48 83 e0 f8          	and    $0xfffffffffffffff8,%rax
140058309:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14005830f:	72 14                	jb     0x140058325
140058311:	48 8b 51 f8          	mov    -0x8(%rcx),%rdx
140058315:	48 2b ca             	sub    %rdx,%rcx
140058318:	48 8d 41 f8          	lea    -0x8(%rcx),%rax
14005831c:	48 83 f8 1f          	cmp    $0x1f,%rax
140058320:	77 1d                	ja     0x14005833f
140058322:	48 8b ca             	mov    %rdx,%rcx
140058325:	ff 15 7d 72 01 00    	call   *0x1727d(%rip)        # 0x14006f5a8
14005832b:	48 83 23 00          	andq   $0x0,(%rbx)
14005832f:	48 83 63 08 00       	andq   $0x0,0x8(%rbx)
140058334:	48 83 63 10 00       	andq   $0x0,0x10(%rbx)
140058339:	48 83 c4 20          	add    $0x20,%rsp
14005833d:	5b                   	pop    %rbx
14005833e:	c3                   	ret
14005833f:	ff 15 33 71 01 00    	call   *0x17133(%rip)        # 0x14006f478
140058345:	cc                   	int3
140058346:	90                   	nop
140058347:	90                   	nop
140058348:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
14005834d:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140058352:	57                   	push   %rdi
140058353:	48 83 ec 20          	sub    $0x20,%rsp
140058357:	48 8b 19             	mov    (%rcx),%rbx
14005835a:	48 8b f9             	mov    %rcx,%rdi
14005835d:	48 8b 41 08          	mov    0x8(%rcx),%rax
140058361:	eb 20                	jmp    0x140058383
140058363:	48 8b 33             	mov    (%rbx),%rsi
140058366:	48 85 f6             	test   %rsi,%rsi
140058369:	74 10                	je     0x14005837b
14005836b:	48 8b ce             	mov    %rsi,%rcx
14005836e:	e8 51 27 fc ff       	call   0x14001aac4
140058373:	48 8b ce             	mov    %rsi,%rcx
140058376:	e8 65 d5 ff ff       	call   0x1400558e0
14005837b:	48 8b 47 08          	mov    0x8(%rdi),%rax
14005837f:	48 83 c3 08          	add    $0x8,%rbx
140058383:	48 3b d8             	cmp    %rax,%rbx
140058386:	75 db                	jne    0x140058363