140040f91:	48 83 ec 50          	sub    $0x50,%rsp
140040f95:	48 8b 1d 54 7b 1f 00 	mov    0x1f7b54(%rip),%rbx        # 0x140238af0
140040f9c:	f3 0f 6f 02          	movdqu (%rdx),%xmm0
140040fa0:	f3 0f 6f 4a 10       	movdqu 0x10(%rdx),%xmm1
140040fa5:	48 8b 03             	mov    (%rbx),%rax
140040fa8:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140040fad:	31 c0                	xor    %eax,%eax
140040faf:	8b 42 20             	mov    0x20(%rdx),%eax
140040fb2:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
140040fb7:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
140040fbc:	0f 11 4c 24 30       	movups %xmm1,0x30(%rsp)
140040fc1:	83 f8 01             	cmp    $0x1,%eax
140040fc4:	89 44 24 40          	mov    %eax,0x40(%rsp)
140040fc8:	48 19 c0             	sbb    %rax,%rax
140040fcb:	48 83 e0 fc          	and    $0xfffffffffffffffc,%rax
140040fcf:	4c 8d 40 24          	lea    0x24(%rax),%r8
140040fd3:	e8 f8 1b 0d 00       	call   0x140112bd0
140040fd8:	48 85 c0             	test   %rax,%rax
140040fdb:	0f 95 c0             	setne  %al
140040fde:	0f b6 c0             	movzbl %al,%eax
140040fe1:	48 8b 54 24 48       	mov    0x48(%rsp),%rdx
140040fe6:	48 2b 13             	sub    (%rbx),%rdx
140040fe9:	75 06                	jne    0x140040ff1
140040feb:	48 83 c4 50          	add    $0x50,%rsp
140040fef:	5b                   	pop    %rbx
140040ff0:	c3                   	ret
140040ff1:	e8 7a 38 1a 00       	call   0x1401e4870
140040ff6:	90                   	nop
140040ff7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140040ffe:	00 00
140041000:	53                   	push   %rbx
140041001:	48 83 ec 70          	sub    $0x70,%rsp
140041005:	48 8b 1d e4 7a 1f 00 	mov    0x1f7ae4(%rip),%rbx        # 0x140238af0
14004100c:	66 0f ef c0          	pxor   %xmm0,%xmm0
140041010:	4c 8b 94 24 a0 00 00 	mov    0xa0(%rsp),%r10
140041017:	00
140041018:	4c 89 c0             	mov    %r8,%rax
14004101b:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140041020:	4c 8b 03             	mov    (%rbx),%r8
140041023:	4c 89 44 24 68       	mov    %r8,0x68(%rsp)
140041028:	49 89 c0             	mov    %rax,%r8
14004102b:	0f 11 44 24 50       	movups %xmm0,0x50(%rsp)
140041030:	49 d1 e8             	shr    $1,%r8
140041033:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140041038:	48 83 f8 40          	cmp    $0x40,%rax
14004103c:	77 57                	ja     0x140041095
14004103e:	4c 89 4c 24 40       	mov    %r9,0x40(%rsp)
140041043:	44 8b 4a 20          	mov    0x20(%rdx),%r9d
140041047:	4c 89 54 24 48       	mov    %r10,0x48(%rsp)
14004104c:	44 89 4c 24 58       	mov    %r9d,0x58(%rsp)
140041051:	a8 01                	test   $0x1,%al
140041053:	75 2b                	jne    0x140041080
140041055:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14004105a:	4c 8d 0d 8f fd ff ff 	lea    -0x271(%rip),%r9        # 0x140040df0
140041061:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140041066:	e8 e5 1b 0d 00       	call   0x140112c50
14004106b:	48 8b 44 24 68       	mov    0x68(%rsp),%rax
140041070:	48 2b 03             	sub    (%rbx),%rax
140041073:	75 3a                	jne    0x1400410af
140041075:	48 83 c4 70          	add    $0x70,%rsp
140041079:	5b                   	pop    %rbx
14004107a:	c3                   	ret
14004107b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140041080:	42 0f b6 04 02       	movzbl (%rdx,%r8,1),%eax
140041085:	88 44 24 5c          	mov    %al,0x5c(%rsp)
140041089:	48 8d 44 24 38       	lea    0x38(%rsp),%rax
14004108e:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
140041093:	eb c0                	jmp    0x140041055
140041095:	41 b8 63 00 00 00    	mov    $0x63,%r8d
14004109b:	48 8d 15 00 d2 1b 00 	lea    0x1bd200(%rip),%rdx        # 0x1401fe2a2
1400410a2:	48 8d 0d 03 d2 1b 00 	lea    0x1bd203(%rip),%rcx        # 0x1401fe2ac
1400410a9:	ff 15 29 e3 26 00    	call   *0x26e329(%rip)        # 0x1402af3d8
1400410af:	e8 bc 37 1a 00       	call   0x1401e4870
1400410b4:	90                   	nop
1400410b5:	90                   	nop
1400410b6:	90                   	nop
1400410b7:	90                   	nop
1400410b8:	90                   	nop
1400410b9:	90                   	nop
1400410ba:	90                   	nop
1400410bb:	90                   	nop
1400410bc:	90                   	nop
1400410bd:	90                   	nop
1400410be:	90                   	nop
1400410bf:	90                   	nop
1400410c0:	48 8b 02             	mov    (%rdx),%rax
1400410c3:	48 39 01             	cmp    %rax,(%rcx)
1400410c6:	ba ff ff ff ff       	mov    $0xffffffff,%edx
1400410cb:	0f 9f c0             	setg   %al
1400410ce:	0f b6 c0             	movzbl %al,%eax
1400410d1:	0f 4c c2             	cmovl  %edx,%eax
1400410d4:	c3                   	ret
1400410d5:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1400410dc:	00 00 00 00
1400410e0:	41 56                	push   %r14
1400410e2:	41 55                	push   %r13
1400410e4:	41 54                	push   %r12
1400410e6:	55                   	push   %rbp
1400410e7:	57                   	push   %rdi
1400410e8:	56                   	push   %rsi
1400410e9:	53                   	push   %rbx
1400410ea:	48 83 ec 30          	sub    $0x30,%rsp
1400410ee:	4c 8b 35 fb 79 1f 00 	mov    0x1f79fb(%rip),%r14        # 0x140238af0
1400410f5:	4c 89 c7             	mov    %r8,%rdi
1400410f8:	48 89 cd             	mov    %rcx,%rbp
1400410fb:	49 89 d4             	mov    %rdx,%r12
1400410fe:	31 c9                	xor    %ecx,%ecx
140041100:	4d 8b 06             	mov    (%r14),%r8
140041103:	4c 89 44 24 28       	mov    %r8,0x28(%rsp)
140041108:	45 31 c0             	xor    %r8d,%r8d
14004110b:	31 d2                	xor    %edx,%edx
14004110d:	4c 89 cb             	mov    %r9,%rbx
140041110:	4c 8d 6c 24 24       	lea    0x24(%rsp),%r13
140041115:	e8 ee 21 1a 00       	call   0x1401e3308
14004111a:	89 c6                	mov    %eax,%esi
14004111c:	0f 1f 40 00          	nopl   0x0(%rax)
140041120:	49 89 f8             	mov    %rdi,%r8
140041123:	4c 89 e2             	mov    %r12,%rdx
140041126:	4d 89 e9             	mov    %r13,%r9
140041129:	48 89 e9             	mov    %rbp,%rcx
14004112c:	e8 7f 1b 00 00       	call   0x140042cb0
140041131:	48 89 c2             	mov    %rax,%rdx
140041134:	8b 44 24 24          	mov    0x24(%rsp),%eax
140041138:	49 89 c0             	mov    %rax,%r8
14004113b:	48 39 d8             	cmp    %rbx,%rax
14004113e:	7e 07                	jle    0x140041147
140041140:	89 5c 24 24          	mov    %ebx,0x24(%rsp)
140041144:	41 89 d8             	mov    %ebx,%r8d
140041147:	89 f1                	mov    %esi,%ecx
140041149:	e8 ba 21 1a 00       	call   0x1401e3308
14004114e:	89 c6                	mov    %eax,%esi
140041150:	8b 44 24 24          	mov    0x24(%rsp),%eax
140041154:	48 01 c7             	add    %rax,%rdi
140041157:	48 29 c3             	sub    %rax,%rbx
14004115a:	75 c4                	jne    0x140041120
14004115c:	48 8b 05 9d 82 1f 00 	mov    0x1f829d(%rip),%rax        # 0x140239400
140041163:	8b 4d 48             	mov    0x48(%rbp),%ecx
140041166:	48 8b 55 38          	mov    0x38(%rbp),%rdx
14004116a:	48 8b 00             	mov    (%rax),%rax
14004116d:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
140041174:	48 8b 40 10          	mov    0x10(%rax),%rax
140041178:	48 c1 e8 02          	shr    $0x2,%rax
14004117c:	48 0f af c1          	imul   %rcx,%rax
140041180:	8b 8c 24 90 00 00 00 	mov    0x90(%rsp),%ecx
140041187:	48 8d 84 08 02 01 00 	lea    0x102(%rax,%rcx,1),%rax
14004118e:	00
14004118f:	8b 04 82             	mov    (%rdx,%rax,4),%eax
140041192:	0f c8                	bswap  %eax
140041194:	39 f0                	cmp    %esi,%eax
140041196:	0f 95 c0             	setne  %al
140041199:	0f b6 c0             	movzbl %al,%eax
14004119c:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
1400411a1:	49 2b 16             	sub    (%r14),%rdx
1400411a4:	75 0f                	jne    0x1400411b5
1400411a6:	48 83 c4 30          	add    $0x30,%rsp
1400411aa:	5b                   	pop    %rbx
1400411ab:	5e                   	pop    %rsi
1400411ac:	5f                   	pop    %rdi
1400411ad:	5d                   	pop    %rbp
1400411ae:	41 5c                	pop    %r12
1400411b0:	41 5d                	pop    %r13
1400411b2:	41 5e                	pop    %r14
1400411b4:	c3                   	ret
1400411b5:	e8 b6 36 1a 00       	call   0x1401e4870
1400411ba:	90                   	nop
1400411bb:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400411c0:	41 57                	push   %r15
1400411c2:	41 56                	push   %r14
1400411c4:	41 55                	push   %r13
1400411c6:	41 54                	push   %r12
1400411c8:	55                   	push   %rbp
1400411c9:	57                   	push   %rdi
1400411ca:	56                   	push   %rsi
1400411cb:	53                   	push   %rbx
1400411cc:	48 81 ec 48 0a 00 00 	sub    $0xa48,%rsp
1400411d3:	48 8b 3d 16 79 1f 00 	mov    0x1f7916(%rip),%rdi        # 0x140238af0
1400411da:	48 8b 84 24 b0 0a 00 	mov    0xab0(%rsp),%rax
1400411e1:	00
1400411e2:	4c 8b 6a 38          	mov    0x38(%rdx),%r13
1400411e6:	49 89 cf             	mov    %rcx,%r15
1400411e9:	48 89 d1             	mov    %rdx,%rcx
1400411ec:	4c 89 4c 24 40       	mov    %r9,0x40(%rsp)
1400411f1:	48 89 d3             	mov    %rdx,%rbx
1400411f4:	48 8b 2f             	mov    (%rdi),%rbp
1400411f7:	48 89 ac 24 38 0a 00 	mov    %rbp,0xa38(%rsp)
1400411fe:	00
1400411ff:	48 8b 6a 40          	mov    0x40(%rdx),%rbp
140041203:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
140041208:	4d 89 c4             	mov    %r8,%r12
14004120b:	e8 10 4f 00 00       	call   0x140046120
140041210:	85 c0                	test   %eax,%eax
140041212:	0f 84 bb 05 00 00    	je     0x1400417d3
140041218:	49 8b 87 90 01 00 00 	mov    0x190(%r15),%rax
14004121f:	48 8d bc 24 b0 00 00 	lea    0xb0(%rsp),%rdi
140041226:	00
140041227:	31 f6                	xor    %esi,%esi
140041229:	45 31 f6             	xor    %r14d,%r14d
14004122c:	48 89 f9             	mov    %rdi,%rcx
14004122f:	ff 50 28             	call   *0x28(%rax)
140041232:	48 8d 44 24 78       	lea    0x78(%rsp),%rax
140041237:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14004123c:	0f 1f 40 00          	nopl   0x0(%rax)
140041240:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
140041245:	4d 89 f0             	mov    %r14,%r8
140041248:	4c 89 e2             	mov    %r12,%rdx
14004124b:	48 89 d9             	mov    %rbx,%rcx
14004124e:	e8 5d 1a 00 00       	call   0x140042cb0
140041253:	44 8b 44 24 78       	mov    0x78(%rsp),%r8d
140041258:	49 8b 8f 90 01 00 00 	mov    0x190(%r15),%rcx
14004125f:	48 89 c2             	mov    %rax,%rdx
140041262:	4d 01 c6             	add    %r8,%r14
140041265:	4c 89 c0             	mov    %r8,%rax
140041268:	48 85 f6             	test   %rsi,%rsi
14004126b:	75 08                	jne    0x140041275
14004126d:	48 8b 73 30          	mov    0x30(%rbx),%rsi
140041271:	48 2b 71 10          	sub    0x10(%rcx),%rsi
140041275:	4c 8b 49 38          	mov    0x38(%rcx),%r9
140041279:	4c 39 f6             	cmp    %r14,%rsi
14004127c:	0f 8d 26 03 00 00    	jge    0x1400415a8
140041282:	44 29 f0             	sub    %r14d,%eax
140041285:	48 89 f9             	mov    %rdi,%rcx
140041288:	44 8d 04 30          	lea    (%rax,%rsi,1),%r8d
14004128c:	44 89 44 24 78       	mov    %r8d,0x78(%rsp)
140041291:	41 ff d1             	call   *%r9
140041294:	49 8b 87 90 01 00 00 	mov    0x190(%r15),%rax
14004129b:	48 89 fa             	mov    %rdi,%rdx
14004129e:	48 8d 8c 24 10 0a 00 	lea    0xa10(%rsp),%rcx
1400412a5:	00
1400412a6:	ff 50 40             	call   *0x40(%rax)
1400412a9:	45 31 c9             	xor    %r9d,%r9d
1400412ac:	49 89 f0             	mov    %rsi,%r8
1400412af:	4c 89 e2             	mov    %r12,%rdx
1400412b2:	48 89 d9             	mov    %rbx,%rcx
1400412b5:	e8 f6 19 00 00       	call   0x140042cb0
1400412ba:	4c 8b 35 3f 81 1f 00 	mov    0x1f813f(%rip),%r14        # 0x140239400
1400412c1:	48 89 c7             	mov    %rax,%rdi
1400412c4:	49 8b 06             	mov    (%r14),%rax
1400412c7:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
1400412ce:	48 83 78 10 20       	cmpq   $0x20,0x10(%rax)
1400412d3:	48 8b 84 24 10 0a 00 	mov    0xa10(%rsp),%rax
1400412da:	00
1400412db:	0f 84 ff 03 00 00    	je     0x1400416e0
1400412e1:	48 8b 94 24 18 0a 00 	mov    0xa18(%rsp),%rdx
1400412e8:	00
1400412e9:	48 33 07             	xor    (%rdi),%rax
1400412ec:	48 33 57 08          	xor    0x8(%rdi),%rdx
1400412f0:	48 09 d0             	or     %rdx,%rax
1400412f3:	0f 84 87 04 00 00    	je     0x140041780
1400412f9:	48 8d 93 f8 00 00 00 	lea    0xf8(%rbx),%rdx
140041300:	48 8d 0d e8 cf 1b 00 	lea    0x1bcfe8(%rip),%rcx        # 0x1401fe2ef
140041307:	e8 24 23 08 00       	call   0x1400c3630
14004130c:	49 8b 87 90 01 00 00 	mov    0x190(%r15),%rax
140041313:	c7 44 24 54 ff ff ff 	movl   $0xffffffff,0x54(%rsp)
14004131a:	ff
14004131b:	48 2b 68 18          	sub    0x18(%rax),%rbp
14004131f:	49 8b 06             	mov    (%r14),%rax
140041322:	4c 01 ed             	add    %r13,%rbp
140041325:	48 8b 80 90 01 00 00 	mov    0x190(%rax),%rax
14004132c:	48 83 78 10 20       	cmpq   $0x20,0x10(%rax)
140041331:	0f 84 f8 03 00 00    	je     0x14004172f
140041337:	48 8b 45 00          	mov    0x0(%rbp),%rax
14004133b:	48 8b 55 08          	mov    0x8(%rbp),%rdx
14004133f:	48 33 07             	xor    (%rdi),%rax
140041342:	48 33 57 08          	xor    0x8(%rdi),%rdx
140041346:	48 09 d0             	or     %rdx,%rax
140041349:	0f 84 19 04 00 00    	je     0x140041768
14004134f:	48 8d 93 f8 00 00 00 	lea    0xf8(%rbx),%rdx
140041356:	48 8d 0d b3 cf 1b 00 	lea    0x1bcfb3(%rip),%rcx        # 0x1401fe310
14004135d:	e8 ce 22 08 00       	call   0x1400c3630
140041362:	c7 44 24 54 ff ff ff 	movl   $0xffffffff,0x54(%rsp)
140041369:	ff
14004136a:	4c 89 e1             	mov    %r12,%rcx
14004136d:	e8 7e 20 00 00       	call   0x1400433f0
140041372:	44 8b 73 48          	mov    0x48(%rbx),%r14d
140041376:	41 8d 4e 01          	lea    0x1(%r14),%ecx
14004137a:	44 89 74 24 50       	mov    %r14d,0x50(%rsp)
14004137f:	48 c1 e1 04          	shl    $0x4,%rcx
140041383:	e8 98 96 08 00       	call   0x1400caa20
140041388:	49 89 c5             	mov    %rax,%r13
14004138b:	4c 89 f0             	mov    %r14,%rax
14004138e:	48 c1 e0 04          	shl    $0x4,%rax
140041392:	49 89 74 05 00       	mov    %rsi,0x0(%r13,%rax,1)
140041397:	45 85 f6             	test   %r14d,%r14d
14004139a:	0f 84 c5 02 00 00    	je     0x140041665
1400413a0:	4c 89 6c 24 38       	mov    %r13,0x38(%rsp)
1400413a5:	4c 89 ee             	mov    %r13,%rsi
1400413a8:	31 ff                	xor    %edi,%edi
1400413aa:	44 89 f5             	mov    %r14d,%ebp
1400413ad:	0f 1f 00             	nopl   (%rax)
1400413b0:	89 fa                	mov    %edi,%edx
1400413b2:	48 89 d9             	mov    %rbx,%rcx
1400413b5:	48 83 c6 10          	add    $0x10,%rsi
1400413b9:	e8 72 37 00 00       	call   0x140044b30
1400413be:	89 7e f8             	mov    %edi,-0x8(%rsi)
1400413c1:	83 c7 01             	add    $0x1,%edi
1400413c4:	48 89 46 f0          	mov    %rax,-0x10(%rsi)
1400413c8:	39 fd                	cmp    %edi,%ebp
1400413ca:	75 e4                	jne    0x1400413b0
1400413cc:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1400413d1:	49 83 fe 01          	cmp    $0x1,%r14
1400413d5:	74 18                	je     0x1400413ef
1400413d7:	4c 8d 0d e2 fc ff ff 	lea    -0x31e(%rip),%r9        # 0x1400410c0
1400413de:	41 b8 10 00 00 00    	mov    $0x10,%r8d
1400413e4:	4c 89 f2             	mov    %r14,%rdx
1400413e7:	4c 89 e9             	mov    %r13,%rcx
1400413ea:	e8 01 90 05 00       	call   0x14009a3f0
1400413ef:	4c 89 7c 24 38       	mov    %r15,0x38(%rsp)
1400413f4:	31 ff                	xor    %edi,%edi
1400413f6:	44 8b 7c 24 54       	mov    0x54(%rsp),%r15d
1400413fb:	4c 8d b4 24 80 00 00 	lea    0x80(%rsp),%r14
140041402:	00
140041403:	4c 89 6c 24 58       	mov    %r13,0x58(%rsp)
140041408:	e9 a0 00 00 00       	jmp    0x1400414ad
14004140d:	0f 1f 00             	nopl   (%rax)
140041410:	48 8b 05 89 78 1f 00 	mov    0x1f7889(%rip),%rax        # 0x140238ca0
140041417:	8b 00                	mov    (%rax),%eax
140041419:	39 44 24 70          	cmp    %eax,0x70(%rsp)
14004141d:	0f 82 e9 00 00 00    	jb     0x14004150c
140041423:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
140041428:	4c 89 f2             	mov    %r14,%rdx
14004142b:	31 ed                	xor    %ebp,%ebp
14004142d:	e8 5e 58 ff ff       	call   0x140036c90
140041432:	85 c0                	test   %eax,%eax
140041434:	0f 88 76 02 00 00    	js     0x1400416b0
14004143a:	4c 8b 54 24 40       	mov    0x40(%rsp),%r10
14004143f:	4d 85 d2             	test   %r10,%r10
140041442:	74 3c                	je     0x140041480
140041444:	48 8d 44 24 74       	lea    0x74(%rsp),%rax
140041449:	44 8b 44 24 70       	mov    0x70(%rsp),%r8d
14004144e:	49 89 e9             	mov    %rbp,%r9
140041451:	4c 89 f1             	mov    %r14,%rcx
140041454:	c7 44 24 74 00 00 00 	movl   $0x0,0x74(%rsp)
14004145b:	00
14004145c:	8b 54 24 6c          	mov    0x6c(%rsp),%edx
140041460:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140041465:	41 ff d2             	call   *%r10
140041468:	41 09 c7             	or     %eax,%r15d
14004146b:	8b 44 24 74          	mov    0x74(%rsp),%eax
14004146f:	85 c0                	test   %eax,%eax
140041471:	74 0d                	je     0x140041480
140041473:	31 ed                	xor    %ebp,%ebp
140041475:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14004147c:	00 00 00 00
140041480:	03 bc 24 b8 0a 00 00 	add    0xab8(%rsp),%edi
140041487:	f7 c7 ff 03 00 00    	test   $0x3ff,%edi
14004148d:	0f 84 fd 00 00 00    	je     0x140041590
140041493:	48 89 e9             	mov    %rbp,%rcx
140041496:	48 83 c6 10          	add    $0x10,%rsi
14004149a:	e8 11 7a 0b 00       	call   0x1400f8eb0
14004149f:	44 39 6c 24 50       	cmp    %r13d,0x50(%rsp)