140161e4a:	48 85 db             	test   %rbx,%rbx
140161e4d:	74 35                	je     0x140161e84
140161e4f:	8b c7                	mov    %edi,%eax
140161e51:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140161e56:	03 c7                	add    %edi,%eax
140161e58:	75 2a                	jne    0x140161e84
140161e5a:	48 8b 03             	mov    (%rbx),%rax
140161e5d:	48 8b cb             	mov    %rbx,%rcx
140161e60:	48 8b 00             	mov    (%rax),%rax
140161e63:	ff 15 cf ad 9a 00    	call   *0x9aadcf(%rip)        # 0x140b0cc38
140161e69:	8b d7                	mov    %edi,%edx
140161e6b:	f0 0f c1 53 0c       	lock xadd %edx,0xc(%rbx)
140161e70:	03 d7                	add    %edi,%edx
140161e72:	75 10                	jne    0x140161e84
140161e74:	48 8b 13             	mov    (%rbx),%rdx
140161e77:	48 8b cb             	mov    %rbx,%rcx
140161e7a:	48 8b 42 08          	mov    0x8(%rdx),%rax
140161e7e:	ff 15 b4 ad 9a 00    	call   *0x9aadb4(%rip)        # 0x140b0cc38
140161e84:	40 8a c5             	mov    %bpl,%al
140161e87:	eb 43                	jmp    0x140161ecc
140161e89:	48 8b 5e 08          	mov    0x8(%rsi),%rbx
140161e8d:	48 85 db             	test   %rbx,%rbx
140161e90:	74 38                	je     0x140161eca
140161e92:	83 cf ff             	or     $0xffffffff,%edi
140161e95:	8b c7                	mov    %edi,%eax
140161e97:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140161e9c:	03 c7                	add    %edi,%eax
140161e9e:	75 2a                	jne    0x140161eca
140161ea0:	48 8b 03             	mov    (%rbx),%rax
140161ea3:	48 8b cb             	mov    %rbx,%rcx
140161ea6:	48 8b 00             	mov    (%rax),%rax
140161ea9:	ff 15 89 ad 9a 00    	call   *0x9aad89(%rip)        # 0x140b0cc38
140161eaf:	8b c7                	mov    %edi,%eax
140161eb1:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140161eb6:	03 c7                	add    %edi,%eax
140161eb8:	75 10                	jne    0x140161eca
140161eba:	48 8b 03             	mov    (%rbx),%rax
140161ebd:	48 8b cb             	mov    %rbx,%rcx
140161ec0:	48 8b 40 08          	mov    0x8(%rax),%rax
140161ec4:	ff 15 6e ad 9a 00    	call   *0x9aad6e(%rip)        # 0x140b0cc38
140161eca:	32 c0                	xor    %al,%al
140161ecc:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140161ed1:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
140161ed6:	48 8b 74 24 58       	mov    0x58(%rsp),%rsi
140161edb:	48 83 c4 30          	add    $0x30,%rsp
140161edf:	5f                   	pop    %rdi
140161ee0:	c3                   	ret
140161ee1:	90                   	nop
140161ee2:	90                   	nop
140161ee3:	90                   	nop
140161ee4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140161ee9:	4c 89 44 24 18       	mov    %r8,0x18(%rsp)
140161eee:	55                   	push   %rbp
140161eef:	56                   	push   %rsi
140161ef0:	57                   	push   %rdi
140161ef1:	48 8b ec             	mov    %rsp,%rbp
140161ef4:	48 83 ec 30          	sub    $0x30,%rsp
140161ef8:	49 8b d8             	mov    %r8,%rbx
140161efb:	48 8b fa             	mov    %rdx,%rdi
140161efe:	8b f1                	mov    %ecx,%esi
140161f00:	49 83 38 00          	cmpq   $0x0,(%r8)
140161f04:	0f 84 ab 00 00 00    	je     0x140161fb5
140161f0a:	4c 8b 0d 17 93 bc 00 	mov    0xbc9317(%rip),%r9        # 0x140d2b228
140161f11:	49 8b 41 08          	mov    0x8(%r9),%rax
140161f15:	4d 8b c1             	mov    %r9,%r8
140161f18:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140161f1c:	75 19                	jne    0x140161f37
140161f1e:	8b 0a                	mov    (%rdx),%ecx
140161f20:	39 48 1c             	cmp    %ecx,0x1c(%rax)
140161f23:	7d 06                	jge    0x140161f2b
140161f25:	48 8b 40 10          	mov    0x10(%rax),%rax
140161f29:	eb 06                	jmp    0x140161f31
140161f2b:	4c 8b c0             	mov    %rax,%r8
140161f2e:	48 8b 00             	mov    (%rax),%rax
140161f31:	80 78 19 00          	cmpb   $0x0,0x19(%rax)
140161f35:	74 e9                	je     0x140161f20
140161f37:	41 80 78 19 00       	cmpb   $0x0,0x19(%r8)
140161f3c:	75 08                	jne    0x140161f46
140161f3e:	41 8b 40 1c          	mov    0x1c(%r8),%eax
140161f42:	39 02                	cmp    %eax,(%rdx)
140161f44:	7d 03                	jge    0x140161f49
140161f46:	4d 8b c1             	mov    %r9,%r8
140161f49:	4d 3b c1             	cmp    %r9,%r8
140161f4c:	74 67                	je     0x140161fb5
140161f4e:	0f 57 c0             	xorps  %xmm0,%xmm0
140161f51:	f3 0f 7f 45 f0       	movdqu %xmm0,-0x10(%rbp)
140161f56:	48 8b 43 08          	mov    0x8(%rbx),%rax
140161f5a:	48 85 c0             	test   %rax,%rax
140161f5d:	74 04                	je     0x140161f63
140161f5f:	f0 ff 40 08          	lock incl 0x8(%rax)
140161f63:	48 8b 03             	mov    (%rbx),%rax
140161f66:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140161f6a:	48 8b 43 08          	mov    0x8(%rbx),%rax
140161f6e:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140161f72:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
140161f76:	48 8d 55 38          	lea    0x38(%rbp),%rdx
140161f7a:	48 8b cf             	mov    %rdi,%rcx
140161f7d:	e8 96 fd ff ff       	call   0x140161d18
140161f82:	84 c0                	test   %al,%al
140161f84:	74 2f                	je     0x140161fb5
140161f86:	48 8b 43 08          	mov    0x8(%rbx),%rax
140161f8a:	48 85 c0             	test   %rax,%rax
140161f8d:	74 04                	je     0x140161f93
140161f8f:	f0 ff 40 08          	lock incl 0x8(%rax)
140161f93:	48 8b 03             	mov    (%rbx),%rax
140161f96:	48 89 45 f0          	mov    %rax,-0x10(%rbp)
140161f9a:	48 8b 43 08          	mov    0x8(%rbx),%rax
140161f9e:	48 89 45 f8          	mov    %rax,-0x8(%rbp)
140161fa2:	4c 8d 4d f0          	lea    -0x10(%rbp),%r9
140161fa6:	4c 8b 45 38          	mov    0x38(%rbp),%r8
140161faa:	48 8b d7             	mov    %rdi,%rdx
140161fad:	8b ce                	mov    %esi,%ecx
140161faf:	e8 b8 ee ff ff       	call   0x140160e6c
140161fb4:	90                   	nop
140161fb5:	48 8b 5b 08          	mov    0x8(%rbx),%rbx
140161fb9:	48 85 db             	test   %rbx,%rbx
140161fbc:	74 38                	je     0x140161ff6
140161fbe:	83 cf ff             	or     $0xffffffff,%edi
140161fc1:	8b c7                	mov    %edi,%eax
140161fc3:	f0 0f c1 43 08       	lock xadd %eax,0x8(%rbx)
140161fc8:	03 c7                	add    %edi,%eax
140161fca:	75 2a                	jne    0x140161ff6
140161fcc:	48 8b 03             	mov    (%rbx),%rax
140161fcf:	48 8b cb             	mov    %rbx,%rcx
140161fd2:	48 8b 00             	mov    (%rax),%rax
140161fd5:	ff 15 5d ac 9a 00    	call   *0x9aac5d(%rip)        # 0x140b0cc38
140161fdb:	8b c7                	mov    %edi,%eax
140161fdd:	f0 0f c1 43 0c       	lock xadd %eax,0xc(%rbx)
140161fe2:	03 c7                	add    %edi,%eax
140161fe4:	75 10                	jne    0x140161ff6
140161fe6:	48 8b 03             	mov    (%rbx),%rax
140161fe9:	48 8b cb             	mov    %rbx,%rcx
140161fec:	48 8b 40 08          	mov    0x8(%rax),%rax
140161ff0:	ff 15 42 ac 9a 00    	call   *0x9aac42(%rip)        # 0x140b0cc38
140161ff6:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140161ffb:	48 83 c4 30          	add    $0x30,%rsp
140161fff:	5f                   	pop    %rdi
140162000:	5e                   	pop    %rsi
140162001:	5d                   	pop    %rbp
140162002:	c3                   	ret
140162003:	90                   	nop
140162004:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140162009:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14016200e:	55                   	push   %rbp
14016200f:	57                   	push   %rdi
140162010:	41 55                	push   %r13
140162012:	41 56                	push   %r14
140162014:	41 57                	push   %r15
140162016:	48 8d 6c 24 90       	lea    -0x70(%rsp),%rbp
14016201b:	48 81 ec 70 01 00 00 	sub    $0x170,%rsp
140162022:	48 8b 05 17 d0 b5 00 	mov    0xb5d017(%rip),%rax        # 0x140cbf040
140162029:	48 33 c4             	xor    %rsp,%rax
14016202c:	48 89 45 60          	mov    %rax,0x60(%rbp)
140162030:	48 8b da             	mov    %rdx,%rbx
140162033:	48 8b f9             	mov    %rcx,%rdi
140162036:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
14016203b:	45 33 ed             	xor    %r13d,%r13d
14016203e:	44 89 6c 24 24       	mov    %r13d,0x24(%rsp)
140162043:	0f 57 c0             	xorps  %xmm0,%xmm0
140162046:	0f 11 01             	movups %xmm0,(%rcx)
140162049:	4c 89 69 10          	mov    %r13,0x10(%rcx)
14016204d:	4c 89 69 18          	mov    %r13,0x18(%rcx)
140162051:	45 33 c0             	xor    %r8d,%r8d
140162054:	48 8d 15 5d cc 9d 00 	lea    0x9dcc5d(%rip),%rdx        # 0x140b3ecb8
14016205b:	e8 c0 1d ea ff       	call   0x140003e20
140162060:	45 8d 7d 01          	lea    0x1(%r13),%r15d
140162064:	44 89 7c 24 24       	mov    %r15d,0x24(%rsp)
140162069:	41 8b f5             	mov    %r13d,%esi
14016206c:	48 8b 43 10          	mov    0x10(%rbx),%rax
140162070:	48 85 c0             	test   %rax,%rax
140162073:	0f 84 48 02 00 00    	je     0x1401622c1
140162079:	4c 3b e8             	cmp    %rax,%r13
14016207c:	0f 87 71 02 00 00    	ja     0x1401622f3
140162082:	48 8b cb             	mov    %rbx,%rcx
140162085:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
14016208a:	76 03                	jbe    0x14016208f
14016208c:	48 8b 0b             	mov    (%rbx),%rcx
14016208f:	0f b7 0c 71          	movzwl (%rcx,%rsi,2),%ecx
140162093:	ff 15 27 aa 9a 00    	call   *0x9aaa27(%rip)        # 0x140b0cac0
140162099:	85 c0                	test   %eax,%eax
14016209b:	0f 84 a2 00 00 00    	je     0x140162143
1401620a1:	48 3b 73 10          	cmp    0x10(%rbx),%rsi
1401620a5:	0f 87 48 02 00 00    	ja     0x1401622f3
1401620ab:	48 8b cb             	mov    %rbx,%rcx
1401620ae:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1401620b3:	76 03                	jbe    0x1401620b8
1401620b5:	48 8b 0b             	mov    (%rbx),%rcx
1401620b8:	0f b7 0c 71          	movzwl (%rcx,%rsi,2),%ecx
1401620bc:	ff 15 d6 a9 9a 00    	call   *0x9aa9d6(%rip)        # 0x140b0ca98
1401620c2:	85 c0                	test   %eax,%eax
1401620c4:	75 25                	jne    0x1401620eb
1401620c6:	48 3b 73 10          	cmp    0x10(%rbx),%rsi
1401620ca:	0f 87 23 02 00 00    	ja     0x1401622f3
1401620d0:	48 8b cb             	mov    %rbx,%rcx
1401620d3:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1401620d8:	76 03                	jbe    0x1401620dd
1401620da:	48 8b 0b             	mov    (%rbx),%rcx
1401620dd:	0f b7 0c 71          	movzwl (%rcx,%rsi,2),%ecx
1401620e1:	ff 15 e1 a9 9a 00    	call   *0x9aa9e1(%rip)        # 0x140b0cac8
1401620e7:	85 c0                	test   %eax,%eax
1401620e9:	74 58                	je     0x140162143
1401620eb:	48 3b 73 10          	cmp    0x10(%rbx),%rsi
1401620ef:	0f 87 fe 01 00 00    	ja     0x1401622f3
1401620f5:	48 8b c3             	mov    %rbx,%rax
1401620f8:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
1401620fd:	76 03                	jbe    0x140162102
1401620ff:	48 8b 03             	mov    (%rbx),%rax
140162102:	44 0f b7 0c 70       	movzwl (%rax,%rsi,2),%r9d
140162107:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
14016210b:	48 3b 4f 18          	cmp    0x18(%rdi),%rcx
14016210f:	73 25                	jae    0x140162136
140162111:	48 8d 41 01          	lea    0x1(%rcx),%rax
140162115:	48 89 47 10          	mov    %rax,0x10(%rdi)
140162119:	48 8b c7             	mov    %rdi,%rax
14016211c:	48 83 7f 18 07       	cmpq   $0x7,0x18(%rdi)
140162121:	76 03                	jbe    0x140162126
140162123:	48 8b 07             	mov    (%rdi),%rax
140162126:	66 44 89 0c 48       	mov    %r9w,(%rax,%rcx,2)
14016212b:	66 44 89 6c 48 02    	mov    %r13w,0x2(%rax,%rcx,2)
140162131:	e9 7b 01 00 00       	jmp    0x1401622b1
140162136:	48 8b cf             	mov    %rdi,%rcx
140162139:	e8 fe 6f ea ff       	call   0x14000913c
14016213e:	e9 6e 01 00 00       	jmp    0x1401622b1
140162143:	48 8d 4c 24 40       	lea    0x40(%rsp),%rcx
140162148:	e8 7b 16 fd ff       	call   0x1401337c8
14016214d:	90                   	nop
14016214e:	48 8d 15 37 e2 9d 00 	lea    0x9de237(%rip),%rdx        # 0x140b4038c
140162155:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
14016215a:	e8 5d 17 fd ff       	call   0x1401338bc
14016215f:	48 3b 73 10          	cmp    0x10(%rbx),%rsi
140162163:	0f 87 83 01 00 00    	ja     0x1401622ec
140162169:	48 8b c3             	mov    %rbx,%rax
14016216c:	48 83 7b 18 07       	cmpq   $0x7,0x18(%rbx)
140162171:	76 03                	jbe    0x140162176
140162173:	48 8b 03             	mov    (%rbx),%rax
140162176:	0f b7 04 70          	movzwl (%rax,%rsi,2),%eax
14016217a:	66 89 44 24 20       	mov    %ax,0x20(%rsp)
14016217f:	41 be 02 00 00 00    	mov    $0x2,%r14d
140162185:	49 ff ce             	dec    %r14
140162188:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
14016218d:	48 63 48 04          	movslq 0x4(%rax),%rcx
140162191:	b8 30 00 00 00       	mov    $0x30,%eax
140162196:	66 89 44 0d a8       	mov    %ax,-0x58(%rbp,%rcx,1)
14016219b:	8d 50 d2             	lea    -0x2e(%rax),%edx
14016219e:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
1401621a3:	ff 15 af a1 9a 00    	call   *0x9aa1af(%rip)        # 0x140b0c358
1401621a9:	48 8b 4c 24 50       	mov    0x50(%rsp),%rcx
1401621ae:	48 63 51 04          	movslq 0x4(%rcx),%rdx
1401621b2:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1401621b7:	48 03 ca             	add    %rdx,%rcx
1401621ba:	48 8b 50 08          	mov    0x8(%rax),%rdx
1401621be:	48 8b 00             	mov    (%rax),%rax
1401621c1:	ff 15 71 aa 9a 00    	call   *0x9aaa71(%rip)        # 0x140b0cc38
1401621c7:	48 8d 15 72 b6 fa ff 	lea    -0x5498e(%rip),%rdx        # 0x14010d840
1401621ce:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
1401621d3:	ff 15 9f a1 9a 00    	call   *0x9aa19f(%rip)        # 0x140b0c378
1401621d9:	42 0f b6 54 34 20    	movzbl 0x20(%rsp,%r14,1),%edx
1401621df:	48 8b c8             	mov    %rax,%rcx
1401621e2:	ff 15 a0 a1 9a 00    	call   *0x9aa1a0(%rip)        # 0x140b0c388
1401621e8:	4d 85 f6             	test   %r14,%r14
1401621eb:	75 98                	jne    0x140162185
1401621ed:	48 8d 55 40          	lea    0x40(%rbp),%rdx
1401621f1:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1401621f6:	e8 7d c8 fa ff       	call   0x14010ea78
1401621fb:	41 83 cf 02          	or     $0x2,%r15d
1401621ff:	44 89 7c 24 24       	mov    %r15d,0x24(%rsp)
140162204:	48 8d 4d 40          	lea    0x40(%rbp),%rcx
140162208:	48 83 7d 58 07       	cmpq   $0x7,0x58(%rbp)
14016220d:	48 0f 47 4d 40       	cmova  0x40(%rbp),%rcx
140162212:	48 8b 45 50          	mov    0x50(%rbp),%rax
140162216:	4c 8d 0c 41          	lea    (%rcx,%rax,2),%r9
14016221a:	4c 8d 45 40          	lea    0x40(%rbp),%r8
14016221e:	4c 0f 47 45 40       	cmova  0x40(%rbp),%r8
140162223:	48 8b cf             	mov    %rdi,%rcx
140162226:	48 83 7f 18 07       	cmpq   $0x7,0x18(%rdi)
14016222b:	76 03                	jbe    0x140162230
14016222d:	48 8b 0f             	mov    (%rdi),%rcx
140162230:	48 8b 47 10          	mov    0x10(%rdi),%rax
140162234:	48 8d 14 41          	lea    (%rcx,%rax,2),%rdx
140162238:	48 8b c7             	mov    %rdi,%rax
14016223b:	76 03                	jbe    0x140162240
14016223d:	48 8b 07             	mov    (%rdi),%rax
140162240:	48 2b d0             	sub    %rax,%rdx
140162243:	48 d1 fa             	sar    $1,%rdx
140162246:	4d 2b c8             	sub    %r8,%r9
140162249:	49 d1 f9             	sar    $1,%r9
14016224c:	48 8b cf             	mov    %rdi,%rcx
14016224f:	e8 fc ee f2 ff       	call   0x140091150
140162254:	90                   	nop
140162255:	48 8b 45 58          	mov    0x58(%rbp),%rax
140162259:	48 83 f8 07          	cmp    $0x7,%rax
14016225d:	76 2e                	jbe    0x14016228d
14016225f:	48 8d 04 45 02 00 00 	lea    0x2(,%rax,2),%rax
140162266:	00
140162267:	48 8b 4d 40          	mov    0x40(%rbp),%rcx
14016226b:	48 8b d1             	mov    %rcx,%rdx
14016226e:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140162274:	72 11                	jb     0x140162287
140162276:	48 8b 49 f8          	mov    -0x8(%rcx),%rcx
14016227a:	48 2b d1             	sub    %rcx,%rdx
14016227d:	48 8d 42 f8          	lea    -0x8(%rdx),%rax
140162281:	48 83 f8 1f          	cmp    $0x1f,%rax
140162285:	77 65                	ja     0x1401622ec
140162287:	ff 15 33 a6 9a 00    	call   *0x9aa633(%rip)        # 0x140b0c8c0
14016228d:	4c 89 6d 50          	mov    %r13,0x50(%rbp)
140162291:	48 c7 45 58 07 00 00 	movq   $0x7,0x58(%rbp)
140162298:	00
140162299:	66 44 89 6d 40       	mov    %r13w,0x40(%rbp)
14016229e:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1401622a2:	e8 a9 14 fd ff       	call   0x140133750
1401622a7:	48 8d 4d d8          	lea    -0x28(%rbp),%rcx
1401622ab:	ff 15 4f a3 9a 00    	call   *0x9aa34f(%rip)        # 0x140b0c600
1401622b1:	48 ff c6             	inc    %rsi
1401622b4:	48 8b 43 10          	mov    0x10(%rbx),%rax
1401622b8:	48 3b f0             	cmp    %rax,%rsi
1401622bb:	0f 82 c1 fd ff ff    	jb     0x140162082
1401622c1:	48 8b c7             	mov    %rdi,%rax
1401622c4:	48 8b 4d 60          	mov    0x60(%rbp),%rcx
1401622c8:	48 33 cc             	xor    %rsp,%rcx
1401622cb:	e8 10 d3 98 00       	call   0x140aef5e0
1401622d0:	4c 8d 9c 24 70 01 00 	lea    0x170(%rsp),%r11
1401622d7:	00
1401622d8:	49 8b 5b 40          	mov    0x40(%r11),%rbx
1401622dc:	49 8b 73 48          	mov    0x48(%r11),%rsi
1401622e0:	49 8b e3             	mov    %r11,%rsp
1401622e3:	41 5f                	pop    %r15
1401622e5:	41 5e                	pop    %r14
1401622e7:	41 5d                	pop    %r13
1401622e9:	5f                   	pop    %rdi
1401622ea:	5d                   	pop    %rbp
1401622eb:	c3                   	ret
1401622ec:	ff 15 a6 a6 9a 00    	call   *0x9aa6a6(%rip)        # 0x140b0c998
1401622f2:	90                   	nop
1401622f3:	ff 15 9f a6 9a 00    	call   *0x9aa69f(%rip)        # 0x140b0c998
1401622f9:	cc                   	int3
1401622fa:	90                   	nop
1401622fb:	90                   	nop
1401622fc:	48 8d 41 b0          	lea    -0x50(%rcx),%rax
140162300:	c3                   	ret
140162301:	90                   	nop
140162302:	90                   	nop
140162303:	90                   	nop
140162304:	48 8d 41 98          	lea    -0x68(%rcx),%rax
140162308:	c3                   	ret
140162309:	90                   	nop
14016230a:	90                   	nop
14016230b:	90                   	nop
14016230c:	8b 02                	mov    (%rdx),%eax
14016230e:	89 41 98             	mov    %eax,-0x68(%rcx)
140162311:	8b 42 04             	mov    0x4(%rdx),%eax