1401ac135:	66 23 c2             	and    %dx,%ax
1401ac138:	ba e0 3f 00 00       	mov    $0x3fe0,%edx
1401ac13d:	66 0b c2             	or     %dx,%ax
1401ac140:	66 89 44 24 16       	mov    %ax,0x16(%rsp)
1401ac145:	0f b7 44 24 0e       	movzwl 0xe(%rsp),%eax
1401ac14a:	f2 0f 10 44 24 10    	movsd  0x10(%rsp),%xmm0
1401ac150:	66 c1 e8 04          	shr    $0x4,%ax
1401ac154:	66 23 c1             	and    %cx,%ax
1401ac157:	0f bf c8             	movswl %ax,%ecx
1401ac15a:	81 e9 fe 03 00 00    	sub    $0x3fe,%ecx
1401ac160:	41 89 0a             	mov    %ecx,(%r10)
1401ac163:	c3                   	ret
1401ac164:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
1401ac16a:	b9 0f 80 00 00       	mov    $0x800f,%ecx
1401ac16f:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
1401ac174:	48 c1 e8 30          	shr    $0x30,%rax
1401ac178:	66 23 c1             	and    %cx,%ax
1401ac17b:	f2 0f 11 44 24 18    	movsd  %xmm0,0x18(%rsp)
1401ac181:	b9 fe 03 00 00       	mov    $0x3fe,%ecx
1401ac186:	66 03 d1             	add    %cx,%dx
1401ac189:	66 c1 e2 04          	shl    $0x4,%dx
1401ac18d:	66 0b c2             	or     %dx,%ax
1401ac190:	66 89 44 24 1e       	mov    %ax,0x1e(%rsp)
1401ac195:	f2 0f 10 44 24 18    	movsd  0x18(%rsp),%xmm0
1401ac19b:	c3                   	ret
1401ac19c:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
1401ac1a2:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
1401ac1a7:	48 8b c8             	mov    %rax,%rcx
1401ac1aa:	48 c1 e9 20          	shr    $0x20,%rcx
1401ac1ae:	81 f9 00 00 f0 7f    	cmp    $0x7ff00000,%ecx
1401ac1b4:	75 0a                	jne    0x1401ac1c0
1401ac1b6:	85 c0                	test   %eax,%eax
1401ac1b8:	75 06                	jne    0x1401ac1c0
1401ac1ba:	b8 01 00 00 00       	mov    $0x1,%eax
1401ac1bf:	c3                   	ret
1401ac1c0:	81 f9 00 00 f0 ff    	cmp    $0xfff00000,%ecx
1401ac1c6:	75 0a                	jne    0x1401ac1d2
1401ac1c8:	85 c0                	test   %eax,%eax
1401ac1ca:	75 06                	jne    0x1401ac1d2
1401ac1cc:	b8 02 00 00 00       	mov    $0x2,%eax
1401ac1d1:	c3                   	ret
1401ac1d2:	41 b8 f8 7f 00 00    	mov    $0x7ff8,%r8d
1401ac1d8:	48 8b d0             	mov    %rax,%rdx
1401ac1db:	48 c1 ea 30          	shr    $0x30,%rdx
1401ac1df:	66 41 23 d0          	and    %r8w,%dx
1401ac1e3:	66 41 3b d0          	cmp    %r8w,%dx
1401ac1e7:	75 06                	jne    0x1401ac1ef
1401ac1e9:	b8 03 00 00 00       	mov    $0x3,%eax
1401ac1ee:	c3                   	ret
1401ac1ef:	41 b8 f0 7f 00 00    	mov    $0x7ff0,%r8d
1401ac1f5:	66 41 3b d0          	cmp    %r8w,%dx
1401ac1f9:	75 12                	jne    0x1401ac20d
1401ac1fb:	f7 c1 ff ff 07 00    	test   $0x7ffff,%ecx
1401ac201:	75 04                	jne    0x1401ac207
1401ac203:	85 c0                	test   %eax,%eax
1401ac205:	74 06                	je     0x1401ac20d
1401ac207:	b8 04 00 00 00       	mov    $0x4,%eax
1401ac20c:	c3                   	ret
1401ac20d:	33 c0                	xor    %eax,%eax
1401ac20f:	c3                   	ret
1401ac210:	40 53                	rex push %rbx
1401ac212:	48 83 ec 20          	sub    $0x20,%rsp
1401ac216:	e8 05 78 00 00       	call   0x1401b3a20
1401ac21b:	8b d8                	mov    %eax,%ebx
1401ac21d:	83 e3 3f             	and    $0x3f,%ebx
1401ac220:	e8 15 78 00 00       	call   0x1401b3a3a
1401ac225:	8b c3                	mov    %ebx,%eax
1401ac227:	48 83 c4 20          	add    $0x20,%rsp
1401ac22b:	5b                   	pop    %rbx
1401ac22c:	c3                   	ret
1401ac22d:	cc                   	int3
1401ac22e:	cc                   	int3
1401ac22f:	cc                   	int3
1401ac230:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
1401ac235:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1401ac23a:	57                   	push   %rdi
1401ac23b:	48 83 ec 20          	sub    $0x20,%rsp
1401ac23f:	48 8b da             	mov    %rdx,%rbx
1401ac242:	48 8b f9             	mov    %rcx,%rdi
1401ac245:	e8 d6 77 00 00       	call   0x1401b3a20
1401ac24a:	8b f0                	mov    %eax,%esi
1401ac24c:	89 44 24 38          	mov    %eax,0x38(%rsp)
1401ac250:	8b cb                	mov    %ebx,%ecx
1401ac252:	f7 d1                	not    %ecx
1401ac254:	81 c9 7f 80 ff ff    	or     $0xffff807f,%ecx
1401ac25a:	23 c8                	and    %eax,%ecx
1401ac25c:	23 fb                	and    %ebx,%edi
1401ac25e:	0b cf                	or     %edi,%ecx
1401ac260:	89 4c 24 30          	mov    %ecx,0x30(%rsp)
1401ac264:	80 3d c1 f5 0f 00 00 	cmpb   $0x0,0xff5c1(%rip)        # 0x1402ab82c
1401ac26b:	74 25                	je     0x1401ac292
1401ac26d:	f6 c1 40             	test   $0x40,%cl
1401ac270:	74 20                	je     0x1401ac292
1401ac272:	e8 b9 77 00 00       	call   0x1401b3a30
1401ac277:	eb 17                	jmp    0x1401ac290
1401ac279:	c6 05 ac f5 0f 00 00 	movb   $0x0,0xff5ac(%rip)        # 0x1402ab82c
1401ac280:	8b 4c 24 30          	mov    0x30(%rsp),%ecx
1401ac284:	83 e1 bf             	and    $0xffffffbf,%ecx
1401ac287:	e8 a4 77 00 00       	call   0x1401b3a30
1401ac28c:	8b 74 24 38          	mov    0x38(%rsp),%esi
1401ac290:	eb 08                	jmp    0x1401ac29a
1401ac292:	83 e1 bf             	and    $0xffffffbf,%ecx
1401ac295:	e8 96 77 00 00       	call   0x1401b3a30
1401ac29a:	8b c6                	mov    %esi,%eax
1401ac29c:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1401ac2a1:	48 8b 74 24 48       	mov    0x48(%rsp),%rsi
1401ac2a6:	48 83 c4 20          	add    $0x20,%rsp
1401ac2aa:	5f                   	pop    %rdi
1401ac2ab:	c3                   	ret
1401ac2ac:	40 53                	rex push %rbx
1401ac2ae:	48 83 ec 20          	sub    $0x20,%rsp
1401ac2b2:	48 8b d9             	mov    %rcx,%rbx
1401ac2b5:	e8 66 77 00 00       	call   0x1401b3a20
1401ac2ba:	83 e3 3f             	and    $0x3f,%ebx
1401ac2bd:	0b c3                	or     %ebx,%eax
1401ac2bf:	8b c8                	mov    %eax,%ecx
1401ac2c1:	48 83 c4 20          	add    $0x20,%rsp
1401ac2c5:	5b                   	pop    %rbx
1401ac2c6:	e9 65 77 00 00       	jmp    0x1401b3a30
1401ac2cb:	cc                   	int3
1401ac2cc:	48 83 ec 28          	sub    $0x28,%rsp
1401ac2d0:	e8 4b 77 00 00       	call   0x1401b3a20
1401ac2d5:	83 e0 3f             	and    $0x3f,%eax
1401ac2d8:	48 83 c4 28          	add    $0x28,%rsp
1401ac2dc:	c3                   	ret
1401ac2dd:	cc                   	int3
1401ac2de:	cc                   	int3
1401ac2df:	cc                   	int3
1401ac2e0:	48 83 ec 28          	sub    $0x28,%rsp
1401ac2e4:	e8 87 77 00 00       	call   0x1401b3a70
1401ac2e9:	25 00 03 00 00       	and    $0x300,%eax
1401ac2ee:	48 83 c4 28          	add    $0x28,%rsp
1401ac2f2:	c3                   	ret
1401ac2f3:	cc                   	int3
1401ac2f4:	f2 0f 11 44 24 08    	movsd  %xmm0,0x8(%rsp)
1401ac2fa:	48 ba 00 00 00 00 00 	movabs $0x8000000000000000,%rdx
1401ac301:	00 00 80
1401ac304:	48 8b 4c 24 08       	mov    0x8(%rsp),%rcx
1401ac309:	f2 0f 11 4c 24 08    	movsd  %xmm1,0x8(%rsp)
1401ac30f:	48 8b 44 24 08       	mov    0x8(%rsp),%rax
1401ac314:	48 33 c1             	xor    %rcx,%rax
1401ac317:	48 85 c2             	test   %rax,%rdx
1401ac31a:	74 0e                	je     0x1401ac32a
1401ac31c:	48 33 ca             	xor    %rdx,%rcx
1401ac31f:	48 89 4c 24 08       	mov    %rcx,0x8(%rsp)
1401ac324:	f2 0f 10 44 24 08    	movsd  0x8(%rsp),%xmm0
1401ac32a:	c3                   	ret
1401ac32b:	cc                   	int3
1401ac32c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401ac331:	57                   	push   %rdi
1401ac332:	48 83 ec 20          	sub    $0x20,%rsp
1401ac336:	45 33 d2             	xor    %r10d,%r10d
1401ac339:	4c 8b da             	mov    %rdx,%r11
1401ac33c:	4d 85 c9             	test   %r9,%r9
1401ac33f:	75 2c                	jne    0x1401ac36d
1401ac341:	48 85 c9             	test   %rcx,%rcx
1401ac344:	75 2c                	jne    0x1401ac372
1401ac346:	48 85 d2             	test   %rdx,%rdx
1401ac349:	74 14                	je     0x1401ac35f
1401ac34b:	e8 bc 3b fe ff       	call   0x14018ff0c
1401ac350:	bb 16 00 00 00       	mov    $0x16,%ebx
1401ac355:	89 18                	mov    %ebx,(%rax)
1401ac357:	e8 08 f2 fd ff       	call   0x14018b564
1401ac35c:	44 8b d3             	mov    %ebx,%r10d
1401ac35f:	41 8b c2             	mov    %r10d,%eax
1401ac362:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1401ac367:	48 83 c4 20          	add    $0x20,%rsp
1401ac36b:	5f                   	pop    %rdi
1401ac36c:	c3                   	ret
1401ac36d:	48 85 c9             	test   %rcx,%rcx
1401ac370:	74 d9                	je     0x1401ac34b
1401ac372:	48 85 d2             	test   %rdx,%rdx
1401ac375:	74 d4                	je     0x1401ac34b
1401ac377:	4d 85 c9             	test   %r9,%r9
1401ac37a:	75 05                	jne    0x1401ac381
1401ac37c:	44 88 11             	mov    %r10b,(%rcx)
1401ac37f:	eb de                	jmp    0x1401ac35f
1401ac381:	4d 85 c0             	test   %r8,%r8
1401ac384:	75 05                	jne    0x1401ac38b
1401ac386:	44 88 11             	mov    %r10b,(%rcx)
1401ac389:	eb c0                	jmp    0x1401ac34b
1401ac38b:	4c 2b c1             	sub    %rcx,%r8
1401ac38e:	48 8b d1             	mov    %rcx,%rdx
1401ac391:	49 8b db             	mov    %r11,%rbx
1401ac394:	49 8b f9             	mov    %r9,%rdi
1401ac397:	49 83 f9 ff          	cmp    $0xffffffffffffffff,%r9
1401ac39b:	75 15                	jne    0x1401ac3b2
1401ac39d:	41 8a 04 10          	mov    (%r8,%rdx,1),%al
1401ac3a1:	88 02                	mov    %al,(%rdx)
1401ac3a3:	48 ff c2             	inc    %rdx
1401ac3a6:	84 c0                	test   %al,%al
1401ac3a8:	74 29                	je     0x1401ac3d3
1401ac3aa:	48 83 eb 01          	sub    $0x1,%rbx
1401ac3ae:	75 ed                	jne    0x1401ac39d
1401ac3b0:	eb 21                	jmp    0x1401ac3d3
1401ac3b2:	41 8a 04 10          	mov    (%r8,%rdx,1),%al
1401ac3b6:	88 02                	mov    %al,(%rdx)
1401ac3b8:	48 ff c2             	inc    %rdx
1401ac3bb:	84 c0                	test   %al,%al
1401ac3bd:	74 0c                	je     0x1401ac3cb
1401ac3bf:	48 83 eb 01          	sub    $0x1,%rbx
1401ac3c3:	74 06                	je     0x1401ac3cb
1401ac3c5:	48 83 ef 01          	sub    $0x1,%rdi
1401ac3c9:	75 e7                	jne    0x1401ac3b2
1401ac3cb:	48 85 ff             	test   %rdi,%rdi
1401ac3ce:	75 03                	jne    0x1401ac3d3
1401ac3d0:	44 88 12             	mov    %r10b,(%rdx)
1401ac3d3:	48 85 db             	test   %rbx,%rbx
1401ac3d6:	75 87                	jne    0x1401ac35f
1401ac3d8:	49 83 f9 ff          	cmp    $0xffffffffffffffff,%r9
1401ac3dc:	75 0e                	jne    0x1401ac3ec
1401ac3de:	46 88 54 19 ff       	mov    %r10b,-0x1(%rcx,%r11,1)
1401ac3e3:	44 8d 53 50          	lea    0x50(%rbx),%r10d
1401ac3e7:	e9 73 ff ff ff       	jmp    0x1401ac35f
1401ac3ec:	44 88 11             	mov    %r10b,(%rcx)
1401ac3ef:	e8 18 3b fe ff       	call   0x14018ff0c
1401ac3f4:	bb 22 00 00 00       	mov    $0x22,%ebx
1401ac3f9:	e9 57 ff ff ff       	jmp    0x1401ac355
1401ac3fe:	cc                   	int3
1401ac3ff:	cc                   	int3
1401ac400:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1401ac405:	57                   	push   %rdi
1401ac406:	48 83 ec 30          	sub    $0x30,%rsp
1401ac40a:	8b 05 d4 12 17 00    	mov    0x1712d4(%rip),%eax        # 0x14031d6e4
1401ac410:	48 8b f9             	mov    %rcx,%rdi
1401ac413:	33 c9                	xor    %ecx,%ecx
1401ac415:	48 8b da             	mov    %rdx,%rbx
1401ac418:	80 3a 20             	cmpb   $0x20,(%rdx)
1401ac41b:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
1401ac420:	f2 0f 10 44 24 20    	movsd  0x20(%rsp),%xmm0
1401ac426:	f2 0f 11 07          	movsd  %xmm0,(%rdi)
1401ac42a:	89 4f 08             	mov    %ecx,0x8(%rdi)
1401ac42d:	89 47 04             	mov    %eax,0x4(%rdi)
1401ac430:	75 08                	jne    0x1401ac43a
1401ac432:	48 ff c3             	inc    %rbx
1401ac435:	80 3b 20             	cmpb   $0x20,(%rbx)
1401ac438:	74 f8                	je     0x1401ac432
1401ac43a:	80 3b 61             	cmpb   $0x61,(%rbx)
1401ac43d:	74 21                	je     0x1401ac460
1401ac43f:	80 3b 72             	cmpb   $0x72,(%rbx)
1401ac442:	74 11                	je     0x1401ac455
1401ac444:	80 3b 77             	cmpb   $0x77,(%rbx)
1401ac447:	0f 85 30 02 00 00    	jne    0x1401ac67d
1401ac44d:	c7 07 01 03 00 00    	movl   $0x301,(%rdi)
1401ac453:	eb 11                	jmp    0x1401ac466
1401ac455:	21 0f                	and    %ecx,(%rdi)
1401ac457:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%rdi)
1401ac45e:	eb 0d                	jmp    0x1401ac46d
1401ac460:	c7 07 09 01 00 00    	movl   $0x109,(%rdi)
1401ac466:	c7 47 04 02 00 00 00 	movl   $0x2,0x4(%rdi)
1401ac46d:	48 ff c3             	inc    %rbx
1401ac470:	45 32 c9             	xor    %r9b,%r9b
1401ac473:	45 32 db             	xor    %r11b,%r11b
1401ac476:	45 32 d2             	xor    %r10b,%r10b
1401ac479:	45 32 c0             	xor    %r8b,%r8b
1401ac47c:	b2 01                	mov    $0x1,%dl
1401ac47e:	80 3b 00             	cmpb   $0x0,(%rbx)
1401ac481:	0f 84 24 01 00 00    	je     0x1401ac5ab
1401ac487:	0f be 0b             	movsbl (%rbx),%ecx
1401ac48a:	83 f9 53             	cmp    $0x53,%ecx
1401ac48d:	0f 8f 99 00 00 00    	jg     0x1401ac52c
1401ac493:	0f 84 83 00 00 00    	je     0x1401ac51c
1401ac499:	83 e9 20             	sub    $0x20,%ecx
1401ac49c:	0f 84 f7 00 00 00    	je     0x1401ac599
1401ac4a2:	83 e9 0b             	sub    $0xb,%ecx
1401ac4a5:	74 49                	je     0x1401ac4f0
1401ac4a7:	83 e9 01             	sub    $0x1,%ecx
1401ac4aa:	74 3c                	je     0x1401ac4e8
1401ac4ac:	83 e9 18             	sub    $0x18,%ecx
1401ac4af:	74 25                	je     0x1401ac4d6
1401ac4b1:	83 e9 0a             	sub    $0xa,%ecx
1401ac4b4:	74 17                	je     0x1401ac4cd
1401ac4b6:	83 f9 04             	cmp    $0x4,%ecx
1401ac4b9:	0f 85 be 01 00 00    	jne    0x1401ac67d
1401ac4bf:	45 84 d2             	test   %r10b,%r10b
1401ac4c2:	0f 85 c5 00 00 00    	jne    0x1401ac58d
1401ac4c8:	83 0f 10             	orl    $0x10,(%rdi)
1401ac4cb:	eb 57                	jmp    0x1401ac524
1401ac4cd:	0f ba 2f 07          	btsl   $0x7,(%rdi)
1401ac4d1:	e9 c1 00 00 00       	jmp    0x1401ac597
1401ac4d6:	8b 07                	mov    (%rdi),%eax
1401ac4d8:	a8 40                	test   $0x40,%al
1401ac4da:	0f 85 ad 00 00 00    	jne    0x1401ac58d
1401ac4e0:	83 c8 40             	or     $0x40,%eax
1401ac4e3:	e9 ad 00 00 00       	jmp    0x1401ac595
1401ac4e8:	41 b0 01             	mov    $0x1,%r8b
1401ac4eb:	e9 9d 00 00 00       	jmp    0x1401ac58d
1401ac4f0:	45 84 db             	test   %r11b,%r11b
1401ac4f3:	0f 85 94 00 00 00    	jne    0x1401ac58d
1401ac4f9:	8b 07                	mov    (%rdi),%eax
1401ac4fb:	41 b3 01             	mov    $0x1,%r11b
1401ac4fe:	a8 02                	test   $0x2,%al
1401ac500:	0f 85 87 00 00 00    	jne    0x1401ac58d
1401ac506:	83 e0 fe             	and    $0xfffffffe,%eax
1401ac509:	83 c8 02             	or     $0x2,%eax
1401ac50c:	89 07                	mov    %eax,(%rdi)
1401ac50e:	8b 47 04             	mov    0x4(%rdi),%eax
1401ac511:	83 e0 fc             	and    $0xfffffffc,%eax
1401ac514:	83 c8 04             	or     $0x4,%eax
1401ac517:	89 47 04             	mov    %eax,0x4(%rdi)
1401ac51a:	eb 7b                	jmp    0x1401ac597
1401ac51c:	45 84 d2             	test   %r10b,%r10b
1401ac51f:	75 6c                	jne    0x1401ac58d
1401ac521:	83 0f 20             	orl    $0x20,(%rdi)
1401ac524:	41 b2 01             	mov    $0x1,%r10b
1401ac527:	41 8a d2             	mov    %r10b,%dl
1401ac52a:	eb 6d                	jmp    0x1401ac599
1401ac52c:	83 e9 54             	sub    $0x54,%ecx
1401ac52f:	74 54                	je     0x1401ac585
1401ac531:	83 e9 0e             	sub    $0xe,%ecx
1401ac534:	74 40                	je     0x1401ac576
1401ac536:	83 e9 01             	sub    $0x1,%ecx
1401ac539:	74 29                	je     0x1401ac564
1401ac53b:	83 e9 0b             	sub    $0xb,%ecx
1401ac53e:	74 18                	je     0x1401ac558
1401ac540:	83 f9 06             	cmp    $0x6,%ecx
1401ac543:	0f 85 34 01 00 00    	jne    0x1401ac67d
1401ac549:	8b 07                	mov    (%rdi),%eax
1401ac54b:	a9 00 c0 00 00       	test   $0xc000,%eax
1401ac550:	75 3b                	jne    0x1401ac58d
1401ac552:	0f ba e8 0e          	bts    $0xe,%eax
1401ac556:	eb 3d                	jmp    0x1401ac595
1401ac558:	45 84 c9             	test   %r9b,%r9b
1401ac55b:	75 30                	jne    0x1401ac58d
1401ac55d:	0f ba 77 04 0b       	btrl   $0xb,0x4(%rdi)
1401ac562:	eb 0a                	jmp    0x1401ac56e
1401ac564:	45 84 c9             	test   %r9b,%r9b
1401ac567:	75 24                	jne    0x1401ac58d
1401ac569:	0f ba 6f 04 0b       	btsl   $0xb,0x4(%rdi)
1401ac56e:	41 b1 01             	mov    $0x1,%r9b
1401ac571:	41 8a d1             	mov    %r9b,%dl
1401ac574:	eb 23                	jmp    0x1401ac599
1401ac576:	8b 07                	mov    (%rdi),%eax
1401ac578:	a9 00 c0 00 00       	test   $0xc000,%eax
1401ac57d:	75 0e                	jne    0x1401ac58d
1401ac57f:	0f ba e8 0f          	bts    $0xf,%eax
1401ac583:	eb 10                	jmp    0x1401ac595
1401ac585:	8b 07                	mov    (%rdi),%eax
1401ac587:	0f ba e0 0c          	bt     $0xc,%eax
1401ac58b:	73 04                	jae    0x1401ac591
1401ac58d:	32 d2                	xor    %dl,%dl
1401ac58f:	eb 08                	jmp    0x1401ac599
1401ac591:	0f ba e8 0c          	bts    $0xc,%eax
1401ac595:	89 07                	mov    %eax,(%rdi)
1401ac597:	b2 01                	mov    $0x1,%dl
1401ac599:	33 c0                	xor    %eax,%eax
1401ac59b:	84 d2                	test   %dl,%dl
1401ac59d:	0f 95 c0             	setne  %al
1401ac5a0:	48 03 d8             	add    %rax,%rbx
1401ac5a3:	84 d2                	test   %dl,%dl