140022f55:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
140022f5a:	e8 e9 b3 ff ff       	call   0x14001e348
140022f5f:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140022f64:	48 85 db             	test   %rbx,%rbx
140022f67:	74 16                	je     0x140022f7f
140022f69:	4c 39 63 10          	cmp    %r12,0x10(%rbx)
140022f6d:	74 10                	je     0x140022f7f
140022f6f:	48 8b d3             	mov    %rbx,%rdx
140022f72:	49 8b ce             	mov    %r14,%rcx
140022f75:	e8 32 13 00 00       	call   0x1400242ac
140022f7a:	40 b7 01             	mov    $0x1,%dil
140022f7d:	eb 03                	jmp    0x140022f82
140022f7f:	41 8a fc             	mov    %r12b,%dil
140022f82:	48 85 db             	test   %rbx,%rbx
140022f85:	0f 84 b6 01 00 00    	je     0x140023141
140022f8b:	ba 01 00 00 00       	mov    $0x1,%edx
140022f90:	48 8b cb             	mov    %rbx,%rcx
140022f93:	e8 0c f5 fe ff       	call   0x1400124a4
140022f98:	e9 a4 01 00 00       	jmp    0x140023141
140022f9d:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
140022fa1:	e8 52 13 00 00       	call   0x1400242f8
140022fa6:	4c 8d 45 00          	lea    0x0(%rbp),%r8
140022faa:	48 83 7d 18 07       	cmpq   $0x7,0x18(%rbp)
140022faf:	4c 0f 47 45 00       	cmova  0x0(%rbp),%r8
140022fb4:	8a 47 38             	mov    0x38(%rdi),%al
140022fb7:	48 8d 4f 18          	lea    0x18(%rdi),%rcx
140022fbb:	f6 d8                	neg    %al
140022fbd:	48 1b d2             	sbb    %rdx,%rdx
140022fc0:	48 23 d1             	and    %rcx,%rdx
140022fc3:	4d 8b cd             	mov    %r13,%r9
140022fc6:	49 ff c1             	inc    %r9
140022fc9:	66 47 39 24 48       	cmp    %r12w,(%r8,%r9,2)
140022fce:	75 f6                	jne    0x140022fc6
140022fd0:	0f 57 c0             	xorps  %xmm0,%xmm0
140022fd3:	33 c0                	xor    %eax,%eax
140022fd5:	0f 11 45 a0          	movups %xmm0,-0x60(%rbp)
140022fd9:	48 89 45 b0          	mov    %rax,-0x50(%rbp)
140022fdd:	0f 57 c9             	xorps  %xmm1,%xmm1
140022fe0:	0f 11 4d b8          	movups %xmm1,-0x48(%rbp)
140022fe4:	0f 11 4d c8          	movups %xmm1,-0x38(%rbp)
140022fe8:	44 88 65 d8          	mov    %r12b,-0x28(%rbp)
140022fec:	48 8d 45 a0          	lea    -0x60(%rbp),%rax
140022ff0:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
140022ff4:	c7 44 24 20 01 00 00 	movl   $0x1,0x20(%rsp)
140022ffb:	00
140022ffc:	48 8d 4d a0          	lea    -0x60(%rbp),%rcx
140023000:	e8 35 d1 00 00       	call   0x14003013a
140023005:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
140023009:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
14002300e:	e8 81 0e ff ff       	call   0x140013e94
140023013:	8a 45 d8             	mov    -0x28(%rbp),%al
140023016:	84 c0                	test   %al,%al
140023018:	74 39                	je     0x140023053
14002301a:	f6 d8                	neg    %al
14002301c:	48 1b c9             	sbb    %rcx,%rcx
14002301f:	48 8d 45 b8          	lea    -0x48(%rbp),%rax
140023023:	48 23 c8             	and    %rax,%rcx
140023026:	e8 d9 d0 00 00       	call   0x140030104
14002302b:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
14002302f:	4c 89 65 a0          	mov    %r12,-0x60(%rbp)
140023033:	48 85 c9             	test   %rcx,%rcx
140023036:	74 05                	je     0x14002303d
140023038:	e8 79 d0 00 00       	call   0x1400300b6
14002303d:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140023041:	4c 89 65 b8          	mov    %r12,-0x48(%rbp)
140023045:	48 85 c9             	test   %rcx,%rcx
140023048:	74 05                	je     0x14002304f
14002304a:	e8 67 d0 00 00       	call   0x1400300b6
14002304f:	44 88 65 d8          	mov    %r12b,-0x28(%rbp)
140023053:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
140023057:	4c 89 65 b8          	mov    %r12,-0x48(%rbp)
14002305b:	48 85 c9             	test   %rcx,%rcx
14002305e:	74 05                	je     0x140023065
140023060:	e8 51 d0 00 00       	call   0x1400300b6
140023065:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
140023069:	4c 89 65 a0          	mov    %r12,-0x60(%rbp)
14002306d:	48 85 c9             	test   %rcx,%rcx
140023070:	74 05                	je     0x140023077
140023072:	e8 3f d0 00 00       	call   0x1400300b6
140023077:	48 8d 4d 00          	lea    0x0(%rbp),%rcx
14002307b:	e8 30 46 fe ff       	call   0x1400076b0
140023080:	0f 57 c0             	xorps  %xmm0,%xmm0
140023083:	0f 11 45 e0          	movups %xmm0,-0x20(%rbp)
140023087:	66 0f 6f 0d 71 60 01 	movdqa 0x16071(%rip),%xmm1        # 0x140039100
14002308e:	00
14002308f:	f3 0f 7f 4d f0       	movdqu %xmm1,-0x10(%rbp)
140023094:	66 44 89 65 e0       	mov    %r12w,-0x20(%rbp)
140023099:	8a 45 98             	mov    -0x68(%rbp),%al
14002309c:	f6 d8                	neg    %al
14002309e:	48 1b c9             	sbb    %rcx,%rcx
1400230a1:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
1400230a6:	48 23 c8             	and    %rax,%rcx
1400230a9:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1400230ad:	e8 0e d2 00 00       	call   0x1400302c0
1400230b2:	84 c0                	test   %al,%al
1400230b4:	74 49                	je     0x1400230ff
1400230b6:	48 8d 55 e0          	lea    -0x20(%rbp),%rdx
1400230ba:	49 8b ce             	mov    %r14,%rcx
1400230bd:	e8 ea 11 00 00       	call   0x1400242ac
1400230c2:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
1400230c6:	48 83 f8 07          	cmp    $0x7,%rax
1400230ca:	76 2e                	jbe    0x1400230fa
1400230cc:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
1400230d3:	00
1400230d4:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
1400230d8:	48 8b d1             	mov    %rcx,%rdx
1400230db:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
1400230e1:	72 11                	jb     0x1400230f4
1400230e3:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
1400230e7:	48 2b d1             	sub    %rcx,%rdx
1400230ea:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
1400230ee:	48 83 f8 1f          	cmp    $0x1f,%rax
1400230f2:	77 3d                	ja     0x140023131
1400230f4:	ff 15 0e 14 01 00    	call   *0x1140e(%rip)        # 0x140034508
1400230fa:	40 b7 01             	mov    $0x1,%dil
1400230fd:	eb 42                	jmp    0x140023141
1400230ff:	48 8b 45 f8          	mov    -0x8(%rbp),%rax
140023103:	48 83 f8 07          	cmp    $0x7,%rax
140023107:	76 35                	jbe    0x14002313e
140023109:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
140023110:	00
140023111:	48 8b 4d e0          	mov    -0x20(%rbp),%rcx
140023115:	48 8b d1             	mov    %rcx,%rdx
140023118:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
14002311e:	72 18                	jb     0x140023138
140023120:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140023124:	48 2b d1             	sub    %rcx,%rdx
140023127:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
14002312b:	48 83 f8 1f          	cmp    $0x1f,%rax
14002312f:	76 07                	jbe    0x140023138
140023131:	ff 15 69 13 01 00    	call   *0x11369(%rip)        # 0x1400344a0
140023137:	cc                   	int3
140023138:	ff 15 ca 13 01 00    	call   *0x113ca(%rip)        # 0x140034508
14002313e:	41 8a fc             	mov    %r12b,%dil
140023141:	48 85 f6             	test   %rsi,%rsi
140023144:	74 41                	je     0x140023187
140023146:	41 8b c5             	mov    %r13d,%eax
140023149:	f0 0f c1 46 08       	lock xadd %eax,0x8(%rsi)
14002314e:	41 03 c5             	add    %r13d,%eax
140023151:	75 34                	jne    0x140023187
140023153:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140023158:	48 8b 03             	mov    (%rbx),%rax
14002315b:	48 8b cb             	mov    %rbx,%rcx
14002315e:	48 8b 00             	mov    (%rax),%rax
140023161:	ff 15 31 14 01 00    	call   *0x11431(%rip)        # 0x140034598
140023167:	41 8b c5             	mov    %r13d,%eax
14002316a:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
14002316f:	41 03 c5             	add    %r13d,%eax
140023172:	75 13                	jne    0x140023187
140023174:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
140023179:	48 8b 01             	mov    (%rcx),%rax
14002317c:	48 8b 40 08          	mov    0x8(%rax),%rax
140023180:	ff 15 12 14 01 00    	call   *0x11412(%rip)        # 0x140034598
140023186:	90                   	nop
140023187:	8a 45 98             	mov    -0x68(%rbp),%al
14002318a:	84 c0                	test   %al,%al
14002318c:	74 3e                	je     0x1400231cc
14002318e:	f6 d8                	neg    %al
140023190:	48 1b c9             	sbb    %rcx,%rcx
140023193:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
140023198:	48 23 c8             	and    %rax,%rcx
14002319b:	e8 64 cf 00 00       	call   0x140030104
1400231a0:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400231a5:	4c 89 64 24 60       	mov    %r12,0x60(%rsp)
1400231aa:	48 85 c9             	test   %rcx,%rcx
1400231ad:	74 05                	je     0x1400231b4
1400231af:	e8 02 cf 00 00       	call   0x1400300b6
1400231b4:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
1400231b9:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
1400231be:	48 85 c9             	test   %rcx,%rcx
1400231c1:	74 05                	je     0x1400231c8
1400231c3:	e8 ee ce 00 00       	call   0x1400300b6
1400231c8:	44 88 65 98          	mov    %r12b,-0x68(%rbp)
1400231cc:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
1400231d1:	4c 89 64 24 78       	mov    %r12,0x78(%rsp)
1400231d6:	48 85 c9             	test   %rcx,%rcx
1400231d9:	74 05                	je     0x1400231e0
1400231db:	e8 d6 ce 00 00       	call   0x1400300b6
1400231e0:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400231e5:	4c 89 64 24 60       	mov    %r12,0x60(%rsp)
1400231ea:	48 85 c9             	test   %rcx,%rcx
1400231ed:	74 05                	je     0x1400231f4
1400231ef:	e8 c2 ce 00 00       	call   0x1400300b6
1400231f4:	40 8a c7             	mov    %dil,%al
1400231f7:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
1400231fb:	48 33 cc             	xor    %rsp,%rcx
1400231fe:	e8 2d d9 00 00       	call   0x140030b30
140023203:	48 8b 9c 24 a8 01 00 	mov    0x1a8(%rsp),%rbx
14002320a:	00
14002320b:	48 81 c4 50 01 00 00 	add    $0x150,%rsp
140023212:	41 5f                	pop    %r15
140023214:	41 5e                	pop    %r14
140023216:	41 5d                	pop    %r13
140023218:	41 5c                	pop    %r12
14002321a:	5f                   	pop    %rdi
14002321b:	5e                   	pop    %rsi
14002321c:	5d                   	pop    %rbp
14002321d:	c3                   	ret
14002321e:	90                   	nop
14002321f:	90                   	nop
140023220:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140023225:	57                   	push   %rdi
140023226:	48 83 ec 20          	sub    $0x20,%rsp
14002322a:	44 8a c2             	mov    %dl,%r8b
14002322d:	48 8b f9             	mov    %rcx,%rdi
140023230:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140023234:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
140023239:	e8 26 29 00 00       	call   0x140025b64
14002323e:	48 8b 10             	mov    (%rax),%rdx
140023241:	48 83 20 00          	andq   $0x0,(%rax)
140023245:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
140023249:	48 89 57 10          	mov    %rdx,0x10(%rdi)
14002324d:	48 85 db             	test   %rbx,%rbx
140023250:	74 10                	je     0x140023262
140023252:	48 8b cb             	mov    %rbx,%rcx
140023255:	e8 b2 ec ff ff       	call   0x140021f0c
14002325a:	48 8b cb             	mov    %rbx,%rcx
14002325d:	e8 26 90 fe ff       	call   0x14000c288
140023262:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140023267:	48 85 db             	test   %rbx,%rbx
14002326a:	74 10                	je     0x14002327c
14002326c:	48 8b cb             	mov    %rbx,%rcx
14002326f:	e8 98 ec ff ff       	call   0x140021f0c
140023274:	48 8b cb             	mov    %rbx,%rcx
140023277:	e8 0c 90 fe ff       	call   0x14000c288
14002327c:	48 83 7f 10 00       	cmpq   $0x0,0x10(%rdi)
140023281:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140023286:	0f 95 c0             	setne  %al
140023289:	48 83 c4 20          	add    $0x20,%rsp
14002328d:	5f                   	pop    %rdi
14002328e:	c3                   	ret
14002328f:	90                   	nop
140023290:	40 53                	rex push %rbx
140023292:	48 83 ec 30          	sub    $0x30,%rsp
140023296:	41 8b c1             	mov    %r9d,%eax
140023299:	48 8b d9             	mov    %rcx,%rbx
14002329c:	49 83 c9 ff          	or     $0xffffffffffffffff,%r9
1400232a0:	45 33 d2             	xor    %r10d,%r10d
1400232a3:	49 ff c1             	inc    %r9
1400232a6:	66 47 39 14 48       	cmp    %r10w,(%r8,%r9,2)
1400232ab:	75 f6                	jne    0x1400232a3
1400232ad:	33 c9                	xor    %ecx,%ecx
1400232af:	89 44 24 20          	mov    %eax,0x20(%rsp)
1400232b3:	0f 57 c0             	xorps  %xmm0,%xmm0
1400232b6:	0f 11 03             	movups %xmm0,(%rbx)
1400232b9:	48 89 4b 10          	mov    %rcx,0x10(%rbx)
1400232bd:	48 8b cb             	mov    %rbx,%rcx
1400232c0:	4c 89 53 18          	mov    %r10,0x18(%rbx)
1400232c4:	4c 89 53 20          	mov    %r10,0x20(%rbx)
1400232c8:	4c 89 53 30          	mov    %r10,0x30(%rbx)
1400232cc:	44 88 53 38          	mov    %r10b,0x38(%rbx)
1400232d0:	48 89 5b 28          	mov    %rbx,0x28(%rbx)
1400232d4:	e8 61 ce 00 00       	call   0x14003013a
1400232d9:	48 8b c3             	mov    %rbx,%rax
1400232dc:	48 83 c4 30          	add    $0x30,%rsp
1400232e0:	5b                   	pop    %rbx
1400232e1:	c3                   	ret
1400232e2:	90                   	nop
1400232e3:	90                   	nop
1400232e4:	90                   	nop
1400232e5:	90                   	nop
1400232e6:	90                   	nop
1400232e7:	90                   	nop
1400232e8:	90                   	nop
1400232e9:	90                   	nop
1400232ea:	90                   	nop
1400232eb:	90                   	nop
1400232ec:	90                   	nop
1400232ed:	90                   	nop
1400232ee:	90                   	nop
1400232ef:	90                   	nop
1400232f0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400232f5:	55                   	push   %rbp
1400232f6:	56                   	push   %rsi
1400232f7:	57                   	push   %rdi
1400232f8:	48 83 ec 20          	sub    $0x20,%rsp
1400232fc:	48 8b ea             	mov    %rdx,%rbp
1400232ff:	48 8b f1             	mov    %rcx,%rsi
140023302:	bf 01 00 00 00       	mov    $0x1,%edi
140023307:	44 8a c7             	mov    %dil,%r8b
14002330a:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14002330f:	e8 50 28 00 00       	call   0x140025b64
140023314:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140023319:	48 85 db             	test   %rbx,%rbx
14002331c:	74 55                	je     0x140023373
14002331e:	48 8b 43 20          	mov    0x20(%rbx),%rax
140023322:	8a 48 38             	mov    0x38(%rax),%cl
140023325:	48 83 c0 18          	add    $0x18,%rax
140023329:	f6 d9                	neg    %cl
14002332b:	48 1b d2             	sbb    %rdx,%rdx
14002332e:	48 23 d0             	and    %rax,%rdx
140023331:	48 8b 46 10          	mov    0x10(%rsi),%rax
140023335:	48 8b 48 20          	mov    0x20(%rax),%rcx
140023339:	8a 41 38             	mov    0x38(%rcx),%al
14002333c:	48 83 c1 18          	add    $0x18,%rcx
140023340:	f6 d8                	neg    %al
140023342:	4d 1b c0             	sbb    %r8,%r8
140023345:	49 23 c8             	and    %r8,%rcx
140023348:	e8 6b 16 00 00       	call   0x1400249b8
14002334d:	84 c0                	test   %al,%al
14002334f:	75 4a                	jne    0x14002339b
140023351:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
140023356:	48 8b 48 20          	mov    0x20(%rax),%rcx
14002335a:	8a 41 38             	mov    0x38(%rcx),%al
14002335d:	48 8d 51 18          	lea    0x18(%rcx),%rdx
140023361:	f6 d8                	neg    %al
140023363:	48 1b c9             	sbb    %rcx,%rcx
140023366:	48 23 ca             	and    %rdx,%rcx
140023369:	e8 16 1c 00 00       	call   0x140024f84
14002336e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140023373:	40 32 ff             	xor    %dil,%dil
140023376:	48 85 db             	test   %rbx,%rbx
140023379:	74 10                	je     0x14002338b
14002337b:	48 8b cb             	mov    %rbx,%rcx
14002337e:	e8 89 eb ff ff       	call   0x140021f0c
140023383:	48 8b cb             	mov    %rbx,%rcx
140023386:	e8 fd 8e fe ff       	call   0x14000c288
14002338b:	40 8a c7             	mov    %dil,%al
14002338e:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140023393:	48 83 c4 20          	add    $0x20,%rsp
140023397:	5f                   	pop    %rdi
140023398:	5e                   	pop    %rsi
140023399:	5d                   	pop    %rbp
14002339a:	c3                   	ret
14002339b:	48 8b 46 10          	mov    0x10(%rsi),%rax
14002339f:	48 8b 48 20          	mov    0x20(%rax),%rcx
1400233a3:	8a 41 38             	mov    0x38(%rcx),%al
1400233a6:	48 8d 51 18          	lea    0x18(%rcx),%rdx
1400233aa:	f6 d8                	neg    %al
1400233ac:	48 1b c9             	sbb    %rcx,%rcx
1400233af:	48 23 ca             	and    %rdx,%rcx
1400233b2:	e8 cd 1b 00 00       	call   0x140024f84
1400233b7:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400233bc:	48 83 64 24 50 00    	andq   $0x0,0x50(%rsp)
1400233c2:	48 8b 5e 10          	mov    0x10(%rsi),%rbx
1400233c6:	48 89 46 10          	mov    %rax,0x10(%rsi)
1400233ca:	48 85 db             	test   %rbx,%rbx
1400233cd:	74 10                	je     0x1400233df
1400233cf:	48 8b cb             	mov    %rbx,%rcx
1400233d2:	e8 35 eb ff ff       	call   0x140021f0c
1400233d7:	48 8b cb             	mov    %rbx,%rcx
1400233da:	e8 a9 8e fe ff       	call   0x14000c288
1400233df:	48 8b d5             	mov    %rbp,%rdx
1400233e2:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1400233e7:	e8 c0 bd ff ff       	call   0x14001f1ac
1400233ec:	48 8b 10             	mov    (%rax),%rdx
1400233ef:	48 83 20 00          	andq   $0x0,(%rax)
1400233f3:	48 8b 4e 08          	mov    0x8(%rsi),%rcx
1400233f7:	48 89 56 08          	mov    %rdx,0x8(%rsi)
1400233fb:	48 85 c9             	test   %rcx,%rcx