14002a163:	8b e9                	mov    %ecx,%ebp
14002a165:	e8 66 5e ff ff       	call   0x14001ffd0
14002a16a:	33 d2                	xor    %edx,%edx
14002a16c:	45 8d 46 01          	lea    0x1(%r14),%r8d
14002a170:	8b cd                	mov    %ebp,%ecx
14002a172:	4c 8b f8             	mov    %rax,%r15
14002a175:	e8 56 5e ff ff       	call   0x14001ffd0
14002a17a:	48 8b f3             	mov    %rbx,%rsi
14002a17d:	48 2b f0             	sub    %rax,%rsi
14002a180:	49 83 ff ff          	cmp    $0xffffffffffffffff,%r15
14002a184:	0f 84 e5 00 00 00    	je     0x14002a26f
14002a18a:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14002a18e:	0f 84 db 00 00 00    	je     0x14002a26f
14002a194:	33 ff                	xor    %edi,%edi
14002a196:	48 85 f6             	test   %rsi,%rsi
14002a199:	0f 8e 8c 00 00 00    	jle    0x14002a22b
14002a19f:	41 bc 00 10 00 00    	mov    $0x1000,%r12d
14002a1a5:	41 8b d6             	mov    %r14d,%edx
14002a1a8:	41 8b cc             	mov    %r12d,%ecx
14002a1ab:	e8 60 0c ff ff       	call   0x14001ae10
14002a1b0:	48 8b d8             	mov    %rax,%rbx
14002a1b3:	48 85 c0             	test   %rax,%rax
14002a1b6:	75 0d                	jne    0x14002a1c5
14002a1b8:	e8 2f a8 fe ff       	call   0x1400149ec
14002a1bd:	c7 00 0c 00 00 00    	movl   $0xc,(%rax)
14002a1c3:	eb 49                	jmp    0x14002a20e
14002a1c5:	ba 00 80 00 00       	mov    $0x8000,%edx
14002a1ca:	8b cd                	mov    %ebp,%ecx
14002a1cc:	e8 ab ec fe ff       	call   0x140018e7c
14002a1d1:	44 8b f0             	mov    %eax,%r14d
14002a1d4:	eb 0a                	jmp    0x14002a1e0
14002a1d6:	48 98                	cltq
14002a1d8:	48 2b f0             	sub    %rax,%rsi
14002a1db:	48 85 f6             	test   %rsi,%rsi
14002a1de:	7e 3f                	jle    0x14002a21f
14002a1e0:	44 8b c6             	mov    %esi,%r8d
14002a1e3:	49 3b f4             	cmp    %r12,%rsi
14002a1e6:	48 8b d3             	mov    %rbx,%rdx
14002a1e9:	8b cd                	mov    %ebp,%ecx
14002a1eb:	45 0f 4d c4          	cmovge %r12d,%r8d
14002a1ef:	e8 10 42 ff ff       	call   0x14001e404
14002a1f4:	83 f8 ff             	cmp    $0xffffffff,%eax
14002a1f7:	75 dd                	jne    0x14002a1d6
14002a1f9:	e8 ce a7 fe ff       	call   0x1400149cc
14002a1fe:	83 38 05             	cmpl   $0x5,(%rax)
14002a201:	75 0b                	jne    0x14002a20e
14002a203:	e8 e4 a7 fe ff       	call   0x1400149ec
14002a208:	c7 00 0d 00 00 00    	movl   $0xd,(%rax)
14002a20e:	e8 d9 a7 fe ff       	call   0x1400149ec
14002a213:	8b 38                	mov    (%rax),%edi
14002a215:	48 8b cb             	mov    %rbx,%rcx
14002a218:	e8 6b 0c ff ff       	call   0x14001ae88
14002a21d:	eb 57                	jmp    0x14002a276
14002a21f:	41 8b d6             	mov    %r14d,%edx
14002a222:	8b cd                	mov    %ebp,%ecx
14002a224:	e8 53 ec fe ff       	call   0x140018e7c
14002a229:	eb ea                	jmp    0x14002a215
14002a22b:	79 49                	jns    0x14002a276
14002a22d:	45 33 c0             	xor    %r8d,%r8d
14002a230:	48 8b d3             	mov    %rbx,%rdx
14002a233:	8b cd                	mov    %ebp,%ecx
14002a235:	e8 96 5d ff ff       	call   0x14001ffd0
14002a23a:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
14002a23e:	74 2f                	je     0x14002a26f
14002a240:	8b cd                	mov    %ebp,%ecx
14002a242:	e8 25 9b ff ff       	call   0x140023d6c
14002a247:	48 8b c8             	mov    %rax,%rcx
14002a24a:	ff 15 f8 1d 00 00    	call   *0x1df8(%rip)        # 0x14002c048
14002a250:	85 c0                	test   %eax,%eax
14002a252:	75 22                	jne    0x14002a276
14002a254:	e8 93 a7 fe ff       	call   0x1400149ec
14002a259:	c7 00 0d 00 00 00    	movl   $0xd,(%rax)
14002a25f:	e8 68 a7 fe ff       	call   0x1400149cc
14002a264:	48 8b d8             	mov    %rax,%rbx
14002a267:	ff 15 f3 1d 00 00    	call   *0x1df3(%rip)        # 0x14002c060
14002a26d:	89 03                	mov    %eax,(%rbx)
14002a26f:	e8 78 a7 fe ff       	call   0x1400149ec
14002a274:	8b 38                	mov    (%rax),%edi
14002a276:	45 33 c0             	xor    %r8d,%r8d
14002a279:	49 8b d7             	mov    %r15,%rdx
14002a27c:	8b cd                	mov    %ebp,%ecx
14002a27e:	e8 4d 5d ff ff       	call   0x14001ffd0
14002a283:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
14002a288:	8b c7                	mov    %edi,%eax
14002a28a:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
14002a28f:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
14002a294:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
14002a299:	48 83 c4 20          	add    $0x20,%rsp
14002a29d:	41 5f                	pop    %r15
14002a29f:	41 5e                	pop    %r14
14002a2a1:	41 5c                	pop    %r12
14002a2a3:	c3                   	ret
14002a2a4:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
14002a2a9:	55                   	push   %rbp
14002a2aa:	56                   	push   %rsi
14002a2ab:	57                   	push   %rdi
14002a2ac:	41 56                	push   %r14
14002a2ae:	41 57                	push   %r15
14002a2b0:	48 83 ec 40          	sub    $0x40,%rsp
14002a2b4:	48 8b 05 c5 9d 01 00 	mov    0x19dc5(%rip),%rax        # 0x140044080
14002a2bb:	48 33 c4             	xor    %rsp,%rax
14002a2be:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14002a2c3:	45 33 db             	xor    %r11d,%r11d
14002a2c6:	4c 8d 15 53 cf 01 00 	lea    0x1cf53(%rip),%r10        # 0x140047220
14002a2cd:	4d 85 c9             	test   %r9,%r9
14002a2d0:	48 8d 3d 9d 25 01 00 	lea    0x1259d(%rip),%rdi        # 0x14003c874
14002a2d7:	48 8b c2             	mov    %rdx,%rax
14002a2da:	4c 8b fa             	mov    %rdx,%r15
14002a2dd:	4d 0f 45 d1          	cmovne %r9,%r10
14002a2e1:	48 85 d2             	test   %rdx,%rdx
14002a2e4:	41 8d 6b 01          	lea    0x1(%r11),%ebp
14002a2e8:	48 0f 45 fa          	cmovne %rdx,%rdi
14002a2ec:	44 8b f5             	mov    %ebp,%r14d
14002a2ef:	4d 0f 45 f0          	cmovne %r8,%r14
14002a2f3:	48 f7 d8             	neg    %rax
14002a2f6:	48 1b f6             	sbb    %rsi,%rsi
14002a2f9:	48 23 f1             	and    %rcx,%rsi
14002a2fc:	4d 85 f6             	test   %r14,%r14
14002a2ff:	75 0c                	jne    0x14002a30d
14002a301:	48 c7 c0 fe ff ff ff 	mov    $0xfffffffffffffffe,%rax
14002a308:	e9 52 01 00 00       	jmp    0x14002a45f
14002a30d:	45 0f b7 4a 06       	movzwl 0x6(%r10),%r9d
14002a312:	66 45 85 c9          	test   %r9w,%r9w
14002a316:	75 65                	jne    0x14002a37d
14002a318:	8a 1f                	mov    (%rdi),%bl
14002a31a:	48 ff c7             	inc    %rdi
14002a31d:	84 db                	test   %bl,%bl
14002a31f:	78 18                	js     0x14002a339
14002a321:	48 85 f6             	test   %rsi,%rsi
14002a324:	74 05                	je     0x14002a32b
14002a326:	0f b6 cb             	movzbl %bl,%ecx
14002a329:	89 0e                	mov    %ecx,(%rsi)
14002a32b:	84 db                	test   %bl,%bl
14002a32d:	41 0f 95 c3          	setne  %r11b
14002a331:	49 8b c3             	mov    %r11,%rax
14002a334:	e9 26 01 00 00       	jmp    0x14002a45f
14002a339:	8a c3                	mov    %bl,%al
14002a33b:	24 e0                	and    $0xe0,%al
14002a33d:	3c c0                	cmp    $0xc0,%al
14002a33f:	75 05                	jne    0x14002a346
14002a341:	41 b0 02             	mov    $0x2,%r8b
14002a344:	eb 1c                	jmp    0x14002a362
14002a346:	8a c3                	mov    %bl,%al
14002a348:	24 f0                	and    $0xf0,%al
14002a34a:	3c e0                	cmp    $0xe0,%al
14002a34c:	75 05                	jne    0x14002a353
14002a34e:	41 b0 03             	mov    $0x3,%r8b
14002a351:	eb 0f                	jmp    0x14002a362
14002a353:	8a c3                	mov    %bl,%al
14002a355:	24 f8                	and    $0xf8,%al
14002a357:	3c f0                	cmp    $0xf0,%al
14002a359:	0f 85 ec 00 00 00    	jne    0x14002a44b
14002a35f:	41 b0 04             	mov    $0x4,%r8b
14002a362:	41 0f b6 c0          	movzbl %r8b,%eax
14002a366:	b9 07 00 00 00       	mov    $0x7,%ecx
14002a36b:	2b c8                	sub    %eax,%ecx
14002a36d:	8b d5                	mov    %ebp,%edx
14002a36f:	d3 e2                	shl    %cl,%edx
14002a371:	45 8a c8             	mov    %r8b,%r9b
14002a374:	2b d5                	sub    %ebp,%edx
14002a376:	0f b6 c3             	movzbl %bl,%eax
14002a379:	23 d0                	and    %eax,%edx
14002a37b:	eb 25                	jmp    0x14002a3a2
14002a37d:	45 8a 42 04          	mov    0x4(%r10),%r8b
14002a381:	41 8b 12             	mov    (%r10),%edx
14002a384:	41 8d 40 fe          	lea    -0x2(%r8),%eax
14002a388:	3c 02                	cmp    $0x2,%al
14002a38a:	0f 87 bb 00 00 00    	ja     0x14002a44b
14002a390:	44 3a cd             	cmp    %bpl,%r9b
14002a393:	0f 82 b2 00 00 00    	jb     0x14002a44b
14002a399:	45 3a c8             	cmp    %r8b,%r9b
14002a39c:	0f 83 a9 00 00 00    	jae    0x14002a44b
14002a3a2:	41 0f b6 e9          	movzbl %r9b,%ebp
14002a3a6:	49 3b ee             	cmp    %r14,%rbp
14002a3a9:	8b dd                	mov    %ebp,%ebx
14002a3ab:	49 0f 43 de          	cmovae %r14,%rbx
14002a3af:	eb 20                	jmp    0x14002a3d1
14002a3b1:	8a 0f                	mov    (%rdi),%cl
14002a3b3:	48 ff c7             	inc    %rdi
14002a3b6:	8a c1                	mov    %cl,%al
14002a3b8:	24 c0                	and    $0xc0,%al
14002a3ba:	3c 80                	cmp    $0x80,%al
14002a3bc:	0f 85 89 00 00 00    	jne    0x14002a44b
14002a3c2:	8b c2                	mov    %edx,%eax
14002a3c4:	0f b6 c9             	movzbl %cl,%ecx
14002a3c7:	83 e1 3f             	and    $0x3f,%ecx
14002a3ca:	c1 e0 06             	shl    $0x6,%eax
14002a3cd:	8b d1                	mov    %ecx,%edx
14002a3cf:	0b d0                	or     %eax,%edx
14002a3d1:	48 8b c7             	mov    %rdi,%rax
14002a3d4:	49 2b c7             	sub    %r15,%rax
14002a3d7:	48 3b c3             	cmp    %rbx,%rax
14002a3da:	72 d5                	jb     0x14002a3b1
14002a3dc:	48 3b dd             	cmp    %rbp,%rbx
14002a3df:	73 1d                	jae    0x14002a3fe
14002a3e1:	41 0f b6 c0          	movzbl %r8b,%eax
14002a3e5:	44 2a cb             	sub    %bl,%r9b
14002a3e8:	66 41 89 42 04       	mov    %ax,0x4(%r10)
14002a3ed:	41 0f b6 c1          	movzbl %r9b,%eax
14002a3f1:	66 41 89 42 06       	mov    %ax,0x6(%r10)
14002a3f6:	41 89 12             	mov    %edx,(%r10)
14002a3f9:	e9 03 ff ff ff       	jmp    0x14002a301
14002a3fe:	8d 82 00 28 ff ff    	lea    -0xd800(%rdx),%eax
14002a404:	3d ff 07 00 00       	cmp    $0x7ff,%eax
14002a409:	76 40                	jbe    0x14002a44b
14002a40b:	81 fa 00 00 11 00    	cmp    $0x110000,%edx
14002a411:	73 38                	jae    0x14002a44b
14002a413:	41 0f b6 c0          	movzbl %r8b,%eax
14002a417:	c7 44 24 20 80 00 00 	movl   $0x80,0x20(%rsp)
14002a41e:	00
14002a41f:	c7 44 24 24 00 08 00 	movl   $0x800,0x24(%rsp)
14002a426:	00
14002a427:	c7 44 24 28 00 00 01 	movl   $0x10000,0x28(%rsp)
14002a42e:	00
14002a42f:	3b 54 84 18          	cmp    0x18(%rsp,%rax,4),%edx
14002a433:	72 16                	jb     0x14002a44b
14002a435:	48 85 f6             	test   %rsi,%rsi
14002a438:	74 02                	je     0x14002a43c
14002a43a:	89 16                	mov    %edx,(%rsi)
14002a43c:	33 c0                	xor    %eax,%eax
14002a43e:	f7 da                	neg    %edx
14002a440:	49 89 02             	mov    %rax,(%r10)
14002a443:	48 1b c0             	sbb    %rax,%rax
14002a446:	48 23 c5             	and    %rbp,%rax
14002a449:	eb 14                	jmp    0x14002a45f
14002a44b:	33 c0                	xor    %eax,%eax
14002a44d:	49 89 02             	mov    %rax,(%r10)
14002a450:	e8 97 a5 fe ff       	call   0x1400149ec
14002a455:	c7 00 2a 00 00 00    	movl   $0x2a,(%rax)
14002a45b:	48 83 c8 ff          	or     $0xffffffffffffffff,%rax
14002a45f:	48 8b 4c 24 30       	mov    0x30(%rsp),%rcx
14002a464:	48 33 cc             	xor    %rsp,%rcx
14002a467:	e8 04 21 fe ff       	call   0x14000c570
14002a46c:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
14002a471:	48 83 c4 40          	add    $0x40,%rsp
14002a475:	41 5f                	pop    %r15
14002a477:	41 5e                	pop    %r14
14002a479:	5f                   	pop    %rdi
14002a47a:	5e                   	pop    %rsi
14002a47b:	5d                   	pop    %rbp
14002a47c:	c3                   	ret
14002a47d:	cc                   	int3
14002a47e:	cc                   	int3
14002a47f:	cc                   	int3
14002a480:	40 53                	rex push %rbx
14002a482:	48 83 ec 20          	sub    $0x20,%rsp
14002a486:	48 8b d9             	mov    %rcx,%rbx
14002a489:	e8 f6 e9 ff ff       	call   0x140028e84
14002a48e:	89 03                	mov    %eax,(%rbx)
14002a490:	e8 e3 ea ff ff       	call   0x140028f78
14002a495:	89 43 04             	mov    %eax,0x4(%rbx)
14002a498:	33 c0                	xor    %eax,%eax
14002a49a:	48 83 c4 20          	add    $0x20,%rsp
14002a49e:	5b                   	pop    %rbx
14002a49f:	c3                   	ret
14002a4a0:	40 53                	rex push %rbx
14002a4a2:	48 83 ec 20          	sub    $0x20,%rsp
14002a4a6:	48 8b d9             	mov    %rcx,%rbx
14002a4a9:	8b 09                	mov    (%rcx),%ecx
14002a4ab:	e8 1c eb ff ff       	call   0x140028fcc
14002a4b0:	8b 4b 04             	mov    0x4(%rbx),%ecx
14002a4b3:	e8 5c ec ff ff       	call   0x140029114
14002a4b8:	33 c0                	xor    %eax,%eax
14002a4ba:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
14002a4bf:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
14002a4c4:	e8 b7 ff ff ff       	call   0x14002a480
14002a4c9:	85 c0                	test   %eax,%eax
14002a4cb:	75 15                	jne    0x14002a4e2
14002a4cd:	8b 44 24 30          	mov    0x30(%rsp),%eax
14002a4d1:	39 03                	cmp    %eax,(%rbx)
14002a4d3:	75 0d                	jne    0x14002a4e2
14002a4d5:	8b 44 24 34          	mov    0x34(%rsp),%eax
14002a4d9:	39 43 04             	cmp    %eax,0x4(%rbx)
14002a4dc:	75 04                	jne    0x14002a4e2
14002a4de:	33 c0                	xor    %eax,%eax
14002a4e0:	eb 05                	jmp    0x14002a4e7
14002a4e2:	b8 01 00 00 00       	mov    $0x1,%eax
14002a4e7:	48 83 c4 20          	add    $0x20,%rsp
14002a4eb:	5b                   	pop    %rbx
14002a4ec:	c3                   	ret
14002a4ed:	cc                   	int3
14002a4ee:	cc                   	int3
14002a4ef:	cc                   	int3
14002a4f0:	40 53                	rex push %rbx
14002a4f2:	48 83 ec 20          	sub    $0x20,%rsp
14002a4f6:	83 64 24 38 00       	andl   $0x0,0x38(%rsp)
14002a4fb:	48 8b d9             	mov    %rcx,%rbx
14002a4fe:	83 64 24 3c 00       	andl   $0x0,0x3c(%rsp)
14002a503:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14002a508:	e8 73 ff ff ff       	call   0x14002a480
14002a50d:	85 c0                	test   %eax,%eax
14002a50f:	75 24                	jne    0x14002a535
14002a511:	48 8b 44 24 38       	mov    0x38(%rsp),%rax
14002a516:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
14002a51b:	83 4c 24 38 1f       	orl    $0x1f,0x38(%rsp)
14002a520:	48 89 03             	mov    %rax,(%rbx)
14002a523:	e8 78 ff ff ff       	call   0x14002a4a0
14002a528:	85 c0                	test   %eax,%eax
14002a52a:	75 09                	jne    0x14002a535
14002a52c:	e8 eb 08 00 00       	call   0x14002ae1c
14002a531:	33 c0                	xor    %eax,%eax
14002a533:	eb 05                	jmp    0x14002a53a
14002a535:	b8 01 00 00 00       	mov    $0x1,%eax
14002a53a:	48 83 c4 20          	add    $0x20,%rsp
14002a53e:	5b                   	pop    %rbx
14002a53f:	c3                   	ret
14002a540:	45 33 c0             	xor    %r8d,%r8d
14002a543:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
14002a549:	48 8b 54 24 08       	mov    0x8(%rsp),%rdx
14002a54e:	48 b9 ff ff ff ff ff 	movabs $0x7fffffffffffffff,%rcx
14002a555:	ff ff 7f
14002a558:	48 8b c2             	mov    %rdx,%rax
14002a55b:	48 23 c1             	and    %rcx,%rax
14002a55e:	48 b9 00 00 00 00 00 	movabs $0x4340000000000000,%rcx
14002a565:	00 40 43
14002a568:	48 3b d0             	cmp    %rax,%rdx
14002a56b:	41 0f 95 c0          	setne  %r8b
14002a56f:	48 3b c1             	cmp    %rcx,%rax
14002a572:	72 17                	jb     0x14002a58b
14002a574:	48 b9 00 00 00 00 00 	movabs $0x7ff0000000000000,%rcx
14002a57b:	00 f0 7f
14002a57e:	48 3b c1             	cmp    %rcx,%rax
14002a581:	76 7e                	jbe    0x14002a601
14002a583:	48 8b ca             	mov    %rdx,%rcx
14002a586:	e9 f5 ef ff ff       	jmp    0x140029580
14002a58b:	48 b9 00 00 00 00 00 	movabs $0x3ff0000000000000,%rcx
14002a592:	00 f0 3f
14002a595:	48 3b c1             	cmp    %rcx,%rax
14002a598:	73 2b                	jae    0x14002a5c5
14002a59a:	48 85 c0             	test   %rax,%rax
14002a59d:	74 62                	je     0x14002a601
14002a59f:	4d 85 c0             	test   %r8,%r8
14002a5a2:	74 17                	je     0x14002a5bb
14002a5a4:	48 b8 00 00 00 00 00 	movabs $0x8000000000000000,%rax
14002a5ab:	00 00 80
14002a5ae:	48 89 44 24 08       	mov    %rax,0x8(%rsp)
14002a5b3:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
14002a5b9:	eb 46                	jmp    0x14002a601
14002a5bb:	f2 0f 10 05 ed 91 00 	movsd  0x91ed(%rip),%xmm0        # 0x1400337b0
14002a5c2:	00
14002a5c3:	eb 3c                	jmp    0x14002a601
14002a5c5:	48 8b c2             	mov    %rdx,%rax
14002a5c8:	b9 33 00 00 00       	mov    $0x33,%ecx
14002a5cd:	48 c1 e8 34          	shr    $0x34,%rax
14002a5d1:	2a c8                	sub    %al,%cl
14002a5d3:	b8 01 00 00 00       	mov    $0x1,%eax
14002a5d8:	48 d3 e0             	shl    %cl,%rax
14002a5db:	48 ff c8             	dec    %rax
14002a5de:	48 f7 d0             	not    %rax
14002a5e1:	48 23 c2             	and    %rdx,%rax