14003283c:	44 8b cf             	mov    %edi,%r9d
14003283f:	41 8b c0             	mov    %r8d,%eax
140032842:	48 03 d0             	add    %rax,%rdx
140032845:	48 c1 ef 20          	shr    $0x20,%rdi
140032849:	b8 00 00 00 80       	mov    $0x80000000,%eax
14003284e:	41 8b cb             	mov    %r11d,%ecx
140032851:	48 03 d0             	add    %rax,%rdx
140032854:	49 0f af f1          	imul   %r9,%rsi
140032858:	48 0f af df          	imul   %rdi,%rbx
14003285c:	48 03 d1             	add    %rcx,%rdx
14003285f:	41 8b 4c 24 08       	mov    0x8(%r12),%ecx
140032864:	49 8b c7             	mov    %r15,%rax
140032867:	0f 28 4c 24 40       	movaps 0x40(%rsp),%xmm1
14003286c:	83 c1 40             	add    $0x40,%ecx
14003286f:	49 0f af c2          	imul   %r10,%rax
140032873:	4d 0f af f1          	imul   %r9,%r14
140032877:	4c 0f af ff          	imul   %rdi,%r15
14003287b:	66 0f 7f 4c 24 40    	movdqa %xmm1,0x40(%rsp)
140032881:	48 c1 ea 20          	shr    $0x20,%rdx
140032885:	03 cd                	add    %ebp,%ecx
140032887:	89 4c 24 58          	mov    %ecx,0x58(%rsp)
14003288b:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
140032890:	48 ff c2             	inc    %rdx
140032893:	49 c1 e8 20          	shr    $0x20,%r8
140032897:	48 03 c2             	add    %rdx,%rax
14003289a:	8b ce                	mov    %esi,%ecx
14003289c:	49 03 c0             	add    %r8,%rax
14003289f:	49 c1 eb 20          	shr    $0x20,%r11
1400328a3:	49 03 c3             	add    %r11,%rax
1400328a6:	49 c1 ee 20          	shr    $0x20,%r14
1400328aa:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
1400328af:	ba 00 00 00 80       	mov    $0x80000000,%edx
1400328b4:	8b c3                	mov    %ebx,%eax
1400328b6:	4c 03 f0             	add    %rax,%r14
1400328b9:	48 c1 ee 20          	shr    $0x20,%rsi
1400328bd:	49 03 d6             	add    %r14,%rdx
1400328c0:	48 c1 eb 20          	shr    $0x20,%rbx
1400328c4:	48 03 d1             	add    %rcx,%rdx
1400328c7:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1400328cc:	48 c1 ea 20          	shr    $0x20,%rdx
1400328d0:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
1400328d5:	48 8d 46 ff          	lea    -0x1(%rsi),%rax
1400328d9:	49 03 d7             	add    %r15,%rdx
1400328dc:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
1400328e1:	48 03 d3             	add    %rbx,%rdx
1400328e4:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400328e9:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
1400328f0:	00
1400328f1:	48 03 c2             	add    %rdx,%rax
1400328f4:	48 8b 94 24 a8 00 00 	mov    0xa8(%rsp),%rdx
1400328fb:	00
1400328fc:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140032901:	41 8d 45 40          	lea    0x40(%r13),%eax
140032905:	03 c5                	add    %ebp,%eax
140032907:	48 c1 ed 20          	shr    $0x20,%rbp
14003290b:	89 44 24 38          	mov    %eax,0x38(%rsp)
14003290f:	f7 dd                	neg    %ebp
140032911:	48 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%rax
140032918:	00
140032919:	0f 28 44 24 30       	movaps 0x30(%rsp),%xmm0
14003291e:	4c 8b c0             	mov    %rax,%r8
140032921:	66 0f 7f 44 24 30    	movdqa %xmm0,0x30(%rsp)
140032927:	0f 28 44 24 50       	movaps 0x50(%rsp),%xmm0
14003292c:	89 28                	mov    %ebp,(%rax)
14003292e:	66 0f 7f 44 24 50    	movdqa %xmm0,0x50(%rsp)
140032934:	e8 77 fb ff ff       	call   0x1400324b0
140032939:	48 8b 9c 24 b8 00 00 	mov    0xb8(%rsp),%rbx
140032940:	00
140032941:	48 83 c4 60          	add    $0x60,%rsp
140032945:	41 5f                	pop    %r15
140032947:	41 5e                	pop    %r14
140032949:	41 5d                	pop    %r13
14003294b:	41 5c                	pop    %r12
14003294d:	5f                   	pop    %rdi
14003294e:	5e                   	pop    %rsi
14003294f:	5d                   	pop    %rbp
140032950:	c3                   	ret
140032951:	cc                   	int3
140032952:	cc                   	int3
140032953:	cc                   	int3
140032954:	cc                   	int3
140032955:	cc                   	int3
140032956:	cc                   	int3
140032957:	cc                   	int3
140032958:	cc                   	int3
140032959:	cc                   	int3
14003295a:	cc                   	int3
14003295b:	cc                   	int3
14003295c:	cc                   	int3
14003295d:	cc                   	int3
14003295e:	cc                   	int3
14003295f:	cc                   	int3
140032960:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140032965:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14003296a:	41 56                	push   %r14
14003296c:	48 83 ec 20          	sub    $0x20,%rsp
140032970:	42 8d 34 02          	lea    (%rdx,%r8,1),%esi
140032974:	4c 8b f1             	mov    %rcx,%r14
140032977:	3b d6                	cmp    %esi,%edx
140032979:	7f 3d                	jg     0x1400329b8
14003297b:	83 fe 0f             	cmp    $0xf,%esi
14003297e:	7f 38                	jg     0x1400329b8
140032980:	48 63 c2             	movslq %edx,%rax
140032983:	ba 30 00 00 00       	mov    $0x30,%edx
140032988:	48 63 de             	movslq %esi,%rbx
14003298b:	48 03 c8             	add    %rax,%rcx
14003298e:	4c 8b c3             	mov    %rbx,%r8
140032991:	4c 2b c0             	sub    %rax,%r8
140032994:	e8 11 7e 02 00       	call   0x14005a7aa
140032999:	49 8d 46 02          	lea    0x2(%r14),%rax
14003299d:	66 42 c7 04 33 2e 30 	movw   $0x302e,(%rbx,%r14,1)
1400329a4:	48 03 c3             	add    %rbx,%rax
1400329a7:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
1400329ac:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1400329b1:	48 83 c4 20          	add    $0x20,%rsp
1400329b5:	41 5e                	pop    %r14
1400329b7:	c3                   	ret
1400329b8:	48 89 7c 24 30       	mov    %rdi,0x30(%rsp)
1400329bd:	85 f6                	test   %esi,%esi
1400329bf:	7e 30                	jle    0x1400329f1
1400329c1:	83 fe 0f             	cmp    $0xf,%esi
1400329c4:	7f 70                	jg     0x140032a36
1400329c6:	48 63 c6             	movslq %esi,%rax
1400329c9:	48 63 fa             	movslq %edx,%rdi
1400329cc:	4c 8b c7             	mov    %rdi,%r8
1400329cf:	4c 2b c0             	sub    %rax,%r8
1400329d2:	48 8d 1c 08          	lea    (%rax,%rcx,1),%rbx
1400329d6:	48 8d 4b 01          	lea    0x1(%rbx),%rcx
1400329da:	48 8b d3             	mov    %rbx,%rdx
1400329dd:	e8 ef 7e 02 00       	call   0x14005a8d1
1400329e2:	48 8d 47 01          	lea    0x1(%rdi),%rax
1400329e6:	c6 03 2e             	movb   $0x2e,(%rbx)
1400329e9:	49 03 c6             	add    %r14,%rax
1400329ec:	e9 17 01 00 00       	jmp    0x140032b08
1400329f1:	83 fe fc             	cmp    $0xfffffffc,%esi
1400329f4:	7e 40                	jle    0x140032a36
1400329f6:	48 63 fa             	movslq %edx,%rdi
1400329f9:	48 83 c1 02          	add    $0x2,%rcx
1400329fd:	f7 de                	neg    %esi
1400329ff:	4c 8b c7             	mov    %rdi,%r8
140032a02:	48 63 de             	movslq %esi,%rbx
140032a05:	49 8b d6             	mov    %r14,%rdx
140032a08:	48 03 cb             	add    %rbx,%rcx
140032a0b:	e8 c1 7e 02 00       	call   0x14005a8d1
140032a10:	49 8d 4e 02          	lea    0x2(%r14),%rcx
140032a14:	66 41 c7 06 30 2e    	movw   $0x2e30,(%r14)
140032a1a:	4c 8b c3             	mov    %rbx,%r8
140032a1d:	ba 30 00 00 00       	mov    $0x30,%edx
140032a22:	e8 83 7d 02 00       	call   0x14005a7aa
140032a27:	48 8d 47 02          	lea    0x2(%rdi),%rax
140032a2b:	48 03 c3             	add    %rbx,%rax
140032a2e:	49 03 c6             	add    %r14,%rax
140032a31:	e9 d2 00 00 00       	jmp    0x140032b08
140032a36:	48 8d 79 01          	lea    0x1(%rcx),%rdi
140032a3a:	83 fa 01             	cmp    $0x1,%edx
140032a3d:	74 1d                	je     0x140032a5c
140032a3f:	48 63 da             	movslq %edx,%rbx
140032a42:	48 83 c1 02          	add    $0x2,%rcx
140032a46:	48 8b d7             	mov    %rdi,%rdx
140032a49:	4c 8d 43 ff          	lea    -0x1(%rbx),%r8
140032a4d:	e8 7f 7e 02 00       	call   0x14005a8d1
140032a52:	c6 07 2e             	movb   $0x2e,(%rdi)
140032a55:	48 8d 7b 01          	lea    0x1(%rbx),%rdi
140032a59:	49 03 fe             	add    %r14,%rdi
140032a5c:	8d 4e ff             	lea    -0x1(%rsi),%ecx
140032a5f:	c6 07 65             	movb   $0x65,(%rdi)
140032a62:	85 c9                	test   %ecx,%ecx
140032a64:	b8 2d 00 00 00       	mov    $0x2d,%eax
140032a69:	ba 2b 00 00 00       	mov    $0x2b,%edx
140032a6e:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140032a74:	0f 49 c2             	cmovns %edx,%eax
140032a77:	44 2b c6             	sub    %esi,%r8d
140032a7a:	85 c9                	test   %ecx,%ecx
140032a7c:	88 47 01             	mov    %al,0x1(%rdi)
140032a7f:	44 0f 49 c1          	cmovns %ecx,%r8d
140032a83:	41 83 f8 0a          	cmp    $0xa,%r8d
140032a87:	73 0a                	jae    0x140032a93
140032a89:	c6 47 02 30          	movb   $0x30,0x2(%rdi)
140032a8d:	4c 8d 4f 03          	lea    0x3(%rdi),%r9
140032a91:	eb 69                	jmp    0x140032afc
140032a93:	41 83 f8 64          	cmp    $0x64,%r8d
140032a97:	73 24                	jae    0x140032abd
140032a99:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140032a9e:	4c 8d 4f 03          	lea    0x3(%rdi),%r9
140032aa2:	41 f7 e0             	mul    %r8d
140032aa5:	c1 ea 03             	shr    $0x3,%edx
140032aa8:	8d 42 30             	lea    0x30(%rdx),%eax
140032aab:	88 47 02             	mov    %al,0x2(%rdi)
140032aae:	0f b6 c2             	movzbl %dl,%eax
140032ab1:	c0 e2 02             	shl    $0x2,%dl
140032ab4:	02 c2                	add    %dl,%al
140032ab6:	02 c0                	add    %al,%al
140032ab8:	44 2a c0             	sub    %al,%r8b
140032abb:	eb 3f                	jmp    0x140032afc
140032abd:	b8 1f 85 eb 51       	mov    $0x51eb851f,%eax
140032ac2:	4c 8d 4f 04          	lea    0x4(%rdi),%r9
140032ac6:	41 f7 e0             	mul    %r8d
140032ac9:	c1 ea 05             	shr    $0x5,%edx
140032acc:	8d 42 30             	lea    0x30(%rdx),%eax
140032acf:	88 47 02             	mov    %al,0x2(%rdi)
140032ad2:	6b c2 9c             	imul   $0xffffff9c,%edx,%eax
140032ad5:	44 03 c0             	add    %eax,%r8d
140032ad8:	b8 cd cc cc cc       	mov    $0xcccccccd,%eax
140032add:	41 f7 e0             	mul    %r8d
140032ae0:	c1 ea 03             	shr    $0x3,%edx
140032ae3:	0f b6 c2             	movzbl %dl,%eax
140032ae6:	c0 e0 02             	shl    $0x2,%al
140032ae9:	8d 0c 10             	lea    (%rax,%rdx,1),%ecx
140032aec:	02 c9                	add    %cl,%cl
140032aee:	44 2a c1             	sub    %cl,%r8b
140032af1:	41 80 c0 30          	add    $0x30,%r8b
140032af5:	45 88 01             	mov    %r8b,(%r9)
140032af8:	44 0f b6 c2          	movzbl %dl,%r8d
140032afc:	41 80 c0 30          	add    $0x30,%r8b
140032b00:	49 8d 41 01          	lea    0x1(%r9),%rax
140032b04:	44 88 47 03          	mov    %r8b,0x3(%rdi)
140032b08:	48 8b 7c 24 30       	mov    0x30(%rsp),%rdi
140032b0d:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140032b12:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140032b17:	48 83 c4 20          	add    $0x20,%rsp
140032b1b:	41 5e                	pop    %r14
140032b1d:	c3                   	ret
140032b1e:	cc                   	int3
140032b1f:	cc                   	int3
140032b20:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140032b25:	57                   	push   %rdi
140032b26:	48 83 ec 20          	sub    $0x20,%rsp
140032b2a:	48 8b f9             	mov    %rcx,%rdi
140032b2d:	48 8d 05 f4 0a 03 00 	lea    0x30af4(%rip),%rax        # 0x140063628
140032b34:	48 89 01             	mov    %rax,(%rcx)
140032b37:	33 c9                	xor    %ecx,%ecx
140032b39:	48 89 4f 08          	mov    %rcx,0x8(%rdi)
140032b3d:	48 89 4f 10          	mov    %rcx,0x10(%rdi)
140032b41:	48 8b 42 08          	mov    0x8(%rdx),%rax
140032b45:	48 85 c0             	test   %rax,%rax
140032b48:	74 04                	je     0x140032b4e
140032b4a:	f0 ff 40 08          	lock incl 0x8(%rax)
140032b4e:	48 8b 02             	mov    (%rdx),%rax
140032b51:	48 89 47 08          	mov    %rax,0x8(%rdi)
140032b55:	48 8b 42 08          	mov    0x8(%rdx),%rax
140032b59:	48 89 47 10          	mov    %rax,0x10(%rdi)
140032b5d:	48 89 4f 50          	mov    %rcx,0x50(%rdi)
140032b61:	48 8b 5a 08          	mov    0x8(%rdx),%rbx
140032b65:	48 85 db             	test   %rbx,%rbx
140032b68:	74 44                	je     0x140032bae
140032b6a:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140032b6f:	be ff ff ff ff       	mov    $0xffffffff,%esi
140032b74:	8b c6                	mov    %esi,%eax
140032b76:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140032b7b:	83 f8 01             	cmp    $0x1,%eax
140032b7e:	75 1b                	jne    0x140032b9b
140032b80:	48 8b 03             	mov    (%rbx),%rax
140032b83:	48 8b cb             	mov    %rbx,%rcx
140032b86:	ff 10                	call   *(%rax)
140032b88:	f0 0f c1 73 0c       	lock xadd %esi,0xc(%rbx)
140032b8d:	83 fe 01             	cmp    $0x1,%esi
140032b90:	75 09                	jne    0x140032b9b
140032b92:	48 8b 03             	mov    (%rbx),%rax
140032b95:	48 8b cb             	mov    %rbx,%rcx
140032b98:	ff 50 08             	call   *0x8(%rax)
140032b9b:	48 8b 74 24 30       	mov    0x30(%rsp),%rsi
140032ba0:	48 8b c7             	mov    %rdi,%rax
140032ba3:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140032ba8:	48 83 c4 20          	add    $0x20,%rsp
140032bac:	5f                   	pop    %rdi
140032bad:	c3                   	ret
140032bae:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140032bb3:	48 8b c7             	mov    %rdi,%rax
140032bb6:	48 83 c4 20          	add    $0x20,%rsp
140032bba:	5f                   	pop    %rdi
140032bbb:	c3                   	ret
140032bbc:	cc                   	int3
140032bbd:	cc                   	int3
140032bbe:	cc                   	int3
140032bbf:	cc                   	int3
140032bc0:	40 57                	rex push %rdi
140032bc2:	48 83 ec 20          	sub    $0x20,%rsp
140032bc6:	48 89 5c 24 30       	mov    %rbx,0x30(%rsp)
140032bcb:	48 8b f9             	mov    %rcx,%rdi
140032bce:	48 8d 59 18          	lea    0x18(%rcx),%rbx
140032bd2:	48 89 6c 24 38       	mov    %rbp,0x38(%rsp)
140032bd7:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
140032bdb:	8b ea                	mov    %edx,%ebp
140032bdd:	48 85 c9             	test   %rcx,%rcx
140032be0:	74 14                	je     0x140032bf6
140032be2:	48 8b 01             	mov    (%rcx),%rax
140032be5:	48 3b cb             	cmp    %rbx,%rcx
140032be8:	0f 95 c2             	setne  %dl
140032beb:	ff 50 20             	call   *0x20(%rax)
140032bee:	48 c7 43 38 00 00 00 	movq   $0x0,0x38(%rbx)
140032bf5:	00
140032bf6:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
140032bfa:	48 85 db             	test   %rbx,%rbx
140032bfd:	74 36                	je     0x140032c35
140032bff:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140032c04:	be ff ff ff ff       	mov    $0xffffffff,%esi
140032c09:	8b c6                	mov    %esi,%eax
140032c0b:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140032c10:	83 f8 01             	cmp    $0x1,%eax
140032c13:	75 1b                	jne    0x140032c30
140032c15:	48 8b 03             	mov    (%rbx),%rax
140032c18:	48 8b cb             	mov    %rbx,%rcx
140032c1b:	ff 10                	call   *(%rax)
140032c1d:	f0 0f c1 73 0c       	lock xadd %esi,0xc(%rbx)
140032c22:	83 fe 01             	cmp    $0x1,%esi
140032c25:	75 09                	jne    0x140032c30
140032c27:	48 8b 03             	mov    (%rbx),%rax
140032c2a:	48 8b cb             	mov    %rbx,%rcx
140032c2d:	ff 50 08             	call   *0x8(%rax)
140032c30:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140032c35:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140032c3a:	40 f6 c5 01          	test   $0x1,%bpl
140032c3e:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
140032c43:	74 0d                	je     0x140032c52
140032c45:	ba 58 00 00 00       	mov    $0x58,%edx
140032c4a:	48 8b cf             	mov    %rdi,%rcx
140032c4d:	e8 42 70 02 00       	call   0x140059c94
140032c52:	48 8b c7             	mov    %rdi,%rax
140032c55:	48 83 c4 20          	add    $0x20,%rsp
140032c59:	5f                   	pop    %rdi
140032c5a:	c3                   	ret
140032c5b:	cc                   	int3
140032c5c:	cc                   	int3
140032c5d:	cc                   	int3
140032c5e:	cc                   	int3
140032c5f:	cc                   	int3
140032c60:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
140032c65:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
140032c6a:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
140032c6f:	55                   	push   %rbp
140032c70:	41 56                	push   %r14
140032c72:	41 57                	push   %r15
140032c74:	48 8d 6c 24 90       	lea    -0x70(%rsp),%rbp
140032c79:	48 81 ec 70 01 00 00 	sub    $0x170,%rsp
140032c80:	48 8b 05 b9 53 04 00 	mov    0x453b9(%rip),%rax        # 0x140078040
140032c87:	48 33 c4             	xor    %rsp,%rax
140032c8a:	48 89 45 60          	mov    %rax,0x60(%rbp)
140032c8e:	48 8b f1             	mov    %rcx,%rsi
140032c91:	48 83 79 50 00       	cmpq   $0x0,0x50(%rcx)
140032c96:	0f 84 60 06 00 00    	je     0x1400332fc
140032c9c:	c6 45 30 00          	movb   $0x0,0x30(%rbp)
140032ca0:	33 d2                	xor    %edx,%edx
140032ca2:	48 8d 4d 38          	lea    0x38(%rbp),%rcx
140032ca6:	e8 05 41 00 00       	call   0x140036db0
140032cab:	90                   	nop
140032cac:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140032cb1:	48 89 45 40          	mov    %rax,0x40(%rbp)
140032cb5:	c6 44 24 30 00       	movb   $0x0,0x30(%rsp)
140032cba:	33 c0                	xor    %eax,%eax
140032cbc:	48 89 44 24 38       	mov    %rax,0x38(%rsp)