1800402af:	88 41 18             	mov    %al,0x18(%rcx)
1800402b2:	8b d0                	mov    %eax,%edx
1800402b4:	48 8b f9             	mov    %rcx,%rdi
1800402b7:	48 03 d2             	add    %rdx,%rdx
1800402ba:	4c 8b c9             	mov    %rcx,%r9
1800402bd:	48 8b cd             	mov    %rbp,%rcx
1800402c0:	45 8b 84 d7 80 d5 14 	mov    0x14d580(%r15,%rdx,8),%r8d
1800402c7:	00
1800402c8:	49 8b 94 d7 88 d5 14 	mov    0x14d588(%r15,%rdx,8),%rdx
1800402cf:	00
1800402d0:	e8 d3 74 00 00       	call   0x1800477a8
1800402d5:	44 8b c0             	mov    %eax,%r8d
1800402d8:	85 c0                	test   %eax,%eax
1800402da:	0f 88 bc 00 00 00    	js     0x18004039c
1800402e0:	0f b6 47 18          	movzbl 0x18(%rdi),%eax
1800402e4:	41 8b 8c 87 b0 e3 14 	mov    0x14e3b0(%r15,%rax,4),%ecx
1800402eb:	00
1800402ec:	0f b7 47 40          	movzwl 0x40(%rdi),%eax
1800402f0:	f7 d1                	not    %ecx
1800402f2:	85 c8                	test   %ecx,%eax
1800402f4:	74 0b                	je     0x180040301
1800402f6:	41 b8 0d 00 00 c0    	mov    $0xc000000d,%r8d
1800402fc:	e9 9b 00 00 00       	jmp    0x18004039c
180040301:	33 f6                	xor    %esi,%esi
180040303:	48 8d 9f 88 00 00 00 	lea    0x88(%rdi),%rbx
18004030a:	0f b6 57 18          	movzbl 0x18(%rdi),%edx
18004030e:	48 8d 0c 76          	lea    (%rsi,%rsi,2),%rcx
180040312:	48 03 d2             	add    %rdx,%rdx
180040315:	4c 8d 8f 84 00 00 00 	lea    0x84(%rdi),%r9
18004031c:	4d 8d 0c c9          	lea    (%r9,%rcx,8),%r9
180040320:	48 8b cd             	mov    %rbp,%rcx
180040323:	45 8b 84 d7 70 e9 14 	mov    0x14e970(%r15,%rdx,8),%r8d
18004032a:	00
18004032b:	49 8b 94 d7 78 e9 14 	mov    0x14e978(%r15,%rdx,8),%rdx
180040332:	00
180040333:	e8 70 74 00 00       	call   0x1800477a8
180040338:	44 8b c0             	mov    %eax,%r8d
18004033b:	85 c0                	test   %eax,%eax
18004033d:	78 5d                	js     0x18004039c
18004033f:	80 7f 18 05          	cmpb   $0x5,0x18(%rdi)
180040343:	73 22                	jae    0x180040367
180040345:	8b 4b fc             	mov    -0x4(%rbx),%ecx
180040348:	83 e9 01             	sub    $0x1,%ecx
18004034b:	74 17                	je     0x180040364
18004034d:	83 e9 01             	sub    $0x1,%ecx
180040350:	74 09                	je     0x18004035b
180040352:	83 f9 01             	cmp    $0x1,%ecx
180040355:	75 10                	jne    0x180040367
180040357:	89 0b                	mov    %ecx,(%rbx)
180040359:	eb 0c                	jmp    0x180040367
18004035b:	8b 43 04             	mov    0x4(%rbx),%eax
18004035e:	ff c8                	dec    %eax
180040360:	89 03                	mov    %eax,(%rbx)
180040362:	eb 03                	jmp    0x180040367
180040364:	83 23 00             	andl   $0x0,(%rbx)
180040367:	80 7f 18 09          	cmpb   $0x9,0x18(%rdi)
18004036b:	73 10                	jae    0x18004037d
18004036d:	8b 43 0c             	mov    0xc(%rbx),%eax
180040370:	83 f8 ff             	cmp    $0xffffffff,%eax
180040373:	74 08                	je     0x18004037d
180040375:	33 d2                	xor    %edx,%edx
180040377:	f7 73 04             	divl   0x4(%rbx)
18004037a:	89 43 0c             	mov    %eax,0xc(%rbx)
18004037d:	ff c6                	inc    %esi
18004037f:	48 83 c3 18          	add    $0x18,%rbx
180040383:	83 fe 03             	cmp    $0x3,%esi
180040386:	72 82                	jb     0x18004030a
180040388:	80 7f 18 0a          	cmpb   $0xa,0x18(%rdi)
18004038c:	73 0e                	jae    0x18004039c
18004038e:	8a 47 78             	mov    0x78(%rdi),%al
180040391:	f6 d8                	neg    %al
180040393:	1b c9                	sbb    %ecx,%ecx
180040395:	f7 d9                	neg    %ecx
180040397:	ff c1                	inc    %ecx
180040399:	89 4f 78             	mov    %ecx,0x78(%rdi)
18004039c:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800403a1:	41 8b c0             	mov    %r8d,%eax
1800403a4:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
1800403a9:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
1800403ae:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
1800403b3:	48 83 c4 20          	add    $0x20,%rsp
1800403b7:	41 5f                	pop    %r15
1800403b9:	c3                   	ret
1800403ba:	cc                   	int3
1800403bb:	cc                   	int3
1800403bc:	48 8b c4             	mov    %rsp,%rax
1800403bf:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800403c3:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800403c7:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800403cb:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800403cf:	41 54                	push   %r12
1800403d1:	41 56                	push   %r14
1800403d3:	41 57                	push   %r15
1800403d5:	48 83 ec 20          	sub    $0x20,%rsp
1800403d9:	44 0f b6 7a 11       	movzbl 0x11(%rdx),%r15d
1800403de:	33 f6                	xor    %esi,%esi
1800403e0:	48 8b ea             	mov    %rdx,%rbp
1800403e3:	48 8b f9             	mov    %rcx,%rdi
1800403e6:	41 80 ff 0a          	cmp    $0xa,%r15b
1800403ea:	73 18                	jae    0x180040404
1800403ec:	8b 71 78             	mov    0x78(%rcx),%esi
1800403ef:	8b ce                	mov    %esi,%ecx
1800403f1:	83 e9 01             	sub    $0x1,%ecx
1800403f4:	74 0a                	je     0x180040400
1800403f6:	83 f9 01             	cmp    $0x1,%ecx
1800403f9:	75 09                	jne    0x180040404
1800403fb:	89 4f 78             	mov    %ecx,0x78(%rdi)
1800403fe:	eb 04                	jmp    0x180040404
180040400:	83 67 78 00          	andl   $0x0,0x78(%rdi)
180040404:	0f b7 5f 40          	movzwl 0x40(%rdi),%ebx
180040408:	4c 8d 25 f1 fb fb ff 	lea    -0x4040f(%rip),%r12        # 0x180000000
18004040f:	43 0f b7 84 bc b0 e3 	movzwl 0x14e3b0(%r12,%r15,4),%eax
180040416:	14 00
180040418:	4d 8b f7             	mov    %r15,%r14
18004041b:	4d 03 f6             	add    %r14,%r14
18004041e:	66 23 c3             	and    %bx,%ax
180040421:	66 89 47 40          	mov    %ax,0x40(%rdi)
180040425:	4c 8b cf             	mov    %rdi,%r9
180040428:	48 8b cd             	mov    %rbp,%rcx
18004042b:	47 8b 84 f4 80 d5 14 	mov    0x14d580(%r12,%r14,8),%r8d
180040432:	00
180040433:	4b 8b 94 f4 88 d5 14 	mov    0x14d588(%r12,%r14,8),%rdx
18004043a:	00
18004043b:	e8 f0 73 00 00       	call   0x180047830
180040440:	66 89 5f 40          	mov    %bx,0x40(%rdi)
180040444:	41 80 ff 0a          	cmp    $0xa,%r15b
180040448:	73 03                	jae    0x18004044d
18004044a:	89 77 78             	mov    %esi,0x78(%rdi)
18004044d:	48 8d 9f 94 00 00 00 	lea    0x94(%rdi),%rbx
180040454:	be 03 00 00 00       	mov    $0x3,%esi
180040459:	48 81 c7 84 00 00 00 	add    $0x84,%rdi
180040460:	41 83 cf ff          	or     $0xffffffff,%r15d
180040464:	80 7d 11 09          	cmpb   $0x9,0x11(%rbp)
180040468:	73 0f                	jae    0x180040479
18004046a:	8b 0b                	mov    (%rbx),%ecx
18004046c:	41 3b cf             	cmp    %r15d,%ecx
18004046f:	74 08                	je     0x180040479
180040471:	8b 43 f8             	mov    -0x8(%rbx),%eax
180040474:	0f af c1             	imul   %ecx,%eax
180040477:	89 03                	mov    %eax,(%rbx)
180040479:	47 8b 84 f4 70 e9 14 	mov    0x14e970(%r12,%r14,8),%r8d
180040480:	00
180040481:	4c 8b cf             	mov    %rdi,%r9
180040484:	4b 8b 94 f4 78 e9 14 	mov    0x14e978(%r12,%r14,8),%rdx
18004048b:	00
18004048c:	48 8b cd             	mov    %rbp,%rcx
18004048f:	e8 9c 73 00 00       	call   0x180047830
180040494:	80 7d 11 09          	cmpb   $0x9,0x11(%rbp)
180040498:	73 0e                	jae    0x1800404a8
18004049a:	8b 03                	mov    (%rbx),%eax
18004049c:	41 3b c7             	cmp    %r15d,%eax
18004049f:	74 07                	je     0x1800404a8
1800404a1:	33 d2                	xor    %edx,%edx
1800404a3:	f7 73 f8             	divl   -0x8(%rbx)
1800404a6:	89 03                	mov    %eax,(%rbx)
1800404a8:	48 83 c7 18          	add    $0x18,%rdi
1800404ac:	48 83 c3 18          	add    $0x18,%rbx
1800404b0:	48 83 ee 01          	sub    $0x1,%rsi
1800404b4:	75 ae                	jne    0x180040464
1800404b6:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800404bb:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800404c0:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800404c5:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800404ca:	48 83 c4 20          	add    $0x20,%rsp
1800404ce:	41 5f                	pop    %r15
1800404d0:	41 5e                	pop    %r14
1800404d2:	41 5c                	pop    %r12
1800404d4:	c3                   	ret
1800404d5:	cc                   	int3
1800404d6:	cc                   	int3
1800404d7:	cc                   	int3
1800404d8:	48 8b c4             	mov    %rsp,%rax
1800404db:	48 89 58 08          	mov    %rbx,0x8(%rax)
1800404df:	48 89 68 10          	mov    %rbp,0x10(%rax)
1800404e3:	48 89 70 18          	mov    %rsi,0x18(%rax)
1800404e7:	48 89 78 20          	mov    %rdi,0x20(%rax)
1800404eb:	41 55                	push   %r13
1800404ed:	41 56                	push   %r14
1800404ef:	41 57                	push   %r15
1800404f1:	48 83 ec 20          	sub    $0x20,%rsp
1800404f5:	48 8b f1             	mov    %rcx,%rsi
1800404f8:	4c 8d 2d 01 fb fb ff 	lea    -0x404ff(%rip),%r13        # 0x180000000
1800404ff:	0f b6 49 18          	movzbl 0x18(%rcx),%ecx
180040503:	4c 8b c6             	mov    %rsi,%r8
180040506:	48 03 c9             	add    %rcx,%rcx
180040509:	41 8b 94 cd 80 d5 14 	mov    0x14d580(%r13,%rcx,8),%edx
180040510:	00
180040511:	49 8b 8c cd 88 d5 14 	mov    0x14d588(%r13,%rcx,8),%rcx
180040518:	00
180040519:	e8 b2 fb 00 00       	call   0x1800500d0
18004051e:	45 33 f6             	xor    %r14d,%r14d
180040521:	0f b7 e8             	movzwl %ax,%ebp
180040524:	48 8d 9e 94 00 00 00 	lea    0x94(%rsi),%rbx
18004052b:	45 8d 7e 03          	lea    0x3(%r14),%r15d
18004052f:	40 8a 7e 18          	mov    0x18(%rsi),%dil
180040533:	40 80 ff 09          	cmp    $0x9,%dil
180040537:	73 13                	jae    0x18004054c
180040539:	8b 0b                	mov    (%rbx),%ecx
18004053b:	83 f9 ff             	cmp    $0xffffffff,%ecx
18004053e:	74 0c                	je     0x18004054c
180040540:	8b 43 f8             	mov    -0x8(%rbx),%eax
180040543:	0f af c1             	imul   %ecx,%eax
180040546:	89 03                	mov    %eax,(%rbx)
180040548:	40 8a 7e 18          	mov    0x18(%rsi),%dil
18004054c:	4b 8d 04 76          	lea    (%r14,%r14,2),%rax
180040550:	40 0f b6 cf          	movzbl %dil,%ecx
180040554:	48 03 c9             	add    %rcx,%rcx
180040557:	4c 8d 86 84 00 00 00 	lea    0x84(%rsi),%r8
18004055e:	4d 8d 04 c0          	lea    (%r8,%rax,8),%r8
180040562:	41 8b 94 cd 70 e9 14 	mov    0x14e970(%r13,%rcx,8),%edx
180040569:	00
18004056a:	49 8b 8c cd 78 e9 14 	mov    0x14e978(%r13,%rcx,8),%rcx
180040571:	00
180040572:	e8 59 fb 00 00       	call   0x1800500d0
180040577:	0f b7 c0             	movzwl %ax,%eax
18004057a:	03 e8                	add    %eax,%ebp
18004057c:	40 80 ff 09          	cmp    $0x9,%dil
180040580:	73 0e                	jae    0x180040590
180040582:	8b 03                	mov    (%rbx),%eax
180040584:	83 f8 ff             	cmp    $0xffffffff,%eax
180040587:	74 07                	je     0x180040590
180040589:	33 d2                	xor    %edx,%edx
18004058b:	f7 73 f8             	divl   -0x8(%rbx)
18004058e:	89 03                	mov    %eax,(%rbx)
180040590:	49 ff c6             	inc    %r14
180040593:	48 83 c3 18          	add    $0x18,%rbx
180040597:	49 83 ef 01          	sub    $0x1,%r15
18004059b:	75 92                	jne    0x18004052f
18004059d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
1800405a2:	8b c5                	mov    %ebp,%eax
1800405a4:	48 8b 6c 24 48       	mov    0x48(%rsp),%rbp
1800405a9:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
1800405ae:	48 8b 7c 24 58       	mov    0x58(%rsp),%rdi
1800405b3:	48 83 c4 20          	add    $0x20,%rsp
1800405b7:	41 5f                	pop    %r15
1800405b9:	41 5e                	pop    %r14
1800405bb:	41 5d                	pop    %r13
1800405bd:	c3                   	ret
1800405be:	cc                   	int3
1800405bf:	cc                   	int3
1800405c0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800405c5:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800405ca:	48 89 7c 24 18       	mov    %rdi,0x18(%rsp)
1800405cf:	41 56                	push   %r14
1800405d1:	48 83 ec 20          	sub    $0x20,%rsp
1800405d5:	8b 51 48             	mov    0x48(%rcx),%edx
1800405d8:	48 8b d9             	mov    %rcx,%rbx
1800405db:	8d 82 00 fe ff ff    	lea    -0x200(%rdx),%eax
1800405e1:	3d 00 0e 00 00       	cmp    $0xe00,%eax
1800405e6:	0f 87 b2 00 00 00    	ja     0x18004069e
1800405ec:	8d 42 ff             	lea    -0x1(%rdx),%eax
1800405ef:	85 c2                	test   %eax,%edx
1800405f1:	0f 85 a7 00 00 00    	jne    0x18004069e
1800405f7:	8b 49 4c             	mov    0x4c(%rcx),%ecx
1800405fa:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
180040600:	0f 82 98 00 00 00    	jb     0x18004069e
180040606:	8d 41 ff             	lea    -0x1(%rcx),%eax
180040609:	85 c1                	test   %eax,%ecx
18004060b:	0f 85 8d 00 00 00    	jne    0x18004069e
180040611:	3b ca                	cmp    %edx,%ecx
180040613:	0f 82 85 00 00 00    	jb     0x18004069e
180040619:	48 8b 53 58          	mov    0x58(%rbx),%rdx
18004061d:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180040621:	41 b0 01             	mov    $0x1,%r8b
180040624:	e8 37 fd 00 00       	call   0x180050360
180040629:	8b c8                	mov    %eax,%ecx
18004062b:	85 c0                	test   %eax,%eax
18004062d:	78 74                	js     0x1800406a3
18004062f:	4c 8d b3 84 00 00 00 	lea    0x84(%rbx),%r14
180040636:	33 ff                	xor    %edi,%edi
180040638:	49 8b f6             	mov    %r14,%rsi
18004063b:	8b 06                	mov    (%rsi),%eax
18004063d:	ff c8                	dec    %eax
18004063f:	3b c7                	cmp    %edi,%eax
180040641:	75 25                	jne    0x180040668
180040643:	48 63 c7             	movslq %edi,%rax
180040646:	b2 01                	mov    $0x1,%dl
180040648:	48 8d 0c 40          	lea    (%rax,%rax,2),%rcx
18004064c:	49 8d 0c ce          	lea    (%r14,%rcx,8),%rcx
180040650:	e8 53 fb 00 00       	call   0x1800501a8
180040655:	8b c8                	mov    %eax,%ecx
180040657:	85 c0                	test   %eax,%eax
180040659:	78 12                	js     0x18004066d
18004065b:	ff c7                	inc    %edi
18004065d:	48 83 c6 18          	add    $0x18,%rsi
180040661:	83 ff 03             	cmp    $0x3,%edi
180040664:	7c d5                	jl     0x18004063b
180040666:	eb 05                	jmp    0x18004066d
180040668:	b9 03 00 e7 c0       	mov    $0xc0e70003,%ecx
18004066d:	85 c9                	test   %ecx,%ecx
18004066f:	78 32                	js     0x1800406a3
180040671:	48 8b 83 d0 00 00 00 	mov    0xd0(%rbx),%rax
180040678:	33 c9                	xor    %ecx,%ecx
18004067a:	48 ff c8             	dec    %rax
18004067d:	48 3d fe ff ff 01    	cmp    $0x1fffffe,%rax
180040683:	77 07                	ja     0x18004068c
180040685:	b9 10 00 e7 c0       	mov    $0xc0e70010,%ecx
18004068a:	eb 17                	jmp    0x1800406a3
18004068c:	48 83 bb d8 00 00 00 	cmpq   $0xffffffffffffffff,0xd8(%rbx)
180040693:	ff
180040694:	b8 bb 00 00 c0       	mov    $0xc00000bb,%eax
180040699:	0f 44 c8             	cmove  %eax,%ecx
18004069c:	eb 05                	jmp    0x1800406a3
18004069e:	b9 0d 00 00 c0       	mov    $0xc000000d,%ecx
1800406a3:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800406a8:	8b c1                	mov    %ecx,%eax
1800406aa:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
1800406af:	48 8b 7c 24 40       	mov    0x40(%rsp),%rdi
1800406b4:	48 83 c4 20          	add    $0x20,%rsp
1800406b8:	41 5e                	pop    %r14
1800406ba:	c3                   	ret
1800406bb:	cc                   	int3
1800406bc:	48 8b 41 10          	mov    0x10(%rcx),%rax
1800406c0:	48 8b 50 10          	mov    0x10(%rax),%rdx
1800406c4:	8b 41 44             	mov    0x44(%rcx),%eax
1800406c7:	89 42 18             	mov    %eax,0x18(%rdx)
1800406ca:	33 c0                	xor    %eax,%eax
1800406cc:	c3                   	ret
1800406cd:	cc                   	int3
1800406ce:	cc                   	int3
1800406cf:	cc                   	int3
1800406d0:	83 89 d0 00 00 00 ff 	orl    $0xffffffff,0xd0(%rcx)
1800406d7:	33 c0                	xor    %eax,%eax
1800406d9:	48 83 89 90 00 00 00 	orq    $0xffffffffffffffff,0x90(%rcx)
1800406e0:	ff
1800406e1:	48 89 41 08          	mov    %rax,0x8(%rcx)
1800406e5:	48 89 41 10          	mov    %rax,0x10(%rcx)
1800406e9:	66 89 41 18          	mov    %ax,0x18(%rcx)
1800406ed:	48 8d 05 dc 29 10 00 	lea    0x1029dc(%rip),%rax        # 0x1801430d0
1800406f4:	48 89 01             	mov    %rax,(%rcx)
1800406f7:	48 8b c1             	mov    %rcx,%rax
1800406fa:	c3                   	ret
1800406fb:	cc                   	int3
1800406fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180040701:	57                   	push   %rdi
180040702:	48 83 ec 20          	sub    $0x20,%rsp
180040706:	8b da                	mov    %edx,%ebx
180040708:	48 8b f9             	mov    %rcx,%rdi
18004070b:	e8 1c 00 00 00       	call   0x18004072c
180040710:	f6 c3 01             	test   $0x1,%bl
180040713:	74 08                	je     0x18004071d
180040715:	48 8b cf             	mov    %rdi,%rcx
180040718:	e8 3f 62 00 00       	call   0x18004695c
18004071d:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180040722:	48 8b c7             	mov    %rdi,%rax
180040725:	48 83 c4 20          	add    $0x20,%rsp
180040729:	5f                   	pop    %rdi
18004072a:	c3                   	ret
18004072b:	cc                   	int3
18004072c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)