140014fb1:	44 88 64 24 4f       	mov    %r12b,0x4f(%rsp)
140014fb6:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
140014fbb:	48 89 5c 24 38       	mov    %rbx,0x38(%rsp)
140014fc0:	4c 89 64 24 40       	mov    %r12,0x40(%rsp)
140014fc5:	41 83 e6 02          	and    $0x2,%r14d
140014fc9:	75 0a                	jne    0x140014fd5
140014fcb:	44 88 64 24 48       	mov    %r12b,0x48(%rsp)
140014fd0:	48 85 f6             	test   %rsi,%rsi
140014fd3:	75 05                	jne    0x140014fda
140014fd5:	c6 44 24 48 01       	movb   $0x1,0x48(%rsp)
140014fda:	48 8d 44 24 50       	lea    0x50(%rsp),%rax
140014fdf:	44 89 65 b0          	mov    %r12d,-0x50(%rbp)
140014fe3:	48 89 45 98          	mov    %rax,-0x68(%rbp)
140014fe7:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
140014feb:	48 8d 44 24 30       	lea    0x30(%rsp),%rax
140014ff0:	44 88 65 b4          	mov    %r12b,-0x4c(%rbp)
140014ff4:	48 89 85 f0 03 00 00 	mov    %rax,0x3f0(%rbp)
140014ffb:	0f 57 c0             	xorps  %xmm0,%xmm0
140014ffe:	48 8b 85 78 04 00 00 	mov    0x478(%rbp),%rax
140015005:	48 89 45 a8          	mov    %rax,-0x58(%rbp)
140015009:	4c 89 65 b8          	mov    %r12,-0x48(%rbp)
14001500d:	44 89 65 c0          	mov    %r12d,-0x40(%rbp)
140015011:	44 88 65 c8          	mov    %r12b,-0x38(%rbp)
140015015:	66 44 89 65 ca       	mov    %r12w,-0x36(%rbp)
14001501a:	44 89 65 d8          	mov    %r12d,-0x28(%rbp)
14001501e:	44 88 65 dc          	mov    %r12b,-0x24(%rbp)
140015022:	66 0f 7f 85 e0 03 00 	movdqa %xmm0,0x3e0(%rbp)
140015029:	00
14001502a:	4c 89 7d 90          	mov    %r15,-0x70(%rbp)
14001502e:	4c 89 4d a0          	mov    %r9,-0x60(%rbp)
140015032:	44 89 a5 f8 03 00 00 	mov    %r12d,0x3f8(%rbp)
140015039:	e8 a2 d1 ff ff       	call   0x1400121e0
14001503e:	48 63 f8             	movslq %eax,%rdi
140015041:	48 85 f6             	test   %rsi,%rsi
140015044:	0f 84 88 00 00 00    	je     0x1400150d2
14001504a:	41 f6 c7 01          	test   $0x1,%r15b
14001504e:	74 2f                	je     0x14001507f
140015050:	48 85 db             	test   %rbx,%rbx
140015053:	75 15                	jne    0x14001506a
140015055:	85 c0                	test   %eax,%eax
140015057:	74 11                	je     0x14001506a
140015059:	48 8b 8d e8 03 00 00 	mov    0x3e8(%rbp),%rcx
140015060:	e8 7b c4 fe ff       	call   0x1400014e0
140015065:	e9 27 ff ff ff       	jmp    0x140014f91
14001506a:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
14001506f:	48 3b c3             	cmp    %rbx,%rax
140015072:	75 59                	jne    0x1400150cd
140015074:	85 ff                	test   %edi,%edi
140015076:	78 5a                	js     0x1400150d2
140015078:	48 3b fb             	cmp    %rbx,%rdi
14001507b:	76 55                	jbe    0x1400150d2
14001507d:	eb da                	jmp    0x140015059
14001507f:	4d 85 f6             	test   %r14,%r14
140015082:	74 21                	je     0x1400150a5
140015084:	48 85 db             	test   %rbx,%rbx
140015087:	74 49                	je     0x1400150d2
140015089:	85 c0                	test   %eax,%eax
14001508b:	79 06                	jns    0x140015093
14001508d:	66 44 89 26          	mov    %r12w,(%rsi)
140015091:	eb 3f                	jmp    0x1400150d2
140015093:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
140015098:	48 3b c3             	cmp    %rbx,%rax
14001509b:	75 30                	jne    0x1400150cd
14001509d:	66 44 89 64 5e fe    	mov    %r12w,-0x2(%rsi,%rbx,2)
1400150a3:	eb 2d                	jmp    0x1400150d2
1400150a5:	48 85 db             	test   %rbx,%rbx
1400150a8:	74 af                	je     0x140015059
1400150aa:	48 8b 44 24 40       	mov    0x40(%rsp),%rax
1400150af:	48 3b c3             	cmp    %rbx,%rax
1400150b2:	75 19                	jne    0x1400150cd
1400150b4:	48 8b 8d e8 03 00 00 	mov    0x3e8(%rbp),%rcx
1400150bb:	66 44 89 64 5e fe    	mov    %r12w,-0x2(%rsi,%rbx,2)
1400150c1:	e8 1a c4 fe ff       	call   0x1400014e0
1400150c6:	bf fe ff ff ff       	mov    $0xfffffffe,%edi
1400150cb:	eb 11                	jmp    0x1400150de
1400150cd:	66 44 89 24 46       	mov    %r12w,(%rsi,%rax,2)
1400150d2:	48 8b 8d e8 03 00 00 	mov    0x3e8(%rbp),%rcx
1400150d9:	e8 02 c4 fe ff       	call   0x1400014e0
1400150de:	80 7c 24 78 02       	cmpb   $0x2,0x78(%rsp)
1400150e3:	75 0c                	jne    0x1400150f1
1400150e5:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1400150ea:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
1400150f1:	44 38 65 80          	cmp    %r12b,-0x80(%rbp)
1400150f5:	74 11                	je     0x140015108
1400150f7:	8b 5c 24 7c          	mov    0x7c(%rsp),%ebx
1400150fb:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140015100:	e8 63 9a ff ff       	call   0x14000eb68
140015105:	89 58 20             	mov    %ebx,0x20(%rax)
140015108:	44 38 65 88          	cmp    %r12b,-0x78(%rbp)
14001510c:	74 10                	je     0x14001511e
14001510e:	8b 5d 84             	mov    -0x7c(%rbp),%ebx
140015111:	48 8d 4c 24 50       	lea    0x50(%rsp),%rcx
140015116:	e8 4d 9a ff ff       	call   0x14000eb68
14001511b:	89 58 24             	mov    %ebx,0x24(%rax)
14001511e:	8b c7                	mov    %edi,%eax
140015120:	48 8b 8d 00 04 00 00 	mov    0x400(%rbp),%rcx
140015127:	48 33 cc             	xor    %rsp,%rcx
14001512a:	e8 71 42 ff ff       	call   0x1400093a0
14001512f:	48 81 c4 10 05 00 00 	add    $0x510,%rsp
140015136:	41 5f                	pop    %r15
140015138:	41 5e                	pop    %r14
14001513a:	41 5c                	pop    %r12
14001513c:	5f                   	pop    %rdi
14001513d:	5e                   	pop    %rsi
14001513e:	5b                   	pop    %rbx
14001513f:	5d                   	pop    %rbp
140015140:	c3                   	ret
140015141:	cc                   	int3
140015142:	cc                   	int3
140015143:	cc                   	int3
140015144:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015149:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
14001514e:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
140015153:	55                   	push   %rbp
140015154:	48 8b ec             	mov    %rsp,%rbp
140015157:	48 83 ec 70          	sub    $0x70,%rsp
14001515b:	48 8b 45 30          	mov    0x30(%rbp),%rax
14001515f:	33 f6                	xor    %esi,%esi
140015161:	48 89 75 c0          	mov    %rsi,-0x40(%rbp)
140015165:	48 8b da             	mov    %rdx,%rbx
140015168:	40 88 75 d0          	mov    %sil,-0x30(%rbp)
14001516c:	40 88 75 e8          	mov    %sil,-0x18(%rbp)
140015170:	40 88 75 f0          	mov    %sil,-0x10(%rbp)
140015174:	40 88 75 f8          	mov    %sil,-0x8(%rbp)
140015178:	48 85 c0             	test   %rax,%rax
14001517b:	74 05                	je     0x140015182
14001517d:	0f 10 00             	movups (%rax),%xmm0
140015180:	eb 0f                	jmp    0x140015191
140015182:	39 35 f4 ce 03 00    	cmp    %esi,0x3cef4(%rip)        # 0x14005207c
140015188:	75 10                	jne    0x14001519a
14001518a:	0f 10 05 37 92 03 00 	movups 0x39237(%rip),%xmm0        # 0x14004e3c8
140015191:	c6 45 e8 01          	movb   $0x1,-0x18(%rbp)
140015195:	f3 0f 7f 45 d8       	movdqu %xmm0,-0x28(%rbp)
14001519a:	4d 85 c9             	test   %r9,%r9
14001519d:	74 38                	je     0x1400151d7
14001519f:	48 85 db             	test   %rbx,%rbx
1400151a2:	74 33                	je     0x1400151d7
1400151a4:	4d 85 c0             	test   %r8,%r8
1400151a7:	74 2e                	je     0x1400151d7
1400151a9:	48 8b 45 38          	mov    0x38(%rbp),%rax
1400151ad:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400151b2:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
1400151b6:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
1400151bb:	e8 e0 9e ff ff       	call   0x14000f0a0
1400151c0:	8b f8                	mov    %eax,%edi
1400151c2:	85 c0                	test   %eax,%eax
1400151c4:	79 03                	jns    0x1400151c9
1400151c6:	66 89 33             	mov    %si,(%rbx)
1400151c9:	83 f8 fe             	cmp    $0xfffffffe,%eax
1400151cc:	75 34                	jne    0x140015202
1400151ce:	c7 45 ec 22 00 00 00 	movl   $0x22,-0x14(%rbp)
1400151d5:	eb 07                	jmp    0x1400151de
1400151d7:	c7 45 ec 16 00 00 00 	movl   $0x16,-0x14(%rbp)
1400151de:	48 8d 45 c0          	lea    -0x40(%rbp),%rax
1400151e2:	c6 45 f0 01          	movb   $0x1,-0x10(%rbp)
1400151e6:	48 89 44 24 28       	mov    %rax,0x28(%rsp)
1400151eb:	45 33 c9             	xor    %r9d,%r9d
1400151ee:	45 33 c0             	xor    %r8d,%r8d
1400151f1:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1400151f6:	33 d2                	xor    %edx,%edx
1400151f8:	33 c9                	xor    %ecx,%ecx
1400151fa:	e8 89 9c ff ff       	call   0x14000ee88
1400151ff:	83 cf ff             	or     $0xffffffff,%edi
140015202:	80 7d e8 02          	cmpb   $0x2,-0x18(%rbp)
140015206:	75 0b                	jne    0x140015213
140015208:	48 8b 45 c0          	mov    -0x40(%rbp),%rax
14001520c:	83 a0 a8 03 00 00 fd 	andl   $0xfffffffd,0x3a8(%rax)
140015213:	40 38 75 f0          	cmp    %sil,-0x10(%rbp)
140015217:	74 0f                	je     0x140015228
140015219:	8b 5d ec             	mov    -0x14(%rbp),%ebx
14001521c:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140015220:	e8 43 99 ff ff       	call   0x14000eb68
140015225:	89 58 20             	mov    %ebx,0x20(%rax)
140015228:	40 38 75 f8          	cmp    %sil,-0x8(%rbp)
14001522c:	74 0f                	je     0x14001523d
14001522e:	8b 5d f4             	mov    -0xc(%rbp),%ebx
140015231:	48 8d 4d c0          	lea    -0x40(%rbp),%rcx
140015235:	e8 2e 99 ff ff       	call   0x14000eb68
14001523a:	89 58 24             	mov    %ebx,0x24(%rax)
14001523d:	4c 8d 5c 24 70       	lea    0x70(%rsp),%r11
140015242:	8b c7                	mov    %edi,%eax
140015244:	49 8b 5b 10          	mov    0x10(%r11),%rbx
140015248:	49 8b 73 18          	mov    0x18(%r11),%rsi
14001524c:	49 8b 7b 20          	mov    0x20(%r11),%rdi
140015250:	49 8b e3             	mov    %r11,%rsp
140015253:	5d                   	pop    %rbp
140015254:	c3                   	ret
140015255:	cc                   	int3
140015256:	cc                   	int3
140015257:	cc                   	int3
140015258:	f6 c1 04             	test   $0x4,%cl
14001525b:	75 2d                	jne    0x14001528a
14001525d:	f6 c1 01             	test   $0x1,%cl
140015260:	74 14                	je     0x140015276
140015262:	f6 c1 02             	test   $0x2,%cl
140015265:	74 12                	je     0x140015279
140015267:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14001526e:	00 00 80
140015271:	48 3b d0             	cmp    %rax,%rdx
140015274:	77 14                	ja     0x14001528a
140015276:	32 c0                	xor    %al,%al
140015278:	c3                   	ret
140015279:	48 b8 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rax
140015280:	ff ff 7f
140015283:	48 3b d0             	cmp    %rax,%rdx
140015286:	0f 97 c0             	seta   %al
140015289:	c3                   	ret
14001528a:	b0 01                	mov    $0x1,%al
14001528c:	c3                   	ret
14001528d:	cc                   	int3
14001528e:	cc                   	int3
14001528f:	cc                   	int3
140015290:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140015295:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
14001529a:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
14001529f:	57                   	push   %rdi
1400152a0:	41 54                	push   %r12
1400152a2:	41 55                	push   %r13
1400152a4:	41 56                	push   %r14
1400152a6:	41 57                	push   %r15
1400152a8:	48 83 ec 30          	sub    $0x30,%rsp
1400152ac:	4c 8b 22             	mov    (%rdx),%r12
1400152af:	41 8b e8             	mov    %r8d,%ebp
1400152b2:	45 0f b6 f9          	movzbl %r9b,%r15d
1400152b6:	48 8b da             	mov    %rdx,%rbx
1400152b9:	4c 8b e9             	mov    %rcx,%r13
1400152bc:	4d 85 e4             	test   %r12,%r12
1400152bf:	75 12                	jne    0x1400152d3
1400152c1:	e8 16 be 00 00       	call   0x1400210dc
1400152c6:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400152cc:	e8 83 9c ff ff       	call   0x14000ef54
1400152d1:	eb 32                	jmp    0x140015305
1400152d3:	85 ed                	test   %ebp,%ebp
1400152d5:	74 46                	je     0x14001531d
1400152d7:	41 8d 40 fe          	lea    -0x2(%r8),%eax
1400152db:	83 f8 22             	cmp    $0x22,%eax
1400152de:	76 3d                	jbe    0x14001531d
1400152e0:	c6 41 30 01          	movb   $0x1,0x30(%rcx)
1400152e4:	45 33 c9             	xor    %r9d,%r9d
1400152e7:	c7 41 2c 16 00 00 00 	movl   $0x16,0x2c(%rcx)
1400152ee:	45 33 c0             	xor    %r8d,%r8d
1400152f1:	4c 89 6c 24 28       	mov    %r13,0x28(%rsp)
1400152f6:	33 c9                	xor    %ecx,%ecx
1400152f8:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1400152fe:	33 d2                	xor    %edx,%edx
140015300:	e8 83 9b ff ff       	call   0x14000ee88
140015305:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
140015309:	48 85 c9             	test   %rcx,%rcx
14001530c:	0f 84 b4 01 00 00    	je     0x1400154c6
140015312:	48 8b 03             	mov    (%rbx),%rax
140015315:	48 89 01             	mov    %rax,(%rcx)
140015318:	e9 a9 01 00 00       	jmp    0x1400154c6
14001531d:	41 0f b6 34 24       	movzbl (%r12),%esi
140015322:	49 8d 44 24 01       	lea    0x1(%r12),%rax
140015327:	45 33 f6             	xor    %r14d,%r14d
14001532a:	48 89 02             	mov    %rax,(%rdx)
14001532d:	44 38 71 28          	cmp    %r14b,0x28(%rcx)
140015331:	75 13                	jne    0x140015346
140015333:	e8 08 f3 ff ff       	call   0x140014640
140015338:	eb 0c                	jmp    0x140015346
14001533a:	48 8b 03             	mov    (%rbx),%rax
14001533d:	0f b6 30             	movzbl (%rax),%esi
140015340:	48 ff c0             	inc    %rax
140015343:	48 89 03             	mov    %rax,(%rbx)
140015346:	4d 8d 45 18          	lea    0x18(%r13),%r8
14001534a:	ba 08 00 00 00       	mov    $0x8,%edx
14001534f:	8b ce                	mov    %esi,%ecx
140015351:	e8 a2 0c 00 00       	call   0x140015ff8
140015356:	85 c0                	test   %eax,%eax
140015358:	75 e0                	jne    0x14001533a
14001535a:	41 8b c7             	mov    %r15d,%eax
14001535d:	41 8b ff             	mov    %r15d,%edi
140015360:	41 bf 02 00 00 00    	mov    $0x2,%r15d
140015366:	41 0b ff             	or     %r15d,%edi
140015369:	40 80 fe 2d          	cmp    $0x2d,%sil
14001536d:	0f 45 f8             	cmovne %eax,%edi
140015370:	8d 46 d5             	lea    -0x2b(%rsi),%eax
140015373:	a8 fd                	test   $0xfd,%al
140015375:	75 0c                	jne    0x140015383
140015377:	48 8b 03             	mov    (%rbx),%rax
14001537a:	40 8a 30             	mov    (%rax),%sil
14001537d:	48 ff c0             	inc    %rax
140015380:	48 89 03             	mov    %rax,(%rbx)
140015383:	f7 c5 ef ff ff ff    	test   $0xffffffef,%ebp
140015389:	0f 85 8b 00 00 00    	jne    0x14001541a
14001538f:	8d 46 d0             	lea    -0x30(%rsi),%eax
140015392:	3c 09                	cmp    $0x9,%al
140015394:	77 09                	ja     0x14001539f
140015396:	40 0f be c6          	movsbl %sil,%eax
14001539a:	83 c0 d0             	add    $0xffffffd0,%eax
14001539d:	eb 1e                	jmp    0x1400153bd
14001539f:	8d 46 9f             	lea    -0x61(%rsi),%eax
1400153a2:	3c 19                	cmp    $0x19,%al
1400153a4:	77 09                	ja     0x1400153af
1400153a6:	40 0f be c6          	movsbl %sil,%eax
1400153aa:	83 c0 a9             	add    $0xffffffa9,%eax
1400153ad:	eb 0e                	jmp    0x1400153bd
1400153af:	8d 46 bf             	lea    -0x41(%rsi),%eax
1400153b2:	3c 19                	cmp    $0x19,%al
1400153b4:	77 58                	ja     0x14001540e
1400153b6:	40 0f be c6          	movsbl %sil,%eax
1400153ba:	83 c0 c9             	add    $0xffffffc9,%eax
1400153bd:	85 c0                	test   %eax,%eax
1400153bf:	75 4d                	jne    0x14001540e
1400153c1:	48 8b 0b             	mov    (%rbx),%rcx
1400153c4:	8a 11                	mov    (%rcx),%dl
1400153c6:	4c 8d 41 01          	lea    0x1(%rcx),%r8
1400153ca:	4c 89 03             	mov    %r8,(%rbx)
1400153cd:	8d 42 a8             	lea    -0x58(%rdx),%eax
1400153d0:	a8 df                	test   $0xdf,%al
1400153d2:	74 29                	je     0x1400153fd
1400153d4:	85 ed                	test   %ebp,%ebp
1400153d6:	48 89 0b             	mov    %rcx,(%rbx)
1400153d9:	b8 08 00 00 00       	mov    $0x8,%eax
1400153de:	0f 45 c5             	cmovne %ebp,%eax
1400153e1:	8b e8                	mov    %eax,%ebp
1400153e3:	84 d2                	test   %dl,%dl
1400153e5:	74 33                	je     0x14001541a
1400153e7:	38 11                	cmp    %dl,(%rcx)
1400153e9:	74 2f                	je     0x14001541a
1400153eb:	e8 ec bc 00 00       	call   0x1400210dc
1400153f0:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1400153f6:	e8 59 9b ff ff       	call   0x14000ef54
1400153fb:	eb 1d                	jmp    0x14001541a
1400153fd:	41 8a 30             	mov    (%r8),%sil
140015400:	49 8d 40 01          	lea    0x1(%r8),%rax
140015404:	48 89 03             	mov    %rax,(%rbx)
140015407:	b8 10 00 00 00       	mov    $0x10,%eax
14001540c:	eb 05                	jmp    0x140015413
14001540e:	b8 0a 00 00 00       	mov    $0xa,%eax
140015413:	85 ed                	test   %ebp,%ebp
140015415:	0f 45 c5             	cmovne %ebp,%eax
140015418:	8b e8                	mov    %eax,%ebp
14001541a:	33 d2                	xor    %edx,%edx
14001541c:	83 c8 ff             	or     $0xffffffff,%eax
14001541f:	f7 f5                	div    %ebp
140015421:	44 8b c8             	mov    %eax,%r9d
140015424:	8d 4e d0             	lea    -0x30(%rsi),%ecx
140015427:	80 f9 09             	cmp    $0x9,%cl
14001542a:	77 09                	ja     0x140015435
14001542c:	40 0f be ce          	movsbl %sil,%ecx
140015430:	83 c1 d0             	add    $0xffffffd0,%ecx
140015433:	eb 23                	jmp    0x140015458
140015435:	8d 46 9f             	lea    -0x61(%rsi),%eax
140015438:	3c 19                	cmp    $0x19,%al
14001543a:	77 09                	ja     0x140015445
14001543c:	40 0f be ce          	movsbl %sil,%ecx
140015440:	83 c1 a9             	add    $0xffffffa9,%ecx
140015443:	eb 13                	jmp    0x140015458
140015445:	8d 46 bf             	lea    -0x41(%rsi),%eax