1401640e1:	48 3b 5e 38          	cmp    0x38(%rsi),%rbx
1401640e5:	72 e0                	jb     0x1401640c7
1401640e7:	48 89 c1             	mov    %rax,%rcx
1401640ea:	e8 c1 4d f9 ff       	call   0x1400f8eb0
1401640ef:	48 8b 05 aa 52 0d 00 	mov    0xd52aa(%rip),%rax        # 0x1402393a0
1401640f6:	66 0f ef c0          	pxor   %xmm0,%xmm0
1401640fa:	48 c7 06 00 00 00 00 	movq   $0x0,(%rsi)
140164101:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
140164106:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14016410b:	f3 0f 6f 4c 24 30    	movdqu 0x30(%rsp),%xmm1
140164111:	48 c7 46 08 00 00 00 	movq   $0x0,0x8(%rsi)
140164118:	00
140164119:	48 c7 46 20 00 00 00 	movq   $0x0,0x20(%rsi)
140164120:	00
140164121:	48 c7 46 28 00 00 00 	movq   $0x0,0x28(%rsi)
140164128:	00
140164129:	48 c7 46 30 00 00 00 	movq   $0x0,0x30(%rsi)
140164130:	00
140164131:	48 c7 46 38 00 00 00 	movq   $0x0,0x38(%rsi)
140164138:	00
140164139:	48 c7 46 40 00 00 00 	movq   $0x0,0x40(%rsi)
140164140:	00
140164141:	48 c7 46 48 00 00 00 	movq   $0x0,0x48(%rsi)
140164148:	00
140164149:	0f 11 44 24 20       	movups %xmm0,0x20(%rsp)
14016414e:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
140164153:	0f 11 44 24 50       	movups %xmm0,0x50(%rsp)
140164158:	0f 11 44 24 60       	movups %xmm0,0x60(%rsp)
14016415d:	0f 11 4e 10          	movups %xmm1,0x10(%rsi)
140164161:	48 8b 44 24 78       	mov    0x78(%rsp),%rax
140164166:	48 2b 07             	sub    (%rdi),%rax
140164169:	75 08                	jne    0x140164173
14016416b:	48 83 ec 80          	sub    $0xffffffffffffff80,%rsp
14016416f:	5b                   	pop    %rbx
140164170:	5e                   	pop    %rsi
140164171:	5f                   	pop    %rdi
140164172:	c3                   	ret
140164173:	e8 f8 06 08 00       	call   0x1401e4870
140164178:	90                   	nop
140164179:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140164180:	48 83 ec 28          	sub    $0x28,%rsp
140164184:	83 f9 06             	cmp    $0x6,%ecx
140164187:	77 73                	ja     0x1401641fc
140164189:	48 8d 15 50 f6 0b 00 	lea    0xbf650(%rip),%rdx        # 0x1402237e0
140164190:	89 c8                	mov    %ecx,%eax
140164192:	48 63 04 82          	movslq (%rdx,%rax,4),%rax
140164196:	48 01 d0             	add    %rdx,%rax
140164199:	ff e0                	jmp    *%rax
14016419b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1401641a0:	48 8d 05 dd f5 0b 00 	lea    0xbf5dd(%rip),%rax        # 0x140223784
1401641a7:	48 83 c4 28          	add    $0x28,%rsp
1401641ab:	c3                   	ret
1401641ac:	0f 1f 40 00          	nopl   0x0(%rax)
1401641b0:	48 8d 05 c2 f5 0b 00 	lea    0xbf5c2(%rip),%rax        # 0x140223779
1401641b7:	48 83 c4 28          	add    $0x28,%rsp
1401641bb:	c3                   	ret
1401641bc:	0f 1f 40 00          	nopl   0x0(%rax)
1401641c0:	48 8d 05 a8 f5 0b 00 	lea    0xbf5a8(%rip),%rax        # 0x14022376f
1401641c7:	48 83 c4 28          	add    $0x28,%rsp
1401641cb:	c3                   	ret
1401641cc:	0f 1f 40 00          	nopl   0x0(%rax)
1401641d0:	48 8d 05 b2 f5 0b 00 	lea    0xbf5b2(%rip),%rax        # 0x140223789
1401641d7:	48 83 c4 28          	add    $0x28,%rsp
1401641db:	c3                   	ret
1401641dc:	0f 1f 40 00          	nopl   0x0(%rax)
1401641e0:	48 8d 05 ad f5 0b 00 	lea    0xbf5ad(%rip),%rax        # 0x140223794
1401641e7:	48 83 c4 28          	add    $0x28,%rsp
1401641eb:	c3                   	ret
1401641ec:	0f 1f 40 00          	nopl   0x0(%rax)
1401641f0:	48 8d 05 a9 f5 0b 00 	lea    0xbf5a9(%rip),%rax        # 0x1402237a0
1401641f7:	48 83 c4 28          	add    $0x28,%rsp
1401641fb:	c3                   	ret
1401641fc:	41 89 c9             	mov    %ecx,%r9d
1401641ff:	4c 8d 05 a2 f5 0b 00 	lea    0xbf5a2(%rip),%r8        # 0x1402237a8
140164206:	ba 27 00 00 00       	mov    $0x27,%edx
14016420b:	48 8d 0d 3f f5 0b 00 	lea    0xbf53f(%rip),%rcx        # 0x140223751
140164212:	e8 79 f5 f5 ff       	call   0x1400c3790
140164217:	90                   	nop
140164218:	0f 1f 84 00 00 00 00 	nopl   0x0(%rax,%rax,1)
14016421f:	00
140164220:	41 57                	push   %r15
140164222:	41 56                	push   %r14
140164224:	41 55                	push   %r13
140164226:	41 54                	push   %r12
140164228:	55                   	push   %rbp
140164229:	57                   	push   %rdi
14016422a:	56                   	push   %rsi
14016422b:	53                   	push   %rbx
14016422c:	48 81 ec 98 00 00 00 	sub    $0x98,%rsp
140164233:	48 8b 3d b6 48 0d 00 	mov    0xd48b6(%rip),%rdi        # 0x140238af0
14016423a:	48 8b 07             	mov    (%rdi),%rax
14016423d:	48 89 84 24 88 00 00 	mov    %rax,0x88(%rsp)
140164244:	00
140164245:	31 c0                	xor    %eax,%eax
140164247:	48 89 cb             	mov    %rcx,%rbx
14016424a:	48 89 d5             	mov    %rdx,%rbp
14016424d:	4c 89 c6             	mov    %r8,%rsi
140164250:	48 85 d2             	test   %rdx,%rdx
140164253:	0f 84 1e 01 00 00    	je     0x140164377
140164259:	44 8b 61 18          	mov    0x18(%rcx),%r12d
14016425d:	45 85 e4             	test   %r12d,%r12d
140164260:	0f 85 1d 06 00 00    	jne    0x140164883
140164266:	48 8d 15 02 f5 0b 00 	lea    0xbf502(%rip),%rdx        # 0x14022376f
14016426d:	48 89 e9             	mov    %rbp,%rcx
140164270:	e8 03 5c 08 00       	call   0x1401e9e78
140164275:	48 89 e9             	mov    %rbp,%rcx
140164278:	89 c2                	mov    %eax,%edx
14016427a:	48 8d 05 7b f5 0b 00 	lea    0xbf57b(%rip),%rax        # 0x1402237fc
140164281:	85 d2                	test   %edx,%edx
140164283:	75 2c                	jne    0x1401642b1
140164285:	e9 e6 00 00 00       	jmp    0x140164370
14016428a:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140164291:	00 00 00 00
140164295:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
14016429c:	00 00 00 00
1401642a0:	48 83 c1 01          	add    $0x1,%rcx
1401642a4:	48 83 c0 01          	add    $0x1,%rax
1401642a8:	3a 51 ff             	cmp    -0x1(%rcx),%dl
1401642ab:	0f 85 ef 00 00 00    	jne    0x1401643a0
1401642b1:	0f b6 10             	movzbl (%rax),%edx
1401642b4:	84 d2                	test   %dl,%dl
1401642b6:	75 e8                	jne    0x1401642a0
1401642b8:	48 8d 53 28          	lea    0x28(%rbx),%rdx
1401642bc:	e8 8f 31 ee ff       	call   0x140047450
1401642c1:	85 c0                	test   %eax,%eax
1401642c3:	0f 85 87 04 00 00    	jne    0x140164750
1401642c9:	48 8b 05 10 4d 0d 00 	mov    0xd4d10(%rip),%rax        # 0x140238fe0
1401642d0:	48 8d 15 43 f6 0b 00 	lea    0xbf643(%rip),%rdx        # 0x14022391a
1401642d7:	8b 00                	mov    (%rax),%eax
1401642d9:	85 c0                	test   %eax,%eax
1401642db:	74 0b                	je     0x1401642e8
1401642dd:	48 89 d1             	mov    %rdx,%rcx
1401642e0:	e8 83 f0 07 00       	call   0x1401e3368
1401642e5:	48 89 c2             	mov    %rax,%rdx
1401642e8:	49 89 e8             	mov    %rbp,%r8
1401642eb:	48 89 f1             	mov    %rsi,%rcx
1401642ee:	e8 cd 7c f3 ff       	call   0x14009bfc0
1401642f3:	48 8b 05 a6 50 0d 00 	mov    0xd50a6(%rip),%rax        # 0x1402393a0
1401642fa:	66 0f ef c0          	pxor   %xmm0,%xmm0
1401642fe:	48 c7 03 00 00 00 00 	movq   $0x0,(%rbx)
140164305:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
14016430a:	48 c7 43 08 00 00 00 	movq   $0x0,0x8(%rbx)
140164311:	00
140164312:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140164317:	f3 0f 6f 54 24 40    	movdqu 0x40(%rsp),%xmm2
14016431d:	48 c7 43 20 00 00 00 	movq   $0x0,0x20(%rbx)
140164324:	00
140164325:	48 c7 43 28 00 00 00 	movq   $0x0,0x28(%rbx)
14016432c:	00
14016432d:	48 c7 43 30 00 00 00 	movq   $0x0,0x30(%rbx)
140164334:	00
140164335:	48 c7 43 38 00 00 00 	movq   $0x0,0x38(%rbx)
14016433c:	00
14016433d:	48 c7 43 40 00 00 00 	movq   $0x0,0x40(%rbx)
140164344:	00
140164345:	48 c7 43 48 00 00 00 	movq   $0x0,0x48(%rbx)
14016434c:	00
14016434d:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
140164352:	0f 11 44 24 50       	movups %xmm0,0x50(%rsp)
140164357:	0f 11 44 24 60       	movups %xmm0,0x60(%rsp)
14016435c:	0f 11 44 24 70       	movups %xmm0,0x70(%rsp)
140164361:	0f 11 53 10          	movups %xmm2,0x10(%rbx)
140164365:	b8 01 00 00 00       	mov    $0x1,%eax
14016436a:	eb 0d                	jmp    0x140164379
14016436c:	0f 1f 40 00          	nopl   0x0(%rax)
140164370:	c7 43 18 01 00 00 00 	movl   $0x1,0x18(%rbx)
140164377:	31 c0                	xor    %eax,%eax
140164379:	48 8b 94 24 88 00 00 	mov    0x88(%rsp),%rdx
140164380:	00
140164381:	48 2b 17             	sub    (%rdi),%rdx
140164384:	0f 85 f4 04 00 00    	jne    0x14016487e
14016438a:	48 81 c4 98 00 00 00 	add    $0x98,%rsp
140164391:	5b                   	pop    %rbx
140164392:	5e                   	pop    %rsi
140164393:	5f                   	pop    %rdi
140164394:	5d                   	pop    %rbp
140164395:	41 5c                	pop    %r12
140164397:	41 5d                	pop    %r13
140164399:	41 5e                	pop    %r14
14016439b:	41 5f                	pop    %r15
14016439d:	c3                   	ret
14016439e:	66 90                	xchg   %ax,%ax
1401643a0:	48 89 e9             	mov    %rbp,%rcx
1401643a3:	48 8d 05 5e f4 0b 00 	lea    0xbf45e(%rip),%rax        # 0x140223808
1401643aa:	eb 21                	jmp    0x1401643cd
1401643ac:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401643b3:	00 00 00 00
1401643b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1401643be:	00 00
1401643c0:	48 83 c1 01          	add    $0x1,%rcx
1401643c4:	48 83 c0 01          	add    $0x1,%rax
1401643c8:	3a 51 ff             	cmp    -0x1(%rcx),%dl
1401643cb:	75 23                	jne    0x1401643f0
1401643cd:	0f b6 10             	movzbl (%rax),%edx
1401643d0:	84 d2                	test   %dl,%dl
1401643d2:	75 ec                	jne    0x1401643c0
1401643d4:	48 8d 53 2c          	lea    0x2c(%rbx),%rdx
1401643d8:	e8 73 30 ee ff       	call   0x140047450
1401643dd:	85 c0                	test   %eax,%eax
1401643df:	0f 84 d7 03 00 00    	je     0x1401647bc
1401643e5:	c7 43 18 03 00 00 00 	movl   $0x3,0x18(%rbx)
1401643ec:	eb 89                	jmp    0x140164377
1401643ee:	66 90                	xchg   %ax,%ax
1401643f0:	48 89 e9             	mov    %rbp,%rcx
1401643f3:	48 8d 05 2c f4 0b 00 	lea    0xbf42c(%rip),%rax        # 0x140223826
1401643fa:	eb 11                	jmp    0x14016440d
1401643fc:	0f 1f 40 00          	nopl   0x0(%rax)
140164400:	48 83 c1 01          	add    $0x1,%rcx
140164404:	48 83 c0 01          	add    $0x1,%rax
140164408:	3a 51 ff             	cmp    -0x1(%rcx),%dl
14016440b:	75 23                	jne    0x140164430
14016440d:	0f b6 10             	movzbl (%rax),%edx
140164410:	84 d2                	test   %dl,%dl
140164412:	75 ec                	jne    0x140164400
140164414:	e8 e7 65 f6 ff       	call   0x1400caa00
140164419:	c7 43 18 04 00 00 00 	movl   $0x4,0x18(%rbx)
140164420:	48 89 43 20          	mov    %rax,0x20(%rbx)
140164424:	e9 4e ff ff ff       	jmp    0x140164377
140164429:	0f 1f 80 00 00 00 00 	nopl   0x0(%rax)
140164430:	48 89 e9             	mov    %rbp,%rcx
140164433:	48 8d 05 f8 f3 0b 00 	lea    0xbf3f8(%rip),%rax        # 0x140223832
14016443a:	eb 11                	jmp    0x14016444d
14016443c:	0f 1f 40 00          	nopl   0x0(%rax)
140164440:	48 83 c1 01          	add    $0x1,%rcx
140164444:	48 83 c0 01          	add    $0x1,%rax
140164448:	3a 51 ff             	cmp    -0x1(%rcx),%dl
14016444b:	75 53                	jne    0x1401644a0
14016444d:	0f b6 10             	movzbl (%rax),%edx
140164450:	84 d2                	test   %dl,%dl
140164452:	75 ec                	jne    0x140164440
140164454:	48 85 f6             	test   %rsi,%rsi
140164457:	0f 84 08 ff ff ff    	je     0x140164365
14016445d:	48 8b 05 7c 4b 0d 00 	mov    0xd4b7c(%rip),%rax        # 0x140238fe0
140164464:	41 b8 2c 00 00 00    	mov    $0x2c,%r8d
14016446a:	48 8d 1d cf f3 0b 00 	lea    0xbf3cf(%rip),%rbx        # 0x140223840
140164471:	44 8b 10             	mov    (%rax),%r10d
140164474:	45 85 d2             	test   %r10d,%r10d
140164477:	74 16                	je     0x14016448f
140164479:	48 89 d9             	mov    %rbx,%rcx
14016447c:	e8 e7 ee 07 00       	call   0x1401e3368
140164481:	48 89 c1             	mov    %rax,%rcx
140164484:	48 89 c3             	mov    %rax,%rbx
140164487:	e8 0c 5a 08 00       	call   0x1401e9e98
14016448c:	49 89 c0             	mov    %rax,%r8
14016448f:	48 89 da             	mov    %rbx,%rdx
140164492:	48 89 f1             	mov    %rsi,%rcx
140164495:	e8 16 75 f3 ff       	call   0x14009b9b0
14016449a:	e9 c6 fe ff ff       	jmp    0x140164365
14016449f:	90                   	nop
1401644a0:	49 89 ec             	mov    %rbp,%r12
1401644a3:	48 8d 05 c3 f3 0b 00 	lea    0xbf3c3(%rip),%rax        # 0x14022386d
1401644aa:	eb 23                	jmp    0x1401644cf
1401644ac:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
1401644b3:	00 00 00 00
1401644b7:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
1401644be:	00 00
1401644c0:	49 83 c4 01          	add    $0x1,%r12
1401644c4:	48 83 c0 01          	add    $0x1,%rax
1401644c8:	41 3a 54 24 ff       	cmp    -0x1(%r12),%dl
1401644cd:	75 41                	jne    0x140164510
1401644cf:	0f b6 10             	movzbl (%rax),%edx
1401644d2:	84 d2                	test   %dl,%dl
1401644d4:	75 ea                	jne    0x1401644c0
1401644d6:	4c 89 e1             	mov    %r12,%rcx
1401644d9:	e8 ba 59 08 00       	call   0x1401e9e98
1401644de:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401644e4:	4c 89 e1             	mov    %r12,%rcx
1401644e7:	48 89 c2             	mov    %rax,%rdx
1401644ea:	e8 91 ad ed ff       	call   0x14003f280
1401644ef:	85 c0                	test   %eax,%eax
1401644f1:	0f 88 ea 02 00 00    	js     0x1401647e1
1401644f7:	89 43 30             	mov    %eax,0x30(%rbx)
1401644fa:	c7 43 18 05 00 00 00 	movl   $0x5,0x18(%rbx)
140164501:	e9 71 fe ff ff       	jmp    0x140164377
140164506:	66 2e 0f 1f 84 00 00 	cs nopw 0x0(%rax,%rax,1)
14016450d:	00 00 00
140164510:	49 89 ec             	mov    %rbp,%r12
140164513:	48 8d 05 9f f3 0b 00 	lea    0xbf39f(%rip),%rax        # 0x1402238b9
14016451a:	eb 17                	jmp    0x140164533
14016451c:	0f 1f 40 00          	nopl   0x0(%rax)
140164520:	49 83 c4 01          	add    $0x1,%r12
140164524:	48 83 c0 01          	add    $0x1,%rax
140164528:	41 3a 54 24 ff       	cmp    -0x1(%r12),%dl
14016452d:	0f 85 96 fd ff ff    	jne    0x1401642c9
140164533:	0f b6 10             	movzbl (%rax),%edx
140164536:	84 d2                	test   %dl,%dl
140164538:	75 e6                	jne    0x140164520
14016453a:	4c 89 e1             	mov    %r12,%rcx
14016453d:	48 8d 2d cc f1 0b 00 	lea    0xbf1cc(%rip),%rbp        # 0x140223710
140164544:	e8 4f 59 08 00       	call   0x1401e9e98
140164549:	4c 89 e1             	mov    %r12,%rcx
14016454c:	45 31 c9             	xor    %r9d,%r9d
14016454f:	41 b8 2b 00 00 00    	mov    $0x2b,%r8d
140164555:	48 89 c2             	mov    %rax,%rdx
140164558:	e8 53 6c f3 ff       	call   0x14009b1b0
14016455d:	48 8b 08             	mov    (%rax),%rcx
140164560:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
140164565:	49 89 c5             	mov    %rax,%r13
140164568:	48 85 c9             	test   %rcx,%rcx
14016456b:	0f 84 c7 02 00 00    	je     0x140164838
140164571:	66 66 2e 0f 1f 84 00 	data16 cs nopw 0x0(%rax,%rax,1)
140164578:	00 00 00 00
14016457c:	0f 1f 40 00          	nopl   0x0(%rax)
140164580:	49 83 c5 08          	add    $0x8,%r13
140164584:	49 83 7d 00 00       	cmpq   $0x0,0x0(%r13)
140164589:	74 23                	je     0x1401645ae
14016458b:	48 8b 41 08          	mov    0x8(%rcx),%rax
14016458f:	4c 8b 41 10          	mov    0x10(%rcx),%r8
140164593:	41 80 7c 00 ff 2b    	cmpb   $0x2b,-0x1(%r8,%rax,1)
140164599:	48 8d 50 ff          	lea    -0x1(%rax),%rdx
14016459d:	0f 85 21 03 00 00    	jne    0x1401648c4
1401645a3:	41 b8 01 00 00 00    	mov    $0x1,%r8d
1401645a9:	e8 e2 73 f3 ff       	call   0x14009b990
1401645ae:	4c 8b 63 38          	mov    0x38(%rbx),%r12
1401645b2:	4d 8b 7d f8          	mov    -0x8(%r13),%r15
1401645b6:	4d 89 e6             	mov    %r12,%r14
1401645b9:	49 83 c6 01          	add    $0x1,%r14
1401645bd:	0f 82 e9 02 00 00    	jb     0x1401648ac
1401645c3:	48 8b 43 40          	mov    0x40(%rbx),%rax
1401645c7:	4c 39 f0             	cmp    %r14,%rax
1401645ca:	0f 83 e0 01 00 00    	jae    0x1401647b0
1401645d0:	4c 8d 44 40 30       	lea    0x30(%rax,%rax,2),%r8
1401645d5:	48 b8 33 33 33 33 33 	movabs $0x333333333333333,%rax
1401645dc:	33 33 03
1401645df:	49 d1 e8             	shr    $1,%r8
1401645e2:	4d 39 f0             	cmp    %r14,%r8
1401645e5:	4d 0f 42 c6          	cmovb  %r14,%r8
1401645e9:	4c 89 43 40          	mov    %r8,0x40(%rbx)
1401645ed:	4c 39 c0             	cmp    %r8,%rax
1401645f0:	0f 82 a5 02 00 00    	jb     0x14016489b
1401645f6:	4b 8d 14 80          	lea    (%r8,%r8,4),%rdx
1401645fa:	48 8b 4b 48          	mov    0x48(%rbx),%rcx
1401645fe:	48 c1 e2 04          	shl    $0x4,%rdx
140164602:	e8 39 66 f6 ff       	call   0x1400cac40
140164607:	48 8b 53 38          	mov    0x38(%rbx),%rdx
14016460b:	48 89 43 48          	mov    %rax,0x48(%rbx)
14016460f:	48 8d 14 92          	lea    (%rdx,%rdx,4),%rdx
140164613:	66 0f ef c0          	pxor   %xmm0,%xmm0
140164617:	48 8b 0d 82 4d 0d 00 	mov    0xd4d82(%rip),%rcx        # 0x1402393a0
14016461e:	4f 8d 24 a4          	lea    (%r12,%r12,4),%r12
140164622:	48 c1 e2 04          	shl    $0x4,%rdx
140164626:	49 c1 e4 04          	shl    $0x4,%r12
14016462a:	0f 11 44 24 40       	movups %xmm0,0x40(%rsp)
14016462f:	48 01 d0             	add    %rdx,%rax
140164632:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
140164637:	f3 0f 6f 4c 24 40    	movdqu 0x40(%rsp),%xmm1
14016463d:	0f 11 00             	movups %xmm0,(%rax)
140164640:	0f 11 40 20          	movups %xmm0,0x20(%rax)
140164644:	0f 11 40 30          	movups %xmm0,0x30(%rax)
140164648:	0f 11 40 40          	movups %xmm0,0x40(%rax)