140e77dd8:	56                   	push   %rsi
140e77dd9:	57                   	push   %rdi
140e77dda:	41 54                	push   %r12
140e77ddc:	41 55                	push   %r13
140e77dde:	41 56                	push   %r14
140e77de0:	41 57                	push   %r15
140e77de2:	48 81 ec b0 00 00 00 	sub    $0xb0,%rsp
140e77de9:	48 8b 05 10 11 54 00 	mov    0x541110(%rip),%rax        # 0x1413b8f00
140e77df0:	48 33 c4             	xor    %rsp,%rax
140e77df3:	48 89 84 24 a0 00 00 	mov    %rax,0xa0(%rsp)
140e77dfa:	00
140e77dfb:	49 8b f8             	mov    %r8,%rdi
140e77dfe:	4c 8b f2             	mov    %rdx,%r14
140e77e01:	0f b7 ac 24 10 01 00 	movzwl 0x110(%rsp),%ebp
140e77e08:	00
140e77e09:	48 89 54 24 50       	mov    %rdx,0x50(%rsp)
140e77e0e:	45 33 ed             	xor    %r13d,%r13d
140e77e11:	41 0f b7 40 10       	movzwl 0x10(%r8),%eax
140e77e16:	66 41 89 43 b0       	mov    %ax,-0x50(%r11)
140e77e1b:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140e77e20:	49 8d 43 b0          	lea    -0x50(%r11),%rax
140e77e24:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
140e77e29:	0f 10 44 24 38       	movups 0x38(%rsp),%xmm0
140e77e2e:	0f 11 44 24 38       	movups %xmm0,0x38(%rsp)
140e77e33:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
140e77e38:	b8 01 00 00 00       	mov    $0x1,%eax
140e77e3d:	41 8b f5             	mov    %r13d,%esi
140e77e40:	66 41 3b c1          	cmp    %r9w,%ax
140e77e44:	40 0f 95 c6          	setne  %sil
140e77e48:	4c 8b 22             	mov    (%rdx),%r12
140e77e4b:	4d 8b 78 08          	mov    0x8(%r8),%r15
140e77e4f:	44 0f b7 c5          	movzwl %bp,%r8d
140e77e53:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140e77e58:	48 8b cf             	mov    %rdi,%rcx
140e77e5b:	e8 00 69 01 00       	call   0x140e8e760
140e77e60:	0f b7 18             	movzwl (%rax),%ebx
140e77e63:	49 8b 07             	mov    (%r15),%rax
140e77e66:	48 8d 54 24 34       	lea    0x34(%rsp),%rdx
140e77e6b:	49 8b cf             	mov    %r15,%rcx
140e77e6e:	48 8b 40 10          	mov    0x10(%rax),%rax
140e77e72:	ff 15 a8 bb 10 00    	call   *0x10bba8(%rip)        # 0x140f83a20
140e77e78:	44 0f b7 00          	movzwl (%rax),%r8d
140e77e7c:	44 03 c3             	add    %ebx,%r8d
140e77e7f:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
140e77e86:	0f 87 4a 01 00 00    	ja     0x140e77fd6
140e77e8c:	66 44 89 6c 24 28    	mov    %r13w,0x28(%rsp)
140e77e92:	44 88 6c 24 20       	mov    %r13b,0x20(%rsp)
140e77e97:	44 0f b7 cd          	movzwl %bp,%r9d
140e77e9b:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140e77ea0:	49 8b cf             	mov    %r15,%rcx
140e77ea3:	e8 a8 89 af ff       	call   0x140970850
140e77ea8:	90                   	nop
140e77ea9:	48 8d 54 24 58       	lea    0x58(%rsp),%rdx
140e77eae:	48 8d 4c 24 78       	lea    0x78(%rsp),%rcx
140e77eb3:	e8 78 d5 ae ff       	call   0x140965430
140e77eb8:	90                   	nop
140e77eb9:	48 8b 54 24 70       	mov    0x70(%rsp),%rdx
140e77ebe:	48 83 fa 07          	cmp    $0x7,%rdx
140e77ec2:	76 38                	jbe    0x140e77efc
140e77ec4:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e77ecb:	00
140e77ecc:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140e77ed1:	48 8b c1             	mov    %rcx,%rax
140e77ed4:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e77edb:	72 19                	jb     0x140e77ef6
140e77edd:	48 83 c2 27          	add    $0x27,%rdx
140e77ee1:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e77ee5:	48 2b c1             	sub    %rcx,%rax
140e77ee8:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e77eec:	48 83 f8 1f          	cmp    $0x1f,%rax
140e77ef0:	0f 87 e6 00 00 00    	ja     0x140e77fdc
140e77ef6:	e8 49 32 fa ff       	call   0x140e1b144
140e77efb:	90                   	nop
140e77efc:	4c 8d 44 24 78       	lea    0x78(%rsp),%r8
140e77f01:	8d 56 10             	lea    0x10(%rsi),%edx
140e77f04:	49 8b cc             	mov    %r12,%rcx
140e77f07:	e8 d4 73 ff ff       	call   0x140e6f2e0
140e77f0c:	90                   	nop
140e77f0d:	48 8b 94 24 90 00 00 	mov    0x90(%rsp),%rdx
140e77f14:	00
140e77f15:	48 83 fa 0f          	cmp    $0xf,%rdx
140e77f19:	76 33                	jbe    0x140e77f4e
140e77f1b:	48 ff c2             	inc    %rdx
140e77f1e:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140e77f23:	48 8b c1             	mov    %rcx,%rax
140e77f26:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e77f2d:	72 19                	jb     0x140e77f48
140e77f2f:	48 83 c2 27          	add    $0x27,%rdx
140e77f33:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e77f37:	48 2b c1             	sub    %rcx,%rax
140e77f3a:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e77f3e:	48 83 f8 1f          	cmp    $0x1f,%rax
140e77f42:	0f 87 88 00 00 00    	ja     0x140e77fd0
140e77f48:	e8 f7 31 fa ff       	call   0x140e1b144
140e77f4d:	90                   	nop
140e77f4e:	0f b7 94 24 98 00 00 	movzwl 0x98(%rsp),%edx
140e77f55:	00
140e77f56:	45 33 c0             	xor    %r8d,%r8d
140e77f59:	48 8b cf             	mov    %rdi,%rcx
140e77f5c:	e8 cf 6f 01 00       	call   0x140e8ef30
140e77f61:	90                   	nop
140e77f62:	49 8b 5e 08          	mov    0x8(%r14),%rbx
140e77f66:	48 85 db             	test   %rbx,%rbx
140e77f69:	74 3a                	je     0x140e77fa5
140e77f6b:	bf ff ff ff ff       	mov    $0xffffffff,%edi
140e77f70:	8b c7                	mov    %edi,%eax
140e77f72:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140e77f77:	83 f8 01             	cmp    $0x1,%eax
140e77f7a:	75 29                	jne    0x140e77fa5
140e77f7c:	48 8b 03             	mov    (%rbx),%rax
140e77f7f:	48 8b cb             	mov    %rbx,%rcx
140e77f82:	48 8b 00             	mov    (%rax),%rax
140e77f85:	ff 15 95 ba 10 00    	call   *0x10ba95(%rip)        # 0x140f83a20
140e77f8b:	f0 0f c1 7b 0c       	lock xadd %edi,0xc(%rbx)
140e77f90:	83 ff 01             	cmp    $0x1,%edi
140e77f93:	75 10                	jne    0x140e77fa5
140e77f95:	48 8b 03             	mov    (%rbx),%rax
140e77f98:	48 8b cb             	mov    %rbx,%rcx
140e77f9b:	48 8b 40 08          	mov    0x8(%rax),%rax
140e77f9f:	ff 15 7b ba 10 00    	call   *0x10ba7b(%rip)        # 0x140f83a20
140e77fa5:	48 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%rcx
140e77fac:	00
140e77fad:	48 33 cc             	xor    %rsp,%rcx
140e77fb0:	e8 4b 35 fa ff       	call   0x140e1b500
140e77fb5:	48 8b 9c 24 f0 00 00 	mov    0xf0(%rsp),%rbx
140e77fbc:	00
140e77fbd:	48 81 c4 b0 00 00 00 	add    $0xb0,%rsp
140e77fc4:	41 5f                	pop    %r15
140e77fc6:	41 5e                	pop    %r14
140e77fc8:	41 5d                	pop    %r13
140e77fca:	41 5c                	pop    %r12
140e77fcc:	5f                   	pop    %rdi
140e77fcd:	5e                   	pop    %rsi
140e77fce:	5d                   	pop    %rbp
140e77fcf:	c3                   	ret
140e77fd0:	e8 cf 21 fb ff       	call   0x140e2a1a4
140e77fd5:	90                   	nop
140e77fd6:	e8 05 93 af ff       	call   0x1409712e0
140e77fdb:	cc                   	int3
140e77fdc:	e8 c3 21 fb ff       	call   0x140e2a1a4
140e77fe1:	cc                   	int3
140e77fe2:	cc                   	int3
140e77fe3:	cc                   	int3
140e77fe4:	cc                   	int3
140e77fe5:	cc                   	int3
140e77fe6:	cc                   	int3
140e77fe7:	cc                   	int3
140e77fe8:	cc                   	int3
140e77fe9:	cc                   	int3
140e77fea:	cc                   	int3
140e77feb:	cc                   	int3
140e77fec:	cc                   	int3
140e77fed:	cc                   	int3
140e77fee:	cc                   	int3
140e77fef:	cc                   	int3
140e77ff0:	40 55                	rex push %rbp
140e77ff2:	53                   	push   %rbx
140e77ff3:	56                   	push   %rsi
140e77ff4:	57                   	push   %rdi
140e77ff5:	41 54                	push   %r12
140e77ff7:	41 55                	push   %r13
140e77ff9:	41 56                	push   %r14
140e77ffb:	41 57                	push   %r15
140e77ffd:	48 8d 6c 24 e9       	lea    -0x17(%rsp),%rbp
140e78002:	48 81 ec b8 00 00 00 	sub    $0xb8,%rsp
140e78009:	48 8b 05 f0 0e 54 00 	mov    0x540ef0(%rip),%rax        # 0x1413b8f00
140e78010:	48 33 c4             	xor    %rsp,%rax
140e78013:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
140e78017:	41 0f b7 f9          	movzwl %r9w,%edi
140e7801b:	66 89 7d 8f          	mov    %di,-0x71(%rbp)
140e7801f:	4d 8b f0             	mov    %r8,%r14
140e78022:	4c 8b fa             	mov    %rdx,%r15
140e78025:	48 89 55 cf          	mov    %rdx,-0x31(%rbp)
140e78029:	4c 8b d1             	mov    %rcx,%r10
140e7802c:	0f b7 5d 7f          	movzwl 0x7f(%rbp),%ebx
140e78030:	48 89 55 d7          	mov    %rdx,-0x29(%rbp)
140e78034:	45 33 e4             	xor    %r12d,%r12d
140e78037:	8d 47 ff             	lea    -0x1(%rdi),%eax
140e7803a:	83 f8 3e             	cmp    $0x3e,%eax
140e7803d:	0f 87 d2 00 00 00    	ja     0x140e78115
140e78043:	48 98                	cltq
140e78045:	48 8d 15 b4 7f 18 ff 	lea    -0xe7804c(%rip),%rdx        # 0x140000000
140e7804c:	0f b6 84 02 10 8b e7 	movzbl 0xe78b10(%rdx,%rax,1),%eax
140e78053:	00
140e78054:	8b 8c 82 e0 8a e7 00 	mov    0xe78ae0(%rdx,%rax,4),%ecx
140e7805b:	48 03 ca             	add    %rdx,%rcx
140e7805e:	ff e1                	jmp    *%rcx
140e78060:	be 04 00 00 00       	mov    $0x4,%esi
140e78065:	66 3b f3             	cmp    %bx,%si
140e78068:	0f 87 62 02 00 00    	ja     0x140e782d0
140e7806e:	0f ae e8             	lfence
140e78071:	0f 57 c0             	xorps  %xmm0,%xmm0
140e78074:	f3 0f 7f 45 bf       	movdqu %xmm0,-0x41(%rbp)
140e78079:	49 8b 47 08          	mov    0x8(%r15),%rax
140e7807d:	48 85 c0             	test   %rax,%rax
140e78080:	74 04                	je     0x140e78086
140e78082:	f0 ff 40 08          	lock incl 0x8(%rax)
140e78086:	49 8b 07             	mov    (%r15),%rax
140e78089:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
140e7808d:	49 8b 47 08          	mov    0x8(%r15),%rax
140e78091:	48 89 45 c7          	mov    %rax,-0x39(%rbp)
140e78095:	66 89 5c 24 20       	mov    %bx,0x20(%rsp)
140e7809a:	44 0f b7 cf          	movzwl %di,%r9d
140e7809e:	48 8d 55 bf          	lea    -0x41(%rbp),%rdx
140e780a2:	49 8b ca             	mov    %r10,%rcx
140e780a5:	e8 26 fd ff ff       	call   0x140e77dd0
140e780aa:	41 0f b7 7e 10       	movzwl 0x10(%r14),%edi
140e780af:	33 d2                	xor    %edx,%edx
140e780b1:	49 8b ce             	mov    %r14,%rcx
140e780b4:	e8 77 70 ff ff       	call   0x140e6f130
140e780b9:	0f b7 c8             	movzwl %ax,%ecx
140e780bc:	83 e9 01             	sub    $0x1,%ecx
140e780bf:	74 1e                	je     0x140e780df
140e780c1:	83 f9 02             	cmp    $0x2,%ecx
140e780c4:	75 41                	jne    0x140e78107
140e780c6:	33 d2                	xor    %edx,%edx
140e780c8:	49 8b ce             	mov    %r14,%rcx
140e780cb:	e8 60 70 ff ff       	call   0x140e6f130
140e780d0:	41 bd 01 00 00 00    	mov    $0x1,%r13d
140e780d6:	66 44 3b e8          	cmp    %ax,%r13w
140e780da:	0f 94 c3             	sete   %bl
140e780dd:	eb 24                	jmp    0x140e78103
140e780df:	33 d2                	xor    %edx,%edx
140e780e1:	49 8b ce             	mov    %r14,%rcx
140e780e4:	e8 47 70 ff ff       	call   0x140e6f130
140e780e9:	41 bd 01 00 00 00    	mov    $0x1,%r13d
140e780ef:	66 44 3b e8          	cmp    %ax,%r13w
140e780f3:	0f 94 c3             	sete   %bl
140e780f6:	45 8b c5             	mov    %r13d,%r8d
140e780f9:	8b d6                	mov    %esi,%edx
140e780fb:	49 8b ce             	mov    %r14,%rcx
140e780fe:	e8 2d 6e 01 00       	call   0x140e8ef30
140e78103:	84 db                	test   %bl,%bl
140e78105:	75 38                	jne    0x140e7813f
140e78107:	8b d7                	mov    %edi,%edx
140e78109:	45 33 c0             	xor    %r8d,%r8d
140e7810c:	49 8b ce             	mov    %r14,%rcx
140e7810f:	e8 1c 6e 01 00       	call   0x140e8ef30
140e78114:	90                   	nop
140e78115:	49 8b cf             	mov    %r15,%rcx
140e78118:	e8 83 fe 31 ff       	call   0x140197fa0
140e7811d:	32 c0                	xor    %al,%al
140e7811f:	48 8b 4d ff          	mov    -0x1(%rbp),%rcx
140e78123:	48 33 cc             	xor    %rsp,%rcx
140e78126:	e8 d5 33 fa ff       	call   0x140e1b500
140e7812b:	48 81 c4 b8 00 00 00 	add    $0xb8,%rsp
140e78132:	41 5f                	pop    %r15
140e78134:	41 5e                	pop    %r14
140e78136:	41 5d                	pop    %r13
140e78138:	41 5c                	pop    %r12
140e7813a:	5f                   	pop    %rdi
140e7813b:	5e                   	pop    %rsi
140e7813c:	5b                   	pop    %rbx
140e7813d:	5d                   	pop    %rbp
140e7813e:	c3                   	ret
140e7813f:	66 44 3b 6d 8f       	cmp    -0x71(%rbp),%r13w
140e78144:	41 0f 95 c4          	setne  %r12b
140e78148:	49 8b 37             	mov    (%r15),%rsi
140e7814b:	49 8b 7e 08          	mov    0x8(%r14),%rdi
140e7814f:	41 b8 06 00 00 00    	mov    $0x6,%r8d
140e78155:	48 8d 55 8f          	lea    -0x71(%rbp),%rdx
140e78159:	49 8b ce             	mov    %r14,%rcx
140e7815c:	e8 ff 65 01 00       	call   0x140e8e760
140e78161:	0f b7 18             	movzwl (%rax),%ebx
140e78164:	48 8b 07             	mov    (%rdi),%rax
140e78167:	48 8d 55 93          	lea    -0x6d(%rbp),%rdx
140e7816b:	48 8b cf             	mov    %rdi,%rcx
140e7816e:	48 8b 40 10          	mov    0x10(%rax),%rax
140e78172:	ff 15 a8 b8 10 00    	call   *0x10b8a8(%rip)        # 0x140f83a20
140e78178:	44 0f b7 00          	movzwl (%rax),%r8d
140e7817c:	44 03 c3             	add    %ebx,%r8d
140e7817f:	41 81 f8 ff ff 00 00 	cmp    $0xffff,%r8d
140e78186:	0f 87 15 09 00 00    	ja     0x140e78aa1
140e7818c:	0f ae e8             	lfence
140e7818f:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
140e78193:	48 8b cf             	mov    %rdi,%rcx
140e78196:	e8 45 87 af ff       	call   0x1409708e0
140e7819b:	90                   	nop
140e7819c:	4c 8d 45 97          	lea    -0x69(%rbp),%r8
140e781a0:	41 8d 54 24 02       	lea    0x2(%r12),%edx
140e781a5:	48 8b ce             	mov    %rsi,%rcx
140e781a8:	e8 03 58 ff ff       	call   0x140e6d9b0
140e781ad:	90                   	nop
140e781ae:	48 8b 55 af          	mov    -0x51(%rbp),%rdx
140e781b2:	48 83 fa 07          	cmp    $0x7,%rdx
140e781b6:	76 7b                	jbe    0x140e78233
140e781b8:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e781bf:	00
140e781c0:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
140e781c4:	48 8b c1             	mov    %rcx,%rax
140e781c7:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e781ce:	0f 82 93 08 00 00    	jb     0x140e78a67
140e781d4:	48 83 c2 27          	add    $0x27,%rdx
140e781d8:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e781dc:	48 2b c1             	sub    %rcx,%rax
140e781df:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e781e3:	48 83 f8 1f          	cmp    $0x1f,%rax
140e781e7:	0f 87 8a 08 00 00    	ja     0x140e78a77
140e781ed:	e9 75 08 00 00       	jmp    0x140e78a67
140e781f2:	ba 0c 00 00 00       	mov    $0xc,%edx
140e781f7:	66 3b d3             	cmp    %bx,%dx
140e781fa:	0f 87 d0 00 00 00    	ja     0x140e782d0
140e78200:	41 bd 01 00 00 00    	mov    $0x1,%r13d
140e78206:	45 8b c5             	mov    %r13d,%r8d
140e78209:	be 04 00 00 00       	mov    $0x4,%esi
140e7820e:	8b d6                	mov    %esi,%edx
140e78210:	49 8b ce             	mov    %r14,%rcx
140e78213:	e8 18 6d 01 00       	call   0x140e8ef30
140e78218:	45 8b c5             	mov    %r13d,%r8d
140e7821b:	8b d6                	mov    %esi,%edx
140e7821d:	49 8b ce             	mov    %r14,%rcx
140e78220:	e8 0b 6d 01 00       	call   0x140e8ef30
140e78225:	45 8b c5             	mov    %r13d,%r8d
140e78228:	8b d6                	mov    %esi,%edx
140e7822a:	49 8b ce             	mov    %r14,%rcx
140e7822d:	e8 fe 6c 01 00       	call   0x140e8ef30
140e78232:	90                   	nop
140e78233:	49 8b cf             	mov    %r15,%rcx
140e78236:	e8 65 fd 31 ff       	call   0x140197fa0
140e7823b:	b0 01                	mov    $0x1,%al
140e7823d:	e9 dd fe ff ff       	jmp    0x140e7811f
140e78242:	b8 10 00 00 00       	mov    $0x10,%eax
140e78247:	66 3b c3             	cmp    %bx,%ax
140e7824a:	0f 87 80 00 00 00    	ja     0x140e782d0
140e78250:	49 8b 3f             	mov    (%r15),%rdi
140e78253:	45 33 c0             	xor    %r8d,%r8d
140e78256:	48 8d 55 97          	lea    -0x69(%rbp),%rdx
140e7825a:	49 8b ce             	mov    %r14,%rcx
140e7825d:	e8 0e 6a 01 00       	call   0x140e8ec70
140e78262:	90                   	nop
140e78263:	4c 8b c0             	mov    %rax,%r8
140e78266:	ba 04 00 00 00       	mov    $0x4,%edx
140e7826b:	48 8b cf             	mov    %rdi,%rcx
140e7826e:	e8 4d 56 ff ff       	call   0x140e6d8c0
140e78273:	90                   	nop
140e78274:	48 8b 55 af          	mov    -0x51(%rbp),%rdx
140e78278:	48 83 fa 07          	cmp    $0x7,%rdx
140e7827c:	76 36                	jbe    0x140e782b4
140e7827e:	48 8d 14 55 02 00 00 	lea    0x2(,%rdx,2),%rdx
140e78285:	00
140e78286:	48 8b 4d 97          	mov    -0x69(%rbp),%rcx
140e7828a:	48 8b c1             	mov    %rcx,%rax
140e7828d:	48 81 fa 00 10 00 00 	cmp    $0x1000,%rdx
140e78294:	72 19                	jb     0x140e782af
140e78296:	48 83 c2 27          	add    $0x27,%rdx
140e7829a:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
140e7829e:	48 2b c1             	sub    %rcx,%rax
140e782a1:	48 83 c0 f8          	add    $0xfffffffffffffff8,%rax
140e782a5:	48 83 f8 1f          	cmp    $0x1f,%rax
140e782a9:	0f 87 f8 07 00 00    	ja     0x140e78aa7