14001387f:	8b c7                	mov    %edi,%eax
140013881:	48 d3 e0             	shl    %cl,%rax
140013884:	48 3b d0             	cmp    %rax,%rdx
140013887:	76 0e                	jbe    0x140013897
140013889:	48 8d 0d 48 56 02 00 	lea    0x25648(%rip),%rcx        # 0x140038ed8
140013890:	ff 15 02 0b 02 00    	call   *0x20b02(%rip)        # 0x140034398
140013896:	cc                   	int3
140013897:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
14001389b:	48 8d 42 ff          	lea    -0x1(%rdx),%rax
14001389f:	48 0b c7             	or     %rdi,%rax
1400138a2:	4c 8b c3             	mov    %rbx,%r8
1400138a5:	48 0f bd c8          	bsr    %rax,%rcx
1400138a9:	ff c1                	inc    %ecx
1400138ab:	48 d3 e7             	shl    %cl,%rdi
1400138ae:	48 8d 4e 18          	lea    0x18(%rsi),%rcx
1400138b2:	48 8d 14 3f          	lea    (%rdi,%rdi,1),%rdx
1400138b6:	e8 49 fb ff ff       	call   0x140013404
1400138bb:	48 8d 47 ff          	lea    -0x1(%rdi),%rax
1400138bf:	48 89 7e 38          	mov    %rdi,0x38(%rsi)
1400138c3:	48 89 46 30          	mov    %rax,0x30(%rsi)
1400138c7:	48 8b 46 08          	mov    0x8(%rsi),%rax
1400138cb:	48 8b 00             	mov    (%rax),%rax
1400138ce:	48 8b c8             	mov    %rax,%rcx
1400138d1:	48 3b c3             	cmp    %rbx,%rax
1400138d4:	0f 84 9c 00 00 00    	je     0x140013976
1400138da:	8b 50 10             	mov    0x10(%rax),%edx
1400138dd:	48 8b 7e 18          	mov    0x18(%rsi),%rdi
1400138e1:	44 8b da             	mov    %edx,%r11d
1400138e4:	4c 23 5e 30          	and    0x30(%rsi),%r11
1400138e8:	48 8b 09             	mov    (%rcx),%rcx
1400138eb:	4d 03 db             	add    %r11,%r11
1400138ee:	4a 39 1c df          	cmp    %rbx,(%rdi,%r11,8)
1400138f2:	75 0b                	jne    0x1400138ff
1400138f4:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
1400138f8:	4a 89 44 df 08       	mov    %rax,0x8(%rdi,%r11,8)
1400138fd:	eb 6b                	jmp    0x14001396a
1400138ff:	4e 8b 54 df 08       	mov    0x8(%rdi,%r11,8),%r10
140013904:	41 3b 52 10          	cmp    0x10(%r10),%edx
140013908:	75 35                	jne    0x14001393f
14001390a:	4d 8b 12             	mov    (%r10),%r10
14001390d:	4c 3b d0             	cmp    %rax,%r10
140013910:	74 e6                	je     0x1400138f8
140013912:	4c 8b 48 08          	mov    0x8(%rax),%r9
140013916:	49 89 09             	mov    %rcx,(%r9)
140013919:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14001391d:	4d 89 10             	mov    %r10,(%r8)
140013920:	49 8b 52 08          	mov    0x8(%r10),%rdx
140013924:	48 89 02             	mov    %rax,(%rdx)
140013927:	4d 89 42 08          	mov    %r8,0x8(%r10)
14001392b:	4c 89 49 08          	mov    %r9,0x8(%rcx)
14001392f:	48 89 50 08          	mov    %rdx,0x8(%rax)
140013933:	eb c3                	jmp    0x1400138f8
140013935:	4d 8b 52 08          	mov    0x8(%r10),%r10
140013939:	41 3b 52 10          	cmp    0x10(%r10),%edx
14001393d:	74 4d                	je     0x14001398c
14001393f:	4e 39 14 df          	cmp    %r10,(%rdi,%r11,8)
140013943:	75 f0                	jne    0x140013935
140013945:	4c 8b 48 08          	mov    0x8(%rax),%r9
140013949:	49 89 09             	mov    %rcx,(%r9)
14001394c:	4c 8b 41 08          	mov    0x8(%rcx),%r8
140013950:	4d 89 10             	mov    %r10,(%r8)
140013953:	49 8b 52 08          	mov    0x8(%r10),%rdx
140013957:	48 89 02             	mov    %rax,(%rdx)
14001395a:	4d 89 42 08          	mov    %r8,0x8(%r10)
14001395e:	4c 89 49 08          	mov    %r9,0x8(%rcx)
140013962:	48 89 50 08          	mov    %rdx,0x8(%rax)
140013966:	4a 89 04 df          	mov    %rax,(%rdi,%r11,8)
14001396a:	48 8b c1             	mov    %rcx,%rax
14001396d:	48 3b cb             	cmp    %rbx,%rcx
140013970:	0f 85 64 ff ff ff    	jne    0x1400138da
140013976:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14001397b:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140013980:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140013985:	48 83 c4 20          	add    $0x20,%rsp
140013989:	41 5e                	pop    %r14
14001398b:	c3                   	ret
14001398c:	4d 8b 12             	mov    (%r10),%r10
14001398f:	4c 8b 48 08          	mov    0x8(%rax),%r9
140013993:	49 89 09             	mov    %rcx,(%r9)
140013996:	4c 8b 41 08          	mov    0x8(%rcx),%r8
14001399a:	4d 89 10             	mov    %r10,(%r8)
14001399d:	49 8b 52 08          	mov    0x8(%r10),%rdx
1400139a1:	48 89 02             	mov    %rax,(%rdx)
1400139a4:	4d 89 42 08          	mov    %r8,0x8(%r10)
1400139a8:	4c 89 49 08          	mov    %r9,0x8(%rcx)
1400139ac:	48 89 50 08          	mov    %rdx,0x8(%rax)
1400139b0:	eb b8                	jmp    0x14001396a
1400139b2:	cc                   	int3
1400139b3:	90                   	nop
1400139b4:	40 53                	rex push %rbx
1400139b6:	48 83 ec 20          	sub    $0x20,%rsp
1400139ba:	48 8b 59 38          	mov    0x38(%rcx),%rbx
1400139be:	0f 57 c0             	xorps  %xmm0,%xmm0
1400139c1:	48 85 d2             	test   %rdx,%rdx
1400139c4:	78 07                	js     0x1400139cd
1400139c6:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
1400139cb:	eb 15                	jmp    0x1400139e2
1400139cd:	48 8b c2             	mov    %rdx,%rax
1400139d0:	83 e2 01             	and    $0x1,%edx
1400139d3:	48 d1 e8             	shr    $1,%rax
1400139d6:	48 0b c2             	or     %rdx,%rax
1400139d9:	f3 48 0f 2a c0       	cvtsi2ss %rax,%xmm0
1400139de:	f3 0f 58 c0          	addss  %xmm0,%xmm0
1400139e2:	f3 0f 5e 01          	divss  (%rcx),%xmm0
1400139e6:	e8 e2 e1 01 00       	call   0x140031bcd
1400139eb:	f3 0f 10 0d fd 56 02 	movss  0x256fd(%rip),%xmm1        # 0x1400390f0
1400139f2:	00
1400139f3:	33 c0                	xor    %eax,%eax
1400139f5:	0f 2f c1             	comiss %xmm1,%xmm0
1400139f8:	72 16                	jb     0x140013a10
1400139fa:	f3 0f 5c c1          	subss  %xmm1,%xmm0
1400139fe:	0f 2f c1             	comiss %xmm1,%xmm0
140013a01:	73 0d                	jae    0x140013a10
140013a03:	48 b9 00 00 00 00 00 	movabs $0x8000000000000000,%rcx
140013a0a:	00 00 80
140013a0d:	48 8b c1             	mov    %rcx,%rax
140013a10:	ba 08 00 00 00       	mov    $0x8,%edx
140013a15:	f3 48 0f 2c c8       	cvttss2si %xmm0,%rcx
140013a1a:	48 03 c8             	add    %rax,%rcx
140013a1d:	48 3b ca             	cmp    %rdx,%rcx
140013a20:	48 0f 47 d1          	cmova  %rcx,%rdx
140013a24:	48 3b da             	cmp    %rdx,%rbx
140013a27:	72 05                	jb     0x140013a2e
140013a29:	48 8b c3             	mov    %rbx,%rax
140013a2c:	eb 1b                	jmp    0x140013a49
140013a2e:	48 81 fb 00 02 00 00 	cmp    $0x200,%rbx
140013a35:	73 0f                	jae    0x140013a46
140013a37:	48 8d 04 dd 00 00 00 	lea    0x0(,%rbx,8),%rax
140013a3e:	00
140013a3f:	48 3b c2             	cmp    %rdx,%rax
140013a42:	48 0f 43 d0          	cmovae %rax,%rdx
140013a46:	48 8b c2             	mov    %rdx,%rax
140013a49:	48 83 c4 20          	add    $0x20,%rsp
140013a4d:	5b                   	pop    %rbx
140013a4e:	c3                   	ret
140013a4f:	90                   	nop
140013a50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140013a55:	57                   	push   %rdi
140013a56:	48 83 ec 20          	sub    $0x20,%rsp
140013a5a:	48 8b 39             	mov    (%rcx),%rdi
140013a5d:	33 db                	xor    %ebx,%ebx
140013a5f:	48 85 ff             	test   %rdi,%rdi
140013a62:	74 6a                	je     0x140013ace
140013a64:	48 39 5f 10          	cmp    %rbx,0x10(%rdi)
140013a68:	74 64                	je     0x140013ace
140013a6a:	48 8b 47 38          	mov    0x38(%rdi),%rax
140013a6e:	48 8b 57 08          	mov    0x8(%rdi),%rdx
140013a72:	48 c1 e8 03          	shr    $0x3,%rax
140013a76:	48 3b 47 10          	cmp    0x10(%rdi),%rax
140013a7a:	76 10                	jbe    0x140013a8c
140013a7c:	4c 8b c2             	mov    %rdx,%r8
140013a7f:	48 8b cf             	mov    %rdi,%rcx
140013a82:	48 8b 12             	mov    (%rdx),%rdx
140013a85:	e8 a2 fa ff ff       	call   0x14001352c
140013a8a:	eb 42                	jmp    0x140013ace
140013a8c:	e8 a3 fc ff ff       	call   0x140013734
140013a91:	48 8b 47 08          	mov    0x8(%rdi),%rax
140013a95:	48 89 00             	mov    %rax,(%rax)
140013a98:	48 8b 47 08          	mov    0x8(%rdi),%rax
140013a9c:	48 89 40 08          	mov    %rax,0x8(%rax)
140013aa0:	48 89 5f 10          	mov    %rbx,0x10(%rdi)
140013aa4:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140013aa8:	48 8b 4f 20          	mov    0x20(%rdi),%rcx
140013aac:	48 8b 47 08          	mov    0x8(%rdi),%rax
140013ab0:	48 2b ca             	sub    %rdx,%rcx
140013ab3:	48 83 c1 07          	add    $0x7,%rcx
140013ab7:	48 c1 e9 03          	shr    $0x3,%rcx
140013abb:	48 3b 57 20          	cmp    0x20(%rdi),%rdx
140013abf:	48 0f 47 cb          	cmova  %rbx,%rcx
140013ac3:	48 85 c9             	test   %rcx,%rcx
140013ac6:	74 06                	je     0x140013ace
140013ac8:	48 8b fa             	mov    %rdx,%rdi
140013acb:	f3 48 ab             	rep stos %rax,%es:(%rdi)
140013ace:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140013ad3:	48 83 c4 20          	add    $0x20,%rsp
140013ad7:	5f                   	pop    %rdi
140013ad8:	c3                   	ret
140013ad9:	90                   	nop
140013ada:	90                   	nop
140013adb:	90                   	nop
140013adc:	48 8b c4             	mov    %rsp,%rax
140013adf:	48 89 58 08          	mov    %rbx,0x8(%rax)
140013ae3:	48 89 68 10          	mov    %rbp,0x10(%rax)
140013ae7:	48 89 70 18          	mov    %rsi,0x18(%rax)
140013aeb:	4c 89 60 20          	mov    %r12,0x20(%rax)
140013aef:	41 55                	push   %r13
140013af1:	41 56                	push   %r14
140013af3:	41 57                	push   %r15
140013af5:	48 83 ec 30          	sub    $0x30,%rsp
140013af9:	4d 8b e0             	mov    %r8,%r12
140013afc:	48 8b f2             	mov    %rdx,%rsi
140013aff:	48 8b e9             	mov    %rcx,%rbp
140013b02:	45 8b 38             	mov    (%r8),%r15d
140013b05:	48 8b 49 30          	mov    0x30(%rcx),%rcx
140013b09:	49 23 cf             	and    %r15,%rcx
140013b0c:	48 03 c9             	add    %rcx,%rcx
140013b0f:	48 8b 55 18          	mov    0x18(%rbp),%rdx
140013b13:	48 8b 44 ca 08       	mov    0x8(%rdx,%rcx,8),%rax
140013b18:	4c 8d 6d 08          	lea    0x8(%rbp),%r13
140013b1c:	4d 8b 75 00          	mov    0x0(%r13),%r14
140013b20:	49 3b c6             	cmp    %r14,%rax
140013b23:	74 41                	je     0x140013b66
140013b25:	48 8b 14 ca          	mov    (%rdx,%rcx,8),%rdx
140013b29:	eb 09                	jmp    0x140013b34
140013b2b:	48 3b c2             	cmp    %rdx,%rax
140013b2e:	74 33                	je     0x140013b63
140013b30:	48 8b 40 08          	mov    0x8(%rax),%rax
140013b34:	44 3b 78 10          	cmp    0x10(%rax),%r15d
140013b38:	75 f1                	jne    0x140013b2b
140013b3a:	48 89 06             	mov    %rax,(%rsi)
140013b3d:	c6 46 08 00          	movb   $0x0,0x8(%rsi)
140013b41:	48 8b c6             	mov    %rsi,%rax
140013b44:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140013b49:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140013b4e:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
140013b53:	4c 8b 64 24 68       	mov    0x68(%rsp),%r12
140013b58:	48 83 c4 30          	add    $0x30,%rsp
140013b5c:	41 5f                	pop    %r15
140013b5e:	41 5e                	pop    %r14
140013b60:	41 5d                	pop    %r13
140013b62:	c3                   	ret
140013b63:	4c 8b f0             	mov    %rax,%r14
140013b66:	48 b8 92 24 49 92 24 	movabs $0x492492492492492,%rax
140013b6d:	49 92 04
140013b70:	48 39 45 10          	cmp    %rax,0x10(%rbp)
140013b74:	75 0e                	jne    0x140013b84
140013b76:	48 8d 0d 7b 53 02 00 	lea    0x2537b(%rip),%rcx        # 0x140038ef8
140013b7d:	ff 15 15 08 02 00    	call   *0x20815(%rip)        # 0x140034398
140013b83:	cc                   	int3
140013b84:	4c 89 6c 24 20       	mov    %r13,0x20(%rsp)
140013b89:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
140013b8f:	b9 38 00 00 00       	mov    $0x38,%ecx
140013b94:	ff 15 76 09 02 00    	call   *0x20976(%rip)        # 0x140034510
140013b9a:	48 8b d8             	mov    %rax,%rbx
140013b9d:	48 85 c0             	test   %rax,%rax
140013ba0:	75 07                	jne    0x140013ba9
140013ba2:	ff 15 f8 07 02 00    	call   *0x207f8(%rip)        # 0x1400343a0
140013ba8:	cc                   	int3
140013ba9:	48 89 5c 24 28       	mov    %rbx,0x28(%rsp)
140013bae:	41 8b 04 24          	mov    (%r12),%eax
140013bb2:	89 43 10             	mov    %eax,0x10(%rbx)
140013bb5:	48 8d 4b 18          	lea    0x18(%rbx),%rcx
140013bb9:	49 8d 54 24 08       	lea    0x8(%r12),%rdx
140013bbe:	0f 57 c0             	xorps  %xmm0,%xmm0
140013bc1:	0f 11 01             	movups %xmm0,(%rcx)
140013bc4:	48 83 61 10 00       	andq   $0x0,0x10(%rcx)
140013bc9:	48 83 61 18 00       	andq   $0x0,0x18(%rcx)
140013bce:	4c 8b 42 10          	mov    0x10(%rdx),%r8
140013bd2:	48 83 7a 18 07       	cmpq   $0x7,0x18(%rdx)
140013bd7:	76 03                	jbe    0x140013bdc
140013bd9:	48 8b 12             	mov    (%rdx),%rdx
140013bdc:	e8 af b0 ff ff       	call   0x14000ec90
140013be1:	90                   	nop
140013be2:	48 8b 55 10          	mov    0x10(%rbp),%rdx
140013be6:	48 83 c2 01          	add    $0x1,%rdx
140013bea:	0f 57 c0             	xorps  %xmm0,%xmm0
140013bed:	78 07                	js     0x140013bf6
140013bef:	f3 48 0f 2a c2       	cvtsi2ss %rdx,%xmm0
140013bf4:	eb 18                	jmp    0x140013c0e
140013bf6:	48 8b ca             	mov    %rdx,%rcx
140013bf9:	48 d1 e9             	shr    $1,%rcx
140013bfc:	48 8b c2             	mov    %rdx,%rax
140013bff:	83 e0 01             	and    $0x1,%eax
140013c02:	48 0b c8             	or     %rax,%rcx
140013c05:	f3 48 0f 2a c1       	cvtsi2ss %rcx,%xmm0
140013c0a:	f3 0f 58 c0          	addss  %xmm0,%xmm0
140013c0e:	48 8b 4d 38          	mov    0x38(%rbp),%rcx
140013c12:	0f 57 c9             	xorps  %xmm1,%xmm1
140013c15:	48 85 c9             	test   %rcx,%rcx
140013c18:	78 07                	js     0x140013c21
140013c1a:	f3 48 0f 2a c9       	cvtsi2ss %rcx,%xmm1
140013c1f:	eb 15                	jmp    0x140013c36
140013c21:	48 8b c1             	mov    %rcx,%rax
140013c24:	48 d1 e8             	shr    $1,%rax
140013c27:	83 e1 01             	and    $0x1,%ecx
140013c2a:	48 0b c1             	or     %rcx,%rax
140013c2d:	f3 48 0f 2a c8       	cvtsi2ss %rax,%xmm1
140013c32:	f3 0f 58 c9          	addss  %xmm1,%xmm1
140013c36:	f3 0f 5e c1          	divss  %xmm1,%xmm0
140013c3a:	0f 2f 45 00          	comiss 0x0(%rbp),%xmm0
140013c3e:	76 5a                	jbe    0x140013c9a
140013c40:	48 8b cd             	mov    %rbp,%rcx
140013c43:	e8 6c fd ff ff       	call   0x1400139b4
140013c48:	48 8b d0             	mov    %rax,%rdx
140013c4b:	48 8b cd             	mov    %rbp,%rcx
140013c4e:	e8 01 fc ff ff       	call   0x140013854
140013c53:	48 8b 45 30          	mov    0x30(%rbp),%rax
140013c57:	49 23 c7             	and    %r15,%rax
140013c5a:	48 03 c0             	add    %rax,%rax
140013c5d:	4c 8b 45 18          	mov    0x18(%rbp),%r8
140013c61:	49 8b 4c c0 08       	mov    0x8(%r8,%rax,8),%rcx
140013c66:	49 8b 55 00          	mov    0x0(%r13),%rdx
140013c6a:	48 3b ca             	cmp    %rdx,%rcx
140013c6d:	75 07                	jne    0x140013c76
140013c6f:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
140013c74:	eb 1f                	jmp    0x140013c95
140013c76:	49 8b 14 c0          	mov    (%r8,%rax,8),%rdx
140013c7a:	8b 43 10             	mov    0x10(%rbx),%eax
140013c7d:	eb 09                	jmp    0x140013c88
140013c7f:	48 3b ca             	cmp    %rdx,%rcx
140013c82:	74 4a                	je     0x140013cce
140013c84:	48 8b 49 08          	mov    0x8(%rcx),%rcx
140013c88:	3b 41 10             	cmp    0x10(%rcx),%eax
140013c8b:	75 f2                	jne    0x140013c7f
140013c8d:	48 8b 01             	mov    (%rcx),%rax
140013c90:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140013c95:	4c 8b 74 24 20       	mov    0x20(%rsp),%r14
140013c9a:	49 8b 56 08          	mov    0x8(%r14),%rdx
140013c9e:	48 ff 45 10          	incq   0x10(%rbp)
140013ca2:	4c 89 33             	mov    %r14,(%rbx)
140013ca5:	48 89 53 08          	mov    %rdx,0x8(%rbx)
140013ca9:	48 89 1a             	mov    %rbx,(%rdx)
140013cac:	49 89 5e 08          	mov    %rbx,0x8(%r14)
140013cb0:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
140013cb4:	48 8b 45 30          	mov    0x30(%rbp),%rax
140013cb8:	49 23 c7             	and    %r15,%rax
140013cbb:	48 03 c0             	add    %rax,%rax
140013cbe:	4c 8b 04 c1          	mov    (%rcx,%rax,8),%r8
140013cc2:	4d 3b 45 00          	cmp    0x0(%r13),%r8
140013cc6:	75 0d                	jne    0x140013cd5
140013cc8:	48 89 1c c1          	mov    %rbx,(%rcx,%rax,8)
140013ccc:	eb 19                	jmp    0x140013ce7
140013cce:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140013cd3:	eb c0                	jmp    0x140013c95
140013cd5:	4d 3b c6             	cmp    %r14,%r8
140013cd8:	75 06                	jne    0x140013ce0
140013cda:	48 89 1c c1          	mov    %rbx,(%rcx,%rax,8)
140013cde:	eb 0c                	jmp    0x140013cec
140013ce0:	48 39 54 c1 08       	cmp    %rdx,0x8(%rcx,%rax,8)
140013ce5:	75 05                	jne    0x140013cec
140013ce7:	48 89 5c c1 08       	mov    %rbx,0x8(%rcx,%rax,8)
140013cec:	48 89 1e             	mov    %rbx,(%rsi)
140013cef:	c6 46 08 01          	movb   $0x1,0x8(%rsi)
140013cf3:	e9 49 fe ff ff       	jmp    0x140013b41
140013cf8:	cc                   	int3
140013cf9:	90                   	nop
140013cfa:	90                   	nop
140013cfb:	90                   	nop
140013cfc:	48 83 ec 28          	sub    $0x28,%rsp
140013d00:	48 8b c1             	mov    %rcx,%rax
140013d03:	48 8b 09             	mov    (%rcx),%rcx
140013d06:	48 85 c9             	test   %rcx,%rcx
140013d09:	74 12                	je     0x140013d1d
140013d0b:	48 83 20 00          	andq   $0x0,(%rax)
140013d0f:	48 8b 01             	mov    (%rcx),%rax
140013d12:	48 8b 40 10          	mov    0x10(%rax),%rax
140013d16:	ff 15 7c 08 02 00    	call   *0x2087c(%rip)        # 0x140034598
140013d1c:	90                   	nop
140013d1d:	48 83 c4 28          	add    $0x28,%rsp
140013d21:	c3                   	ret