140018a1c:	cc                   	int3
140018a1d:	cc                   	int3
140018a1e:	cc                   	int3
140018a1f:	cc                   	int3
140018a20:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018a25:	57                   	push   %rdi
140018a26:	48 83 ec 20          	sub    $0x20,%rsp
140018a2a:	8b da                	mov    %edx,%ebx
140018a2c:	48 8b f9             	mov    %rcx,%rdi
140018a2f:	e8 e4 fb ff ff       	call   0x140018618
140018a34:	f6 c3 01             	test   $0x1,%bl
140018a37:	74 0f                	je     0x140018a48
140018a39:	48 8b cf             	mov    %rdi,%rcx
140018a3c:	48 ff 15 e5 24 01 00 	rex.W call *0x124e5(%rip)        # 0x14002af28
140018a43:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018a48:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018a4d:	48 8b c7             	mov    %rdi,%rax
140018a50:	48 83 c4 20          	add    $0x20,%rsp
140018a54:	5f                   	pop    %rdi
140018a55:	c3                   	ret
140018a56:	cc                   	int3
140018a57:	cc                   	int3
140018a58:	cc                   	int3
140018a59:	cc                   	int3
140018a5a:	cc                   	int3
140018a5b:	cc                   	int3
140018a5c:	cc                   	int3
140018a5d:	cc                   	int3
140018a5e:	cc                   	int3
140018a5f:	cc                   	int3
140018a60:	40 53                	rex push %rbx
140018a62:	48 83 ec 20          	sub    $0x20,%rsp
140018a66:	48 8d 05 c3 19 01 00 	lea    0x119c3(%rip),%rax        # 0x14002a430
140018a6d:	48 8b d9             	mov    %rcx,%rbx
140018a70:	48 89 01             	mov    %rax,(%rcx)
140018a73:	f6 c2 01             	test   $0x1,%dl
140018a76:	74 0c                	je     0x140018a84
140018a78:	48 ff 15 a9 24 01 00 	rex.W call *0x124a9(%rip)        # 0x14002af28
140018a7f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018a84:	48 8b c3             	mov    %rbx,%rax
140018a87:	48 83 c4 20          	add    $0x20,%rsp
140018a8b:	5b                   	pop    %rbx
140018a8c:	c3                   	ret
140018a8d:	cc                   	int3
140018a8e:	cc                   	int3
140018a8f:	cc                   	int3
140018a90:	cc                   	int3
140018a91:	cc                   	int3
140018a92:	cc                   	int3
140018a93:	cc                   	int3
140018a94:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140018a99:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
140018a9e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140018aa3:	41 56                	push   %r14
140018aa5:	48 83 ec 20          	sub    $0x20,%rsp
140018aa9:	48 8d 71 08          	lea    0x8(%rcx),%rsi
140018aad:	4c 8b f1             	mov    %rcx,%r14
140018ab0:	33 ff                	xor    %edi,%edi
140018ab2:	48 8b ce             	mov    %rsi,%rcx
140018ab5:	8b df                	mov    %edi,%ebx
140018ab7:	48 ff 15 12 21 01 00 	rex.W call *0x12112(%rip)        # 0x14002abd0
140018abe:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018ac3:	49 39 3e             	cmp    %rdi,(%r14)
140018ac6:	74 1b                	je     0x140018ae3
140018ac8:	49 8b 1e             	mov    (%r14),%rbx
140018acb:	ba ff ff ff 7f       	mov    $0x7fffffff,%edx
140018ad0:	eb 0a                	jmp    0x140018adc
140018ad2:	8d 48 01             	lea    0x1(%rax),%ecx
140018ad5:	f0 0f b1 4b 0c       	lock cmpxchg %ecx,0xc(%rbx)
140018ada:	74 07                	je     0x140018ae3
140018adc:	8b 43 0c             	mov    0xc(%rbx),%eax
140018adf:	3b c2                	cmp    %edx,%eax
140018ae1:	75 ef                	jne    0x140018ad2
140018ae3:	48 85 f6             	test   %rsi,%rsi
140018ae6:	74 0f                	je     0x140018af7
140018ae8:	48 8b ce             	mov    %rsi,%rcx
140018aeb:	48 ff 15 c6 20 01 00 	rex.W call *0x120c6(%rip)        # 0x14002abb8
140018af2:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018af7:	48 85 db             	test   %rbx,%rbx
140018afa:	74 15                	je     0x140018b11
140018afc:	4d 8b c6             	mov    %r14,%r8
140018aff:	48 8b d3             	mov    %rbx,%rdx
140018b02:	e8 fd 05 00 00       	call   0x140019104
140018b07:	48 8b cb             	mov    %rbx,%rcx
140018b0a:	8b f8                	mov    %eax,%edi
140018b0c:	e8 ff 55 ff ff       	call   0x14000e110
140018b11:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018b16:	8b c7                	mov    %edi,%eax
140018b18:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140018b1d:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140018b22:	48 83 c4 20          	add    $0x20,%rsp
140018b26:	41 5e                	pop    %r14
140018b28:	c3                   	ret
140018b29:	cc                   	int3
140018b2a:	cc                   	int3
140018b2b:	cc                   	int3
140018b2c:	cc                   	int3
140018b2d:	cc                   	int3
140018b2e:	cc                   	int3
140018b2f:	cc                   	int3
140018b30:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
140018b35:	53                   	push   %rbx
140018b36:	55                   	push   %rbp
140018b37:	56                   	push   %rsi
140018b38:	57                   	push   %rdi
140018b39:	41 54                	push   %r12
140018b3b:	41 55                	push   %r13
140018b3d:	41 56                	push   %r14
140018b3f:	41 57                	push   %r15
140018b41:	48 83 ec 58          	sub    $0x58,%rsp
140018b45:	48 8b 01             	mov    (%rcx),%rax
140018b48:	45 33 e4             	xor    %r12d,%r12d
140018b4b:	4c 8b e9             	mov    %rcx,%r13
140018b4e:	41 8b fc             	mov    %r12d,%edi
140018b51:	48 8b 40 20          	mov    0x20(%rax),%rax
140018b55:	ff 15 ed 25 01 00    	call   *0x125ed(%rip)        # 0x14002b148
140018b5b:	4c 8b f8             	mov    %rax,%r15
140018b5e:	49 8b cd             	mov    %r13,%rcx
140018b61:	49 8b 45 00          	mov    0x0(%r13),%rax
140018b65:	48 8b 40 28          	mov    0x28(%rax),%rax
140018b69:	ff 15 d9 25 01 00    	call   *0x125d9(%rip)        # 0x14002b148
140018b6f:	49 83 c7 08          	add    $0x8,%r15
140018b73:	48 89 84 24 b0 00 00 	mov    %rax,0xb0(%rsp)
140018b7a:	00
140018b7b:	4c 8b c0             	mov    %rax,%r8
140018b7e:	41 8b ec             	mov    %r12d,%ebp
140018b81:	4d 2b c7             	sub    %r15,%r8
140018b84:	41 8b cc             	mov    %r12d,%ecx
140018b87:	49 83 c0 07          	add    $0x7,%r8
140018b8b:	49 8b d7             	mov    %r15,%rdx
140018b8e:	49 c1 e8 03          	shr    $0x3,%r8
140018b92:	41 be 0e 00 07 80    	mov    $0x8007000e,%r14d
140018b98:	4c 3b f8             	cmp    %rax,%r15
140018b9b:	4d 0f 47 c4          	cmova  %r12,%r8
140018b9f:	49 83 c9 ff          	or     $0xffffffffffffffff,%r9
140018ba3:	4c 89 44 24 40       	mov    %r8,0x40(%rsp)
140018ba8:	4d 85 c0             	test   %r8,%r8
140018bab:	0f 84 0b 02 00 00    	je     0x140018dbc
140018bb1:	8b c5                	mov    %ebp,%eax
140018bb3:	ff c5                	inc    %ebp
140018bb5:	4c 39 22             	cmp    %r12,(%rdx)
140018bb8:	48 8d 52 08          	lea    0x8(%rdx),%rdx
140018bbc:	0f 44 e8             	cmove  %eax,%ebp
140018bbf:	48 ff c1             	inc    %rcx
140018bc2:	49 3b c8             	cmp    %r8,%rcx
140018bc5:	72 ea                	jb     0x140018bb1
140018bc7:	85 ed                	test   %ebp,%ebp
140018bc9:	0f 84 ed 01 00 00    	je     0x140018dbc
140018bcf:	8b dd                	mov    %ebp,%ebx
140018bd1:	b8 04 00 00 00       	mov    $0x4,%eax
140018bd6:	48 f7 e3             	mul    %rbx
140018bd9:	48 8d 15 4c 36 01 00 	lea    0x1364c(%rip),%rdx        # 0x14002c22c
140018be0:	49 0f 40 c1          	cmovo  %r9,%rax
140018be4:	48 8b c8             	mov    %rax,%rcx
140018be7:	e8 8c c0 00 00       	call   0x140024c78
140018bec:	48 8b f0             	mov    %rax,%rsi
140018bef:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
140018bf6:	00
140018bf7:	b8 08 00 00 00       	mov    $0x8,%eax
140018bfc:	49 c7 c4 ff ff ff ff 	mov    $0xffffffffffffffff,%r12
140018c03:	48 f7 e3             	mul    %rbx
140018c06:	48 8d 15 1f 36 01 00 	lea    0x1361f(%rip),%rdx        # 0x14002c22c
140018c0d:	49 0f 40 c4          	cmovo  %r12,%rax
140018c11:	48 8b c8             	mov    %rax,%rcx
140018c14:	e8 5f c0 00 00       	call   0x140024c78
140018c19:	4c 8b f0             	mov    %rax,%r14
140018c1c:	41 8d 44 24 11       	lea    0x11(%r12),%eax
140018c21:	48 f7 e3             	mul    %rbx
140018c24:	48 8d 15 01 36 01 00 	lea    0x13601(%rip),%rdx        # 0x14002c22c
140018c2b:	49 0f 40 c4          	cmovo  %r12,%rax
140018c2f:	48 8b c8             	mov    %rax,%rcx
140018c32:	e8 41 c0 00 00       	call   0x140024c78
140018c37:	4c 8b e0             	mov    %rax,%r12
140018c3a:	48 85 f6             	test   %rsi,%rsi
140018c3d:	0f 84 36 01 00 00    	je     0x140018d79
140018c43:	4d 85 f6             	test   %r14,%r14
140018c46:	0f 84 2d 01 00 00    	je     0x140018d79
140018c4c:	48 85 c0             	test   %rax,%rax
140018c4f:	0f 84 24 01 00 00    	je     0x140018d79
140018c55:	33 db                	xor    %ebx,%ebx
140018c57:	49 8b f7             	mov    %r15,%rsi
140018c5a:	4c 3b bc 24 b0 00 00 	cmp    0xb0(%rsp),%r15
140018c61:	00
140018c62:	0f 83 83 00 00 00    	jae    0x140018ceb
140018c68:	85 ff                	test   %edi,%edi
140018c6a:	0f 88 d6 00 00 00    	js     0x140018d46
140018c70:	48 8b 06             	mov    (%rsi),%rax
140018c73:	48 85 c0             	test   %rax,%rax
140018c76:	74 61                	je     0x140018cd9
140018c78:	48 83 a4 24 b8 00 00 	andq   $0x0,0xb8(%rsp)
140018c7f:	00 00
140018c81:	4c 8d 8c 24 b8 00 00 	lea    0xb8(%rsp),%r9
140018c88:	00
140018c89:	c7 84 24 a8 00 00 00 	movl   $0x2,0xa8(%rsp)
140018c90:	02 00 00 00
140018c94:	4c 8d 05 a5 41 01 00 	lea    0x141a5(%rip),%r8        # 0x14002ce40
140018c9b:	48 8b d0             	mov    %rax,%rdx
140018c9e:	48 8d 8c 24 a8 00 00 	lea    0xa8(%rsp),%rcx
140018ca5:	00
140018ca6:	48 8b 00             	mov    (%rax),%rax
140018ca9:	ff 15 99 24 01 00    	call   *0x12499(%rip)        # 0x14002b148
140018caf:	8b f8                	mov    %eax,%edi
140018cb1:	85 c0                	test   %eax,%eax
140018cb3:	78 24                	js     0x140018cd9
140018cb5:	48 8b 8c 24 b8 00 00 	mov    0xb8(%rsp),%rcx
140018cbc:	00
140018cbd:	49 89 0c de          	mov    %rcx,(%r14,%rbx,8)
140018cc1:	48 8b 0e             	mov    (%rsi),%rcx
140018cc4:	44 8b c3             	mov    %ebx,%r8d
140018cc7:	4d 03 c0             	add    %r8,%r8
140018cca:	ff c3                	inc    %ebx
140018ccc:	48 8b 51 08          	mov    0x8(%rcx),%rdx
140018cd0:	0f 10 02             	movups (%rdx),%xmm0
140018cd3:	f3 43 0f 7f 04 c4    	movdqu %xmm0,(%r12,%r8,8)
140018cd9:	48 83 c6 08          	add    $0x8,%rsi
140018cdd:	48 3b b4 24 b0 00 00 	cmp    0xb0(%rsp),%rsi
140018ce4:	00
140018ce5:	72 81                	jb     0x140018c68
140018ce7:	85 ff                	test   %edi,%edi
140018ce9:	78 5b                	js     0x140018d46
140018ceb:	49 8b 45 00          	mov    0x0(%r13),%rax
140018cef:	4d 8b ce             	mov    %r14,%r9
140018cf2:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
140018cf9:	00
140018cfa:	4d 8b c4             	mov    %r12,%r8
140018cfd:	89 6c 24 28          	mov    %ebp,0x28(%rsp)
140018d01:	33 d2                	xor    %edx,%edx
140018d03:	49 8b cd             	mov    %r13,%rcx
140018d06:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
140018d0b:	48 8b 40 50          	mov    0x50(%rax),%rax
140018d0f:	ff 15 33 24 01 00    	call   *0x12433(%rip)        # 0x14002b148
140018d15:	8b f8                	mov    %eax,%edi
140018d17:	85 c0                	test   %eax,%eax
140018d19:	78 33                	js     0x140018d4e
140018d1b:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
140018d20:	33 db                	xor    %ebx,%ebx
140018d22:	33 d2                	xor    %edx,%edx
140018d24:	49 8b 0f             	mov    (%r15),%rcx
140018d27:	48 85 c9             	test   %rcx,%rcx
140018d2a:	74 0c                	je     0x140018d38
140018d2c:	8b 04 9e             	mov    (%rsi,%rbx,4),%eax
140018d2f:	ff c3                	inc    %ebx
140018d31:	48 8b 49 18          	mov    0x18(%rcx),%rcx
140018d35:	89 41 08             	mov    %eax,0x8(%rcx)
140018d38:	49 83 c7 08          	add    $0x8,%r15
140018d3c:	48 ff c2             	inc    %rdx
140018d3f:	49 3b d0             	cmp    %r8,%rdx
140018d42:	72 e0                	jb     0x140018d24
140018d44:	eb 08                	jmp    0x140018d4e
140018d46:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
140018d4d:	00
140018d4e:	85 db                	test   %ebx,%ebx
140018d50:	74 2c                	je     0x140018d7e
140018d52:	49 8b f6             	mov    %r14,%rsi
140018d55:	48 8b 0e             	mov    (%rsi),%rcx
140018d58:	48 8b 01             	mov    (%rcx),%rax
140018d5b:	48 8b 40 10          	mov    0x10(%rax),%rax
140018d5f:	ff 15 e3 23 01 00    	call   *0x123e3(%rip)        # 0x14002b148
140018d65:	48 8d 76 08          	lea    0x8(%rsi),%rsi
140018d69:	48 83 eb 01          	sub    $0x1,%rbx
140018d6d:	75 e6                	jne    0x140018d55
140018d6f:	48 8b b4 24 a0 00 00 	mov    0xa0(%rsp),%rsi
140018d76:	00
140018d77:	eb 05                	jmp    0x140018d7e
140018d79:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
140018d7e:	48 8b ce             	mov    %rsi,%rcx
140018d81:	48 ff 15 30 22 01 00 	rex.W call *0x12230(%rip)        # 0x14002afb8
140018d88:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018d8d:	49 8b cc             	mov    %r12,%rcx
140018d90:	48 ff 15 21 22 01 00 	rex.W call *0x12221(%rip)        # 0x14002afb8
140018d97:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018d9c:	49 8b ce             	mov    %r14,%rcx
140018d9f:	48 ff 15 12 22 01 00 	rex.W call *0x12212(%rip)        # 0x14002afb8
140018da6:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140018dab:	45 33 e4             	xor    %r12d,%r12d
140018dae:	85 ff                	test   %edi,%edi
140018db0:	0f 88 31 01 00 00    	js     0x140018ee7
140018db6:	41 be 0e 00 07 80    	mov    $0x8007000e,%r14d
140018dbc:	49 8b 45 00          	mov    0x0(%r13),%rax
140018dc0:	49 8b cd             	mov    %r13,%rcx
140018dc3:	48 8b 40 30          	mov    0x30(%rax),%rax
140018dc7:	ff 15 7b 23 01 00    	call   *0x1237b(%rip)        # 0x14002b148
140018dcd:	48 8b b4 24 b0 00 00 	mov    0xb0(%rsp),%rsi
140018dd4:	00
140018dd5:	41 8b cc             	mov    %r12d,%ecx
140018dd8:	48 83 c6 08          	add    $0x8,%rsi
140018ddc:	48 8b d8             	mov    %rax,%rbx
140018ddf:	48 2b de             	sub    %rsi,%rbx
140018de2:	4d 8b c4             	mov    %r12,%r8
140018de5:	48 83 c3 07          	add    $0x7,%rbx
140018de9:	4c 8b ce             	mov    %rsi,%r9
140018dec:	48 c1 eb 03          	shr    $0x3,%rbx
140018df0:	48 3b f0             	cmp    %rax,%rsi
140018df3:	49 0f 47 dc          	cmova  %r12,%rbx
140018df7:	48 85 db             	test   %rbx,%rbx
140018dfa:	0f 84 e7 00 00 00    	je     0x140018ee7
140018e00:	8b c1                	mov    %ecx,%eax
140018e02:	ff c1                	inc    %ecx
140018e04:	4d 39 21             	cmp    %r12,(%r9)
140018e07:	4d 8d 49 08          	lea    0x8(%r9),%r9
140018e0b:	0f 44 c8             	cmove  %eax,%ecx
140018e0e:	49 ff c0             	inc    %r8
140018e11:	4c 3b c3             	cmp    %rbx,%r8
140018e14:	72 ea                	jb     0x140018e00
140018e16:	85 c9                	test   %ecx,%ecx
140018e18:	0f 84 c9 00 00 00    	je     0x140018ee7
140018e1e:	b8 08 00 00 00       	mov    $0x8,%eax
140018e23:	48 f7 e1             	mul    %rcx
140018e26:	48 c7 c1 ff ff ff ff 	mov    $0xffffffffffffffff,%rcx
140018e2d:	48 8d 15 f8 33 01 00 	lea    0x133f8(%rip),%rdx        # 0x14002c22c
140018e34:	48 0f 40 c1          	cmovo  %rcx,%rax
140018e38:	48 8b c8             	mov    %rax,%rcx
140018e3b:	e8 38 be 00 00       	call   0x140024c78
140018e40:	48 85 c0             	test   %rax,%rax
140018e43:	4c 8b f8             	mov    %rax,%r15
140018e46:	41 0f 44 fe          	cmove  %r14d,%edi
140018e4a:	85 ff                	test   %edi,%edi
140018e4c:	0f 88 86 00 00 00    	js     0x140018ed8
140018e52:	4c 89 a4 24 a8 00 00 	mov    %r12,0xa8(%rsp)
140018e59:	00
140018e5a:	41 8b ec             	mov    %r12d,%ebp
140018e5d:	4d 8b f4             	mov    %r12,%r14
140018e60:	48 8b fe             	mov    %rsi,%rdi
140018e63:	48 8b 07             	mov    (%rdi),%rax
140018e66:	48 85 c0             	test   %rax,%rax
140018e69:	74 12                	je     0x140018e7d
140018e6b:	48 8b 40 08          	mov    0x8(%rax),%rax
140018e6f:	ff 15 d3 22 01 00    	call   *0x122d3(%rip)        # 0x14002b148
140018e75:	8b cd                	mov    %ebp,%ecx
140018e77:	ff c5                	inc    %ebp
140018e79:	49 89 04 cf          	mov    %rax,(%r15,%rcx,8)
140018e7d:	48 83 c7 08          	add    $0x8,%rdi
140018e81:	49 ff c6             	inc    %r14
140018e84:	4c 3b f3             	cmp    %rbx,%r14
140018e87:	72 da                	jb     0x140018e63
140018e89:	49 8b 45 00          	mov    0x0(%r13),%rax
140018e8d:	4c 8d 8c 24 a8 00 00 	lea    0xa8(%rsp),%r9
140018e94:	00
140018e95:	4d 8b c7             	mov    %r15,%r8
140018e98:	89 6c 24 20          	mov    %ebp,0x20(%rsp)
140018e9c:	33 d2                	xor    %edx,%edx
140018e9e:	49 8b cd             	mov    %r13,%rcx
140018ea1:	48 8b 40 40          	mov    0x40(%rax),%rax
140018ea5:	ff 15 9d 22 01 00    	call   *0x1229d(%rip)        # 0x14002b148
140018eab:	8b f8                	mov    %eax,%edi
140018ead:	85 c0                	test   %eax,%eax
140018eaf:	78 27                	js     0x140018ed8
140018eb1:	49 8b d4             	mov    %r12,%rdx
140018eb4:	48 8b 0e             	mov    (%rsi),%rcx
140018eb7:	48 85 c9             	test   %rcx,%rcx