140161fba:	48 8b d9             	mov    %rcx,%rbx
140161fbd:	48 8b 49 e0          	mov    -0x20(%rcx),%rcx
140161fc1:	48 8b 41 10          	mov    0x10(%rcx),%rax
140161fc5:	48 85 c0             	test   %rax,%rax
140161fc8:	74 02                	je     0x140161fcc
140161fca:	ff d0                	call   *%rax
140161fcc:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
140161fd1:	f0 0f c1 43 f8       	lock xadd %eax,-0x8(%rbx)
140161fd6:	83 f8 01             	cmp    $0x1,%eax
140161fd9:	75 52                	jne    0x14016202d
140161fdb:	48 8d 7b d8          	lea    -0x28(%rbx),%rdi
140161fdf:	48 85 ff             	test   %rdi,%rdi
140161fe2:	74 3c                	je     0x140162020
140161fe4:	48 8d 05 a5 b2 0b 00 	lea    0xbb2a5(%rip),%rax        # 0x14021d290
140161feb:	48 89 43 e8          	mov    %rax,-0x18(%rbx)
140161fef:	48 8b 43 f0          	mov    -0x10(%rbx),%rax
140161ff3:	48 63 50 04          	movslq 0x4(%rax),%rdx
140161ff7:	48 8d 05 aa b2 0b 00 	lea    0xbb2aa(%rip),%rax        # 0x14021d2a8
140161ffe:	48 89 44 1a f0       	mov    %rax,-0x10(%rdx,%rbx,1)
140162003:	e8 c8 3e f6 ff       	call   0x1400c5ed0
140162008:	90                   	nop
140162009:	48 8d 05 d8 9e 0d 00 	lea    0xd9ed8(%rip),%rax        # 0x14023bee8
140162010:	48 89 03             	mov    %rax,(%rbx)
140162013:	ba 30 00 00 00       	mov    $0x30,%edx
140162018:	48 8b cf             	mov    %rdi,%rcx
14016201b:	e8 2c 46 02 00       	call   0x14018664c
140162020:	b0 01                	mov    $0x1,%al
140162022:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140162027:	48 83 c4 20          	add    $0x20,%rsp
14016202b:	5f                   	pop    %rdi
14016202c:	c3                   	ret
14016202d:	32 c0                	xor    %al,%al
14016202f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140162034:	48 83 c4 20          	add    $0x20,%rsp
140162038:	5f                   	pop    %rdi
140162039:	c3                   	ret
14016203a:	cc                   	int3
14016203b:	cc                   	int3
14016203c:	cc                   	int3
14016203d:	cc                   	int3
14016203e:	cc                   	int3
14016203f:	cc                   	int3
140162040:	48 8d 05 91 b2 0b 00 	lea    0xbb291(%rip),%rax        # 0x14021d2d8
140162047:	48 89 01             	mov    %rax,(%rcx)
14016204a:	48 8b c1             	mov    %rcx,%rax
14016204d:	c3                   	ret
14016204e:	cc                   	int3
14016204f:	cc                   	int3
140162050:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140162055:	53                   	push   %rbx
140162056:	55                   	push   %rbp
140162057:	56                   	push   %rsi
140162058:	57                   	push   %rdi
140162059:	41 56                	push   %r14
14016205b:	48 83 ec 20          	sub    $0x20,%rsp
14016205f:	49 8b f8             	mov    %r8,%rdi
140162062:	4c 8b f2             	mov    %rdx,%r14
140162065:	33 db                	xor    %ebx,%ebx
140162067:	48 8b 71 f8          	mov    -0x8(%rcx),%rsi
14016206b:	48 83 3e 18          	cmpq   $0x18,(%rsi)
14016206f:	0f 82 06 01 00 00    	jb     0x14016217b
140162075:	48 8b 6e 10          	mov    0x10(%rsi),%rbp
140162079:	48 85 ed             	test   %rbp,%rbp
14016207c:	0f 84 f9 00 00 00    	je     0x14016217b
140162082:	48 8b 42 08          	mov    0x8(%rdx),%rax
140162086:	48 85 c0             	test   %rax,%rax
140162089:	0f 84 ea 00 00 00    	je     0x140162179
14016208f:	48 39 58 08          	cmp    %rbx,0x8(%rax)
140162093:	0f 84 e0 00 00 00    	je     0x140162179
140162099:	49 8b 10             	mov    (%r8),%rdx
14016209c:	48 85 d2             	test   %rdx,%rdx
14016209f:	75 15                	jne    0x1401620b6
1401620a1:	49 8b c8             	mov    %r8,%rcx
1401620a4:	e8 17 0c f9 ff       	call   0x1400f2cc0
1401620a9:	32 c0                	xor    %al,%al
1401620ab:	48 83 c4 20          	add    $0x20,%rsp
1401620af:	41 5e                	pop    %r14
1401620b1:	5f                   	pop    %rdi
1401620b2:	5e                   	pop    %rsi
1401620b3:	5d                   	pop    %rbp
1401620b4:	5b                   	pop    %rbx
1401620b5:	c3                   	ret
1401620b6:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
1401620bb:	48 8b 42 08          	mov    0x8(%rdx),%rax
1401620bf:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401620c3:	48 83 c2 08          	add    $0x8,%rdx
1401620c7:	48 03 ca             	add    %rdx,%rcx
1401620ca:	48 8b 01             	mov    (%rcx),%rax
1401620cd:	ff 10                	call   *(%rax)
1401620cf:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
1401620d4:	48 89 44 24 68       	mov    %rax,0x68(%rsp)
1401620d9:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1401620de:	48 85 c0             	test   %rax,%rax
1401620e1:	75 02                	jne    0x1401620e5
1401620e3:	eb 6d                	jmp    0x140162152
1401620e5:	8b 48 f0             	mov    -0x10(%rax),%ecx
1401620e8:	3b 0d 7a 8f 14 00    	cmp    0x148f7a(%rip),%ecx        # 0x1402ab068
1401620ee:	74 2d                	je     0x14016211d
1401620f0:	48 8b d0             	mov    %rax,%rdx
1401620f3:	e8 e8 47 f6 ff       	call   0x1400c68e0
1401620f8:	48 8b d8             	mov    %rax,%rbx
1401620fb:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140162100:	48 85 c9             	test   %rcx,%rcx
140162103:	74 16                	je     0x14016211b
140162105:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140162109:	4c 63 42 04          	movslq 0x4(%rdx),%r8
14016210d:	48 83 c1 08          	add    $0x8,%rcx
140162111:	49 03 c8             	add    %r8,%rcx
140162114:	48 8b 11             	mov    (%rcx),%rdx
140162117:	ff 52 08             	call   *0x8(%rdx)
14016211a:	90                   	nop
14016211b:	eb 35                	jmp    0x140162152
14016211d:	48 8d 58 f8          	lea    -0x8(%rax),%rbx
140162121:	48 8b 0b             	mov    (%rbx),%rcx
140162124:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140162128:	48 85 d2             	test   %rdx,%rdx
14016212b:	74 07                	je     0x140162134
14016212d:	ff d2                	call   *%rdx
14016212f:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140162134:	48 8b 1b             	mov    (%rbx),%rbx
140162137:	48 85 c0             	test   %rax,%rax
14016213a:	74 16                	je     0x140162152
14016213c:	48 8b 50 08          	mov    0x8(%rax),%rdx
140162140:	48 63 4a 04          	movslq 0x4(%rdx),%rcx
140162144:	48 83 c0 08          	add    $0x8,%rax
140162148:	48 03 c8             	add    %rax,%rcx
14016214b:	48 8b 01             	mov    (%rcx),%rax
14016214e:	ff 50 08             	call   *0x8(%rax)
140162151:	90                   	nop
140162152:	4c 8b c3             	mov    %rbx,%r8
140162155:	49 8b 56 08          	mov    0x8(%r14),%rdx
140162159:	48 8b ce             	mov    %rsi,%rcx
14016215c:	ff d5                	call   *%rbp
14016215e:	85 c0                	test   %eax,%eax
140162160:	0f 95 c3             	setne  %bl
140162163:	48 8b cf             	mov    %rdi,%rcx
140162166:	e8 55 0b f9 ff       	call   0x1400f2cc0
14016216b:	0f b6 c3             	movzbl %bl,%eax
14016216e:	48 83 c4 20          	add    $0x20,%rsp
140162172:	41 5e                	pop    %r14
140162174:	5f                   	pop    %rdi
140162175:	5e                   	pop    %rsi
140162176:	5d                   	pop    %rbp
140162177:	5b                   	pop    %rbx
140162178:	c3                   	ret
140162179:	eb 00                	jmp    0x14016217b
14016217b:	49 8b 10             	mov    (%r8),%rdx
14016217e:	48 85 d2             	test   %rdx,%rdx
140162181:	74 16                	je     0x140162199
140162183:	48 8b 42 08          	mov    0x8(%rdx),%rax
140162187:	48 83 c2 08          	add    $0x8,%rdx
14016218b:	48 63 48 04          	movslq 0x4(%rax),%rcx
14016218f:	48 03 ca             	add    %rdx,%rcx
140162192:	48 8b 01             	mov    (%rcx),%rax
140162195:	ff 50 08             	call   *0x8(%rax)
140162198:	90                   	nop
140162199:	32 c0                	xor    %al,%al
14016219b:	48 83 c4 20          	add    $0x20,%rsp
14016219f:	41 5e                	pop    %r14
1401621a1:	5f                   	pop    %rdi
1401621a2:	5e                   	pop    %rsi
1401621a3:	5d                   	pop    %rbp
1401621a4:	5b                   	pop    %rbx
1401621a5:	c3                   	ret
1401621a6:	cc                   	int3
1401621a7:	cc                   	int3
1401621a8:	cc                   	int3
1401621a9:	cc                   	int3
1401621aa:	cc                   	int3
1401621ab:	cc                   	int3
1401621ac:	cc                   	int3
1401621ad:	cc                   	int3
1401621ae:	cc                   	int3
1401621af:	cc                   	int3
1401621b0:	45 33 c9             	xor    %r9d,%r9d
1401621b3:	4c 8b c1             	mov    %rcx,%r8
1401621b6:	85 d2                	test   %edx,%edx
1401621b8:	74 16                	je     0x1401621d0
1401621ba:	48 8d 05 17 b3 0b 00 	lea    0xbb317(%rip),%rax        # 0x14021d4d8
1401621c1:	48 89 41 08          	mov    %rax,0x8(%rcx)
1401621c5:	48 8d 05 1c 9d 0d 00 	lea    0xd9d1c(%rip),%rax        # 0x14023bee8
1401621cc:	48 89 41 18          	mov    %rax,0x18(%rcx)
1401621d0:	48 8d 05 11 b1 0b 00 	lea    0xbb111(%rip),%rax        # 0x14021d2e8
1401621d7:	48 89 01             	mov    %rax,(%rcx)
1401621da:	48 8b 41 08          	mov    0x8(%rcx),%rax
1401621de:	48 63 48 04          	movslq 0x4(%rax),%rcx
1401621e2:	48 8d 05 1f 81 0b 00 	lea    0xb811f(%rip),%rax        # 0x14021a308
1401621e9:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
1401621ee:	48 8d 05 f3 b0 0b 00 	lea    0xbb0f3(%rip),%rax        # 0x14021d2e8
1401621f5:	49 89 00             	mov    %rax,(%r8)
1401621f8:	49 8b 40 08          	mov    0x8(%r8),%rax
1401621fc:	48 63 48 04          	movslq 0x4(%rax),%rcx
140162200:	48 8d 05 b1 b1 0b 00 	lea    0xbb1b1(%rip),%rax        # 0x14021d3b8
140162207:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14016220c:	48 8d 05 cd b1 0b 00 	lea    0xbb1cd(%rip),%rax        # 0x14021d3e0
140162213:	45 89 48 10          	mov    %r9d,0x10(%r8)
140162217:	49 89 00             	mov    %rax,(%r8)
14016221a:	49 8b 40 08          	mov    0x8(%r8),%rax
14016221e:	48 63 48 04          	movslq 0x4(%rax),%rcx
140162222:	48 8d 05 87 b2 0b 00 	lea    0xbb287(%rip),%rax        # 0x14021d4b0
140162229:	4a 89 44 01 08       	mov    %rax,0x8(%rcx,%r8,1)
14016222e:	49 8b c0             	mov    %r8,%rax
140162231:	c3                   	ret
140162232:	cc                   	int3
140162233:	cc                   	int3
140162234:	cc                   	int3
140162235:	cc                   	int3
140162236:	cc                   	int3
140162237:	cc                   	int3
140162238:	cc                   	int3
140162239:	cc                   	int3
14016223a:	cc                   	int3
14016223b:	cc                   	int3
14016223c:	cc                   	int3
14016223d:	cc                   	int3
14016223e:	cc                   	int3
14016223f:	cc                   	int3
140162240:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140162245:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14016224a:	57                   	push   %rdi
14016224b:	48 83 ec 20          	sub    $0x20,%rsp
14016224f:	8b fa                	mov    %edx,%edi
140162251:	48 8b d9             	mov    %rcx,%rbx
140162254:	48 8d 05 85 b1 0b 00 	lea    0xbb185(%rip),%rax        # 0x14021d3e0
14016225b:	48 89 41 e8          	mov    %rax,-0x18(%rcx)
14016225f:	4c 8b 41 f0          	mov    -0x10(%rcx),%r8
140162263:	4d 63 48 04          	movslq 0x4(%r8),%r9
140162267:	48 8d 05 42 b2 0b 00 	lea    0xbb242(%rip),%rax        # 0x14021d4b0
14016226e:	49 89 44 09 f0       	mov    %rax,-0x10(%r9,%rcx,1)
140162273:	e8 58 3c f6 ff       	call   0x1400c5ed0
140162278:	90                   	nop
140162279:	48 8d 05 68 9c 0d 00 	lea    0xd9c68(%rip),%rax        # 0x14023bee8
140162280:	48 89 03             	mov    %rax,(%rbx)
140162283:	40 f6 c7 01          	test   $0x1,%dil
140162287:	74 0e                	je     0x140162297
140162289:	ba 20 00 00 00       	mov    $0x20,%edx
14016228e:	48 8d 4b e8          	lea    -0x18(%rbx),%rcx
140162292:	e8 b5 43 02 00       	call   0x14018664c
140162297:	48 8d 43 e8          	lea    -0x18(%rbx),%rax
14016229b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401622a0:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1401622a5:	48 83 c4 20          	add    $0x20,%rsp
1401622a9:	5f                   	pop    %rdi
1401622aa:	c3                   	ret
1401622ab:	cc                   	int3
1401622ac:	cc                   	int3
1401622ad:	cc                   	int3
1401622ae:	cc                   	int3
1401622af:	cc                   	int3
1401622b0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401622b5:	57                   	push   %rdi
1401622b6:	48 83 ec 30          	sub    $0x30,%rsp
1401622ba:	48 8b fa             	mov    %rdx,%rdi
1401622bd:	48 8b d9             	mov    %rcx,%rbx
1401622c0:	e8 0b 3c f6 ff       	call   0x1400c5ed0
1401622c5:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
1401622c9:	48 81 39 88 00 00 00 	cmpq   $0x88,(%rcx)
1401622d0:	72 27                	jb     0x1401622f9
1401622d2:	48 8b 81 80 00 00 00 	mov    0x80(%rcx),%rax
1401622d9:	48 85 c0             	test   %rax,%rax
1401622dc:	74 1b                	je     0x1401622f9
1401622de:	ff d0                	call   *%rax
1401622e0:	48 8b d0             	mov    %rax,%rdx
1401622e3:	48 8b cf             	mov    %rdi,%rcx
1401622e6:	e8 95 77 ff ff       	call   0x140159a80
1401622eb:	48 8b c7             	mov    %rdi,%rax
1401622ee:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401622f3:	48 83 c4 30          	add    $0x30,%rsp
1401622f7:	5f                   	pop    %rdi
1401622f8:	c3                   	ret
1401622f9:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401622fe:	48 8b c7             	mov    %rdi,%rax
140162301:	48 c7 07 00 00 00 00 	movq   $0x0,(%rdi)
140162308:	48 83 c4 30          	add    $0x30,%rsp
14016230c:	5f                   	pop    %rdi
14016230d:	c3                   	ret
14016230e:	cc                   	int3
14016230f:	cc                   	int3
140162310:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140162315:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14016231a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14016231f:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140162324:	41 56                	push   %r14
140162326:	48 83 ec 40          	sub    $0x40,%rsp
14016232a:	49 8b f0             	mov    %r8,%rsi
14016232d:	48 8b fa             	mov    %rdx,%rdi
140162330:	48 8b d9             	mov    %rcx,%rbx
140162333:	e8 98 3b f6 ff       	call   0x1400c5ed0
140162338:	48 8b 4b f8          	mov    -0x8(%rbx),%rcx
14016233c:	48 81 39 d8 00 00 00 	cmpq   $0xd8,(%rcx)
140162343:	0f 82 0d 01 00 00    	jb     0x140162456
140162349:	48 8b 81 d0 00 00 00 	mov    0xd0(%rcx),%rax
140162350:	48 85 c0             	test   %rax,%rax
140162353:	0f 84 fd 00 00 00    	je     0x140162456
140162359:	48 8b 56 08          	mov    0x8(%rsi),%rdx
14016235d:	48 85 d2             	test   %rdx,%rdx
140162360:	0f 84 f0 00 00 00    	je     0x140162456
140162366:	48 83 7a 08 00       	cmpq   $0x0,0x8(%rdx)
14016236b:	0f 84 e5 00 00 00    	je     0x140162456
140162371:	ff d0                	call   *%rax
140162373:	4c 8b f0             	mov    %rax,%r14
140162376:	48 8d 35 6b 9c 0d 00 	lea    0xd9c6b(%rip),%rsi        # 0x14023bfe8
14016237d:	48 89 74 24 28       	mov    %rsi,0x28(%rsp)
140162382:	33 db                	xor    %ebx,%ebx
140162384:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140162389:	40 32 ed             	xor    %bpl,%bpl
14016238c:	40 88 6c 24 38       	mov    %bpl,0x38(%rsp)
140162391:	48 85 c0             	test   %rax,%rax
140162394:	74 49                	je     0x1401623df
140162396:	8d 4b 18             	lea    0x18(%rbx),%ecx
140162399:	e8 52 3f 02 00       	call   0x1401862f0
14016239e:	48 8b d8             	mov    %rax,%rbx
1401623a1:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
1401623a6:	0f 57 c0             	xorps  %xmm0,%xmm0
1401623a9:	33 c0                	xor    %eax,%eax
1401623ab:	0f 11 03             	movups %xmm0,(%rbx)
1401623ae:	48 89 43 10          	mov    %rax,0x10(%rbx)
1401623b2:	40 b5 01             	mov    $0x1,%bpl
1401623b5:	40 88 6c 24 38       	mov    %bpl,0x38(%rsp)
1401623ba:	41 0f 10 06          	movups (%r14),%xmm0
1401623be:	0f 11 03             	movups %xmm0,(%rbx)
1401623c1:	f2 41 0f 10 4e 10    	movsd  0x10(%r14),%xmm1
1401623c7:	f2 0f 11 4b 10       	movsd  %xmm1,0x10(%rbx)
1401623cc:	0f 57 c0             	xorps  %xmm0,%xmm0
1401623cf:	41 0f 11 06          	movups %xmm0,(%r14)
1401623d3:	49 89 46 10          	mov    %rax,0x10(%r14)
1401623d7:	49 8b ce             	mov    %r14,%rcx
1401623da:	e8 ad 3d 05 00       	call   0x1401b618c
1401623df:	48 89 37             	mov    %rsi,(%rdi)
1401623e2:	48 c7 47 08 00 00 00 	movq   $0x0,0x8(%rdi)
1401623e9:	00
1401623ea:	c6 47 10 00          	movb   $0x0,0x10(%rdi)
1401623ee:	48 85 db             	test   %rbx,%rbx
1401623f1:	74 42                	je     0x140162435
1401623f3:	48 8b 73 08          	mov    0x8(%rbx),%rsi
1401623f7:	4c 8b 33             	mov    (%rbx),%r14
1401623fa:	4d 85 f6             	test   %r14,%r14
1401623fd:	74 36                	je     0x140162435
1401623ff:	48 85 f6             	test   %rsi,%rsi
140162402:	74 31                	je     0x140162435
140162404:	b9 18 00 00 00       	mov    $0x18,%ecx
140162409:	e8 e2 3e 02 00       	call   0x1401862f0
14016240e:	48 89 47 08          	mov    %rax,0x8(%rdi)
140162412:	0f 57 c0             	xorps  %xmm0,%xmm0
140162415:	33 c9                	xor    %ecx,%ecx
140162417:	0f 11 00             	movups %xmm0,(%rax)
14016241a:	48 89 48 10          	mov    %rcx,0x10(%rax)
14016241e:	c6 47 10 01          	movb   $0x1,0x10(%rdi)
140162422:	44 8d 49 01          	lea    0x1(%rcx),%r9d
140162426:	4c 8b c0             	mov    %rax,%r8