18003c0d8:	0f 88 dd 01 00 00    	js     0x18003c2bb
18003c0de:	4c 8d 65 d8          	lea    -0x28(%rbp),%r12
18003c0e2:	4c 8d 6d e0          	lea    -0x20(%rbp),%r13
18003c0e6:	48 8d 45 c8          	lea    -0x38(%rbp),%rax
18003c0ea:	eb 20                	jmp    0x18003c10c
18003c0ec:	83 fe 02             	cmp    $0x2,%esi
18003c0ef:	0f 85 c1 01 00 00    	jne    0x18003c2b6
18003c0f5:	4c 8b 79 08          	mov    0x8(%rcx),%r15
18003c0f9:	49 8b 87 80 00 00 00 	mov    0x80(%r15),%rax
18003c100:	4c 8d 60 40          	lea    0x40(%rax),%r12
18003c104:	4c 8d 68 48          	lea    0x48(%rax),%r13
18003c108:	48 83 c0 30          	add    $0x30,%rax
18003c10c:	44 8b 00             	mov    (%rax),%r8d
18003c10f:	33 d2                	xor    %edx,%edx
18003c111:	83 64 24 48 00       	andl   $0x0,0x48(%rsp)
18003c116:	8a 85 48 01 00 00    	mov    0x148(%rbp),%al
18003c11c:	48 21 54 24 40       	and    %rdx,0x40(%rsp)
18003c121:	88 44 24 64          	mov    %al,0x64(%rsp)
18003c125:	4c 89 44 24 30       	mov    %r8,0x30(%rsp)
18003c12a:	44 89 44 24 60       	mov    %r8d,0x60(%rsp)
18003c12f:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
18003c134:	c6 85 20 01 00 00 01 	movb   $0x1,0x120(%rbp)
18003c13b:	c6 44 24 20 00       	movb   $0x0,0x20(%rsp)
18003c140:	83 fe 01             	cmp    $0x1,%esi
18003c143:	75 31                	jne    0x18003c176
18003c145:	41 8b 5e 08          	mov    0x8(%r14),%ebx
18003c149:	8b cb                	mov    %ebx,%ecx
18003c14b:	48 89 55 d8          	mov    %rdx,-0x28(%rbp)
18003c14f:	48 8d 55 b0          	lea    -0x50(%rbp),%rdx
18003c153:	c7 45 e0 be 01 00 00 	movl   $0x1be,-0x20(%rbp)
18003c15a:	e8 31 ac fe ff       	call   0x180026d90
18003c15f:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
18003c164:	8b cb                	mov    %ebx,%ecx
18003c166:	44 8d 46 3f          	lea    0x3f(%rsi),%r8d
18003c16a:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
18003c16f:	e8 84 aa fe ff       	call   0x180026bf8
18003c174:	eb 2b                	jmp    0x18003c1a1
18003c176:	83 fe 02             	cmp    $0x2,%esi
18003c179:	75 32                	jne    0x18003c1ad
18003c17b:	49 89 14 24          	mov    %rdx,(%r12)
18003c17f:	4c 8d 4c 24 38       	lea    0x38(%rsp),%r9
18003c184:	41 c7 45 00 be 01 00 	movl   $0x1be,0x0(%r13)
18003c18b:	00
18003c18c:	48 8d 54 24 70       	lea    0x70(%rsp),%rdx
18003c191:	49 8b 47 48          	mov    0x48(%r15),%rax
18003c195:	44 8d 46 3e          	lea    0x3e(%rsi),%r8d
18003c199:	49 8b cf             	mov    %r15,%rcx
18003c19c:	ff d0                	call   *%rax
18003c19e:	0f 1f 00             	nopl   (%rax)
18003c1a1:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
18003c1a6:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
18003c1ab:	eb 05                	jmp    0x18003c1b2
18003c1ad:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
18003c1b2:	85 c0                	test   %eax,%eax
18003c1b4:	0f 88 01 01 00 00    	js     0x18003c2bb
18003c1ba:	33 ff                	xor    %edi,%edi
18003c1bc:	48 8d 5c 24 78       	lea    0x78(%rsp),%rbx
18003c1c1:	0f b6 4b fc          	movzbl -0x4(%rbx),%ecx
18003c1c5:	80 f9 0f             	cmp    $0xf,%cl
18003c1c8:	77 0c                	ja     0x18003c1d6
18003c1ca:	41 b9 21 80 00 00    	mov    $0x8021,%r9d
18003c1d0:	41 0f a3 c9          	bt     %ecx,%r9d
18003c1d4:	72 67                	jb     0x18003c23d
18003c1d6:	80 c1 29             	add    $0x29,%cl
18003c1d9:	80 f9 17             	cmp    $0x17,%cl
18003c1dc:	77 10                	ja     0x18003c1ee
18003c1de:	b8 01 00 81 00       	mov    $0x810001,%eax
18003c1e3:	0f a3 c8             	bt     %ecx,%eax
18003c1e6:	73 06                	jae    0x18003c1ee
18003c1e8:	ff 44 24 48          	incl   0x48(%rsp)
18003c1ec:	eb 4f                	jmp    0x18003c23d
18003c1ee:	4c 8b 8d 40 01 00 00 	mov    0x140(%rbp),%r9
18003c1f5:	48 8d 4c 24 70       	lea    0x70(%rsp),%rcx
18003c1fa:	ff 44 24 48          	incl   0x48(%rsp)
18003c1fe:	8b c7                	mov    %edi,%eax
18003c200:	48 c1 e0 04          	shl    $0x4,%rax
18003c204:	48 03 c1             	add    %rcx,%rax
18003c207:	48 8d 4c 24 48       	lea    0x48(%rsp),%rcx
18003c20c:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18003c211:	8b 03                	mov    (%rbx),%eax
18003c213:	48 03 c2             	add    %rdx,%rax
18003c216:	48 8b 95 30 01 00 00 	mov    0x130(%rbp),%rdx
18003c21d:	49 0f af c0          	imul   %r8,%rax
18003c221:	4c 8b 85 38 01 00 00 	mov    0x138(%rbp),%r8
18003c228:	48 89 44 24 58       	mov    %rax,0x58(%rsp)
18003c22d:	48 8b 85 28 01 00 00 	mov    0x128(%rbp),%rax
18003c234:	ff d0                	call   *%rax
18003c236:	0f 1f 00             	nopl   (%rax)
18003c239:	85 c0                	test   %eax,%eax
18003c23b:	78 7e                	js     0x18003c2bb
18003c23d:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
18003c242:	ff c7                	inc    %edi
18003c244:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
18003c249:	48 83 c3 10          	add    $0x10,%rbx
18003c24d:	83 ff 04             	cmp    $0x4,%edi
18003c250:	0f 82 6b ff ff ff    	jb     0x18003c1c1
18003c256:	33 c0                	xor    %eax,%eax
18003c258:	48 8d 4c 24 74       	lea    0x74(%rsp),%rcx
18003c25d:	80 39 05             	cmpb   $0x5,(%rcx)
18003c260:	74 16                	je     0x18003c278
18003c262:	80 39 0f             	cmpb   $0xf,(%rcx)
18003c265:	74 11                	je     0x18003c278
18003c267:	ff c0                	inc    %eax
18003c269:	48 83 c1 10          	add    $0x10,%rcx
18003c26d:	83 f8 04             	cmp    $0x4,%eax
18003c270:	72 eb                	jb     0x18003c25d
18003c272:	8a 44 24 20          	mov    0x20(%rsp),%al
18003c276:	eb 26                	jmp    0x18003c29e
18003c278:	4c 8b 44 24 40       	mov    0x40(%rsp),%r8
18003c27d:	48 03 c0             	add    %rax,%rax
18003c280:	8b 4c c4 78          	mov    0x78(%rsp,%rax,8),%ecx
18003c284:	b0 01                	mov    $0x1,%al
18003c286:	38 85 20 01 00 00    	cmp    %al,0x120(%rbp)
18003c28c:	4a 8d 14 01          	lea    (%rcx,%r8,1),%rdx
18003c290:	49 0f 45 c8          	cmovne %r8,%rcx
18003c294:	48 89 4c 24 40       	mov    %rcx,0x40(%rsp)
18003c299:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
18003c29e:	4c 8b 44 24 30       	mov    0x30(%rsp),%r8
18003c2a3:	c6 85 20 01 00 00 00 	movb   $0x0,0x120(%rbp)
18003c2aa:	3c 01                	cmp    $0x1,%al
18003c2ac:	0f 84 89 fe ff ff    	je     0x18003c13b
18003c2b2:	33 c0                	xor    %eax,%eax
18003c2b4:	eb 05                	jmp    0x18003c2bb
18003c2b6:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
18003c2bb:	48 81 c4 d8 01 00 00 	add    $0x1d8,%rsp
18003c2c2:	41 5f                	pop    %r15
18003c2c4:	41 5e                	pop    %r14
18003c2c6:	41 5d                	pop    %r13
18003c2c8:	41 5c                	pop    %r12
18003c2ca:	5f                   	pop    %rdi
18003c2cb:	5e                   	pop    %rsi
18003c2cc:	5b                   	pop    %rbx
18003c2cd:	5d                   	pop    %rbp
18003c2ce:	c3                   	ret
18003c2cf:	cc                   	int3
18003c2d0:	ff 02                	incl   (%rdx)
18003c2d2:	33 c0                	xor    %eax,%eax
18003c2d4:	c3                   	ret
18003c2d5:	cc                   	int3
18003c2d6:	cc                   	int3
18003c2d7:	cc                   	int3
18003c2d8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003c2dd:	57                   	push   %rdi
18003c2de:	48 83 ec 20          	sub    $0x20,%rsp
18003c2e2:	48 8b 41 10          	mov    0x10(%rcx),%rax
18003c2e6:	48 8b da             	mov    %rdx,%rbx
18003c2e9:	49 89 41 10          	mov    %rax,0x10(%r9)
18003c2ed:	4d 8b d1             	mov    %r9,%r10
18003c2f0:	8a 41 1c             	mov    0x1c(%rcx),%al
18003c2f3:	49 8b f8             	mov    %r8,%rdi
18003c2f6:	f6 d8                	neg    %al
18003c2f8:	49 8b ca             	mov    %r10,%rcx
18003c2fb:	4c 8b 0b             	mov    (%rbx),%r9
18003c2fe:	1b d2                	sbb    %edx,%edx
18003c300:	45 33 c0             	xor    %r8d,%r8d
18003c303:	83 e2 f8             	and    $0xfffffff8,%edx
18003c306:	83 c2 09             	add    $0x9,%edx
18003c309:	e8 02 af fe ff       	call   0x180027210
18003c30e:	85 c0                	test   %eax,%eax
18003c310:	78 0a                	js     0x18003c31c
18003c312:	48 83 03 04          	addq   $0x4,(%rbx)
18003c316:	83 47 08 04          	addl   $0x4,0x8(%rdi)
18003c31a:	33 c0                	xor    %eax,%eax
18003c31c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
18003c321:	48 83 c4 20          	add    $0x20,%rsp
18003c325:	5f                   	pop    %rdi
18003c326:	c3                   	ret
18003c327:	cc                   	int3
18003c328:	48 8b c4             	mov    %rsp,%rax
18003c32b:	48 89 58 10          	mov    %rbx,0x10(%rax)
18003c32f:	48 89 68 18          	mov    %rbp,0x18(%rax)
18003c333:	56                   	push   %rsi
18003c334:	57                   	push   %rdi
18003c335:	41 54                	push   %r12
18003c337:	41 56                	push   %r14
18003c339:	41 57                	push   %r15
18003c33b:	48 83 ec 50          	sub    $0x50,%rsp
18003c33f:	83 60 08 00          	andl   $0x0,0x8(%rax)
18003c343:	45 8a e0             	mov    %r8b,%r12b
18003c346:	44 88 40 b0          	mov    %r8b,-0x50(%rax)
18003c34a:	48 8b fa             	mov    %rdx,%rdi
18003c34d:	48 83 60 a8 00       	andq   $0x0,-0x58(%rax)
18003c352:	4c 8d 40 08          	lea    0x8(%rax),%r8
18003c356:	8b d9                	mov    %ecx,%ebx
18003c358:	89 48 c8             	mov    %ecx,-0x38(%rax)
18003c35b:	48 8d 15 6e ff ff ff 	lea    -0x92(%rip),%rdx        # 0x18003c2d0
18003c362:	c7 40 c0 01 00 00 00 	movl   $0x1,-0x40(%rax)
18003c369:	48 8d 48 c0          	lea    -0x40(%rax),%rcx
18003c36d:	45 33 c9             	xor    %r9d,%r9d
18003c370:	e8 1f fd ff ff       	call   0x18003c094
18003c375:	85 c0                	test   %eax,%eax
18003c377:	0f 88 d6 00 00 00    	js     0x18003c453
18003c37d:	8b 94 24 80 00 00 00 	mov    0x80(%rsp),%edx
18003c384:	8b 47 0c             	mov    0xc(%rdi),%eax
18003c387:	8b ca                	mov    %edx,%ecx
18003c389:	48 c1 e1 02          	shl    $0x2,%rcx
18003c38d:	48 3b c1             	cmp    %rcx,%rax
18003c390:	73 12                	jae    0x18003c3a4
18003c392:	8b c2                	mov    %edx,%eax
18003c394:	c1 e0 02             	shl    $0x2,%eax
18003c397:	89 47 0c             	mov    %eax,0xc(%rdi)
18003c39a:	b8 23 00 00 c0       	mov    $0xc0000023,%eax
18003c39f:	e9 af 00 00 00       	jmp    0x18003c453
18003c3a4:	48 8d 94 24 98 00 00 	lea    0x98(%rsp),%rdx
18003c3ab:	00
18003c3ac:	8b cb                	mov    %ebx,%ecx
18003c3ae:	e8 0d ab fe ff       	call   0x180026ec0
18003c3b3:	48 8b 84 24 98 00 00 	mov    0x98(%rsp),%rax
18003c3ba:	00
18003c3bb:	48 8d 68 10          	lea    0x10(%rax),%rbp
18003c3bf:	83 7d 00 06          	cmpl   $0x6,0x0(%rbp)
18003c3c3:	74 0a                	je     0x18003c3cf
18003c3c5:	be 48 00 00 00       	mov    $0x48,%esi
18003c3ca:	8d 5e e0             	lea    -0x20(%rsi),%ebx
18003c3cd:	eb 09                	jmp    0x18003c3d8
18003c3cf:	8b 58 08             	mov    0x8(%rax),%ebx
18003c3d2:	83 eb 10             	sub    $0x10,%ebx
18003c3d5:	8d 73 20             	lea    0x20(%rbx),%esi
18003c3d8:	8b ce                	mov    %esi,%ecx
18003c3da:	44 8b fe             	mov    %esi,%r15d
18003c3dd:	e8 6e da 05 00       	call   0x180099e50
18003c3e2:	4c 8b f0             	mov    %rax,%r14
18003c3e5:	48 85 c0             	test   %rax,%rax
18003c3e8:	75 07                	jne    0x18003c3f1
18003c3ea:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18003c3ef:	eb 60                	jmp    0x18003c451
18003c3f1:	4d 8b c7             	mov    %r15,%r8
18003c3f4:	33 d2                	xor    %edx,%edx
18003c3f6:	49 8b ce             	mov    %r14,%rcx
18003c3f9:	e8 82 98 0f 00       	call   0x180135c80
18003c3fe:	44 8b c3             	mov    %ebx,%r8d
18003c401:	49 8d 4e 20          	lea    0x20(%r14),%rcx
18003c405:	48 8b d5             	mov    %rbp,%rdx
18003c408:	41 c7 06 06 00 00 00 	movl   $0x6,(%r14)
18003c40f:	41 89 76 08          	mov    %esi,0x8(%r14)
18003c413:	e8 a8 95 0f 00       	call   0x1801359c0
18003c418:	48 8b 07             	mov    (%rdi),%rax
18003c41b:	4c 8d 44 24 30       	lea    0x30(%rsp),%r8
18003c420:	83 67 08 00          	andl   $0x0,0x8(%rdi)
18003c424:	48 8d 15 ad fe ff ff 	lea    -0x153(%rip),%rdx        # 0x18003c2d8
18003c42b:	44 88 64 24 28       	mov    %r12b,0x28(%rsp)
18003c430:	48 8d 4c 24 38       	lea    0x38(%rsp),%rcx
18003c435:	4c 8b cf             	mov    %rdi,%r9
18003c438:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18003c43d:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
18003c442:	e8 4d fc ff ff       	call   0x18003c094
18003c447:	8b d8                	mov    %eax,%ebx
18003c449:	49 8b ce             	mov    %r14,%rcx
18003c44c:	e8 ab db 05 00       	call   0x180099ffc
18003c451:	8b c3                	mov    %ebx,%eax
18003c453:	4c 8d 5c 24 50       	lea    0x50(%rsp),%r11
18003c458:	49 8b 5b 38          	mov    0x38(%r11),%rbx
18003c45c:	49 8b 6b 40          	mov    0x40(%r11),%rbp
18003c460:	49 8b e3             	mov    %r11,%rsp
18003c463:	41 5f                	pop    %r15
18003c465:	41 5e                	pop    %r14
18003c467:	41 5c                	pop    %r12
18003c469:	5f                   	pop    %rdi
18003c46a:	5e                   	pop    %rsi
18003c46b:	c3                   	ret
18003c46c:	cc                   	int3
18003c46d:	cc                   	int3
18003c46e:	cc                   	int3
18003c46f:	cc                   	int3
18003c470:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18003c475:	44 88 44 24 18       	mov    %r8b,0x18(%rsp)
18003c47a:	55                   	push   %rbp
18003c47b:	56                   	push   %rsi
18003c47c:	57                   	push   %rdi
18003c47d:	41 54                	push   %r12
18003c47f:	41 55                	push   %r13
18003c481:	41 56                	push   %r14
18003c483:	41 57                	push   %r15
18003c485:	48 8d ac 24 40 ff ff 	lea    -0xc0(%rsp),%rbp
18003c48c:	ff
18003c48d:	48 81 ec c0 01 00 00 	sub    $0x1c0,%rsp
18003c494:	4c 8b fa             	mov    %rdx,%r15
18003c497:	8b f9                	mov    %ecx,%edi
18003c499:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
18003c49d:	e8 86 a8 fe ff       	call   0x180026d28
18003c4a2:	85 c0                	test   %eax,%eax
18003c4a4:	0f 88 1b 02 00 00    	js     0x18003c6c5
18003c4aa:	83 65 d0 00          	andl   $0x0,-0x30(%rbp)
18003c4ae:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
18003c4b2:	8b cf                	mov    %edi,%ecx
18003c4b4:	48 c7 45 c8 01 00 00 	movq   $0x1,-0x38(%rbp)
18003c4bb:	00
18003c4bc:	e8 cf a8 fe ff       	call   0x180026d90
18003c4c1:	45 33 c9             	xor    %r9d,%r9d
18003c4c4:	48 8d 54 24 40       	lea    0x40(%rsp),%rdx
18003c4c9:	8b cf                	mov    %edi,%ecx
18003c4cb:	45 8d 41 60          	lea    0x60(%r9),%r8d
18003c4cf:	e8 24 a7 fe ff       	call   0x180026bf8
18003c4d4:	85 c0                	test   %eax,%eax
18003c4d6:	0f 88 e9 01 00 00    	js     0x18003c6c5
18003c4dc:	8b 45 90             	mov    -0x70(%rbp),%eax
18003c4df:	8b 5d 94             	mov    -0x6c(%rbp),%ebx
18003c4e2:	48 0f af d8          	imul   %rax,%rbx
18003c4e6:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
18003c4eb:	48 3b d8             	cmp    %rax,%rbx
18003c4ee:	0f 87 cc 01 00 00    	ja     0x18003c6c0
18003c4f4:	8b cb                	mov    %ebx,%ecx
18003c4f6:	e8 55 d9 05 00       	call   0x180099e50
18003c4fb:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
18003c500:	4c 8b e0             	mov    %rax,%r12
18003c503:	48 85 c0             	test   %rax,%rax
18003c506:	75 0a                	jne    0x18003c512
18003c508:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18003c50d:	e9 b3 01 00 00       	jmp    0x18003c6c5
18003c512:	48 8b 45 88          	mov    -0x78(%rbp),%rax
18003c516:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
18003c51a:	83 65 d0 00          	andl   $0x0,-0x30(%rbp)
18003c51e:	8b cf                	mov    %edi,%ecx
18003c520:	48 89 45 c8          	mov    %rax,-0x38(%rbp)
18003c524:	e8 67 a8 fe ff       	call   0x180026d90
18003c529:	45 33 c9             	xor    %r9d,%r9d
18003c52c:	44 8b c3             	mov    %ebx,%r8d
18003c52f:	49 8b d4             	mov    %r12,%rdx
18003c532:	8b cf                	mov    %edi,%ecx
18003c534:	e8 bf a6 fe ff       	call   0x180026bf8
18003c539:	8b d8                	mov    %eax,%ebx
18003c53b:	85 c0                	test   %eax,%eax
18003c53d:	0f 88 71 01 00 00    	js     0x18003c6b4
18003c543:	48 8d 95 18 01 00 00 	lea    0x118(%rbp),%rdx
18003c54a:	8b cf                	mov    %edi,%ecx
18003c54c:	e8 6f a9 fe ff       	call   0x180026ec0
18003c551:	8b d8                	mov    %eax,%ebx
18003c553:	48 8b 85 18 01 00 00 	mov    0x118(%rbp),%rax
18003c55a:	48 8d 48 10          	lea    0x10(%rax),%rcx
18003c55e:	83 39 06             	cmpl   $0x6,(%rcx)
18003c561:	48 89 8d 18 01 00 00 	mov    %rcx,0x118(%rbp)
18003c568:	74 0b                	je     0x18003c575
18003c56a:	bf 28 00 00 00       	mov    $0x28,%edi
18003c56f:	44 8d 77 20          	lea    0x20(%rdi),%r14d
18003c573:	eb 0a                	jmp    0x18003c57f
18003c575:	8b 78 08             	mov    0x8(%rax),%edi
18003c578:	83 ef 10             	sub    $0x10,%edi
18003c57b:	44 8d 77 20          	lea    0x20(%rdi),%r14d
18003c57f:	41 8b ce             	mov    %r14d,%ecx
18003c582:	45 8b ee             	mov    %r14d,%r13d
18003c585:	e8 c6 d8 05 00       	call   0x180099e50
18003c58a:	48 8b f0             	mov    %rax,%rsi
18003c58d:	48 85 c0             	test   %rax,%rax
18003c590:	75 0a                	jne    0x18003c59c
18003c592:	bb 17 00 00 c0       	mov    $0xc0000017,%ebx
18003c597:	e9 18 01 00 00       	jmp    0x18003c6b4
18003c59c:	4d 8b c5             	mov    %r13,%r8
18003c59f:	33 d2                	xor    %edx,%edx
18003c5a1:	48 8b ce             	mov    %rsi,%rcx
18003c5a4:	e8 d7 96 0f 00       	call   0x180135c80