1402c70e7:	41 83 e2 3f          	and    $0x3f,%r10d
1402c70eb:	48 8d 0d fe 3f 11 00 	lea    0x113ffe(%rip),%rcx        # 0x1403db0f0
1402c70f2:	49 8b c7             	mov    %r15,%rax
1402c70f5:	4d 8b f1             	mov    %r9,%r14
1402c70f8:	48 c1 f8 06          	sar    $0x6,%rax
1402c70fc:	41 8b f0             	mov    %r8d,%esi
1402c70ff:	48 8b ea             	mov    %rdx,%rbp
1402c7102:	4f 8d 14 d2          	lea    (%r10,%r10,8),%r10
1402c7106:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
1402c710a:	42 38 5c d0 38       	cmp    %bl,0x38(%rax,%r10,8)
1402c710f:	0f 8d ff 01 00 00    	jge    0x1402c7314
1402c7115:	bf 00 40 07 00       	mov    $0x74000,%edi
1402c711a:	44 85 c7             	test   %r8d,%edi
1402c711d:	75 21                	jne    0x1402c7140
1402c711f:	49 8d 4b 08          	lea    0x8(%r11),%rcx
1402c7123:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
1402c7127:	e8 98 26 00 00       	call   0x1402c97c4
1402c712c:	85 c0                	test   %eax,%eax
1402c712e:	0f 85 fb 01 00 00    	jne    0x1402c732f
1402c7134:	8b 44 24 50          	mov    0x50(%rsp),%eax
1402c7138:	23 c7                	and    %edi,%eax
1402c713a:	75 3e                	jne    0x1402c717a
1402c713c:	0f ba ee 0e          	bts    $0xe,%esi
1402c7140:	8b ce                	mov    %esi,%ecx
1402c7142:	23 cf                	and    %edi,%ecx
1402c7144:	bf 02 00 00 00       	mov    $0x2,%edi
1402c7149:	81 f9 00 40 00 00    	cmp    $0x4000,%ecx
1402c714f:	74 3f                	je     0x1402c7190
1402c7151:	8d 81 00 00 ff ff    	lea    -0x10000(%rcx),%eax
1402c7157:	ba ff bf ff ff       	mov    $0xffffbfff,%edx
1402c715c:	85 c2                	test   %eax,%edx
1402c715e:	74 1e                	je     0x1402c717e
1402c7160:	8d 81 00 00 fe ff    	lea    -0x20000(%rcx),%eax
1402c7166:	85 c2                	test   %eax,%edx
1402c7168:	74 21                	je     0x1402c718b
1402c716a:	8d 81 00 00 fc ff    	lea    -0x40000(%rcx),%eax
1402c7170:	85 c2                	test   %eax,%edx
1402c7172:	75 1f                	jne    0x1402c7193
1402c7174:	41 c6 06 01          	movb   $0x1,(%r14)
1402c7178:	eb 19                	jmp    0x1402c7193
1402c717a:	0b f0                	or     %eax,%esi
1402c717c:	eb c2                	jmp    0x1402c7140
1402c717e:	b9 01 03 00 00       	mov    $0x301,%ecx
1402c7183:	8b c6                	mov    %esi,%eax
1402c7185:	23 c1                	and    %ecx,%eax
1402c7187:	3b c1                	cmp    %ecx,%eax
1402c7189:	75 08                	jne    0x1402c7193
1402c718b:	41 88 3e             	mov    %dil,(%r14)
1402c718e:	eb 03                	jmp    0x1402c7193
1402c7190:	41 88 1e             	mov    %bl,(%r14)
1402c7193:	f7 c6 00 00 07 00    	test   $0x70000,%esi
1402c7199:	0f 84 75 01 00 00    	je     0x1402c7314
1402c719f:	f6 45 00 40          	testb  $0x40,0x0(%rbp)
1402c71a3:	0f 85 6b 01 00 00    	jne    0x1402c7314
1402c71a9:	8b 45 04             	mov    0x4(%rbp),%eax
1402c71ac:	b9 00 00 00 c0       	mov    $0xc0000000,%ecx
1402c71b1:	23 c1                	and    %ecx,%eax
1402c71b3:	be 00 00 00 80       	mov    $0x80000000,%esi
1402c71b8:	3d 00 00 00 40       	cmp    $0x40000000,%eax
1402c71bd:	74 10                	je     0x1402c71cf
1402c71bf:	3b c6                	cmp    %esi,%eax
1402c71c1:	0f 84 86 00 00 00    	je     0x1402c724d
1402c71c7:	3b c1                	cmp    %ecx,%eax
1402c71c9:	0f 85 45 01 00 00    	jne    0x1402c7314
1402c71cf:	8b 4d 08             	mov    0x8(%rbp),%ecx
1402c71d2:	83 e9 01             	sub    $0x1,%ecx
1402c71d5:	74 18                	je     0x1402c71ef
1402c71d7:	83 e9 01             	sub    $0x1,%ecx
1402c71da:	74 13                	je     0x1402c71ef
1402c71dc:	83 e9 01             	sub    $0x1,%ecx
1402c71df:	74 32                	je     0x1402c7213
1402c71e1:	83 e9 01             	sub    $0x1,%ecx
1402c71e4:	74 2d                	je     0x1402c7213
1402c71e6:	83 f9 01             	cmp    $0x1,%ecx
1402c71e9:	0f 85 25 01 00 00    	jne    0x1402c7314
1402c71ef:	41 0f be 0e          	movsbl (%r14),%ecx
1402c71f3:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
1402c71f7:	83 e9 01             	sub    $0x1,%ecx
1402c71fa:	0f 84 de 00 00 00    	je     0x1402c72de
1402c7200:	83 f9 01             	cmp    $0x1,%ecx
1402c7203:	0f 85 0b 01 00 00    	jne    0x1402c7314
1402c7209:	b8 ff fe 00 00       	mov    $0xfeff,%eax
1402c720e:	e9 d5 00 00 00       	jmp    0x1402c72e8
1402c7213:	44 8b c7             	mov    %edi,%r8d
1402c7216:	33 d2                	xor    %edx,%edx
1402c7218:	41 8b cf             	mov    %r15d,%ecx
1402c721b:	e8 d8 24 00 00       	call   0x1402c96f8
1402c7220:	48 85 c0             	test   %rax,%rax
1402c7223:	74 ca                	je     0x1402c71ef
1402c7225:	45 33 c0             	xor    %r8d,%r8d
1402c7228:	33 d2                	xor    %edx,%edx
1402c722a:	41 8b cf             	mov    %r15d,%ecx
1402c722d:	e8 c6 24 00 00       	call   0x1402c96f8
1402c7232:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1402c7236:	75 0c                	jne    0x1402c7244
1402c7238:	e8 6b 56 ff ff       	call   0x1402bc8a8
1402c723d:	8b 00                	mov    (%rax),%eax
1402c723f:	e9 d2 00 00 00       	jmp    0x1402c7316
1402c7244:	85 75 04             	test   %esi,0x4(%rbp)
1402c7247:	0f 84 c7 00 00 00    	je     0x1402c7314
1402c724d:	41 b8 03 00 00 00    	mov    $0x3,%r8d
1402c7253:	89 5c 24 50          	mov    %ebx,0x50(%rsp)
1402c7257:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1402c725c:	41 8b cf             	mov    %r15d,%ecx
1402c725f:	e8 50 95 00 00       	call   0x1402d07b4
1402c7264:	83 f8 ff             	cmp    $0xffffffff,%eax
1402c7267:	74 cf                	je     0x1402c7238
1402c7269:	3b c7                	cmp    %edi,%eax
1402c726b:	74 19                	je     0x1402c7286
1402c726d:	83 f8 03             	cmp    $0x3,%eax
1402c7270:	75 54                	jne    0x1402c72c6
1402c7272:	b8 ef bb bf 00       	mov    $0xbfbbef,%eax
1402c7277:	39 44 24 50          	cmp    %eax,0x50(%rsp)
1402c727b:	75 09                	jne    0x1402c7286
1402c727d:	41 c6 06 01          	movb   $0x1,(%r14)
1402c7281:	e9 8e 00 00 00       	jmp    0x1402c7314
1402c7286:	0f b7 4c 24 50       	movzwl 0x50(%rsp),%ecx
1402c728b:	81 f9 fe ff 00 00    	cmp    $0xfffe,%ecx
1402c7291:	75 0d                	jne    0x1402c72a0
1402c7293:	e8 10 56 ff ff       	call   0x1402bc8a8
1402c7298:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1402c729e:	eb 98                	jmp    0x1402c7238
1402c72a0:	b8 ff fe 00 00       	mov    $0xfeff,%eax
1402c72a5:	3b c8                	cmp    %eax,%ecx
1402c72a7:	75 1d                	jne    0x1402c72c6
1402c72a9:	45 33 c0             	xor    %r8d,%r8d
1402c72ac:	48 8b d7             	mov    %rdi,%rdx
1402c72af:	41 8b cf             	mov    %r15d,%ecx
1402c72b2:	e8 41 24 00 00       	call   0x1402c96f8
1402c72b7:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1402c72bb:	0f 84 77 ff ff ff    	je     0x1402c7238
1402c72c1:	41 88 3e             	mov    %dil,(%r14)
1402c72c4:	eb 4e                	jmp    0x1402c7314
1402c72c6:	45 33 c0             	xor    %r8d,%r8d
1402c72c9:	33 d2                	xor    %edx,%edx
1402c72cb:	41 8b cf             	mov    %r15d,%ecx
1402c72ce:	e8 25 24 00 00       	call   0x1402c96f8
1402c72d3:	48 83 f8 ff          	cmp    $0xffffffffffffffff,%rax
1402c72d7:	75 3b                	jne    0x1402c7314
1402c72d9:	e9 5a ff ff ff       	jmp    0x1402c7238
1402c72de:	bf 03 00 00 00       	mov    $0x3,%edi
1402c72e3:	b8 ef bb bf 00       	mov    $0xbfbbef,%eax
1402c72e8:	89 44 24 50          	mov    %eax,0x50(%rsp)
1402c72ec:	44 8b c7             	mov    %edi,%r8d
1402c72ef:	48 63 c3             	movslq %ebx,%rax
1402c72f2:	48 8d 54 24 50       	lea    0x50(%rsp),%rdx
1402c72f7:	44 2b c3             	sub    %ebx,%r8d
1402c72fa:	48 03 d0             	add    %rax,%rdx
1402c72fd:	41 8b cf             	mov    %r15d,%ecx
1402c7300:	e8 07 a1 00 00       	call   0x1402d140c
1402c7305:	83 f8 ff             	cmp    $0xffffffff,%eax
1402c7308:	0f 84 2a ff ff ff    	je     0x1402c7238
1402c730e:	03 d8                	add    %eax,%ebx
1402c7310:	3b fb                	cmp    %ebx,%edi
1402c7312:	7f d8                	jg     0x1402c72ec
1402c7314:	33 c0                	xor    %eax,%eax
1402c7316:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1402c731b:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1402c7320:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
1402c7325:	48 83 c4 30          	add    $0x30,%rsp
1402c7329:	41 5f                	pop    %r15
1402c732b:	41 5e                	pop    %r14
1402c732d:	5f                   	pop    %rdi
1402c732e:	c3                   	ret
1402c732f:	45 33 c9             	xor    %r9d,%r9d
1402c7332:	48 89 5c 24 20       	mov    %rbx,0x20(%rsp)
1402c7337:	45 33 c0             	xor    %r8d,%r8d
1402c733a:	33 d2                	xor    %edx,%edx
1402c733c:	33 c9                	xor    %ecx,%ecx
1402c733e:	e8 11 f1 fe ff       	call   0x1402b6454
1402c7343:	cc                   	int3
1402c7344:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1402c7349:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1402c734e:	56                   	push   %rsi
1402c734f:	57                   	push   %rdi
1402c7350:	41 56                	push   %r14
1402c7352:	48 83 ec 30          	sub    $0x30,%rsp
1402c7356:	48 8b d9             	mov    %rcx,%rbx
1402c7359:	c6 01 00             	movb   $0x0,(%rcx)
1402c735c:	8b ca                	mov    %edx,%ecx
1402c735e:	45 8b f1             	mov    %r9d,%r14d
1402c7361:	41 8b e8             	mov    %r8d,%ebp
1402c7364:	8b fa                	mov    %edx,%edi
1402c7366:	be ff ff ff ff       	mov    $0xffffffff,%esi
1402c736b:	83 e1 03             	and    $0x3,%ecx
1402c736e:	74 47                	je     0x1402c73b7
1402c7370:	83 e9 01             	sub    $0x1,%ecx
1402c7373:	74 20                	je     0x1402c7395
1402c7375:	83 f9 01             	cmp    $0x1,%ecx
1402c7378:	74 14                	je     0x1402c738e
1402c737a:	e8 29 55 ff ff       	call   0x1402bc8a8
1402c737f:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1402c7385:	e8 7a f0 fe ff       	call   0x1402b6404
1402c738a:	8b c6                	mov    %esi,%eax
1402c738c:	eb 2e                	jmp    0x1402c73bc
1402c738e:	b8 00 00 00 c0       	mov    $0xc0000000,%eax
1402c7393:	eb 27                	jmp    0x1402c73bc
1402c7395:	f7 c7 00 00 07 00    	test   $0x70000,%edi
1402c739b:	0f 95 c1             	setne  %cl
1402c739e:	40 f6 c7 08          	test   $0x8,%dil
1402c73a2:	0f 95 c0             	setne  %al
1402c73a5:	22 c8                	and    %al,%cl
1402c73a7:	f6 d9                	neg    %cl
1402c73a9:	1b c0                	sbb    %eax,%eax
1402c73ab:	25 00 00 00 80       	and    $0x80000000,%eax
1402c73b0:	05 00 00 00 40       	add    $0x40000000,%eax
1402c73b5:	eb 05                	jmp    0x1402c73bc
1402c73b7:	b8 00 00 00 80       	mov    $0x80000000,%eax
1402c73bc:	89 43 04             	mov    %eax,0x4(%rbx)
1402c73bf:	b9 00 07 00 00       	mov    $0x700,%ecx
1402c73c4:	8b c7                	mov    %edi,%eax
1402c73c6:	23 c1                	and    %ecx,%eax
1402c73c8:	74 5e                	je     0x1402c7428
1402c73ca:	3d 00 01 00 00       	cmp    $0x100,%eax
1402c73cf:	74 50                	je     0x1402c7421
1402c73d1:	3d 00 02 00 00       	cmp    $0x200,%eax
1402c73d6:	74 42                	je     0x1402c741a
1402c73d8:	3d 00 03 00 00       	cmp    $0x300,%eax
1402c73dd:	74 34                	je     0x1402c7413
1402c73df:	3d 00 04 00 00       	cmp    $0x400,%eax
1402c73e4:	74 42                	je     0x1402c7428
1402c73e6:	3d 00 05 00 00       	cmp    $0x500,%eax
1402c73eb:	74 1f                	je     0x1402c740c
1402c73ed:	3d 00 06 00 00       	cmp    $0x600,%eax
1402c73f2:	74 26                	je     0x1402c741a
1402c73f4:	3b c1                	cmp    %ecx,%eax
1402c73f6:	74 14                	je     0x1402c740c
1402c73f8:	e8 ab 54 ff ff       	call   0x1402bc8a8
1402c73fd:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1402c7403:	e8 fc ef fe ff       	call   0x1402b6404
1402c7408:	8b c6                	mov    %esi,%eax
1402c740a:	eb 21                	jmp    0x1402c742d
1402c740c:	b8 01 00 00 00       	mov    $0x1,%eax
1402c7411:	eb 1a                	jmp    0x1402c742d
1402c7413:	b8 02 00 00 00       	mov    $0x2,%eax
1402c7418:	eb 13                	jmp    0x1402c742d
1402c741a:	b8 05 00 00 00       	mov    $0x5,%eax
1402c741f:	eb 0c                	jmp    0x1402c742d
1402c7421:	b8 04 00 00 00       	mov    $0x4,%eax
1402c7426:	eb 05                	jmp    0x1402c742d
1402c7428:	b8 03 00 00 00       	mov    $0x3,%eax
1402c742d:	89 43 08             	mov    %eax,0x8(%rbx)
1402c7430:	83 ed 10             	sub    $0x10,%ebp
1402c7433:	74 4a                	je     0x1402c747f
1402c7435:	83 ed 10             	sub    $0x10,%ebp
1402c7438:	74 3e                	je     0x1402c7478
1402c743a:	83 ed 10             	sub    $0x10,%ebp
1402c743d:	74 32                	je     0x1402c7471
1402c743f:	83 ed 10             	sub    $0x10,%ebp
1402c7442:	74 26                	je     0x1402c746a
1402c7444:	83 fd 40             	cmp    $0x40,%ebp
1402c7447:	74 12                	je     0x1402c745b
1402c7449:	e8 5a 54 ff ff       	call   0x1402bc8a8
1402c744e:	c7 00 16 00 00 00    	movl   $0x16,(%rax)
1402c7454:	e8 ab ef fe ff       	call   0x1402b6404
1402c7459:	eb 26                	jmp    0x1402c7481
1402c745b:	33 f6                	xor    %esi,%esi
1402c745d:	81 7b 04 00 00 00 80 	cmpl   $0x80000000,0x4(%rbx)
1402c7464:	40 0f 94 c6          	sete   %sil
1402c7468:	eb 17                	jmp    0x1402c7481
1402c746a:	be 03 00 00 00       	mov    $0x3,%esi
1402c746f:	eb 10                	jmp    0x1402c7481
1402c7471:	be 02 00 00 00       	mov    $0x2,%esi
1402c7476:	eb 09                	jmp    0x1402c7481
1402c7478:	be 01 00 00 00       	mov    $0x1,%esi
1402c747d:	eb 02                	jmp    0x1402c7481
1402c747f:	33 f6                	xor    %esi,%esi
1402c7481:	83 63 14 00          	andl   $0x0,0x14(%rbx)
1402c7485:	89 73 0c             	mov    %esi,0xc(%rbx)
1402c7488:	c7 43 10 80 00 00 00 	movl   $0x80,0x10(%rbx)
1402c748f:	40 84 ff             	test   %dil,%dil
1402c7492:	79 03                	jns    0x1402c7497
1402c7494:	80 0b 10             	orb    $0x10,(%rbx)
1402c7497:	be 00 80 00 00       	mov    $0x8000,%esi
1402c749c:	85 fe                	test   %edi,%esi
1402c749e:	75 1f                	jne    0x1402c74bf
1402c74a0:	f7 c7 00 40 07 00    	test   $0x74000,%edi
1402c74a6:	75 14                	jne    0x1402c74bc
1402c74a8:	48 8d 4c 24 58       	lea    0x58(%rsp),%rcx
1402c74ad:	e8 12 23 00 00       	call   0x1402c97c4
1402c74b2:	85 c0                	test   %eax,%eax
1402c74b4:	75 7e                	jne    0x1402c7534
1402c74b6:	39 74 24 58          	cmp    %esi,0x58(%rsp)
1402c74ba:	74 03                	je     0x1402c74bf
1402c74bc:	80 0b 80             	orb    $0x80,(%rbx)
1402c74bf:	b9 00 01 00 00       	mov    $0x100,%ecx
1402c74c4:	85 f9                	test   %edi,%ecx
1402c74c6:	74 16                	je     0x1402c74de
1402c74c8:	8b 05 e6 41 11 00    	mov    0x1141e6(%rip),%eax        # 0x1403db6b4
1402c74ce:	f7 d0                	not    %eax
1402c74d0:	41 23 c6             	and    %r14d,%eax
1402c74d3:	84 c0                	test   %al,%al
1402c74d5:	78 07                	js     0x1402c74de
1402c74d7:	c7 43 10 01 00 00 00 	movl   $0x1,0x10(%rbx)
1402c74de:	40 f6 c7 40          	test   $0x40,%dil
1402c74e2:	74 0e                	je     0x1402c74f2
1402c74e4:	0f ba 6b 14 1a       	btsl   $0x1a,0x14(%rbx)
1402c74e9:	0f ba 6b 04 10       	btsl   $0x10,0x4(%rbx)
1402c74ee:	83 4b 0c 04          	orl    $0x4,0xc(%rbx)
1402c74f2:	0f ba e7 0c          	bt     $0xc,%edi
1402c74f6:	73 03                	jae    0x1402c74fb
1402c74f8:	09 4b 10             	or     %ecx,0x10(%rbx)
1402c74fb:	0f ba e7 0d          	bt     $0xd,%edi
1402c74ff:	73 05                	jae    0x1402c7506
1402c7501:	0f ba 6b 14 19       	btsl   $0x19,0x14(%rbx)
1402c7506:	40 f6 c7 20          	test   $0x20,%dil
1402c750a:	74 07                	je     0x1402c7513
1402c750c:	0f ba 6b 14 1b       	btsl   $0x1b,0x14(%rbx)
1402c7511:	eb 0b                	jmp    0x1402c751e
1402c7513:	40 f6 c7 10          	test   $0x10,%dil
1402c7517:	74 05                	je     0x1402c751e
1402c7519:	0f ba 6b 14 1c       	btsl   $0x1c,0x14(%rbx)
1402c751e:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
1402c7523:	48 8b c3             	mov    %rbx,%rax
1402c7526:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1402c752b:	48 83 c4 30          	add    $0x30,%rsp
1402c752f:	41 5e                	pop    %r14
1402c7531:	5f                   	pop    %rdi
1402c7532:	5e                   	pop    %rsi
1402c7533:	c3                   	ret
1402c7534:	48 83 64 24 20 00    	andq   $0x0,0x20(%rsp)
1402c753a:	45 33 c9             	xor    %r9d,%r9d
1402c753d:	45 33 c0             	xor    %r8d,%r8d
1402c7540:	33 d2                	xor    %edx,%edx
1402c7542:	33 c9                	xor    %ecx,%ecx
1402c7544:	e8 0b ef fe ff       	call   0x1402b6454
1402c7549:	cc                   	int3
1402c754a:	cc                   	int3
1402c754b:	cc                   	int3
1402c754c:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1402c7551:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1402c7556:	57                   	push   %rdi
1402c7557:	48 83 ec 20          	sub    $0x20,%rsp
1402c755b:	48 63 d9             	movslq %ecx,%rbx
1402c755e:	48 8d 0d 8b 3b 11 00 	lea    0x113b8b(%rip),%rcx        # 0x1403db0f0
1402c7565:	48 8b d3             	mov    %rbx,%rdx
1402c7568:	48 8b c3             	mov    %rbx,%rax
1402c756b:	48 c1 f8 06          	sar    $0x6,%rax
1402c756f:	83 e2 3f             	and    $0x3f,%edx
1402c7572:	48 8b 04 c1          	mov    (%rcx,%rax,8),%rax
1402c7576:	48 8d 14 d2          	lea    (%rdx,%rdx,8),%rdx
1402c757a:	8a 4c d0 38          	mov    0x38(%rax,%rdx,8),%cl
1402c757e:	f6 c1 48             	test   $0x48,%cl
1402c7581:	75 78                	jne    0x1402c75fb
1402c7583:	33 ed                	xor    %ebp,%ebp
1402c7585:	84 c9                	test   %cl,%cl
1402c7587:	79 72                	jns    0x1402c75fb
1402c7589:	44 8d 45 02          	lea    0x2(%rbp),%r8d
1402c758d:	48 83 ca ff          	or     $0xffffffffffffffff,%rdx
1402c7591:	8b cb                	mov    %ebx,%ecx