140016000:	44 0f b6 c2          	movzbl %dl,%r8d
140016004:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
140016009:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
14001600e:	ba 01 00 00 00       	mov    $0x1,%edx
140016013:	48 8b 01             	mov    (%rcx),%rax
140016016:	48 8b 40 38          	mov    0x38(%rax),%rax
14001601a:	ff 15 28 51 01 00    	call   *0x15128(%rip)        # 0x14002b148
140016020:	8b d8                	mov    %eax,%ebx
140016022:	85 c0                	test   %eax,%eax
140016024:	79 1d                	jns    0x140016043
140016026:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
14001602b:	4c 8d 05 f6 6f 01 00 	lea    0x16ff6(%rip),%r8        # 0x14002d028
140016032:	44 8b c8             	mov    %eax,%r9d
140016035:	ba 35 04 00 00       	mov    $0x435,%edx
14001603a:	e8 05 d9 fe ff       	call   0x140003944
14001603f:	8b c3                	mov    %ebx,%eax
140016041:	eb 0f                	jmp    0x140016052
140016043:	8b 44 24 48          	mov    0x48(%rsp),%eax
140016047:	2b c7                	sub    %edi,%eax
140016049:	f7 d8                	neg    %eax
14001604b:	1b c0                	sbb    %eax,%eax
14001604d:	25 05 40 00 80       	and    $0x80004005,%eax
140016052:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140016057:	48 83 c4 30          	add    $0x30,%rsp
14001605b:	5f                   	pop    %rdi
14001605c:	c3                   	ret
14001605d:	cc                   	int3
14001605e:	cc                   	int3
14001605f:	cc                   	int3
140016060:	cc                   	int3
140016061:	cc                   	int3
140016062:	cc                   	int3
140016063:	cc                   	int3
140016064:	40 56                	rex push %rsi
140016066:	57                   	push   %rdi
140016067:	41 56                	push   %r14
140016069:	48 83 ec 40          	sub    $0x40,%rsp
14001606d:	48 c7 44 24 30 fe ff 	movq   $0xfffffffffffffffe,0x30(%rsp)
140016074:	ff ff
140016076:	48 89 5c 24 68       	mov    %rbx,0x68(%rsp)
14001607b:	48 89 6c 24 70       	mov    %rbp,0x70(%rsp)
140016080:	4c 8b f2             	mov    %rdx,%r14
140016083:	4c 8b 41 38          	mov    0x38(%rcx),%r8
140016087:	4c 8b 49 40          	mov    0x40(%rcx),%r9
14001608b:	4d 3b c1             	cmp    %r9,%r8
14001608e:	75 0a                	jne    0x14001609a
140016090:	b8 01 00 00 00       	mov    $0x1,%eax
140016095:	e9 61 01 00 00       	jmp    0x1400161fb
14001609a:	33 ed                	xor    %ebp,%ebp
14001609c:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
1400160a1:	49 8b 78 18          	mov    0x18(%r8),%rdi
1400160a5:	8b f5                	mov    %ebp,%esi
1400160a7:	44 8b d5             	mov    %ebp,%r10d
1400160aa:	4d 2b c8             	sub    %r8,%r9
1400160ad:	48 b8 67 66 66 66 66 	movabs $0x6666666666666667,%rax
1400160b4:	66 66 66
1400160b7:	49 f7 e9             	imul   %r9
1400160ba:	48 c1 fa 04          	sar    $0x4,%rdx
1400160be:	48 8b c2             	mov    %rdx,%rax
1400160c1:	48 c1 e8 3f          	shr    $0x3f,%rax
1400160c5:	48 03 d0             	add    %rax,%rdx
1400160c8:	74 16                	je     0x1400160e0
1400160ca:	41 83 38 04          	cmpl   $0x4,(%r8)
1400160ce:	74 1b                	je     0x1400160eb
1400160d0:	49 03 70 18          	add    0x18(%r8),%rsi
1400160d4:	49 ff c2             	inc    %r10
1400160d7:	49 83 c0 28          	add    $0x28,%r8
1400160db:	4c 3b d2             	cmp    %rdx,%r10
1400160de:	72 ea                	jb     0x1400160ca
1400160e0:	48 8b f5             	mov    %rbp,%rsi
1400160e3:	48 83 fa 01          	cmp    $0x1,%rdx
1400160e7:	48 0f 44 fd          	cmove  %rbp,%rdi
1400160eb:	48 8b 49 10          	mov    0x10(%rcx),%rcx
1400160ef:	48 8b 01             	mov    (%rcx),%rax
1400160f2:	4c 8d 44 24 60       	lea    0x60(%rsp),%r8
1400160f7:	ba 04 00 00 00       	mov    $0x4,%edx
1400160fc:	48 8b 40 30          	mov    0x30(%rax),%rax
140016100:	ff 15 42 50 01 00    	call   *0x15042(%rip)        # 0x14002b148
140016106:	8b d8                	mov    %eax,%ebx
140016108:	85 c0                	test   %eax,%eax
14001610a:	79 0a                	jns    0x140016116
14001610c:	ba cc 04 00 00       	mov    $0x4cc,%edx
140016111:	e9 8d 00 00 00       	jmp    0x1400161a3
140016116:	48 85 f6             	test   %rsi,%rsi
140016119:	74 1c                	je     0x140016137
14001611b:	44 8b c6             	mov    %esi,%r8d
14001611e:	b2 01                	mov    $0x1,%dl
140016120:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140016125:	e8 ee fd ff ff       	call   0x140015f18
14001612a:	8b d8                	mov    %eax,%ebx
14001612c:	85 c0                	test   %eax,%eax
14001612e:	79 07                	jns    0x140016137
140016130:	ba d0 04 00 00       	mov    $0x4d0,%edx
140016135:	eb 6c                	jmp    0x1400161a3
140016137:	48 85 ff             	test   %rdi,%rdi
14001613a:	74 7d                	je     0x1400161b9
14001613c:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
140016141:	48 8b 01             	mov    (%rcx),%rax
140016144:	45 33 c9             	xor    %r9d,%r9d
140016147:	4c 8b c1             	mov    %rcx,%r8
14001614a:	41 8d 51 01          	lea    0x1(%r9),%edx
14001614e:	48 8b 40 30          	mov    0x30(%rax),%rax
140016152:	ff 15 f0 4f 01 00    	call   *0x14ff0(%rip)        # 0x14002b148
140016158:	8b d8                	mov    %eax,%ebx
14001615a:	85 c0                	test   %eax,%eax
14001615c:	79 1b                	jns    0x140016179
14001615e:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140016163:	44 8b c8             	mov    %eax,%r9d
140016166:	4c 8d 05 bb 6e 01 00 	lea    0x16ebb(%rip),%r8        # 0x14002d028
14001616d:	ba 3b 04 00 00       	mov    $0x43b,%edx
140016172:	e8 cd d7 fe ff       	call   0x140003944
140016177:	eb 02                	jmp    0x14001617b
140016179:	8b dd                	mov    %ebp,%ebx
14001617b:	85 db                	test   %ebx,%ebx
14001617d:	79 0a                	jns    0x140016189
14001617f:	44 8b cb             	mov    %ebx,%r9d
140016182:	ba d5 04 00 00       	mov    $0x4d5,%edx
140016187:	eb 1d                	jmp    0x1400161a6
140016189:	44 8b c7             	mov    %edi,%r8d
14001618c:	b2 01                	mov    $0x1,%dl
14001618e:	48 8d 4c 24 60       	lea    0x60(%rsp),%rcx
140016193:	e8 50 fe ff ff       	call   0x140015fe8
140016198:	8b d8                	mov    %eax,%ebx
14001619a:	85 c0                	test   %eax,%eax
14001619c:	79 1b                	jns    0x1400161b9
14001619e:	ba d6 04 00 00       	mov    $0x4d6,%edx
1400161a3:	44 8b c8             	mov    %eax,%r9d
1400161a6:	4c 8d 05 7b 6e 01 00 	lea    0x16e7b(%rip),%r8        # 0x14002d028
1400161ad:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
1400161b2:	e8 8d d7 fe ff       	call   0x140003944
1400161b7:	eb 24                	jmp    0x1400161dd
1400161b9:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1400161be:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
1400161c3:	49 8b 0e             	mov    (%r14),%rcx
1400161c6:	48 85 c9             	test   %rcx,%rcx
1400161c9:	74 0d                	je     0x1400161d8
1400161cb:	48 8b 01             	mov    (%rcx),%rax
1400161ce:	48 8b 40 10          	mov    0x10(%rax),%rax
1400161d2:	ff 15 70 4f 01 00    	call   *0x14f70(%rip)        # 0x14002b148
1400161d8:	49 89 1e             	mov    %rbx,(%r14)
1400161db:	8b dd                	mov    %ebp,%ebx
1400161dd:	48 8b 4c 24 60       	mov    0x60(%rsp),%rcx
1400161e2:	48 85 c9             	test   %rcx,%rcx
1400161e5:	74 12                	je     0x1400161f9
1400161e7:	48 89 6c 24 60       	mov    %rbp,0x60(%rsp)
1400161ec:	48 8b 11             	mov    (%rcx),%rdx
1400161ef:	48 8b 42 10          	mov    0x10(%rdx),%rax
1400161f3:	ff 15 4f 4f 01 00    	call   *0x14f4f(%rip)        # 0x14002b148
1400161f9:	8b c3                	mov    %ebx,%eax
1400161fb:	48 8b 5c 24 68       	mov    0x68(%rsp),%rbx
140016200:	48 8b 6c 24 70       	mov    0x70(%rsp),%rbp
140016205:	48 83 c4 40          	add    $0x40,%rsp
140016209:	41 5e                	pop    %r14
14001620b:	5f                   	pop    %rdi
14001620c:	5e                   	pop    %rsi
14001620d:	c3                   	ret
14001620e:	cc                   	int3
14001620f:	cc                   	int3
140016210:	cc                   	int3
140016211:	cc                   	int3
140016212:	cc                   	int3
140016213:	cc                   	int3
140016214:	cc                   	int3
140016215:	cc                   	int3
140016216:	cc                   	int3
140016217:	cc                   	int3
140016218:	cc                   	int3
140016219:	cc                   	int3
14001621a:	cc                   	int3
14001621b:	cc                   	int3
14001621c:	cc                   	int3
14001621d:	cc                   	int3
14001621e:	cc                   	int3
14001621f:	cc                   	int3
140016220:	4c 8b dc             	mov    %rsp,%r11
140016223:	55                   	push   %rbp
140016224:	56                   	push   %rsi
140016225:	57                   	push   %rdi
140016226:	48 83 ec 60          	sub    $0x60,%rsp
14001622a:	49 c7 43 c0 fe ff ff 	movq   $0xfffffffffffffffe,-0x40(%r11)
140016231:	ff
140016232:	49 89 5b 20          	mov    %rbx,0x20(%r11)
140016236:	48 8b 05 fb 11 02 00 	mov    0x211fb(%rip),%rax        # 0x140037438
14001623d:	48 33 c4             	xor    %rsp,%rax
140016240:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
140016245:	49 8b e8             	mov    %r8,%rbp
140016248:	8b f2                	mov    %edx,%esi
14001624a:	48 8b f9             	mov    %rcx,%rdi
14001624d:	f6 05 ae 1d 02 00 08 	testb  $0x8,0x21dae(%rip)        # 0x140038002
140016254:	74 15                	je     0x14001626b
140016256:	49 8d 43 c8          	lea    -0x38(%r11),%rax
14001625a:	49 89 43 a8          	mov    %rax,-0x58(%r11)
14001625e:	48 8d 15 9b 67 01 00 	lea    0x1679b(%rip),%rdx        # 0x14002ca00
140016265:	e8 0e 80 ff ff       	call   0x14000e278
14001626a:	90                   	nop
14001626b:	48 83 7f 10 00       	cmpq   $0x0,0x10(%rdi)
140016270:	75 0a                	jne    0x14001627c
140016272:	bb ff ff 00 80       	mov    $0x8000ffff,%ebx
140016277:	e9 d2 00 00 00       	jmp    0x14001634e
14001627c:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
140016282:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
140016287:	48 8b cf             	mov    %rdi,%rcx
14001628a:	e8 d5 fd ff ff       	call   0x140016064
14001628f:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
140016294:	85 c0                	test   %eax,%eax
140016296:	78 05                	js     0x14001629d
140016298:	4d 85 c9             	test   %r9,%r9
14001629b:	75 4b                	jne    0x1400162e8
14001629d:	48 8b 5f 10          	mov    0x10(%rdi),%rbx
1400162a1:	4d 85 c9             	test   %r9,%r9
1400162a4:	74 16                	je     0x1400162bc
1400162a6:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
1400162ac:	49 8b 01             	mov    (%r9),%rax
1400162af:	49 8b c9             	mov    %r9,%rcx
1400162b2:	48 8b 40 10          	mov    0x10(%rax),%rax
1400162b6:	ff 15 8c 4e 01 00    	call   *0x14e8c(%rip)        # 0x14002b148
1400162bc:	48 8b 03             	mov    (%rbx),%rax
1400162bf:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
1400162c4:	ba 03 00 00 00       	mov    $0x3,%edx
1400162c9:	48 8b cb             	mov    %rbx,%rcx
1400162cc:	48 8b 40 30          	mov    0x30(%rax),%rax
1400162d0:	ff 15 72 4e 01 00    	call   *0x14e72(%rip)        # 0x14002b148
1400162d6:	8b d8                	mov    %eax,%ebx
1400162d8:	85 c0                	test   %eax,%eax
1400162da:	79 07                	jns    0x1400162e3
1400162dc:	ba 6d 03 00 00       	mov    $0x36d,%edx
1400162e1:	eb 35                	jmp    0x140016318
1400162e3:	4c 8b 4c 24 30       	mov    0x30(%rsp),%r9
1400162e8:	8a 47 54             	mov    0x54(%rdi),%al
1400162eb:	f6 d8                	neg    %al
1400162ed:	1b c9                	sbb    %ecx,%ecx
1400162ef:	83 e1 40             	and    $0x40,%ecx
1400162f2:	8d 51 40             	lea    0x40(%rcx),%edx
1400162f5:	0b d6                	or     %esi,%edx
1400162f7:	49 8b 01             	mov    (%r9),%rax
1400162fa:	4c 8b c5             	mov    %rbp,%r8
1400162fd:	49 8b c9             	mov    %r9,%rcx
140016300:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
140016307:	ff 15 3b 4e 01 00    	call   *0x14e3b(%rip)        # 0x14002b148
14001630d:	8b d8                	mov    %eax,%ebx
14001630f:	85 c0                	test   %eax,%eax
140016311:	79 1b                	jns    0x14001632e
140016313:	ba 73 03 00 00       	mov    $0x373,%edx
140016318:	4c 8d 05 09 6d 01 00 	lea    0x16d09(%rip),%r8        # 0x14002d028
14001631f:	44 8b c8             	mov    %eax,%r9d
140016322:	48 8b 4c 24 78       	mov    0x78(%rsp),%rcx
140016327:	e8 18 d6 fe ff       	call   0x140003944
14001632c:	eb 02                	jmp    0x140016330
14001632e:	33 db                	xor    %ebx,%ebx
140016330:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
140016335:	48 85 c9             	test   %rcx,%rcx
140016338:	74 14                	je     0x14001634e
14001633a:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
140016340:	48 8b 01             	mov    (%rcx),%rax
140016343:	48 8b 40 10          	mov    0x10(%rax),%rax
140016347:	ff 15 fb 4d 01 00    	call   *0x14dfb(%rip)        # 0x14002b148
14001634d:	90                   	nop
14001634e:	f6 05 ad 1c 02 00 08 	testb  $0x8,0x21cad(%rip)        # 0x140038002
140016355:	74 16                	je     0x14001636d
140016357:	48 8d 44 24 40       	lea    0x40(%rsp),%rax
14001635c:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140016361:	48 8d 15 08 68 01 00 	lea    0x16808(%rip),%rdx        # 0x14002cb70
140016368:	e8 0b 7f ff ff       	call   0x14000e278
14001636d:	8b c3                	mov    %ebx,%eax
14001636f:	48 8b 4c 24 58       	mov    0x58(%rsp),%rcx
140016374:	48 33 cc             	xor    %rsp,%rcx
140016377:	e8 24 e5 00 00       	call   0x1400248a0
14001637c:	48 8b 9c 24 98 00 00 	mov    0x98(%rsp),%rbx
140016383:	00
140016384:	48 83 c4 60          	add    $0x60,%rsp
140016388:	5f                   	pop    %rdi
140016389:	5e                   	pop    %rsi
14001638a:	5d                   	pop    %rbp
14001638b:	c3                   	ret
14001638c:	cc                   	int3
14001638d:	cc                   	int3
14001638e:	cc                   	int3
14001638f:	cc                   	int3
140016390:	cc                   	int3
140016391:	cc                   	int3
140016392:	cc                   	int3
140016393:	cc                   	int3
140016394:	cc                   	int3
140016395:	cc                   	int3
140016396:	cc                   	int3
140016397:	cc                   	int3
140016398:	cc                   	int3
140016399:	cc                   	int3
14001639a:	cc                   	int3
14001639b:	cc                   	int3
14001639c:	cc                   	int3
14001639d:	cc                   	int3
14001639e:	cc                   	int3
14001639f:	cc                   	int3
1400163a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400163a5:	57                   	push   %rdi
1400163a6:	48 83 ec 20          	sub    $0x20,%rsp
1400163aa:	8b da                	mov    %edx,%ebx
1400163ac:	48 8b f9             	mov    %rcx,%rdi
1400163af:	e8 2c 00 00 00       	call   0x1400163e0
1400163b4:	f6 c3 01             	test   $0x1,%bl
1400163b7:	74 0f                	je     0x1400163c8
1400163b9:	48 8b cf             	mov    %rdi,%rcx
1400163bc:	48 ff 15 65 4b 01 00 	rex.W call *0x14b65(%rip)        # 0x14002af28
1400163c3:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
1400163c8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400163cd:	48 8b c7             	mov    %rdi,%rax
1400163d0:	48 83 c4 20          	add    $0x20,%rsp
1400163d4:	5f                   	pop    %rdi
1400163d5:	c3                   	ret
1400163d6:	cc                   	int3
1400163d7:	cc                   	int3
1400163d8:	cc                   	int3
1400163d9:	cc                   	int3
1400163da:	cc                   	int3
1400163db:	cc                   	int3
1400163dc:	cc                   	int3
1400163dd:	cc                   	int3
1400163de:	cc                   	int3
1400163df:	cc                   	int3
1400163e0:	40 53                	rex push %rbx
1400163e2:	48 83 ec 30          	sub    $0x30,%rsp
1400163e6:	48 c7 44 24 20 fe ff 	movq   $0xfffffffffffffffe,0x20(%rsp)
1400163ed:	ff ff
1400163ef:	48 8b d9             	mov    %rcx,%rbx
1400163f2:	48 8d 05 f7 3d 01 00 	lea    0x13df7(%rip),%rax        # 0x14002a1f0
1400163f9:	48 89 01             	mov    %rax,(%rcx)
1400163fc:	48 83 c1 38          	add    $0x38,%rcx
140016400:	e8 5b 00 00 00       	call   0x140016460
140016405:	90                   	nop
140016406:	48 83 7b 30 08       	cmpq   $0x8,0x30(%rbx)
14001640b:	72 11                	jb     0x14001641e
14001640d:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
140016411:	48 ff 15 10 4b 01 00 	rex.W call *0x14b10(%rip)        # 0x14002af28
140016418:	0f 1f 44 00 00       	nopl   0x0(%rax,%rax,1)
14001641d:	90                   	nop
14001641e:	48 c7 43 30 07 00 00 	movq   $0x7,0x30(%rbx)
140016425:	00
140016426:	33 c0                	xor    %eax,%eax
140016428:	48 89 43 28          	mov    %rax,0x28(%rbx)
14001642c:	66 89 43 18          	mov    %ax,0x18(%rbx)
140016430:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140016434:	48 85 c9             	test   %rcx,%rcx
140016437:	74 12                	je     0x14001644b
140016439:	48 89 43 10          	mov    %rax,0x10(%rbx)
14001643d:	48 8b 01             	mov    (%rcx),%rax
140016440:	48 8b 40 10          	mov    0x10(%rax),%rax
140016444:	ff 15 fe 4c 01 00    	call   *0x14cfe(%rip)        # 0x14002b148
14001644a:	90                   	nop
14001644b:	c7 43 0c 01 00 00 c0 	movl   $0xc0000001,0xc(%rbx)