140015fb1:	85 f6                	test   %esi,%esi
140015fb3:	74 1b                	je     0x140015fd0
140015fb5:	48 8b cd             	mov    %rbp,%rcx
140015fb8:	8b d6                	mov    %esi,%edx
140015fba:	4c 2b f5             	sub    %rbp,%r14
140015fbd:	44 8b fe             	mov    %esi,%r15d
140015fc0:	41 8b 04 0e          	mov    (%r14,%rcx,1),%eax
140015fc4:	89 01                	mov    %eax,(%rcx)
140015fc6:	48 8d 49 04          	lea    0x4(%rcx),%rcx
140015fca:	48 83 ea 01          	sub    $0x1,%rdx
140015fce:	75 f0                	jne    0x140015fc0
140015fd0:	48 8d 7b 48          	lea    0x48(%rbx),%rdi
140015fd4:	83 3f 01             	cmpl   $0x1,(%rdi)
140015fd7:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
140015fdb:	75 0d                	jne    0x140015fea
140015fdd:	83 39 00             	cmpl   $0x0,(%rcx)
140015fe0:	75 14                	jne    0x140015ff6
140015fe2:	c7 01 00 00 00 f0    	movl   $0xf0000000,(%rcx)
140015fe8:	eb 0c                	jmp    0x140015ff6
140015fea:	48 ff 15 27 9f 00 00 	rex.W call *0x9f27(%rip)        # 0x14001ff18
140015ff1:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140015ff6:	0f b6 53 5d          	movzbl 0x5d(%rbx),%edx
140015ffa:	4c 8d 43 60          	lea    0x60(%rbx),%r8
140015ffe:	48 8d 4c 24 68       	lea    0x68(%rsp),%rcx
140016003:	e8 e0 0f 00 00       	call   0x140016fe8
140016008:	83 63 30 00          	andl   $0x0,0x30(%rbx)
14001600c:	ff 43 58             	incl   0x58(%rbx)
14001600f:	89 73 2c             	mov    %esi,0x2c(%rbx)
140016012:	48 8b 73 38          	mov    0x38(%rbx),%rsi
140016016:	44 89 7b 28          	mov    %r15d,0x28(%rbx)
14001601a:	48 89 6b 38          	mov    %rbp,0x38(%rbx)
14001601e:	48 85 ff             	test   %rdi,%rdi
140016021:	74 1d                	je     0x140016040
140016023:	83 3f 01             	cmpl   $0x1,(%rdi)
140016026:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
14001602a:	75 08                	jne    0x140016034
14001602c:	81 01 00 00 00 10    	addl   $0x10000000,(%rcx)
140016032:	eb 0c                	jmp    0x140016040
140016034:	48 ff 15 c5 9e 00 00 	rex.W call *0x9ec5(%rip)        # 0x14001ff00
14001603b:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140016040:	48 85 f6             	test   %rsi,%rsi
140016043:	74 0f                	je     0x140016054
140016045:	48 8b ce             	mov    %rsi,%rcx
140016048:	48 ff 15 f9 a0 00 00 	rex.W call *0xa0f9(%rip)        # 0x140020148
14001604f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140016054:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
14001605a:	45 33 c9             	xor    %r9d,%r9d
14001605d:	0f b6 53 5c          	movzbl 0x5c(%rbx),%edx
140016061:	4c 8b c3             	mov    %rbx,%r8
140016064:	0f b6 4c 24 68       	movzbl 0x68(%rsp),%ecx
140016069:	e8 4e 0e 00 00       	call   0x140016ebc
14001606e:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
140016073:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
140016078:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
14001607d:	48 83 c4 30          	add    $0x30,%rsp
140016081:	41 5f                	pop    %r15
140016083:	41 5e                	pop    %r14
140016085:	5f                   	pop    %rdi
140016086:	c3                   	ret
140016087:	cc                   	int3
140016088:	cc                   	int3
140016089:	cc                   	int3
14001608a:	cc                   	int3
14001608b:	cc                   	int3
14001608c:	cc                   	int3
14001608d:	cc                   	int3
14001608e:	cc                   	int3
14001608f:	cc                   	int3
140016090:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140016095:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14001609a:	57                   	push   %rdi
14001609b:	48 83 ec 20          	sub    $0x20,%rsp
14001609f:	48 8b 71 18          	mov    0x18(%rcx),%rsi
1400160a3:	48 8b da             	mov    %rdx,%rbx
1400160a6:	48 83 22 00          	andq   $0x0,(%rdx)
1400160aa:	48 8b f9             	mov    %rcx,%rdi
1400160ad:	48 85 f6             	test   %rsi,%rsi
1400160b0:	79 25                	jns    0x1400160d7
1400160b2:	4c 8d 04 36          	lea    (%rsi,%rsi,1),%r8
1400160b6:	41 b9 ff ff ff 7f    	mov    $0x7fffffff,%r9d
1400160bc:	eb 0b                	jmp    0x1400160c9
1400160be:	8d 48 01             	lea    0x1(%rax),%ecx
1400160c1:	f0 41 0f b1 48 0c    	lock cmpxchg %ecx,0xc(%r8)
1400160c7:	74 09                	je     0x1400160d2
1400160c9:	41 8b 40 0c          	mov    0xc(%r8),%eax
1400160cd:	41 3b c1             	cmp    %r9d,%eax
1400160d0:	75 ec                	jne    0x1400160be
1400160d2:	4c 89 02             	mov    %r8,(%rdx)
1400160d5:	eb 5a                	jmp    0x140016131
1400160d7:	48 83 c1 f8          	add    $0xfffffffffffffff8,%rcx
1400160db:	e8 80 06 ff ff       	call   0x140006760
1400160e0:	4c 8b c0             	mov    %rax,%r8
1400160e3:	48 85 c0             	test   %rax,%rax
1400160e6:	75 07                	jne    0x1400160ef
1400160e8:	b8 0e 00 07 80       	mov    $0x8007000e,%eax
1400160ed:	eb 44                	jmp    0x140016133
1400160ef:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
1400160f6:	00 00 80
1400160f9:	41 89 70 10          	mov    %esi,0x10(%r8)
1400160fd:	49 8b d0             	mov    %r8,%rdx
140016100:	48 d1 fa             	sar    $1,%rdx
140016103:	48 0b d0             	or     %rax,%rdx
140016106:	48 8b c6             	mov    %rsi,%rax
140016109:	f0 48 0f b1 57 18    	lock cmpxchg %rdx,0x18(%rdi)
14001610f:	eb 18                	jmp    0x140016129
140016111:	48 85 f6             	test   %rsi,%rsi
140016114:	78 2e                	js     0x140016144
140016116:	48 8b ce             	mov    %rsi,%rcx
140016119:	41 89 70 10          	mov    %esi,0x10(%r8)
14001611d:	48 8b c6             	mov    %rsi,%rax
140016120:	f0 48 0f b1 57 18    	lock cmpxchg %rdx,0x18(%rdi)
140016126:	48 3b c1             	cmp    %rcx,%rax
140016129:	48 8b f0             	mov    %rax,%rsi
14001612c:	75 e3                	jne    0x140016111
14001612e:	4c 89 03             	mov    %r8,(%rbx)
140016131:	33 c0                	xor    %eax,%eax
140016133:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140016138:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
14001613d:	48 83 c4 20          	add    $0x20,%rsp
140016141:	5f                   	pop    %rdi
140016142:	c3                   	ret
140016143:	cc                   	int3
140016144:	48 8d 05 fd 93 00 00 	lea    0x93fd(%rip),%rax        # 0x14001f548
14001614b:	ba 20 00 00 00       	mov    $0x20,%edx
140016150:	49 89 00             	mov    %rax,(%r8)
140016153:	49 8b c8             	mov    %r8,%rcx
140016156:	b8 01 00 00 c0       	mov    $0xc0000001,%eax
14001615b:	41 89 40 10          	mov    %eax,0x10(%r8)
14001615f:	41 89 40 0c          	mov    %eax,0xc(%r8)
140016163:	e8 80 59 00 00       	call   0x14001bae8
140016168:	48 8d 14 36          	lea    (%rsi,%rsi,1),%rdx
14001616c:	41 b9 ff ff ff 7f    	mov    $0x7fffffff,%r9d
140016172:	eb 0a                	jmp    0x14001617e
140016174:	8d 48 01             	lea    0x1(%rax),%ecx
140016177:	f0 0f b1 4a 0c       	lock cmpxchg %ecx,0xc(%rdx)
14001617c:	74 08                	je     0x140016186
14001617e:	8b 42 0c             	mov    0xc(%rdx),%eax
140016181:	41 3b c1             	cmp    %r9d,%eax
140016184:	75 ee                	jne    0x140016174
140016186:	48 89 13             	mov    %rdx,(%rbx)
140016189:	eb a6                	jmp    0x140016131
14001618b:	cc                   	int3
14001618c:	cc                   	int3
14001618d:	cc                   	int3
14001618e:	cc                   	int3
14001618f:	cc                   	int3
140016190:	cc                   	int3
140016191:	cc                   	int3
140016192:	cc                   	int3
140016193:	cc                   	int3
140016194:	40 53                	rex push %rbx
140016196:	56                   	push   %rsi
140016197:	57                   	push   %rdi
140016198:	41 54                	push   %r12
14001619a:	41 55                	push   %r13
14001619c:	41 56                	push   %r14
14001619e:	41 57                	push   %r15
1400161a0:	48 83 ec 30          	sub    $0x30,%rsp
1400161a4:	4d 8b e8             	mov    %r8,%r13
1400161a7:	48 8b fa             	mov    %rdx,%rdi
1400161aa:	4c 8b f9             	mov    %rcx,%r15
1400161ad:	4c 8b f2             	mov    %rdx,%r14
1400161b0:	4c 2b 31             	sub    (%rcx),%r14
1400161b3:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400161b7:	48 2b 01             	sub    (%rcx),%rax
1400161ba:	48 c1 f8 04          	sar    $0x4,%rax
1400161be:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
1400161c5:	ff ff 0f
1400161c8:	49 3b c0             	cmp    %r8,%rax
1400161cb:	0f 84 b1 01 00 00    	je     0x140016382
1400161d1:	4c 8d 60 01          	lea    0x1(%rax),%r12
1400161d5:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400161d9:	49 2b 0f             	sub    (%r15),%rcx
1400161dc:	48 c1 f9 04          	sar    $0x4,%rcx
1400161e0:	48 8b d1             	mov    %rcx,%rdx
1400161e3:	48 d1 ea             	shr    $1,%rdx
1400161e6:	49 8b c0             	mov    %r8,%rax
1400161e9:	48 2b c2             	sub    %rdx,%rax
1400161ec:	48 3b c8             	cmp    %rax,%rcx
1400161ef:	76 05                	jbe    0x1400161f6
1400161f1:	49 8b f4             	mov    %r12,%rsi
1400161f4:	eb 0b                	jmp    0x140016201
1400161f6:	48 8d 34 0a          	lea    (%rdx,%rcx,1),%rsi
1400161fa:	49 3b f4             	cmp    %r12,%rsi
1400161fd:	49 0f 42 f4          	cmovb  %r12,%rsi
140016201:	48 89 b4 24 88 00 00 	mov    %rsi,0x88(%rsp)
140016208:	00
140016209:	48 8b c6             	mov    %rsi,%rax
14001620c:	48 c1 e0 04          	shl    $0x4,%rax
140016210:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
140016214:	49 3b f0             	cmp    %r8,%rsi
140016217:	48 0f 47 c2          	cmova  %rdx,%rax
14001621b:	48 3d 00 10 00 00    	cmp    $0x1000,%rax
140016221:	72 32                	jb     0x140016255
140016223:	48 8d 48 27          	lea    0x27(%rax),%rcx
140016227:	48 3b c8             	cmp    %rax,%rcx
14001622a:	48 0f 46 ca          	cmovbe %rdx,%rcx
14001622e:	e8 45 5f 00 00       	call   0x14001c178
140016233:	33 db                	xor    %ebx,%ebx
140016235:	48 85 c0             	test   %rax,%rax
140016238:	74 0e                	je     0x140016248
14001623a:	48 8d 50 27          	lea    0x27(%rax),%rdx
14001623e:	48 83 e2 e0          	and    $0xffffffffffffffe0,%rdx
140016242:	48 89 42 f8          	mov    %rax,-0x8(%rdx)
140016246:	eb 24                	jmp    0x14001626c
140016248:	48 ff 15 a9 9e 00 00 	rex.W call *0x9ea9(%rip)        # 0x1400200f8
14001624f:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
140016254:	cc                   	int3
140016255:	33 db                	xor    %ebx,%ebx
140016257:	48 85 c0             	test   %rax,%rax
14001625a:	74 0d                	je     0x140016269
14001625c:	48 8b c8             	mov    %rax,%rcx
14001625f:	e8 14 5f 00 00       	call   0x14001c178
140016264:	48 8b d0             	mov    %rax,%rdx
140016267:	eb 03                	jmp    0x14001626c
140016269:	48 8b d3             	mov    %rbx,%rdx
14001626c:	48 89 54 24 70       	mov    %rdx,0x70(%rsp)
140016271:	49 83 e6 f0          	and    $0xfffffffffffffff0,%r14
140016275:	49 8d 0c 16          	lea    (%r14,%rdx,1),%rcx
140016279:	4c 8d 41 10          	lea    0x10(%rcx),%r8
14001627d:	4c 89 44 24 20       	mov    %r8,0x20(%rsp)
140016282:	48 89 19             	mov    %rbx,(%rcx)
140016285:	48 89 59 08          	mov    %rbx,0x8(%rcx)
140016289:	49 8b 45 08          	mov    0x8(%r13),%rax
14001628d:	48 85 c0             	test   %rax,%rax
140016290:	74 04                	je     0x140016296
140016292:	f0 ff 40 08          	lock incl 0x8(%rax)
140016296:	49 8b 45 00          	mov    0x0(%r13),%rax
14001629a:	48 89 01             	mov    %rax,(%rcx)
14001629d:	49 8b 45 08          	mov    0x8(%r13),%rax
1400162a1:	48 89 41 08          	mov    %rax,0x8(%rcx)
1400162a5:	48 89 4c 24 78       	mov    %rcx,0x78(%rsp)
1400162aa:	4d 8b 57 08          	mov    0x8(%r15),%r10
1400162ae:	49 8b 0f             	mov    (%r15),%rcx
1400162b1:	49 3b fa             	cmp    %r10,%rdi
1400162b4:	75 30                	jne    0x1400162e6
1400162b6:	4c 8b c2             	mov    %rdx,%r8
1400162b9:	eb 24                	jmp    0x1400162df
1400162bb:	49 89 18             	mov    %rbx,(%r8)
1400162be:	49 89 58 08          	mov    %rbx,0x8(%r8)
1400162c2:	48 8b 01             	mov    (%rcx),%rax
1400162c5:	49 89 00             	mov    %rax,(%r8)
1400162c8:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400162cc:	49 89 40 08          	mov    %rax,0x8(%r8)
1400162d0:	48 89 19             	mov    %rbx,(%rcx)
1400162d3:	48 89 59 08          	mov    %rbx,0x8(%rcx)
1400162d7:	4d 8d 40 10          	lea    0x10(%r8),%r8
1400162db:	48 83 c1 10          	add    $0x10,%rcx
1400162df:	49 3b ca             	cmp    %r10,%rcx
1400162e2:	75 d7                	jne    0x1400162bb
1400162e4:	eb 77                	jmp    0x14001635d
1400162e6:	4c 8b ca             	mov    %rdx,%r9
1400162e9:	48 3b cf             	cmp    %rdi,%rcx
1400162ec:	74 2d                	je     0x14001631b
1400162ee:	49 89 19             	mov    %rbx,(%r9)
1400162f1:	49 89 59 08          	mov    %rbx,0x8(%r9)
1400162f5:	48 8b 01             	mov    (%rcx),%rax
1400162f8:	49 89 01             	mov    %rax,(%r9)
1400162fb:	48 8b 41 08          	mov    0x8(%rcx),%rax
1400162ff:	49 89 41 08          	mov    %rax,0x8(%r9)
140016303:	48 89 19             	mov    %rbx,(%rcx)
140016306:	48 89 59 08          	mov    %rbx,0x8(%rcx)
14001630a:	4d 8d 49 10          	lea    0x10(%r9),%r9
14001630e:	48 83 c1 10          	add    $0x10,%rcx
140016312:	48 3b cf             	cmp    %rdi,%rcx
140016315:	75 d7                	jne    0x1400162ee
140016317:	4d 8b 57 08          	mov    0x8(%r15),%r10
14001631b:	48 89 54 24 78       	mov    %rdx,0x78(%rsp)
140016320:	49 3b fa             	cmp    %r10,%rdi
140016323:	74 38                	je     0x14001635d
140016325:	49 2b fe             	sub    %r14,%rdi
140016328:	48 2b fa             	sub    %rdx,%rdi
14001632b:	49 89 18             	mov    %rbx,(%r8)
14001632e:	49 89 58 08          	mov    %rbx,0x8(%r8)
140016332:	4a 8b 44 07 f0       	mov    -0x10(%rdi,%r8,1),%rax
140016337:	49 89 00             	mov    %rax,(%r8)
14001633a:	4a 8b 44 07 f8       	mov    -0x8(%rdi,%r8,1),%rax
14001633f:	49 89 40 08          	mov    %rax,0x8(%r8)
140016343:	4a 89 5c 07 f0       	mov    %rbx,-0x10(%rdi,%r8,1)
140016348:	4a 89 5c 07 f8       	mov    %rbx,-0x8(%rdi,%r8,1)
14001634d:	49 83 c0 10          	add    $0x10,%r8
140016351:	48 8d 47 f0          	lea    -0x10(%rdi),%rax
140016355:	49 03 c0             	add    %r8,%rax
140016358:	49 3b c2             	cmp    %r10,%rax
14001635b:	75 ce                	jne    0x14001632b
14001635d:	4c 8b ce             	mov    %rsi,%r9
140016360:	4d 8b c4             	mov    %r12,%r8
140016363:	49 8b cf             	mov    %r15,%rcx
140016366:	e8 71 0b 00 00       	call   0x140016edc
14001636b:	49 8b 07             	mov    (%r15),%rax
14001636e:	49 03 c6             	add    %r14,%rax
140016371:	48 83 c4 30          	add    $0x30,%rsp
140016375:	41 5f                	pop    %r15
140016377:	41 5e                	pop    %r14
140016379:	41 5d                	pop    %r13
14001637b:	41 5c                	pop    %r12
14001637d:	5f                   	pop    %rdi
14001637e:	5e                   	pop    %rsi
14001637f:	5b                   	pop    %rbx
140016380:	c3                   	ret
140016381:	cc                   	int3
140016382:	e8 51 53 ff ff       	call   0x14000b6d8
140016387:	cc                   	int3
140016388:	cc                   	int3
140016389:	cc                   	int3
14001638a:	cc                   	int3
14001638b:	cc                   	int3
14001638c:	cc                   	int3
14001638d:	cc                   	int3
14001638e:	cc                   	int3
14001638f:	cc                   	int3
140016390:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140016395:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
14001639a:	57                   	push   %rdi
14001639b:	41 54                	push   %r12
14001639d:	41 55                	push   %r13
14001639f:	41 56                	push   %r14
1400163a1:	41 57                	push   %r15
1400163a3:	48 83 ec 20          	sub    $0x20,%rsp
1400163a7:	4d 8b e8             	mov    %r8,%r13
1400163aa:	4c 8b e2             	mov    %rdx,%r12
1400163ad:	48 8b f9             	mov    %rcx,%rdi
1400163b0:	4c 8b f2             	mov    %rdx,%r14
1400163b3:	4c 2b 31             	sub    (%rcx),%r14
1400163b6:	48 8b 71 08          	mov    0x8(%rcx),%rsi
1400163ba:	48 2b 31             	sub    (%rcx),%rsi
1400163bd:	48 c1 fe 04          	sar    $0x4,%rsi
1400163c1:	49 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%r8
1400163c8:	ff ff 0f
1400163cb:	49 3b f0             	cmp    %r8,%rsi
1400163ce:	0f 84 4e 01 00 00    	je     0x140016522
1400163d4:	48 ff c6             	inc    %rsi
1400163d7:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400163db:	48 2b 0f             	sub    (%rdi),%rcx
1400163de:	48 c1 f9 04          	sar    $0x4,%rcx
1400163e2:	48 8b d1             	mov    %rcx,%rdx
1400163e5:	48 d1 ea             	shr    $1,%rdx
1400163e8:	49 8b c0             	mov    %r8,%rax
1400163eb:	48 2b c2             	sub    %rdx,%rax
1400163ee:	48 3b c8             	cmp    %rax,%rcx
1400163f1:	76 05                	jbe    0x1400163f8
1400163f3:	48 8b c6             	mov    %rsi,%rax
1400163f6:	eb 0b                	jmp    0x140016403
1400163f8:	48 8d 04 0a          	lea    (%rdx,%rcx,1),%rax
1400163fc:	48 3b c6             	cmp    %rsi,%rax
1400163ff:	48 0f 42 c6          	cmovb  %rsi,%rax
140016403:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140016408:	4c 8b f8             	mov    %rax,%r15
14001640b:	49 c1 e7 04          	shl    $0x4,%r15
14001640f:	49 8b d7             	mov    %r15,%rdx