140abde28:	56                   	push   %rsi
140abde29:	41 54                	push   %r12
140abde2b:	41 56                	push   %r14
140abde2d:	41 57                	push   %r15
140abde2f:	48 83 ec 50          	sub    $0x50,%rsp
140abde33:	33 db                	xor    %ebx,%ebx
140abde35:	4c 8b f9             	mov    %rcx,%r15
140abde38:	8b 8c 24 a0 00 00 00 	mov    0xa0(%rsp),%ecx
140abde3f:	4d 8b e1             	mov    %r9,%r12
140abde42:	8b c1                	mov    %ecx,%eax
140abde44:	48 89 5c 24 40       	mov    %rbx,0x40(%rsp)
140abde49:	83 e0 18             	and    $0x18,%eax
140abde4c:	4c 8b f2             	mov    %rdx,%r14
140abde4f:	89 44 24 38          	mov    %eax,0x38(%rsp)
140abde53:	8b f3                	mov    %ebx,%esi
140abde55:	83 f8 18             	cmp    $0x18,%eax
140abde58:	0f 84 2a 02 00 00    	je     0x140abe088
140abde5e:	8b c1                	mov    %ecx,%eax
140abde60:	25 18 20 00 00       	and    $0x2018,%eax
140abde65:	3d 00 20 00 00       	cmp    $0x2000,%eax
140abde6a:	0f 84 18 02 00 00    	je     0x140abe088
140abde70:	49 89 6b 08          	mov    %rbp,0x8(%r11)
140abde74:	48 8b ac 24 a8 00 00 	mov    0xa8(%rsp),%rbp
140abde7b:	00
140abde7c:	49 89 7b 10          	mov    %rdi,0x10(%r11)
140abde80:	8b fb                	mov    %ebx,%edi
140abde82:	4d 89 6b 20          	mov    %r13,0x20(%r11)
140abde86:	44 8b e9             	mov    %ecx,%r13d
140abde89:	41 83 e5 01          	and    $0x1,%r13d
140abde8d:	89 5c 24 34          	mov    %ebx,0x34(%rsp)
140abde91:	45 85 ed             	test   %r13d,%r13d
140abde94:	0f 84 09 01 00 00    	je     0x140abdfa3
140abde9a:	4a 8d 0c 3f          	lea    (%rdi,%r15,1),%rcx
140abde9e:	48 c7 c2 ff ff ff ff 	mov    $0xffffffffffffffff,%rdx
140abdea5:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140abdeaa:	e8 a1 05 00 00       	call   0x140abe450
140abdeaf:	48 03 f8             	add    %rax,%rdi
140abdeb2:	8b 44 24 30          	mov    0x30(%rsp),%eax
140abdeb6:	85 c0                	test   %eax,%eax
140abdeb8:	0f 88 ab 01 00 00    	js     0x140abe069
140abdebe:	48 85 ff             	test   %rdi,%rdi
140abdec1:	0f 88 76 01 00 00    	js     0x140abe03d
140abdec7:	85 c0                	test   %eax,%eax
140abdec9:	0f 85 00 01 00 00    	jne    0x140abdfcf
140abdecf:	39 5c 24 38          	cmp    %ebx,0x38(%rsp)
140abded3:	0f 84 aa 01 00 00    	je     0x140abe083
140abded9:	4c 3b e6             	cmp    %rsi,%r12
140abdedc:	0f 8c a1 01 00 00    	jl     0x140abe083
140abdee2:	4c 8d 4e ff          	lea    -0x1(%rsi),%r9
140abdee6:	4d 85 c9             	test   %r9,%r9
140abdee9:	0f 8e 94 01 00 00    	jle    0x140abe083
140abdeef:	48 8b b4 24 90 00 00 	mov    0x90(%rsp),%rsi
140abdef6:	00
140abdef7:	4c 8d 35 02 21 54 ff 	lea    -0xabdefe(%rip),%r14        # 0x140000000
140abdefe:	bd 01 00 00 00       	mov    $0x1,%ebp
140abdf03:	0f 1f 40 00          	nopl   0x0(%rax)
140abdf07:	66 0f 1f 84 00 00 00 	nopw   0x0(%rax,%rax,1)
140abdf0e:	00 00
140abdf10:	4c 63 5c 9e 04       	movslq 0x4(%rsi,%rbx,4),%r11
140abdf15:	48 8d 14 9e          	lea    (%rsi,%rbx,4),%rdx
140abdf19:	4c 63 12             	movslq (%rdx),%r10
140abdf1c:	49 8b c3             	mov    %r11,%rax
140abdf1f:	48 c1 f8 08          	sar    $0x8,%rax
140abdf23:	4c 8b c3             	mov    %rbx,%r8
140abdf26:	41 0f b7 8c 46 60 cf 	movzwl 0x108cf60(%r14,%rax,2),%ecx
140abdf2d:	08 01
140abdf2f:	41 0f b6 c3          	movzbl %r11b,%eax
140abdf33:	03 c8                	add    %eax,%ecx
140abdf35:	41 0f b7 84 4e 60 f1 	movzwl 0x108f160(%r14,%rcx,2),%eax
140abdf3c:	08 01
140abdf3e:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abdf42:	49 8b c2             	mov    %r10,%rax
140abdf45:	41 0f b7 bc ce 62 3f 	movzwl 0x10a3f62(%r14,%rcx,8),%edi
140abdf4c:	0a 01
140abdf4e:	48 c1 f8 08          	sar    $0x8,%rax
140abdf52:	41 0f b7 8c 46 60 cf 	movzwl 0x108cf60(%r14,%rax,2),%ecx
140abdf59:	08 01
140abdf5b:	41 0f b6 c2          	movzbl %r10b,%eax
140abdf5f:	03 c8                	add    %eax,%ecx
140abdf61:	41 0f b7 84 4e 60 f1 	movzwl 0x108f160(%r14,%rcx,2),%eax
140abdf68:	08 01
140abdf6a:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abdf6e:	66 41 39 bc ce 62 3f 	cmp    %di,0x10a3f62(%r14,%rcx,8)
140abdf75:	0a 01
140abdf77:	0f 8e f5 00 00 00    	jle    0x140abe072
140abdf7d:	66 85 ff             	test   %di,%di
140abdf80:	0f 8e ec 00 00 00    	jle    0x140abe072
140abdf86:	4d 85 c0             	test   %r8,%r8
140abdf89:	44 89 1a             	mov    %r11d,(%rdx)
140abdf8c:	48 c7 c3 ff ff ff ff 	mov    $0xffffffffffffffff,%rbx
140abdf93:	44 89 52 04          	mov    %r10d,0x4(%rdx)
140abdf97:	48 0f 4e dd          	cmovle %rbp,%rbx
140abdf9b:	49 03 d8             	add    %r8,%rbx
140abdf9e:	e9 d2 00 00 00       	jmp    0x140abe075
140abdfa3:	49 3b fe             	cmp    %r14,%rdi
140abdfa6:	0f 8d 23 ff ff ff    	jge    0x140abdecf
140abdfac:	49 8b d6             	mov    %r14,%rdx
140abdfaf:	4a 8d 0c 3f          	lea    (%rdi,%r15,1),%rcx
140abdfb3:	48 2b d7             	sub    %rdi,%rdx
140abdfb6:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
140abdfbb:	e8 90 04 00 00       	call   0x140abe450
140abdfc0:	48 03 f8             	add    %rax,%rdi
140abdfc3:	8b 44 24 30          	mov    0x30(%rsp),%eax
140abdfc7:	85 c0                	test   %eax,%eax
140abdfc9:	0f 88 9a 00 00 00    	js     0x140abe069
140abdfcf:	48 85 ed             	test   %rbp,%rbp
140abdfd2:	74 17                	je     0x140abdfeb
140abdfd4:	48 8b 94 24 b0 00 00 	mov    0xb0(%rsp),%rdx
140abdfdb:	00
140abdfdc:	8b c8                	mov    %eax,%ecx
140abdfde:	48 8b c5             	mov    %rbp,%rax
140abdfe1:	ff 15 39 5a 4c 00    	call   *0x4c5a39(%rip)        # 0x140f83a20
140abdfe7:	89 44 24 30          	mov    %eax,0x30(%rsp)
140abdfeb:	48 8b 8c 24 90 00 00 	mov    0x90(%rsp),%rcx
140abdff2:	00
140abdff3:	4d 8b c4             	mov    %r12,%r8
140abdff6:	44 8b 8c 24 a0 00 00 	mov    0xa0(%rsp),%r9d
140abdffd:	00
140abdffe:	4c 2b c6             	sub    %rsi,%r8
140abe001:	4c 3b e6             	cmp    %rsi,%r12
140abe004:	48 8d 14 b1          	lea    (%rcx,%rsi,4),%rdx
140abe008:	4c 0f 4e c3          	cmovle %rbx,%r8
140abe00c:	48 8d 4c 24 34       	lea    0x34(%rsp),%rcx
140abe011:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
140abe016:	8b c8                	mov    %eax,%ecx
140abe018:	e8 93 f9 ff ff       	call   0x140abd9b0
140abe01d:	48 85 c0             	test   %rax,%rax
140abe020:	78 22                	js     0x140abe044
140abe022:	48 03 f0             	add    %rax,%rsi
140abe025:	48 b8 ff ff ff ff ff 	movabs $0xfffffffffffffff,%rax
140abe02c:	ff ff 0f
140abe02f:	48 89 74 24 40       	mov    %rsi,0x40(%rsp)
140abe034:	48 3b f0             	cmp    %rax,%rsi
140abe037:	0f 86 54 fe ff ff    	jbe    0x140abde91
140abe03d:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
140abe044:	48 8b bc 24 88 00 00 	mov    0x88(%rsp),%rdi
140abe04b:	00
140abe04c:	48 8b ac 24 80 00 00 	mov    0x80(%rsp),%rbp
140abe053:	00
140abe054:	4c 8b ac 24 98 00 00 	mov    0x98(%rsp),%r13
140abe05b:	00
140abe05c:	48 83 c4 50          	add    $0x50,%rsp
140abe060:	41 5f                	pop    %r15
140abe062:	41 5e                	pop    %r14
140abe064:	41 5c                	pop    %r12
140abe066:	5e                   	pop    %rsi
140abe067:	5b                   	pop    %rbx
140abe068:	c3                   	ret
140abe069:	48 c7 c0 fd ff ff ff 	mov    $0xfffffffffffffffd,%rax
140abe070:	eb d2                	jmp    0x140abe044
140abe072:	48 ff c3             	inc    %rbx
140abe075:	49 3b d9             	cmp    %r9,%rbx
140abe078:	0f 8c 92 fe ff ff    	jl     0x140abdf10
140abe07e:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
140abe083:	48 8b c6             	mov    %rsi,%rax
140abe086:	eb bc                	jmp    0x140abe044
140abe088:	48 c7 c0 fb ff ff ff 	mov    $0xfffffffffffffffb,%rax
140abe08f:	48 83 c4 50          	add    $0x50,%rsp
140abe093:	41 5f                	pop    %r15
140abe095:	41 5e                	pop    %r14
140abe097:	41 5c                	pop    %r12
140abe099:	5e                   	pop    %rsi
140abe09a:	5b                   	pop    %rbx
140abe09b:	c3                   	ret
140abe09c:	cc                   	int3
140abe09d:	cc                   	int3
140abe09e:	cc                   	int3
140abe09f:	cc                   	int3
140abe0a0:	85 c9                	test   %ecx,%ecx
140abe0a2:	0f 88 94 00 00 00    	js     0x140abe13c
140abe0a8:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
140abe0ae:	7d 08                	jge    0x140abe0b8
140abe0b0:	88 0a                	mov    %cl,(%rdx)
140abe0b2:	b8 01 00 00 00       	mov    $0x1,%eax
140abe0b7:	c3                   	ret
140abe0b8:	81 f9 00 08 00 00    	cmp    $0x800,%ecx
140abe0be:	7d 18                	jge    0x140abe0d8
140abe0c0:	8b c1                	mov    %ecx,%eax
140abe0c2:	80 e1 3f             	and    $0x3f,%cl
140abe0c5:	c1 e8 06             	shr    $0x6,%eax
140abe0c8:	2c 40                	sub    $0x40,%al
140abe0ca:	80 c1 80             	add    $0x80,%cl
140abe0cd:	88 02                	mov    %al,(%rdx)
140abe0cf:	88 4a 01             	mov    %cl,0x1(%rdx)
140abe0d2:	b8 02 00 00 00       	mov    $0x2,%eax
140abe0d7:	c3                   	ret
140abe0d8:	81 f9 00 00 01 00    	cmp    $0x10000,%ecx
140abe0de:	7d 24                	jge    0x140abe104
140abe0e0:	8b c1                	mov    %ecx,%eax
140abe0e2:	c1 e8 0c             	shr    $0xc,%eax
140abe0e5:	2c 20                	sub    $0x20,%al
140abe0e7:	88 02                	mov    %al,(%rdx)
140abe0e9:	8b c1                	mov    %ecx,%eax
140abe0eb:	c1 e8 06             	shr    $0x6,%eax
140abe0ee:	80 e1 3f             	and    $0x3f,%cl
140abe0f1:	24 3f                	and    $0x3f,%al
140abe0f3:	04 80                	add    $0x80,%al
140abe0f5:	80 c1 80             	add    $0x80,%cl
140abe0f8:	88 42 01             	mov    %al,0x1(%rdx)
140abe0fb:	88 4a 02             	mov    %cl,0x2(%rdx)
140abe0fe:	b8 03 00 00 00       	mov    $0x3,%eax
140abe103:	c3                   	ret
140abe104:	81 f9 00 00 11 00    	cmp    $0x110000,%ecx
140abe10a:	7d 30                	jge    0x140abe13c
140abe10c:	8b c1                	mov    %ecx,%eax
140abe10e:	c1 e8 12             	shr    $0x12,%eax
140abe111:	2c 10                	sub    $0x10,%al
140abe113:	88 02                	mov    %al,(%rdx)
140abe115:	8b c1                	mov    %ecx,%eax
140abe117:	c1 e8 0c             	shr    $0xc,%eax
140abe11a:	24 3f                	and    $0x3f,%al
140abe11c:	04 80                	add    $0x80,%al
140abe11e:	88 42 01             	mov    %al,0x1(%rdx)
140abe121:	8b c1                	mov    %ecx,%eax
140abe123:	c1 e8 06             	shr    $0x6,%eax
140abe126:	80 e1 3f             	and    $0x3f,%cl
140abe129:	24 3f                	and    $0x3f,%al
140abe12b:	04 80                	add    $0x80,%al
140abe12d:	80 c1 80             	add    $0x80,%cl
140abe130:	88 42 02             	mov    %al,0x2(%rdx)
140abe133:	88 4a 03             	mov    %cl,0x3(%rdx)
140abe136:	b8 04 00 00 00       	mov    $0x4,%eax
140abe13b:	c3                   	ret
140abe13c:	33 c0                	xor    %eax,%eax
140abe13e:	c3                   	ret
140abe13f:	cc                   	int3
140abe140:	48 83 f9 fb          	cmp    $0xfffffffffffffffb,%rcx
140abe144:	74 41                	je     0x140abe187
140abe146:	48 83 f9 fc          	cmp    $0xfffffffffffffffc,%rcx
140abe14a:	74 33                	je     0x140abe17f
140abe14c:	48 83 f9 fd          	cmp    $0xfffffffffffffffd,%rcx
140abe150:	74 25                	je     0x140abe177
140abe152:	48 83 f9 fe          	cmp    $0xfffffffffffffffe,%rcx
140abe156:	74 17                	je     0x140abe16f
140abe158:	48 83 f9 ff          	cmp    $0xffffffffffffffff,%rcx
140abe15c:	48 8d 15 bd 78 61 00 	lea    0x6178bd(%rip),%rdx        # 0x1410d5a20
140abe163:	48 8d 05 c6 77 61 00 	lea    0x6177c6(%rip),%rax        # 0x1410d5930
140abe16a:	48 0f 45 c2          	cmovne %rdx,%rax
140abe16e:	c3                   	ret
140abe16f:	48 8d 05 fa 77 61 00 	lea    0x6177fa(%rip),%rax        # 0x1410d5970
140abe176:	c3                   	ret
140abe177:	48 8d 05 22 78 61 00 	lea    0x617822(%rip),%rax        # 0x1410d59a0
140abe17e:	c3                   	ret
140abe17f:	48 8d 05 32 78 61 00 	lea    0x617832(%rip),%rax        # 0x1410d59b8
140abe186:	c3                   	ret
140abe187:	48 8d 05 62 78 61 00 	lea    0x617862(%rip),%rax        # 0x1410d59f0
140abe18e:	c3                   	ret
140abe18f:	cc                   	int3
140abe190:	81 f9 ff ff 10 00    	cmp    $0x10ffff,%ecx
140abe196:	77 35                	ja     0x140abe1cd
140abe198:	48 63 c1             	movslq %ecx,%rax
140abe19b:	4c 8d 05 5e 1e 54 ff 	lea    -0xabe1a2(%rip),%r8        # 0x140000000
140abe1a2:	48 c1 f8 08          	sar    $0x8,%rax
140abe1a6:	41 0f b7 94 40 60 cf 	movzwl 0x108cf60(%r8,%rax,2),%edx
140abe1ad:	08 01
140abe1af:	0f b6 c1             	movzbl %cl,%eax
140abe1b2:	03 d0                	add    %eax,%edx
140abe1b4:	41 0f b7 84 50 60 f1 	movzwl 0x108f160(%r8,%rdx,2),%eax
140abe1bb:	08 01
140abe1bd:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe1c1:	48 8d 05 98 5d 5e 00 	lea    0x5e5d98(%rip),%rax        # 0x1410a3f60
140abe1c8:	48 8d 04 c8          	lea    (%rax,%rcx,8),%rax
140abe1cc:	c3                   	ret
140abe1cd:	48 8d 05 8c 5d 5e 00 	lea    0x5e5d8c(%rip),%rax        # 0x1410a3f60
140abe1d4:	c3                   	ret
140abe1d5:	cc                   	int3
140abe1d6:	cc                   	int3
140abe1d7:	cc                   	int3
140abe1d8:	cc                   	int3
140abe1d9:	cc                   	int3
140abe1da:	cc                   	int3
140abe1db:	cc                   	int3
140abe1dc:	cc                   	int3
140abe1dd:	cc                   	int3
140abe1de:	cc                   	int3
140abe1df:	cc                   	int3
140abe1e0:	4c 63 d1             	movslq %ecx,%r10
140abe1e3:	4c 8d 0d 8b 5d 5e 00 	lea    0x5e5d8b(%rip),%r9        # 0x1410a3f75
140abe1ea:	4c 8d 1d 0f 1e 54 ff 	lea    -0xabe1f1(%rip),%r11        # 0x140000000
140abe1f1:	81 fa ff ff 10 00    	cmp    $0x10ffff,%edx
140abe1f7:	77 30                	ja     0x140abe229
140abe1f9:	48 63 c2             	movslq %edx,%rax
140abe1fc:	48 c1 f8 08          	sar    $0x8,%rax
140abe200:	45 0f b7 84 43 60 cf 	movzwl 0x108cf60(%r11,%rax,2),%r8d
140abe207:	08 01
140abe209:	0f b6 c2             	movzbl %dl,%eax
140abe20c:	49 8d 93 75 3f 0a 01 	lea    0x10a3f75(%r11),%rdx
140abe213:	44 03 c0             	add    %eax,%r8d
140abe216:	43 0f b7 84 43 60 f1 	movzwl 0x108f160(%r11,%r8,2),%eax
140abe21d:	08 01
140abe21f:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe223:	48 8d 14 ca          	lea    (%rdx,%rcx,8),%rdx
140abe227:	eb 03                	jmp    0x140abe22c
140abe229:	49 8b d1             	mov    %r9,%rdx
140abe22c:	41 81 fa ff ff 10 00 	cmp    $0x10ffff,%r10d
140abe233:	77 2e                	ja     0x140abe263
140abe235:	49 8b c2             	mov    %r10,%rax
140abe238:	4d 8d 8b 75 3f 0a 01 	lea    0x10a3f75(%r11),%r9
140abe23f:	48 c1 f8 08          	sar    $0x8,%rax
140abe243:	41 0f b7 8c 43 60 cf 	movzwl 0x108cf60(%r11,%rax,2),%ecx
140abe24a:	08 01
140abe24c:	41 0f b6 c2          	movzbl %r10b,%eax
140abe250:	03 c8                	add    %eax,%ecx
140abe252:	41 0f b7 84 4b 60 f1 	movzwl 0x108f160(%r11,%rcx,2),%eax
140abe259:	08 01
140abe25b:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe25f:	4d 8d 0c c9          	lea    (%r9,%rcx,8),%r9
140abe263:	0f b6 12             	movzbl (%rdx),%edx
140abe266:	41 0f b6 09          	movzbl (%r9),%ecx
140abe26a:	e9 61 f3 ff ff       	jmp    0x140abd5d0
140abe26f:	cc                   	int3
140abe270:	40 53                	rex push %rbx
140abe272:	48 83 ec 20          	sub    $0x20,%rsp
140abe276:	4c 63 da             	movslq %edx,%r11
140abe279:	4c 8d 0d f5 5c 5e 00 	lea    0x5e5cf5(%rip),%r9        # 0x1410a3f75
140abe280:	4c 63 d1             	movslq %ecx,%r10
140abe283:	48 8d 1d 76 1d 54 ff 	lea    -0xabe28a(%rip),%rbx        # 0x140000000
140abe28a:	41 81 fb ff ff 10 00 	cmp    $0x10ffff,%r11d
140abe291:	77 2e                	ja     0x140abe2c1
140abe293:	49 8b c3             	mov    %r11,%rax
140abe296:	48 c1 f8 08          	sar    $0x8,%rax
140abe29a:	0f b7 94 43 60 cf 08 	movzwl 0x108cf60(%rbx,%rax,2),%edx
140abe2a1:	01
140abe2a2:	41 0f b6 c3          	movzbl %r11b,%eax
140abe2a6:	03 d0                	add    %eax,%edx
140abe2a8:	0f b7 84 53 60 f1 08 	movzwl 0x108f160(%rbx,%rdx,2),%eax
140abe2af:	01
140abe2b0:	48 8d 93 75 3f 0a 01 	lea    0x10a3f75(%rbx),%rdx
140abe2b7:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe2bb:	48 8d 14 ca          	lea    (%rdx,%rcx,8),%rdx
140abe2bf:	eb 03                	jmp    0x140abe2c4
140abe2c1:	49 8b d1             	mov    %r9,%rdx
140abe2c4:	41 81 fa ff ff 10 00 	cmp    $0x10ffff,%r10d
140abe2cb:	77 2c                	ja     0x140abe2f9
140abe2cd:	49 8b c2             	mov    %r10,%rax
140abe2d0:	4c 8d 8b 75 3f 0a 01 	lea    0x10a3f75(%rbx),%r9
140abe2d7:	48 c1 f8 08          	sar    $0x8,%rax
140abe2db:	0f b7 8c 43 60 cf 08 	movzwl 0x108cf60(%rbx,%rax,2),%ecx
140abe2e2:	01
140abe2e3:	41 0f b6 c2          	movzbl %r10b,%eax
140abe2e7:	03 c8                	add    %eax,%ecx
140abe2e9:	0f b7 84 4b 60 f1 08 	movzwl 0x108f160(%rbx,%rcx,2),%eax
140abe2f0:	01
140abe2f1:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
140abe2f5:	4d 8d 0c c9          	lea    (%r9,%rcx,8),%r9
140abe2f9:	0f b6 12             	movzbl (%rdx),%edx
140abe2fc:	41 0f b6 09          	movzbl (%r9),%ecx
140abe300:	4d 85 c0             	test   %r8,%r8
140abe303:	74 51                	je     0x140abe356
140abe305:	41 8b 00             	mov    (%r8),%eax