140020edb:	e8 7c 0e 00 00       	call   0x140021d5c
140020ee0:	48 63 f8             	movslq %eax,%rdi
140020ee3:	85 c0                	test   %eax,%eax
140020ee5:	74 13                	je     0x140020efa
140020ee7:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020eeb:	0f 85 62 01 00 00    	jne    0x140021053
140020ef1:	48 8d 5f ff          	lea    -0x1(%rdi),%rbx
140020ef5:	e9 64 01 00 00       	jmp    0x14002105e
140020efa:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020efe:	0f 85 4f 01 00 00    	jne    0x140021053
140020f04:	ff 15 56 b1 00 00    	call   *0xb156(%rip)        # 0x14002c060
140020f0a:	83 f8 7a             	cmp    $0x7a,%eax
140020f0d:	0f 85 40 01 00 00    	jne    0x140021053
140020f13:	48 85 f6             	test   %rsi,%rsi
140020f16:	0f 84 45 01 00 00    	je     0x140021061
140020f1c:	44 8d 60 8b          	lea    -0x75(%rax),%r12d
140020f20:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
140020f24:	48 8b 4d f7          	mov    -0x9(%rbp),%rcx
140020f28:	8b 41 08             	mov    0x8(%rcx),%eax
140020f2b:	41 3b c4             	cmp    %r12d,%eax
140020f2e:	41 0f 4f c4          	cmovg  %r12d,%eax
140020f32:	4c 8d 45 d7          	lea    -0x29(%rbp),%r8
140020f36:	4c 89 44 24 38       	mov    %r8,0x38(%rsp)
140020f3b:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140020f40:	89 44 24 28          	mov    %eax,0x28(%rsp)
140020f44:	48 8d 45 17          	lea    0x17(%rbp),%rax
140020f48:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
140020f4d:	41 b9 01 00 00 00    	mov    $0x1,%r9d
140020f53:	4c 8b c2             	mov    %rdx,%r8
140020f56:	33 d2                	xor    %edx,%edx
140020f58:	8b 49 0c             	mov    0xc(%rcx),%ecx
140020f5b:	e8 fc 0d 00 00       	call   0x140021d5c
140020f60:	85 c0                	test   %eax,%eax
140020f62:	0f 84 eb 00 00 00    	je     0x140021053
140020f68:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
140020f6c:	0f 85 e1 00 00 00    	jne    0x140021053
140020f72:	85 c0                	test   %eax,%eax
140020f74:	0f 88 d9 00 00 00    	js     0x140021053
140020f7a:	48 63 d0             	movslq %eax,%rdx
140020f7d:	49 3b d4             	cmp    %r12,%rdx
140020f80:	0f 87 cd 00 00 00    	ja     0x140021053
140020f86:	48 8d 04 3a          	lea    (%rdx,%rdi,1),%rax
140020f8a:	48 3b c6             	cmp    %rsi,%rax
140020f8d:	0f 87 ce 00 00 00    	ja     0x140021061
140020f93:	49 8b cf             	mov    %r15,%rcx
140020f96:	48 85 d2             	test   %rdx,%rdx
140020f99:	7e 1b                	jle    0x140020fb6
140020f9b:	8a 44 0d 17          	mov    0x17(%rbp,%rcx,1),%al
140020f9f:	41 88 04 3e          	mov    %al,(%r14,%rdi,1)
140020fa3:	84 c0                	test   %al,%al
140020fa5:	0f 84 b6 00 00 00    	je     0x140021061
140020fab:	48 ff c1             	inc    %rcx
140020fae:	48 ff c7             	inc    %rdi
140020fb1:	48 3b ca             	cmp    %rdx,%rcx
140020fb4:	7c e5                	jl     0x140020f9b
140020fb6:	48 8b 55 df          	mov    -0x21(%rbp),%rdx
140020fba:	48 83 c2 02          	add    $0x2,%rdx
140020fbe:	48 89 55 df          	mov    %rdx,-0x21(%rbp)
140020fc2:	48 3b fe             	cmp    %rsi,%rdi
140020fc5:	0f 83 96 00 00 00    	jae    0x140021061
140020fcb:	e9 54 ff ff ff       	jmp    0x140020f24
140020fd0:	4c 39 b8 38 01 00 00 	cmp    %r15,0x138(%rax)
140020fd7:	75 3b                	jne    0x140021014
140020fd9:	49 8b ff             	mov    %r15,%rdi
140020fdc:	48 8b 4d df          	mov    -0x21(%rbp),%rcx
140020fe0:	0f b7 01             	movzwl (%rcx),%eax
140020fe3:	66 85 c0             	test   %ax,%ax
140020fe6:	74 79                	je     0x140021061
140020fe8:	ba ff 00 00 00       	mov    $0xff,%edx
140020fed:	66 3b c2             	cmp    %dx,%ax
140020ff0:	77 11                	ja     0x140021003
140020ff2:	48 ff c7             	inc    %rdi
140020ff5:	48 83 c1 02          	add    $0x2,%rcx
140020ff9:	0f b7 01             	movzwl (%rcx),%eax
140020ffc:	66 85 c0             	test   %ax,%ax
140020fff:	75 ec                	jne    0x140020fed
140021001:	eb 5e                	jmp    0x140021061
140021003:	e8 e4 39 ff ff       	call   0x1400149ec
140021008:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
14002100e:	48 83 cf ff          	or     $0xffffffffffffffff,%rdi
140021012:	eb 4d                	jmp    0x140021061
140021014:	48 8d 45 d7          	lea    -0x29(%rbp),%rax
140021018:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
14002101d:	4c 89 7c 24 30       	mov    %r15,0x30(%rsp)
140021022:	44 89 7c 24 28       	mov    %r15d,0x28(%rsp)
140021027:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
14002102c:	48 83 cb ff          	or     $0xffffffffffffffff,%rbx
140021030:	44 8b cb             	mov    %ebx,%r9d
140021033:	4c 8b 45 df          	mov    -0x21(%rbp),%r8
140021037:	33 d2                	xor    %edx,%edx
140021039:	41 8b ca             	mov    %r10d,%ecx
14002103c:	e8 1b 0d 00 00       	call   0x140021d5c
140021041:	48 63 f8             	movslq %eax,%rdi
140021044:	85 c0                	test   %eax,%eax
140021046:	74 0b                	je     0x140021053
140021048:	44 39 7d d7          	cmp    %r15d,-0x29(%rbp)
14002104c:	75 05                	jne    0x140021053
14002104e:	48 ff cf             	dec    %rdi
140021051:	eb 0e                	jmp    0x140021061
140021053:	e8 94 39 ff ff       	call   0x1400149ec
140021058:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
14002105e:	48 8b fb             	mov    %rbx,%rdi
140021061:	44 38 7d 07          	cmp    %r15b,0x7(%rbp)
140021065:	74 0b                	je     0x140021072
140021067:	48 8b 4d ef          	mov    -0x11(%rbp),%rcx
14002106b:	83 a1 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rcx)
140021072:	48 8b c7             	mov    %rdi,%rax
140021075:	48 8b 4d 1f          	mov    0x1f(%rbp),%rcx
140021079:	48 33 cc             	xor    %rsp,%rcx
14002107c:	e8 ef b4 fe ff       	call   0x14000c570
140021081:	48 81 c4 90 00 00 00 	add    $0x90,%rsp
140021088:	41 5f                	pop    %r15
14002108a:	41 5e                	pop    %r14
14002108c:	41 5c                	pop    %r12
14002108e:	5f                   	pop    %rdi
14002108f:	5e                   	pop    %rsi
140021090:	5b                   	pop    %rbx
140021091:	5d                   	pop    %rbp
140021092:	c3                   	ret
140021093:	cc                   	int3
140021094:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021099:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14002109e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1400210a3:	41 56                	push   %r14
1400210a5:	48 83 ec 20          	sub    $0x20,%rsp
1400210a9:	45 33 f6             	xor    %r14d,%r14d
1400210ac:	49 8b c1             	mov    %r9,%rax
1400210af:	49 8b f8             	mov    %r8,%rdi
1400210b2:	48 8b da             	mov    %rdx,%rbx
1400210b5:	48 8b f1             	mov    %rcx,%rsi
1400210b8:	48 85 d2             	test   %rdx,%rdx
1400210bb:	74 51                	je     0x14002110e
1400210bd:	4d 85 c0             	test   %r8,%r8
1400210c0:	74 51                	je     0x140021113
1400210c2:	48 85 db             	test   %rbx,%rbx
1400210c5:	74 03                	je     0x1400210ca
1400210c7:	44 88 32             	mov    %r14b,(%rdx)
1400210ca:	48 85 f6             	test   %rsi,%rsi
1400210cd:	74 03                	je     0x1400210d2
1400210cf:	4c 21 31             	and    %r14,(%rcx)
1400210d2:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
1400210d7:	4c 3b c7             	cmp    %rdi,%r8
1400210da:	4c 0f 47 c7          	cmova  %rdi,%r8
1400210de:	49 81 f8 ff ff ff 7f 	cmp    $0x7fffffff,%r8
1400210e5:	77 2c                	ja     0x140021113
1400210e7:	4c 8b 4c 24 58       	mov    0x58(%rsp),%r9
1400210ec:	48 8b d0             	mov    %rax,%rdx
1400210ef:	48 8b cb             	mov    %rbx,%rcx
1400210f2:	e8 35 fc ff ff       	call   0x140020d2c
1400210f7:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1400210fb:	75 2b                	jne    0x140021128
1400210fd:	48 85 db             	test   %rbx,%rbx
140021100:	74 03                	je     0x140021105
140021102:	44 88 33             	mov    %r14b,(%rbx)
140021105:	e8 e2 38 ff ff       	call   0x1400149ec
14002110a:	8b 00                	mov    (%rax),%eax
14002110c:	eb 5c                	jmp    0x14002116a
14002110e:	48 85 ff             	test   %rdi,%rdi
140021111:	74 af                	je     0x1400210c2
140021113:	e8 d4 38 ff ff       	call   0x1400149ec
140021118:	bb 16 00 00 00       	mov    $0x16,%ebx
14002111d:	89 18                	mov    %ebx,(%rax)
14002111f:	e8 74 f6 fe ff       	call   0x140010798
140021124:	8b c3                	mov    %ebx,%eax
140021126:	eb 42                	jmp    0x14002116a
140021128:	48 ff c0             	inc    %rax
14002112b:	48 85 db             	test   %rbx,%rbx
14002112e:	74 2f                	je     0x14002115f
140021130:	48 3b c7             	cmp    %rdi,%rax
140021133:	76 25                	jbe    0x14002115a
140021135:	48 83 7c 24 50 ff    	cmpq   $0xffffffffffffffff,0x50(%rsp)
14002113b:	74 14                	je     0x140021151
14002113d:	44 88 33             	mov    %r14b,(%rbx)
140021140:	48 3b f8             	cmp    %rax,%rdi
140021143:	77 0c                	ja     0x140021151
140021145:	e8 a2 38 ff ff       	call   0x1400149ec
14002114a:	bb 22 00 00 00       	mov    $0x22,%ebx
14002114f:	eb cc                	jmp    0x14002111d
140021151:	48 8b c7             	mov    %rdi,%rax
140021154:	41 be 50 00 00 00    	mov    $0x50,%r14d
14002115a:	c6 44 18 ff 00       	movb   $0x0,-0x1(%rax,%rbx,1)
14002115f:	48 85 f6             	test   %rsi,%rsi
140021162:	74 03                	je     0x140021167
140021164:	48 89 06             	mov    %rax,(%rsi)
140021167:	41 8b c6             	mov    %r14d,%eax
14002116a:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
14002116f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140021174:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
140021179:	48 83 c4 20          	add    $0x20,%rsp
14002117d:	41 5e                	pop    %r14
14002117f:	c3                   	ret
140021180:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140021185:	4c 89 4c 24 20       	mov    %r9,0x20(%rsp)
14002118a:	57                   	push   %rdi
14002118b:	48 83 ec 20          	sub    $0x20,%rsp
14002118f:	49 8b f9             	mov    %r9,%rdi
140021192:	8b 0a                	mov    (%rdx),%ecx
140021194:	e8 53 12 ff ff       	call   0x1400123ec
140021199:	90                   	nop
14002119a:	48 8b 1d df 2e 02 00 	mov    0x22edf(%rip),%rbx        # 0x140044080
1400211a1:	8b cb                	mov    %ebx,%ecx
1400211a3:	83 e1 3f             	and    $0x3f,%ecx
1400211a6:	48 33 1d 23 5f 02 00 	xor    0x25f23(%rip),%rbx        # 0x1400470d0
1400211ad:	48 d3 cb             	ror    %cl,%rbx
1400211b0:	8b 0f                	mov    (%rdi),%ecx
1400211b2:	e8 89 12 ff ff       	call   0x140012440
1400211b7:	48 8b c3             	mov    %rbx,%rax
1400211ba:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1400211bf:	48 83 c4 20          	add    $0x20,%rsp
1400211c3:	5f                   	pop    %rdi
1400211c4:	c3                   	ret
1400211c5:	cc                   	int3
1400211c6:	cc                   	int3
1400211c7:	cc                   	int3
1400211c8:	4c 8b dc             	mov    %rsp,%r11
1400211cb:	48 83 ec 28          	sub    $0x28,%rsp
1400211cf:	b8 03 00 00 00       	mov    $0x3,%eax
1400211d4:	4d 8d 4b 10          	lea    0x10(%r11),%r9
1400211d8:	4d 8d 43 08          	lea    0x8(%r11),%r8
1400211dc:	89 44 24 38          	mov    %eax,0x38(%rsp)
1400211e0:	49 8d 53 18          	lea    0x18(%r11),%rdx
1400211e4:	89 44 24 40          	mov    %eax,0x40(%rsp)
1400211e8:	49 8d 4b 08          	lea    0x8(%r11),%rcx
1400211ec:	e8 8f ff ff ff       	call   0x140021180
1400211f1:	48 83 c4 28          	add    $0x28,%rsp
1400211f5:	c3                   	ret
1400211f6:	cc                   	int3
1400211f7:	cc                   	int3
1400211f8:	48 89 0d c1 5e 02 00 	mov    %rcx,0x25ec1(%rip)        # 0x1400470c0
1400211ff:	48 89 0d c2 5e 02 00 	mov    %rcx,0x25ec2(%rip)        # 0x1400470c8
140021206:	48 89 0d c3 5e 02 00 	mov    %rcx,0x25ec3(%rip)        # 0x1400470d0
14002120d:	48 89 0d c4 5e 02 00 	mov    %rcx,0x25ec4(%rip)        # 0x1400470d8
140021214:	c3                   	ret
140021215:	cc                   	int3
140021216:	cc                   	int3
140021217:	cc                   	int3
140021218:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
14002121d:	56                   	push   %rsi
14002121e:	57                   	push   %rdi
14002121f:	41 54                	push   %r12
140021221:	41 55                	push   %r13
140021223:	41 56                	push   %r14
140021225:	48 83 ec 40          	sub    $0x40,%rsp
140021229:	8b d9                	mov    %ecx,%ebx
14002122b:	45 33 ed             	xor    %r13d,%r13d
14002122e:	44 21 6c 24 78       	and    %r13d,0x78(%rsp)
140021233:	41 b6 01             	mov    $0x1,%r14b
140021236:	44 88 74 24 70       	mov    %r14b,0x70(%rsp)
14002123b:	83 f9 02             	cmp    $0x2,%ecx
14002123e:	74 21                	je     0x140021261
140021240:	83 f9 04             	cmp    $0x4,%ecx
140021243:	74 4c                	je     0x140021291
140021245:	83 f9 06             	cmp    $0x6,%ecx
140021248:	74 17                	je     0x140021261
14002124a:	83 f9 08             	cmp    $0x8,%ecx
14002124d:	74 42                	je     0x140021291
14002124f:	83 f9 0b             	cmp    $0xb,%ecx
140021252:	74 3d                	je     0x140021291
140021254:	83 f9 0f             	cmp    $0xf,%ecx
140021257:	74 08                	je     0x140021261
140021259:	8d 41 eb             	lea    -0x15(%rcx),%eax
14002125c:	83 f8 01             	cmp    $0x1,%eax
14002125f:	77 7e                	ja     0x1400212df
140021261:	83 e9 02             	sub    $0x2,%ecx
140021264:	0f 84 b0 00 00 00    	je     0x14002131a
14002126a:	83 e9 04             	sub    $0x4,%ecx
14002126d:	0f 84 8c 00 00 00    	je     0x1400212ff
140021273:	83 e9 09             	sub    $0x9,%ecx
140021276:	0f 84 95 00 00 00    	je     0x140021311
14002127c:	83 e9 06             	sub    $0x6,%ecx
14002127f:	0f 84 83 00 00 00    	je     0x140021308
140021285:	83 f9 01             	cmp    $0x1,%ecx
140021288:	74 75                	je     0x1400212ff
14002128a:	33 ff                	xor    %edi,%edi
14002128c:	e9 90 00 00 00       	jmp    0x140021321
140021291:	e8 26 a1 ff ff       	call   0x14001b3bc
140021296:	4c 8b e8             	mov    %rax,%r13
140021299:	48 85 c0             	test   %rax,%rax
14002129c:	75 18                	jne    0x1400212b6
14002129e:	83 c8 ff             	or     $0xffffffff,%eax
1400212a1:	48 8b 9c 24 88 00 00 	mov    0x88(%rsp),%rbx
1400212a8:	00
1400212a9:	48 83 c4 40          	add    $0x40,%rsp
1400212ad:	41 5e                	pop    %r14
1400212af:	41 5d                	pop    %r13
1400212b1:	41 5c                	pop    %r12
1400212b3:	5f                   	pop    %rdi
1400212b4:	5e                   	pop    %rsi
1400212b5:	c3                   	ret
1400212b6:	48 8b 08             	mov    (%rax),%rcx
1400212b9:	48 8b 05 70 42 01 00 	mov    0x14270(%rip),%rax        # 0x140035530
1400212c0:	48 c1 e0 04          	shl    $0x4,%rax
1400212c4:	48 8d 14 08          	lea    (%rax,%rcx,1),%rdx
1400212c8:	eb 09                	jmp    0x1400212d3
1400212ca:	39 59 04             	cmp    %ebx,0x4(%rcx)
1400212cd:	74 0b                	je     0x1400212da
1400212cf:	48 83 c1 10          	add    $0x10,%rcx
1400212d3:	48 3b ca             	cmp    %rdx,%rcx
1400212d6:	75 f2                	jne    0x1400212ca
1400212d8:	33 c9                	xor    %ecx,%ecx
1400212da:	48 85 c9             	test   %rcx,%rcx
1400212dd:	75 12                	jne    0x1400212f1
1400212df:	e8 08 37 ff ff       	call   0x1400149ec
1400212e4:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400212ea:	e8 a9 f4 fe ff       	call   0x140010798
1400212ef:	eb ad                	jmp    0x14002129e
1400212f1:	48 8d 79 08          	lea    0x8(%rcx),%rdi
1400212f5:	45 32 f6             	xor    %r14b,%r14b
1400212f8:	44 88 74 24 70       	mov    %r14b,0x70(%rsp)
1400212fd:	eb 22                	jmp    0x140021321
1400212ff:	48 8d 3d ca 5d 02 00 	lea    0x25dca(%rip),%rdi        # 0x1400470d0
140021306:	eb 19                	jmp    0x140021321
140021308:	48 8d 3d b9 5d 02 00 	lea    0x25db9(%rip),%rdi        # 0x1400470c8
14002130f:	eb 10                	jmp    0x140021321
140021311:	48 8d 3d c0 5d 02 00 	lea    0x25dc0(%rip),%rdi        # 0x1400470d8
140021318:	eb 07                	jmp    0x140021321
14002131a:	48 8d 3d 9f 5d 02 00 	lea    0x25d9f(%rip),%rdi        # 0x1400470c0
140021321:	48 83 a4 24 80 00 00 	andq   $0x0,0x80(%rsp)
140021328:	00 00
14002132a:	45 84 f6             	test   %r14b,%r14b
14002132d:	74 0b                	je     0x14002133a
14002132f:	b9 03 00 00 00       	mov    $0x3,%ecx
140021334:	e8 b3 10 ff ff       	call   0x1400123ec
140021339:	90                   	nop
14002133a:	48 8b 37             	mov    (%rdi),%rsi
14002133d:	45 84 f6             	test   %r14b,%r14b
140021340:	74 12                	je     0x140021354
140021342:	48 8b 05 37 2d 02 00 	mov    0x22d37(%rip),%rax        # 0x140044080
140021349:	8b c8                	mov    %eax,%ecx
14002134b:	83 e1 3f             	and    $0x3f,%ecx
14002134e:	48 33 f0             	xor    %rax,%rsi
140021351:	48 d3 ce             	ror    %cl,%rsi
140021354:	48 83 fe 01          	cmp    $0x1,%rsi
140021358:	0f 84 94 00 00 00    	je     0x1400213f2
14002135e:	48 85 f6             	test   %rsi,%rsi
140021361:	0f 84 03 01 00 00    	je     0x14002146a
140021367:	41 bc 10 09 00 00    	mov    $0x910,%r12d
14002136d:	83 fb 0b             	cmp    $0xb,%ebx
140021370:	77 3d                	ja     0x1400213af
140021372:	41 0f a3 dc          	bt     %ebx,%r12d
140021376:	73 37                	jae    0x1400213af
140021378:	49 8b 45 08          	mov    0x8(%r13),%rax
14002137c:	48 89 84 24 80 00 00 	mov    %rax,0x80(%rsp)
140021383:	00
140021384:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
140021389:	49 83 65 08 00       	andq   $0x0,0x8(%r13)
14002138e:	83 fb 08             	cmp    $0x8,%ebx
140021391:	75 53                	jne    0x1400213e6
140021393:	e8 a8 9e ff ff       	call   0x14001b240
140021398:	8b 40 10             	mov    0x10(%rax),%eax