1800670f3:	8b ce                	mov    %esi,%ecx
1800670f5:	e8 56 2d 03 00       	call   0x180099e50
1800670fa:	4c 8b f0             	mov    %rax,%r14
1800670fd:	48 85 c0             	test   %rax,%rax
180067100:	74 c4                	je     0x1800670c6
180067102:	d1 ee                	shr    $1,%esi
180067104:	45 8d 45 0e          	lea    0xe(%r13),%r8d
180067108:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%rsp)
18006710f:	00
180067110:	4c 8b c8             	mov    %rax,%r9
180067113:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
180067119:	41 8b cc             	mov    %r12d,%ecx
18006711c:	48 89 47 08          	mov    %rax,0x8(%rdi)
180067120:	8d 14 36             	lea    (%rsi,%rsi,1),%edx
180067123:	e8 28 1e 00 00       	call   0x180068f50
180067128:	8b d8                	mov    %eax,%ebx
18006712a:	85 c0                	test   %eax,%eax
18006712c:	79 04                	jns    0x180067132
18006712e:	33 f6                	xor    %esi,%esi
180067130:	eb 21                	jmp    0x180067153
180067132:	85 f6                	test   %esi,%esi
180067134:	74 19                	je     0x18006714f
180067136:	49 8b ce             	mov    %r14,%rcx
180067139:	8b d6                	mov    %esi,%edx
18006713b:	0f b7 01             	movzwl (%rcx),%eax
18006713e:	66 c1 c8 08          	ror    $0x8,%ax
180067142:	66 89 01             	mov    %ax,(%rcx)
180067145:	48 8d 49 02          	lea    0x2(%rcx),%rcx
180067149:	48 83 ea 01          	sub    $0x1,%rdx
18006714d:	75 ec                	jne    0x18006713b
18006714f:	33 f6                	xor    %esi,%esi
180067151:	8b de                	mov    %esi,%ebx
180067153:	85 db                	test   %ebx,%ebx
180067155:	0f 88 c0 fe ff ff    	js     0x18006701b
18006715b:	8b 17                	mov    (%rdi),%edx
18006715d:	8b de                	mov    %esi,%ebx
18006715f:	48 8b 45 50          	mov    0x50(%rbp),%rax
180067163:	03 d2                	add    %edx,%edx
180067165:	4c 89 77 18          	mov    %r14,0x18(%rdi)
180067169:	8d 4a 02             	lea    0x2(%rdx),%ecx
18006716c:	49 03 ce             	add    %r14,%rcx
18006716f:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
180067173:	8d 0c 55 02 00 00 00 	lea    0x2(,%rdx,2),%ecx
18006717a:	49 03 ce             	add    %r14,%rcx
18006717d:	48 89 4f 20          	mov    %rcx,0x20(%rdi)
180067181:	8d 4a 01             	lea    0x1(%rdx),%ecx
180067184:	8d 0c 4a             	lea    (%rdx,%rcx,2),%ecx
180067187:	49 03 ce             	add    %r14,%rcx
18006718a:	48 89 4f 28          	mov    %rcx,0x28(%rdi)
18006718e:	8d 0c 95 02 00 00 00 	lea    0x2(,%rdx,4),%ecx
180067195:	49 03 ce             	add    %r14,%rcx
180067198:	48 89 4f 30          	mov    %rcx,0x30(%rdi)
18006719c:	48 89 38             	mov    %rdi,(%rax)
18006719f:	e9 77 fe ff ff       	jmp    0x18006701b
1800671a4:	48 8b c4             	mov    %rsp,%rax
1800671a7:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800671ab:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800671af:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800671b3:	57                   	push   %rdi
1800671b4:	41 54                	push   %r12
1800671b6:	41 55                	push   %r13
1800671b8:	41 56                	push   %r14
1800671ba:	41 57                	push   %r15
1800671bc:	48 83 ec 50          	sub    $0x50,%rsp
1800671c0:	45 33 ed             	xor    %r13d,%r13d
1800671c3:	44 8b f2             	mov    %edx,%r14d
1800671c6:	4d 8b e0             	mov    %r8,%r12
1800671c9:	c7 40 b0 02 00 00 00 	movl   $0x2,-0x50(%rax)
1800671d0:	44 8b c2             	mov    %edx,%r8d
1800671d3:	4c 8d 48 b8          	lea    -0x48(%rax),%r9
1800671d7:	44 8b f9             	mov    %ecx,%r15d
1800671da:	4c 89 68 a8          	mov    %r13,-0x58(%rax)
1800671de:	41 8d 55 06          	lea    0x6(%r13),%edx
1800671e2:	e8 69 1d 00 00       	call   0x180068f50
1800671e7:	8b d8                	mov    %eax,%ebx
1800671e9:	85 c0                	test   %eax,%eax
1800671eb:	0f 88 21 01 00 00    	js     0x180067312
1800671f1:	0f b7 44 24 32       	movzwl 0x32(%rsp),%eax
1800671f6:	41 8d 55 12          	lea    0x12(%r13),%edx
1800671fa:	66 c1 4c 24 30 08    	rorw   $0x8,0x30(%rsp)
180067200:	66 c1 4c 24 34 08    	rorw   $0x8,0x34(%rsp)
180067206:	66 c1 c8 08          	ror    $0x8,%ax
18006720a:	66 89 44 24 32       	mov    %ax,0x32(%rsp)
18006720f:	66 85 c0             	test   %ax,%ax
180067212:	74 16                	je     0x18006722a
180067214:	0f b7 c0             	movzwl %ax,%eax
180067217:	8d 0c 40             	lea    (%rax,%rax,2),%ecx
18006721a:	8d 0c 8d 12 00 00 00 	lea    0x12(,%rcx,4),%ecx
180067221:	3b ca                	cmp    %edx,%ecx
180067223:	72 1e                	jb     0x180067243
180067225:	8b d1                	mov    %ecx,%edx
180067227:	41 8b dd             	mov    %r13d,%ebx
18006722a:	8b ca                	mov    %edx,%ecx
18006722c:	e8 1f 2c 03 00       	call   0x180099e50
180067231:	48 8b f8             	mov    %rax,%rdi
180067234:	48 85 c0             	test   %rax,%rax
180067237:	75 14                	jne    0x18006724d
180067239:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18006723e:	e9 cf 00 00 00       	jmp    0x180067312
180067243:	bb 95 00 00 c0       	mov    $0xc0000095,%ebx
180067248:	e9 c5 00 00 00       	jmp    0x180067312
18006724d:	8b 44 24 30          	mov    0x30(%rsp),%eax
180067251:	41 83 c6 06          	add    $0x6,%r14d
180067255:	89 07                	mov    %eax,(%rdi)
180067257:	41 8b ed             	mov    %r13d,%ebp
18006725a:	0f b7 44 24 34       	movzwl 0x34(%rsp),%eax
18006725f:	66 89 47 04          	mov    %ax,0x4(%rdi)
180067263:	66 44 3b 6c 24 32    	cmp    0x32(%rsp),%r13w
180067269:	0f 83 93 00 00 00    	jae    0x180067302
18006726f:	8b c5                	mov    %ebp,%eax
180067271:	ba 0c 00 00 00       	mov    $0xc,%edx
180067276:	45 8b c6             	mov    %r14d,%r8d
180067279:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%rsp)
180067280:	00
180067281:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
180067286:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18006728a:	48 8d 34 8f          	lea    (%rdi,%rcx,4),%rsi
18006728e:	41 8b cf             	mov    %r15d,%ecx
180067291:	4c 8d 4e 06          	lea    0x6(%rsi),%r9
180067295:	e8 b6 1c 00 00       	call   0x180068f50
18006729a:	8b d8                	mov    %eax,%ebx
18006729c:	85 c0                	test   %eax,%eax
18006729e:	78 4b                	js     0x1800672eb
1800672a0:	0f b7 46 06          	movzwl 0x6(%rsi),%eax
1800672a4:	41 8b dd             	mov    %r13d,%ebx
1800672a7:	66 c1 c8 08          	ror    $0x8,%ax
1800672ab:	66 89 46 06          	mov    %ax,0x6(%rsi)
1800672af:	0f b7 46 08          	movzwl 0x8(%rsi),%eax
1800672b3:	66 c1 c8 08          	ror    $0x8,%ax
1800672b7:	66 89 46 08          	mov    %ax,0x8(%rsi)
1800672bb:	0f b7 46 0a          	movzwl 0xa(%rsi),%eax
1800672bf:	66 c1 c8 08          	ror    $0x8,%ax
1800672c3:	66 89 46 0a          	mov    %ax,0xa(%rsi)
1800672c7:	0f b7 46 0c          	movzwl 0xc(%rsi),%eax
1800672cb:	66 c1 c8 08          	ror    $0x8,%ax
1800672cf:	66 89 46 0c          	mov    %ax,0xc(%rsi)
1800672d3:	0f b7 46 0e          	movzwl 0xe(%rsi),%eax
1800672d7:	66 c1 c8 08          	ror    $0x8,%ax
1800672db:	66 89 46 0e          	mov    %ax,0xe(%rsi)
1800672df:	0f b7 46 10          	movzwl 0x10(%rsi),%eax
1800672e3:	66 c1 c8 08          	ror    $0x8,%ax
1800672e7:	66 89 46 10          	mov    %ax,0x10(%rsi)
1800672eb:	85 db                	test   %ebx,%ebx
1800672ed:	78 1b                	js     0x18006730a
1800672ef:	0f b7 44 24 32       	movzwl 0x32(%rsp),%eax
1800672f4:	ff c5                	inc    %ebp
1800672f6:	41 83 c6 0c          	add    $0xc,%r14d
1800672fa:	3b e8                	cmp    %eax,%ebp
1800672fc:	0f 82 6d ff ff ff    	jb     0x18006726f
180067302:	49 89 3c 24          	mov    %rdi,(%r12)
180067306:	85 db                	test   %ebx,%ebx
180067308:	79 08                	jns    0x180067312
18006730a:	48 8b cf             	mov    %rdi,%rcx
18006730d:	e8 ea 2c 03 00       	call   0x180099ffc
180067312:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
180067317:	8b c3                	mov    %ebx,%eax
180067319:	49 8b 5b 30          	mov    0x30(%r11),%rbx
18006731d:	49 8b 6b 38          	mov    0x38(%r11),%rbp
180067321:	49 8b 73 40          	mov    0x40(%r11),%rsi
180067325:	49 8b e3             	mov    %r11,%rsp
180067328:	41 5f                	pop    %r15
18006732a:	41 5e                	pop    %r14
18006732c:	41 5d                	pop    %r13
18006732e:	41 5c                	pop    %r12
180067330:	5f                   	pop    %rdi
180067331:	c3                   	ret
180067332:	cc                   	int3
180067333:	cc                   	int3
180067334:	40 53                	rex push %rbx
180067336:	48 83 ec 30          	sub    $0x30,%rsp
18006733a:	49 8b d8             	mov    %r8,%rbx
18006733d:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%rsp)
180067344:	00
180067345:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
18006734b:	4d 8b c8             	mov    %r8,%r9
18006734e:	4c 8b c2             	mov    %rdx,%r8
180067351:	ba 04 00 00 00       	mov    $0x4,%edx
180067356:	e8 f5 1b 00 00       	call   0x180068f50
18006735b:	85 c0                	test   %eax,%eax
18006735d:	78 08                	js     0x180067367
18006735f:	8b 03                	mov    (%rbx),%eax
180067361:	0f c8                	bswap  %eax
180067363:	89 03                	mov    %eax,(%rbx)
180067365:	33 c0                	xor    %eax,%eax
180067367:	48 83 c4 30          	add    $0x30,%rsp
18006736b:	5b                   	pop    %rbx
18006736c:	c3                   	ret
18006736d:	cc                   	int3
18006736e:	cc                   	int3
18006736f:	cc                   	int3
180067370:	48 8b c4             	mov    %rsp,%rax
180067373:	48 89 58 08          	mov    %rbx,0x8(%rax)
180067377:	48 89 68 10          	mov    %rbp,0x10(%rax)
18006737b:	48 89 70 18          	mov    %rsi,0x18(%rax)
18006737f:	57                   	push   %rdi
180067380:	41 54                	push   %r12
180067382:	41 55                	push   %r13
180067384:	41 56                	push   %r14
180067386:	41 57                	push   %r15
180067388:	48 83 ec 40          	sub    $0x40,%rsp
18006738c:	4d 8b e0             	mov    %r8,%r12
18006738f:	4c 8d 48 20          	lea    0x20(%rax),%r9
180067393:	45 33 ed             	xor    %r13d,%r13d
180067396:	41 b8 65 6d 61 6e    	mov    $0x6e616d65,%r8d
18006739c:	41 8b f5             	mov    %r13d,%esi
18006739f:	4c 89 68 c8          	mov    %r13,-0x38(%rax)
1800673a3:	44 8b f1             	mov    %ecx,%r14d
1800673a6:	e8 41 f6 ff ff       	call   0x1800669ec
1800673ab:	8b f8                	mov    %eax,%edi
1800673ad:	85 c0                	test   %eax,%eax
1800673af:	0f 88 83 00 00 00    	js     0x180067438
1800673b5:	44 8b bc 24 88 00 00 	mov    0x88(%rsp),%r15d
1800673bc:	00
1800673bd:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1800673c2:	41 8b d7             	mov    %r15d,%edx
1800673c5:	41 8b ce             	mov    %r14d,%ecx
1800673c8:	e8 d7 fd ff ff       	call   0x1800671a4
1800673cd:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
1800673d2:	8b f8                	mov    %eax,%edi
1800673d4:	85 c0                	test   %eax,%eax
1800673d6:	78 53                	js     0x18006742b
1800673d8:	0f b7 4d 02          	movzwl 0x2(%rbp),%ecx
1800673dc:	48 8d 5d 06          	lea    0x6(%rbp),%rbx
1800673e0:	41 8b c5             	mov    %r13d,%eax
1800673e3:	85 c9                	test   %ecx,%ecx
1800673e5:	74 2e                	je     0x180067415
1800673e7:	45 8d 45 01          	lea    0x1(%r13),%r8d
1800673eb:	66 83 3b 03          	cmpw   $0x3,(%rbx)
1800673ef:	75 19                	jne    0x18006740a
1800673f1:	66 44 39 43 02       	cmp    %r8w,0x2(%rbx)
1800673f6:	75 12                	jne    0x18006740a
1800673f8:	ba 09 04 00 00       	mov    $0x409,%edx
1800673fd:	66 39 53 04          	cmp    %dx,0x4(%rbx)
180067401:	75 07                	jne    0x18006740a
180067403:	66 44 39 43 06       	cmp    %r8w,0x6(%rbx)
180067408:	74 4f                	je     0x180067459
18006740a:	41 03 c0             	add    %r8d,%eax
18006740d:	48 83 c3 0c          	add    $0xc,%rbx
180067411:	3b c1                	cmp    %ecx,%eax
180067413:	72 d6                	jb     0x1800673eb
180067415:	bf 7b 00 00 c0       	mov    $0xc000007b,%edi
18006741a:	85 ff                	test   %edi,%edi
18006741c:	79 0d                	jns    0x18006742b
18006741e:	48 85 f6             	test   %rsi,%rsi
180067421:	74 08                	je     0x18006742b
180067423:	48 8b ce             	mov    %rsi,%rcx
180067426:	e8 d1 2b 03 00       	call   0x180099ffc
18006742b:	48 85 ed             	test   %rbp,%rbp
18006742e:	74 08                	je     0x180067438
180067430:	48 8b cd             	mov    %rbp,%rcx
180067433:	e8 c4 2b 03 00       	call   0x180099ffc
180067438:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
18006743d:	8b c7                	mov    %edi,%eax
18006743f:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180067443:	49 8b 6b 38          	mov    0x38(%r11),%rbp
180067447:	49 8b 73 40          	mov    0x40(%r11),%rsi
18006744b:	49 8b e3             	mov    %r11,%rsp
18006744e:	41 5f                	pop    %r15
180067450:	41 5e                	pop    %r14
180067452:	41 5d                	pop    %r13
180067454:	41 5c                	pop    %r12
180067456:	5f                   	pop    %rdi
180067457:	c3                   	ret
180067458:	cc                   	int3
180067459:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
18006745d:	8d 48 02             	lea    0x2(%rax),%ecx
180067460:	3b c8                	cmp    %eax,%ecx
180067462:	72 7f                	jb     0x1800674e3
180067464:	e8 e7 29 03 00       	call   0x180099e50
180067469:	48 8b f0             	mov    %rax,%rsi
18006746c:	48 85 c0             	test   %rax,%rax
18006746f:	75 07                	jne    0x180067478
180067471:	bf 17 00 00 c0       	mov    $0xc0000017,%edi
180067476:	eb b3                	jmp    0x18006742b
180067478:	0f b7 43 0a          	movzwl 0xa(%rbx),%eax
18006747c:	4c 8b ce             	mov    %rsi,%r9
18006747f:	44 0f b7 45 04       	movzwl 0x4(%rbp),%r8d
180067484:	41 03 c7             	add    %r15d,%eax
180067487:	0f b7 53 08          	movzwl 0x8(%rbx),%edx
18006748b:	44 03 c0             	add    %eax,%r8d
18006748e:	c7 44 24 28 02 00 00 	movl   $0x2,0x28(%rsp)
180067495:	00
180067496:	41 8b ce             	mov    %r14d,%ecx
180067499:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
18006749e:	e8 ad 1a 00 00       	call   0x180068f50
1800674a3:	8b f8                	mov    %eax,%edi
1800674a5:	85 c0                	test   %eax,%eax
1800674a7:	0f 88 71 ff ff ff    	js     0x18006741e
1800674ad:	66 d1 6b 08          	shrw   $1,0x8(%rbx)
1800674b1:	41 8b d5             	mov    %r13d,%edx
1800674b4:	66 44 3b 6b 08       	cmp    0x8(%rbx),%r13w
1800674b9:	73 18                	jae    0x1800674d3
1800674bb:	8b ca                	mov    %edx,%ecx
1800674bd:	ff c2                	inc    %edx
1800674bf:	0f b7 04 4e          	movzwl (%rsi,%rcx,2),%eax
1800674c3:	66 c1 c8 08          	ror    $0x8,%ax
1800674c7:	66 89 04 4e          	mov    %ax,(%rsi,%rcx,2)
1800674cb:	0f b7 43 08          	movzwl 0x8(%rbx),%eax
1800674cf:	3b d0                	cmp    %eax,%edx
1800674d1:	72 e8                	jb     0x1800674bb
1800674d3:	8b c2                	mov    %edx,%eax
1800674d5:	66 44 89 2c 46       	mov    %r13w,(%rsi,%rax,2)
1800674da:	49 89 34 24          	mov    %rsi,(%r12)
1800674de:	e9 37 ff ff ff       	jmp    0x18006741a
1800674e3:	bf 95 00 00 c0       	mov    $0xc0000095,%edi
1800674e8:	e9 3e ff ff ff       	jmp    0x18006742b
1800674ed:	cc                   	int3
1800674ee:	cc                   	int3
1800674ef:	cc                   	int3
1800674f0:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1800674f5:	53                   	push   %rbx
1800674f6:	48 83 ec 60          	sub    $0x60,%rsp
1800674fa:	48 8b 0d d7 d4 13 00 	mov    0x13d4d7(%rip),%rcx        # 0x1801a49d8
180067501:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
180067506:	ba 51 00 00 15       	mov    $0x15000051,%edx
18006750b:	e8 b0 4f 01 00       	call   0x18007c4c0
180067510:	85 c0                	test   %eax,%eax
180067512:	78 0a                	js     0x18006751e
180067514:	0f b7 4c 24 78       	movzwl 0x78(%rsp),%ecx
180067519:	e8 72 0d 00 00       	call   0x180068290
18006751e:	0f 10 05 db d4 13 00 	movups 0x13d4db(%rip),%xmm0        # 0x1801a4a00
180067525:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
18006752a:	0f 29 44 24 20       	movaps %xmm0,0x20(%rsp)
18006752f:	e8 20 0c 00 00       	call   0x180068154
180067534:	84 c0                	test   %al,%al
180067536:	0f 84 ea 00 00 00    	je     0x180067626
18006753c:	8b 5c 24 20          	mov    0x20(%rsp),%ebx
180067540:	83 e3 08             	and    $0x8,%ebx
180067543:	85 db                	test   %ebx,%ebx
180067545:	0f 84 c4 00 00 00    	je     0x18006760f
18006754b:	0f b7 54 24 72       	movzwl 0x72(%rsp),%edx
180067550:	8b 44 24 70          	mov    0x70(%rsp),%eax
180067554:	f6 c2 01             	test   $0x1,%dl
180067557:	74 1a                	je     0x180067573
180067559:	66 83 f8 20          	cmp    $0x20,%ax
18006755d:	77 14                	ja     0x180067573
18006755f:	49 b8 00 23 00 08 01 	movabs $0x108002300,%r8
180067566:	00 00 00
180067569:	49 0f a3 c0          	bt     %rax,%r8
18006756d:	0f 82 b3 00 00 00    	jb     0x180067626
180067573:	f6 c2 02             	test   $0x2,%dl
180067576:	0f 84 8e 00 00 00    	je     0x18006760a
18006757c:	b9 00 3b 00 00       	mov    $0x3b00,%ecx
180067581:	66 3b c1             	cmp    %cx,%ax
180067584:	0f 84 9c 00 00 00    	je     0x180067626
18006758a:	b9 00 3c 00 00       	mov    $0x3c00,%ecx
18006758f:	66 3b c1             	cmp    %cx,%ax
180067592:	0f 84 8e 00 00 00    	je     0x180067626
180067598:	b9 00 3d 00 00       	mov    $0x3d00,%ecx
18006759d:	66 3b c1             	cmp    %cx,%ax