140018f3e:	4c 8b c7             	mov    %rdi,%r8
140018f41:	33 d2                	xor    %edx,%edx
140018f43:	e8 18 44 00 00       	call   0x14001d360
140018f48:	48 85 f6             	test   %rsi,%rsi
140018f4b:	74 c5                	je     0x140018f12
140018f4d:	48 3b fb             	cmp    %rbx,%rdi
140018f50:	73 0c                	jae    0x140018f5e
140018f52:	e8 f1 7f ff ff       	call   0x140010f48
140018f57:	bb 22 00 00 00       	mov    $0x22,%ebx
140018f5c:	eb be                	jmp    0x140018f1c
140018f5e:	b8 16 00 00 00       	mov    $0x16,%eax
140018f63:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140018f68:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140018f6d:	48 83 c4 20          	add    $0x20,%rsp
140018f71:	5f                   	pop    %rdi
140018f72:	c3                   	ret
140018f73:	cc                   	int3
140018f74:	48 83 ec 28          	sub    $0x28,%rsp
140018f78:	e8 7b 21 00 00       	call   0x14001b0f8
140018f7d:	8b c8                	mov    %eax,%ecx
140018f7f:	48 83 c4 28          	add    $0x28,%rsp
140018f83:	e9 64 21 00 00       	jmp    0x14001b0ec
140018f88:	33 c0                	xor    %eax,%eax
140018f8a:	4c 8b d1             	mov    %rcx,%r10
140018f8d:	48 85 c9             	test   %rcx,%rcx
140018f90:	75 09                	jne    0x140018f9b
140018f92:	49 89 00             	mov    %rax,(%r8)
140018f95:	b8 01 00 00 00       	mov    $0x1,%eax
140018f9a:	c3                   	ret
140018f9b:	85 d2                	test   %edx,%edx
140018f9d:	75 04                	jne    0x140018fa3
140018f9f:	88 01                	mov    %al,(%rcx)
140018fa1:	eb ef                	jmp    0x140018f92
140018fa3:	f7 c2 80 ff ff ff    	test   $0xffffff80,%edx
140018fa9:	75 04                	jne    0x140018faf
140018fab:	88 11                	mov    %dl,(%rcx)
140018fad:	eb e6                	jmp    0x140018f95
140018faf:	f7 c2 00 f8 ff ff    	test   $0xfffff800,%edx
140018fb5:	75 0a                	jne    0x140018fc1
140018fb7:	b9 01 00 00 00       	mov    $0x1,%ecx
140018fbc:	41 b1 c0             	mov    $0xc0,%r9b
140018fbf:	eb 37                	jmp    0x140018ff8
140018fc1:	f7 c2 00 00 ff ff    	test   $0xffff0000,%edx
140018fc7:	75 17                	jne    0x140018fe0
140018fc9:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
140018fcf:	3d ff 07 00 00       	cmp    $0x7ff,%eax
140018fd4:	76 49                	jbe    0x14001901f
140018fd6:	b9 02 00 00 00       	mov    $0x2,%ecx
140018fdb:	41 b1 e0             	mov    $0xe0,%r9b
140018fde:	eb 18                	jmp    0x140018ff8
140018fe0:	f7 c2 00 00 e0 ff    	test   $0xffe00000,%edx
140018fe6:	75 37                	jne    0x14001901f
140018fe8:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
140018fee:	77 2f                	ja     0x14001901f
140018ff0:	b9 03 00 00 00       	mov    $0x3,%ecx
140018ff5:	41 b1 f0             	mov    $0xf0,%r9b
140018ff8:	4c 8b d9             	mov    %rcx,%r11
140018ffb:	8a c2                	mov    %dl,%al
140018ffd:	c1 ea 06             	shr    $0x6,%edx
140019000:	24 3f                	and    $0x3f,%al
140019002:	0c 80                	or     $0x80,%al
140019004:	43 88 04 13          	mov    %al,(%r11,%r10,1)
140019008:	49 83 eb 01          	sub    $0x1,%r11
14001900c:	75 ed                	jne    0x140018ffb
14001900e:	41 0a d1             	or     %r9b,%dl
140019011:	41 88 12             	mov    %dl,(%r10)
140019014:	48 ff c1             	inc    %rcx
140019017:	49 8b d0             	mov    %r8,%rdx
14001901a:	e9 c1 23 00 00       	jmp    0x14001b3e0
14001901f:	49 8b d1             	mov    %r9,%rdx
140019022:	49 8b c8             	mov    %r8,%rcx
140019025:	e9 be 23 00 00       	jmp    0x14001b3e8
14001902a:	cc                   	int3
14001902b:	cc                   	int3
14001902c:	48 8b c4             	mov    %rsp,%rax
14001902f:	48 89 58 10          	mov    %rbx,0x10(%rax)
140019033:	48 89 68 18          	mov    %rbp,0x18(%rax)
140019037:	48 89 70 20          	mov    %rsi,0x20(%rax)
14001903b:	88 48 08             	mov    %cl,0x8(%rax)
14001903e:	57                   	push   %rdi
14001903f:	48 83 ec 20          	sub    $0x20,%rsp
140019043:	48 8b ca             	mov    %rdx,%rcx
140019046:	49 8b f0             	mov    %r8,%rsi
140019049:	48 8b da             	mov    %rdx,%rbx
14001904c:	e8 97 8a ff ff       	call   0x140011ae8
140019051:	8b 4b 14             	mov    0x14(%rbx),%ecx
140019054:	90                   	nop
140019055:	4c 63 d0             	movslq %eax,%r10
140019058:	f6 c1 c0             	test   $0xc0,%cl
14001905b:	0f 84 91 00 00 00    	je     0x1400190f2
140019061:	8b 3b                	mov    (%rbx),%edi
140019063:	33 ed                	xor    %ebp,%ebp
140019065:	48 8b 53 08          	mov    0x8(%rbx),%rdx
140019069:	2b 7b 08             	sub    0x8(%rbx),%edi
14001906c:	48 8d 42 01          	lea    0x1(%rdx),%rax
140019070:	48 89 03             	mov    %rax,(%rbx)
140019073:	8b 43 20             	mov    0x20(%rbx),%eax
140019076:	ff c8                	dec    %eax
140019078:	89 43 10             	mov    %eax,0x10(%rbx)
14001907b:	85 ff                	test   %edi,%edi
14001907d:	7e 1e                	jle    0x14001909d
14001907f:	4c 8b ce             	mov    %rsi,%r9
140019082:	44 8b c7             	mov    %edi,%r8d
140019085:	41 8b ca             	mov    %r10d,%ecx
140019088:	e8 8b 92 ff ff       	call   0x140012318
14001908d:	8b e8                	mov    %eax,%ebp
14001908f:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140019093:	3b ef                	cmp    %edi,%ebp
140019095:	8a 44 24 30          	mov    0x30(%rsp),%al
140019099:	88 01                	mov    %al,(%rcx)
14001909b:	eb 6e                	jmp    0x14001910b
14001909d:	41 8d 42 02          	lea    0x2(%r10),%eax
1400190a1:	83 f8 01             	cmp    $0x1,%eax
1400190a4:	76 22                	jbe    0x1400190c8
1400190a6:	49 8b ca             	mov    %r10,%rcx
1400190a9:	48 8d 15 40 8a 01 00 	lea    0x18a40(%rip),%rdx        # 0x140031af0
1400190b0:	49 8b c2             	mov    %r10,%rax
1400190b3:	48 c1 f8 06          	sar    $0x6,%rax
1400190b7:	83 e1 3f             	and    $0x3f,%ecx
1400190ba:	48 8b 04 c2          	mov    (%rdx,%rax,8),%rax
1400190be:	48 8d 0c c9          	lea    (%rcx,%rcx,8),%rcx
1400190c2:	48 8d 14 c8          	lea    (%rax,%rcx,8),%rdx
1400190c6:	eb 07                	jmp    0x1400190cf
1400190c8:	48 8d 15 01 68 01 00 	lea    0x16801(%rip),%rdx        # 0x14002f8d0
1400190cf:	f6 42 38 20          	testb  $0x20,0x38(%rdx)
1400190d3:	74 ba                	je     0x14001908f
1400190d5:	33 d2                	xor    %edx,%edx
1400190d7:	41 8b ca             	mov    %r10d,%ecx
1400190da:	44 8d 42 02          	lea    0x2(%rdx),%r8d
1400190de:	e8 31 e2 ff ff       	call   0x140017314
1400190e3:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400190e7:	75 a6                	jne    0x14001908f
1400190e9:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
1400190ee:	b0 01                	mov    $0x1,%al
1400190f0:	eb 1c                	jmp    0x14001910e
1400190f2:	4c 8b ce             	mov    %rsi,%r9
1400190f5:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1400190fa:	41 b8 01 00 00 00    	mov    $0x1,%r8d
140019100:	41 8b ca             	mov    %r10d,%ecx
140019103:	e8 10 92 ff ff       	call   0x140012318
140019108:	83 f8 01             	cmp    $0x1,%eax
14001910b:	0f 94 c0             	sete   %al
14001910e:	48 8b 5c 24 38       	mov    0x38(%rsp),%rbx
140019113:	48 8b 6c 24 40       	mov    0x40(%rsp),%rbp
140019118:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
14001911d:	48 83 c4 20          	add    $0x20,%rsp
140019121:	5f                   	pop    %rdi
140019122:	c3                   	ret
140019123:	cc                   	int3
140019124:	40 53                	rex push %rbx
140019126:	48 83 ec 20          	sub    $0x20,%rsp
14001912a:	8b 51 14             	mov    0x14(%rcx),%edx
14001912d:	90                   	nop
14001912e:	c1 ea 03             	shr    $0x3,%edx
140019131:	f6 c2 01             	test   $0x1,%dl
140019134:	74 04                	je     0x14001913a
140019136:	b0 01                	mov    $0x1,%al
140019138:	eb 60                	jmp    0x14001919a
14001913a:	8b 41 14             	mov    0x14(%rcx),%eax
14001913d:	90                   	nop
14001913e:	a8 c0                	test   $0xc0,%al
140019140:	74 09                	je     0x14001914b
140019142:	48 8b 41 08          	mov    0x8(%rcx),%rax
140019146:	48 39 01             	cmp    %rax,(%rcx)
140019149:	74 4d                	je     0x140019198
14001914b:	8b 49 18             	mov    0x18(%rcx),%ecx
14001914e:	90                   	nop
14001914f:	e8 a0 cf ff ff       	call   0x1400160f4
140019154:	48 8b d8             	mov    %rax,%rbx
140019157:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14001915b:	74 3b                	je     0x140019198
14001915d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140019163:	4c 8d 44 24 38       	lea    0x38(%rsp),%r8
140019168:	33 d2                	xor    %edx,%edx
14001916a:	48 8b c8             	mov    %rax,%rcx
14001916d:	ff 15 bd 50 00 00    	call   *0x50bd(%rip)        # 0x14001e230
140019173:	85 c0                	test   %eax,%eax
140019175:	74 21                	je     0x140019198
140019177:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
14001917c:	48 8b cb             	mov    %rbx,%rcx
14001917f:	ff 15 b3 50 00 00    	call   *0x50b3(%rip)        # 0x14001e238
140019185:	85 c0                	test   %eax,%eax
140019187:	74 0f                	je     0x140019198
140019189:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
14001918e:	48 39 44 24 38       	cmp    %rax,0x38(%rsp)
140019193:	0f 94 c0             	sete   %al
140019196:	eb 02                	jmp    0x14001919a
140019198:	32 c0                	xor    %al,%al
14001919a:	48 83 c4 20          	add    $0x20,%rsp
14001919e:	5b                   	pop    %rbx
14001919f:	c3                   	ret
1400191a0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1400191a5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1400191aa:	57                   	push   %rdi
1400191ab:	48 83 ec 20          	sub    $0x20,%rsp
1400191af:	8b f1                	mov    %ecx,%esi
1400191b1:	49 8b f8             	mov    %r8,%rdi
1400191b4:	48 8b ca             	mov    %rdx,%rcx
1400191b7:	48 8b da             	mov    %rdx,%rbx
1400191ba:	e8 29 89 ff ff       	call   0x140011ae8
1400191bf:	8b 43 14             	mov    0x14(%rbx),%eax
1400191c2:	90                   	nop
1400191c3:	a8 06                	test   $0x6,%al
1400191c5:	75 15                	jne    0x1400191dc
1400191c7:	c7 47 2c 09 00 00 00 	movl   $0x9,0x2c(%rdi)
1400191ce:	c6 47 30 01          	movb   $0x1,0x30(%rdi)
1400191d2:	f0 83 4b 14 10       	lock orl $0x10,0x14(%rbx)
1400191d7:	83 c8 ff             	or     $0xffffffff,%eax
1400191da:	eb 7f                	jmp    0x14001925b
1400191dc:	8b 43 14             	mov    0x14(%rbx),%eax
1400191df:	90                   	nop
1400191e0:	c1 e8 0c             	shr    $0xc,%eax
1400191e3:	a8 01                	test   $0x1,%al
1400191e5:	74 09                	je     0x1400191f0
1400191e7:	c7 47 2c 22 00 00 00 	movl   $0x22,0x2c(%rdi)
1400191ee:	eb de                	jmp    0x1400191ce
1400191f0:	8b 43 14             	mov    0x14(%rbx),%eax
1400191f3:	90                   	nop
1400191f4:	a8 01                	test   $0x1,%al
1400191f6:	74 1c                	je     0x140019214
1400191f8:	48 8b cb             	mov    %rbx,%rcx
1400191fb:	e8 24 ff ff ff       	call   0x140019124
140019200:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140019204:	84 c0                	test   %al,%al
140019206:	74 ca                	je     0x1400191d2
140019208:	48 8b 43 08          	mov    0x8(%rbx),%rax
14001920c:	48 89 03             	mov    %rax,(%rbx)
14001920f:	f0 83 63 14 fe       	lock andl $0xfffffffe,0x14(%rbx)
140019214:	f0 83 4b 14 02       	lock orl $0x2,0x14(%rbx)
140019219:	f0 83 63 14 f7       	lock andl $0xfffffff7,0x14(%rbx)
14001921e:	83 63 10 00          	andl   $0x0,0x10(%rbx)
140019222:	8b 43 14             	mov    0x14(%rbx),%eax
140019225:	90                   	nop
140019226:	a9 c0 04 00 00       	test   $0x4c0,%eax
14001922b:	75 14                	jne    0x140019241
14001922d:	48 8b cb             	mov    %rbx,%rcx
140019230:	e8 bf aa ff ff       	call   0x140013cf4
140019235:	84 c0                	test   %al,%al
140019237:	75 08                	jne    0x140019241
140019239:	48 8b cb             	mov    %rbx,%rcx
14001923c:	e8 bb 21 00 00       	call   0x14001b3fc
140019241:	4c 8b c7             	mov    %rdi,%r8
140019244:	48 8b d3             	mov    %rbx,%rdx
140019247:	40 8a ce             	mov    %sil,%cl
14001924a:	e8 dd fd ff ff       	call   0x14001902c
14001924f:	84 c0                	test   %al,%al
140019251:	0f 84 7b ff ff ff    	je     0x1400191d2
140019257:	40 0f b6 c6          	movzbl %sil,%eax
14001925b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140019260:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140019265:	48 83 c4 20          	add    $0x20,%rsp
140019269:	5f                   	pop    %rdi
14001926a:	c3                   	ret
14001926b:	cc                   	int3
14001926c:	cc                   	int3
14001926d:	cc                   	int3
14001926e:	cc                   	int3
14001926f:	cc                   	int3
140019270:	41 54                	push   %r12
140019272:	41 55                	push   %r13
140019274:	41 56                	push   %r14
140019276:	48 81 ec 50 04 00 00 	sub    $0x450,%rsp
14001927d:	48 8b 05 3c 63 01 00 	mov    0x1633c(%rip),%rax        # 0x14002f5c0
140019284:	48 33 c4             	xor    %rsp,%rax
140019287:	48 89 84 24 10 04 00 	mov    %rax,0x410(%rsp)
14001928e:	00
14001928f:	4d 8b e1             	mov    %r9,%r12
140019292:	4d 8b f0             	mov    %r8,%r14
140019295:	4c 8b e9             	mov    %rcx,%r13
140019298:	48 85 c9             	test   %rcx,%rcx
14001929b:	75 1a                	jne    0x1400192b7
14001929d:	48 85 d2             	test   %rdx,%rdx
1400192a0:	74 15                	je     0x1400192b7
1400192a2:	e8 a1 7c ff ff       	call   0x140010f48
1400192a7:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400192ad:	e8 12 2b ff ff       	call   0x14000bdc4
1400192b2:	e9 a9 03 00 00       	jmp    0x140019660
1400192b7:	4d 85 f6             	test   %r14,%r14
1400192ba:	74 e6                	je     0x1400192a2
1400192bc:	4d 85 e4             	test   %r12,%r12
1400192bf:	74 e1                	je     0x1400192a2
1400192c1:	48 83 fa 02          	cmp    $0x2,%rdx
1400192c5:	0f 82 95 03 00 00    	jb     0x140019660
1400192cb:	48 89 9c 24 48 04 00 	mov    %rbx,0x448(%rsp)
1400192d2:	00
1400192d3:	48 89 ac 24 40 04 00 	mov    %rbp,0x440(%rsp)
1400192da:	00
1400192db:	48 89 b4 24 38 04 00 	mov    %rsi,0x438(%rsp)
1400192e2:	00
1400192e3:	48 89 bc 24 30 04 00 	mov    %rdi,0x430(%rsp)
1400192ea:	00
1400192eb:	4c 89 bc 24 28 04 00 	mov    %r15,0x428(%rsp)
1400192f2:	00
1400192f3:	4c 8d 7a ff          	lea    -0x1(%rdx),%r15
1400192f7:	4d 0f af fe          	imul   %r14,%r15
1400192fb:	4c 03 f9             	add    %rcx,%r15
1400192fe:	33 c9                	xor    %ecx,%ecx
140019300:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140019305:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14001930c:	00 00 00 00
140019310:	33 d2                	xor    %edx,%edx
140019312:	49 8b c7             	mov    %r15,%rax
140019315:	49 2b c5             	sub    %r13,%rax
140019318:	49 f7 f6             	div    %r14
14001931b:	48 8d 58 01          	lea    0x1(%rax),%rbx
14001931f:	48 83 fb 08          	cmp    $0x8,%rbx
140019323:	0f 87 9b 00 00 00    	ja     0x1400193c4
140019329:	4d 3b fd             	cmp    %r13,%r15
14001932c:	76 75                	jbe    0x1400193a3
14001932e:	4b 8d 34 2e          	lea    (%r14,%r13,1),%rsi
140019332:	49 8b dd             	mov    %r13,%rbx
140019335:	48 8b fe             	mov    %rsi,%rdi
140019338:	49 3b f7             	cmp    %r15,%rsi
14001933b:	77 2a                	ja     0x140019367
14001933d:	0f 1f 00             	nopl   (%rax)
140019340:	49 ba 70 89 de 5e 95 	movabs $0x9375b7955ede8970,%r10
140019347:	b7 75 93
14001934a:	48 8b d3             	mov    %rbx,%rdx
14001934d:	48 8b cf             	mov    %rdi,%rcx
140019350:	49 8b c4             	mov    %r12,%rax
140019353:	ff 15 27 4f 00 00    	call   *0x4f27(%rip)        # 0x14001e280
140019359:	85 c0                	test   %eax,%eax
14001935b:	48 0f 4f df          	cmovg  %rdi,%rbx
14001935f:	49 03 fe             	add    %r14,%rdi
140019362:	49 3b ff             	cmp    %r15,%rdi
140019365:	76 d9                	jbe    0x140019340
140019367:	4d 8b c6             	mov    %r14,%r8
14001936a:	49 8b d7             	mov    %r15,%rdx
14001936d:	49 3b df             	cmp    %r15,%rbx
140019370:	74 24                	je     0x140019396
140019372:	49 2b df             	sub    %r15,%rbx
140019375:	66 66 66 0f 1f 84 00 	data16 data16 nopw 0x0(%rax,%rax,1)
14001937c:	00 00 00 00
140019380:	0f b6 02             	movzbl (%rdx),%eax
140019383:	0f b6 0c 13          	movzbl (%rbx,%rdx,1),%ecx
140019387:	88 04 13             	mov    %al,(%rbx,%rdx,1)
14001938a:	88 0a                	mov    %cl,(%rdx)
14001938c:	48 8d 52 01          	lea    0x1(%rdx),%rdx
140019390:	49 83 e8 01          	sub    $0x1,%r8
140019394:	75 ea                	jne    0x140019380
140019396:	4d 2b fe             	sub    %r14,%r15
140019399:	4d 3b fd             	cmp    %r13,%r15
14001939c:	77 94                	ja     0x140019332
14001939e:	48 8b 4c 24 20       	mov    0x20(%rsp),%rcx
1400193a3:	48 83 e9 01          	sub    $0x1,%rcx
1400193a7:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1400193ac:	0f 88 86 02 00 00    	js     0x140019638
1400193b2:	4c 8b 6c cc 30       	mov    0x30(%rsp,%rcx,8),%r13
1400193b7:	4c 8b bc cc 20 02 00 	mov    0x220(%rsp,%rcx,8),%r15
1400193be:	00