180051404:	48 83 ec 28          	sub    $0x28,%rsp
180051408:	48 8b 49 08          	mov    0x8(%rcx),%rcx
18005140c:	48 8b 81 e8 00 00 00 	mov    0xe8(%rcx),%rax
180051413:	eb 0a                	jmp    0x18005141f
180051415:	48 8b c8             	mov    %rax,%rcx
180051418:	48 8b 80 e8 00 00 00 	mov    0xe8(%rax),%rax
18005141f:	48 85 c0             	test   %rax,%rax
180051422:	75 f1                	jne    0x180051415
180051424:	8b 52 04             	mov    0x4(%rdx),%edx
180051427:	48 8b 89 e0 00 00 00 	mov    0xe0(%rcx),%rcx
18005142e:	e8 a9 24 ff ff       	call   0x1800438dc
180051433:	48 83 c4 28          	add    $0x28,%rsp
180051437:	c3                   	ret
180051438:	cc                   	int3
180051439:	cc                   	int3
18005143a:	cc                   	int3
18005143b:	cc                   	int3
18005143c:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180051441:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180051446:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18005144b:	57                   	push   %rdi
18005144c:	48 83 ec 20          	sub    $0x20,%rsp
180051450:	48 8b 69 20          	mov    0x20(%rcx),%rbp
180051454:	33 db                	xor    %ebx,%ebx
180051456:	8b fb                	mov    %ebx,%edi
180051458:	48 8b f1             	mov    %rcx,%rsi
18005145b:	48 85 ed             	test   %rbp,%rbp
18005145e:	74 06                	je     0x180051466
180051460:	48 8d 45 58          	lea    0x58(%rbp),%rax
180051464:	eb 08                	jmp    0x18005146e
180051466:	48 8b 46 08          	mov    0x8(%rsi),%rax
18005146a:	48 83 c0 50          	add    $0x50,%rax
18005146e:	3b 78 10             	cmp    0x10(%rax),%edi
180051471:	73 17                	jae    0x18005148a
180051473:	8b d7                	mov    %edi,%edx
180051475:	48 8b ce             	mov    %rsi,%rcx
180051478:	e8 27 00 00 00       	call   0x1800514a4
18005147d:	84 c0                	test   %al,%al
18005147f:	74 04                	je     0x180051485
180051481:	ff c7                	inc    %edi
180051483:	eb d6                	jmp    0x18005145b
180051485:	bb c0 00 00 c0       	mov    $0xc00000c0,%ebx
18005148a:	48 8b 6c 24 38       	mov    0x38(%rsp),%rbp
18005148f:	8b c3                	mov    %ebx,%eax
180051491:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180051496:	48 8b 74 24 40       	mov    0x40(%rsp),%rsi
18005149b:	48 83 c4 20          	add    $0x20,%rsp
18005149f:	5f                   	pop    %rdi
1800514a0:	c3                   	ret
1800514a1:	cc                   	int3
1800514a2:	cc                   	int3
1800514a3:	cc                   	int3
1800514a4:	40 53                	rex push %rbx
1800514a6:	48 83 ec 20          	sub    $0x20,%rsp
1800514aa:	44 0f b6 51 2b       	movzbl 0x2b(%rcx),%r10d
1800514af:	45 33 c9             	xor    %r9d,%r9d
1800514b2:	8b da                	mov    %edx,%ebx
1800514b4:	4c 8b d9             	mov    %rcx,%r11
1800514b7:	45 8b c1             	mov    %r9d,%r8d
1800514ba:	45 85 d2             	test   %r10d,%r10d
1800514bd:	74 1b                	je     0x1800514da
1800514bf:	8b d3                	mov    %ebx,%edx
1800514c1:	49 8b cb             	mov    %r11,%rcx
1800514c4:	e8 1b 00 00 00       	call   0x1800514e4
1800514c9:	84 c0                	test   %al,%al
1800514cb:	75 0a                	jne    0x1800514d7
1800514cd:	41 ff c0             	inc    %r8d
1800514d0:	45 3b c2             	cmp    %r10d,%r8d
1800514d3:	72 ea                	jb     0x1800514bf
1800514d5:	eb 03                	jmp    0x1800514da
1800514d7:	41 b1 01             	mov    $0x1,%r9b
1800514da:	41 8a c1             	mov    %r9b,%al
1800514dd:	48 83 c4 20          	add    $0x20,%rsp
1800514e1:	5b                   	pop    %rbx
1800514e2:	c3                   	ret
1800514e3:	cc                   	int3
1800514e4:	48 83 ec 28          	sub    $0x28,%rsp
1800514e8:	e8 63 fe ff ff       	call   0x180051350
1800514ed:	32 c9                	xor    %cl,%cl
1800514ef:	8a 50 03             	mov    0x3(%rax),%dl
1800514f2:	8a 40 02             	mov    0x2(%rax),%al
1800514f5:	80 e2 0f             	and    $0xf,%dl
1800514f8:	24 0f                	and    $0xf,%al
1800514fa:	3c 01                	cmp    $0x1,%al
1800514fc:	75 04                	jne    0x180051502
1800514fe:	84 d2                	test   %dl,%dl
180051500:	eb 03                	jmp    0x180051505
180051502:	80 fa 01             	cmp    $0x1,%dl
180051505:	75 02                	jne    0x180051509
180051507:	b1 01                	mov    $0x1,%cl
180051509:	8a c1                	mov    %cl,%al
18005150b:	48 83 c4 28          	add    $0x28,%rsp
18005150f:	c3                   	ret
180051510:	cc                   	int3
180051511:	cc                   	int3
180051512:	cc                   	int3
180051513:	cc                   	int3
180051514:	48 83 ec 28          	sub    $0x28,%rsp
180051518:	45 32 c9             	xor    %r9b,%r9b
18005151b:	e8 30 fe ff ff       	call   0x180051350
180051520:	8a 50 02             	mov    0x2(%rax),%dl
180051523:	b8 01 00 00 00       	mov    $0x1,%eax
180051528:	80 e2 0f             	and    $0xf,%dl
18005152b:	8a ca                	mov    %dl,%cl
18005152d:	2a c8                	sub    %al,%cl
18005152f:	f6 c1 fa             	test   $0xfa,%cl
180051532:	75 0b                	jne    0x18005153f
180051534:	80 fa 02             	cmp    $0x2,%dl
180051537:	45 0f b6 c9          	movzbl %r9b,%r9d
18005153b:	44 0f 45 c8          	cmovne %eax,%r9d
18005153f:	41 8a c1             	mov    %r9b,%al
180051542:	48 83 c4 28          	add    $0x28,%rsp
180051546:	c3                   	ret
180051547:	cc                   	int3
180051548:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005154d:	57                   	push   %rdi
18005154e:	48 83 ec 20          	sub    $0x20,%rsp
180051552:	49 8b f9             	mov    %r9,%rdi
180051555:	e8 f6 fd ff ff       	call   0x180051350
18005155a:	48 8b d8             	mov    %rax,%rbx
18005155d:	32 c0                	xor    %al,%al
18005155f:	8a 53 02             	mov    0x2(%rbx),%dl
180051562:	80 e2 0f             	and    $0xf,%dl
180051565:	80 fa 06             	cmp    $0x6,%dl
180051568:	75 35                	jne    0x18005159f
18005156a:	0f b7 13             	movzwl (%rbx),%edx
18005156d:	f6 c2 40             	test   $0x40,%dl
180051570:	74 1c                	je     0x18005158e
180051572:	48 8b d3             	mov    %rbx,%rdx
180051575:	e8 8a fe ff ff       	call   0x180051404
18005157a:	48 8b 53 08          	mov    0x8(%rbx),%rdx
18005157e:	48 8b c8             	mov    %rax,%rcx
180051581:	4c 8b 44 24 50       	mov    0x50(%rsp),%r8
180051586:	48 03 d7             	add    %rdi,%rdx
180051589:	e8 6e 64 fe ff       	call   0x1800379fc
18005158e:	0f b7 0b             	movzwl (%rbx),%ecx
180051591:	f6 c1 40             	test   $0x40,%cl
180051594:	0f b6 c0             	movzbl %al,%eax
180051597:	b9 01 00 00 00       	mov    $0x1,%ecx
18005159c:	0f 44 c1             	cmove  %ecx,%eax
18005159f:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800515a4:	48 83 c4 20          	add    $0x20,%rsp
1800515a8:	5f                   	pop    %rdi
1800515a9:	c3                   	ret
1800515aa:	cc                   	int3
1800515ab:	cc                   	int3
1800515ac:	48 8b 41 20          	mov    0x20(%rcx),%rax
1800515b0:	48 85 c0             	test   %rax,%rax
1800515b3:	74 06                	je     0x1800515bb
1800515b5:	48 83 c0 38          	add    $0x38,%rax
1800515b9:	c3                   	ret
1800515ba:	cc                   	int3
1800515bb:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800515bf:	48 83 c0 30          	add    $0x30,%rax
1800515c3:	c3                   	ret
1800515c4:	cc                   	int3
1800515c5:	cc                   	int3
1800515c6:	cc                   	int3
1800515c7:	cc                   	int3
1800515c8:	48 8b 41 20          	mov    0x20(%rcx),%rax
1800515cc:	48 85 c0             	test   %rax,%rax
1800515cf:	74 06                	je     0x1800515d7
1800515d1:	48 83 c0 58          	add    $0x58,%rax
1800515d5:	c3                   	ret
1800515d6:	cc                   	int3
1800515d7:	48 8b 41 08          	mov    0x8(%rcx),%rax
1800515db:	48 83 c0 50          	add    $0x50,%rax
1800515df:	c3                   	ret
1800515e0:	cc                   	int3
1800515e1:	cc                   	int3
1800515e2:	cc                   	int3
1800515e3:	cc                   	int3
1800515e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800515e9:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800515ee:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800515f3:	57                   	push   %rdi
1800515f4:	41 54                	push   %r12
1800515f6:	41 55                	push   %r13
1800515f8:	41 56                	push   %r14
1800515fa:	41 57                	push   %r15
1800515fc:	48 83 ec 30          	sub    $0x30,%rsp
180051600:	45 33 ed             	xor    %r13d,%r13d
180051603:	4d 8d 98 20 01 00 00 	lea    0x120(%r8),%r11
18005160a:	49 8d 73 10          	lea    0x10(%r11),%rsi
18005160e:	4d 89 29             	mov    %r13,(%r9)
180051611:	4c 8b 16             	mov    (%rsi),%r10
180051614:	4d 8b f9             	mov    %r9,%r15
180051617:	4d 8b f0             	mov    %r8,%r14
18005161a:	48 8b ea             	mov    %rdx,%rbp
18005161d:	4c 8b e1             	mov    %rcx,%r12
180051620:	41 8b dd             	mov    %r13d,%ebx
180051623:	41 8b fd             	mov    %r13d,%edi
180051626:	4c 3b d6             	cmp    %rsi,%r10
180051629:	74 55                	je     0x180051680
18005162b:	49 8b 52 20          	mov    0x20(%r10),%rdx
18005162f:	49 8b 4a 28          	mov    0x28(%r10),%rcx
180051633:	48 03 ca             	add    %rdx,%rcx
180051636:	48 3b cd             	cmp    %rbp,%rcx
180051639:	76 05                	jbe    0x180051640
18005163b:	48 3b d5             	cmp    %rbp,%rdx
18005163e:	76 05                	jbe    0x180051645
180051640:	4d 8b 12             	mov    (%r10),%r10
180051643:	eb e1                	jmp    0x180051626
180051645:	49 8b 0b             	mov    (%r11),%rcx
180051648:	41 8a d5             	mov    %r13b,%dl
18005164b:	4d 8b c5             	mov    %r13,%r8
18005164e:	49 3b cb             	cmp    %r11,%rcx
180051651:	74 1e                	je     0x180051671
180051653:	48 8b 41 10          	mov    0x10(%rcx),%rax
180051657:	4c 8b c1             	mov    %rcx,%r8
18005165a:	49 3b 42 10          	cmp    0x10(%r10),%rax
18005165e:	75 0a                	jne    0x18005166a
180051660:	48 8b 41 18          	mov    0x18(%rcx),%rax
180051664:	49 3b 42 18          	cmp    0x18(%r10),%rax
180051668:	74 05                	je     0x18005166f
18005166a:	48 8b 09             	mov    (%rcx),%rcx
18005166d:	eb df                	jmp    0x18005164e
18005166f:	b2 01                	mov    $0x1,%dl
180051671:	f6 da                	neg    %dl
180051673:	48 1b ff             	sbb    %rdi,%rdi
180051676:	49 23 f8             	and    %r8,%rdi
180051679:	74 05                	je     0x180051680
18005167b:	8b 47 58             	mov    0x58(%rdi),%eax
18005167e:	eb 04                	jmp    0x180051684
180051680:	41 8b 46 50          	mov    0x50(%r14),%eax
180051684:	85 c0                	test   %eax,%eax
180051686:	0f 8e c5 00 00 00    	jle    0x180051751
18005168c:	83 f8 02             	cmp    $0x2,%eax
18005168f:	7e 4f                	jle    0x1800516e0
180051691:	83 f8 03             	cmp    $0x3,%eax
180051694:	0f 85 b7 00 00 00    	jne    0x180051751
18005169a:	8d 48 5d             	lea    0x5d(%rax),%ecx
18005169d:	e8 72 52 ff ff       	call   0x180046914
1800516a2:	48 8b d8             	mov    %rax,%rbx
1800516a5:	48 85 c0             	test   %rax,%rax
1800516a8:	74 70                	je     0x18005171a
1800516aa:	4c 89 68 18          	mov    %r13,0x18(%rax)
1800516ae:	4c 89 68 20          	mov    %r13,0x20(%rax)
1800516b2:	66 44 89 68 2a       	mov    %r13w,0x2a(%rax)
1800516b7:	4c 89 68 30          	mov    %r13,0x30(%rax)
1800516bb:	4c 89 68 38          	mov    %r13,0x38(%rax)
1800516bf:	4c 89 68 40          	mov    %r13,0x40(%rax)
1800516c3:	48 8d 05 56 22 0f 00 	lea    0xf2256(%rip),%rax        # 0x180143920
1800516ca:	48 89 03             	mov    %rax,(%rbx)
1800516cd:	b8 17 00 00 00       	mov    $0x17,%eax
1800516d2:	66 89 43 28          	mov    %ax,0x28(%rbx)
1800516d6:	44 89 6b 50          	mov    %r13d,0x50(%rbx)
1800516da:	4c 89 6b 58          	mov    %r13,0x58(%rbx)
1800516de:	eb 3d                	jmp    0x18005171d
1800516e0:	b9 50 00 00 00       	mov    $0x50,%ecx
1800516e5:	e8 2a 52 ff ff       	call   0x180046914
1800516ea:	48 8b d8             	mov    %rax,%rbx
1800516ed:	48 85 c0             	test   %rax,%rax
1800516f0:	74 28                	je     0x18005171a
1800516f2:	4c 89 68 18          	mov    %r13,0x18(%rax)
1800516f6:	4c 89 68 20          	mov    %r13,0x20(%rax)
1800516fa:	44 89 68 28          	mov    %r13d,0x28(%rax)
1800516fe:	4c 89 68 30          	mov    %r13,0x30(%rax)
180051702:	4c 89 68 38          	mov    %r13,0x38(%rax)
180051706:	4c 89 68 40          	mov    %r13,0x40(%rax)
18005170a:	48 8d 05 ff 20 0f 00 	lea    0xf20ff(%rip),%rax        # 0x180143810
180051711:	48 89 03             	mov    %rax,(%rbx)
180051714:	4c 89 6b 48          	mov    %r13,0x48(%rbx)
180051718:	eb 03                	jmp    0x18005171d
18005171a:	49 8b dd             	mov    %r13,%rbx
18005171d:	48 85 db             	test   %rbx,%rbx
180051720:	75 07                	jne    0x180051729
180051722:	bf 9a 00 00 c0       	mov    $0xc000009a,%edi
180051727:	eb 45                	jmp    0x18005176e
180051729:	48 8b 03             	mov    (%rbx),%rax
18005172c:	4d 8b ce             	mov    %r14,%r9
18005172f:	4c 8b c5             	mov    %rbp,%r8
180051732:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
180051737:	49 8b d4             	mov    %r12,%rdx
18005173a:	48 8b cb             	mov    %rbx,%rcx
18005173d:	48 8b 40 78          	mov    0x78(%rax),%rax
180051741:	ff d0                	call   *%rax
180051743:	0f 1f 00             	nopl   (%rax)
180051746:	8b f8                	mov    %eax,%edi
180051748:	85 c0                	test   %eax,%eax
18005174a:	78 0a                	js     0x180051756
18005174c:	49 89 1f             	mov    %rbx,(%r15)
18005174f:	eb 1d                	jmp    0x18005176e
180051751:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
180051756:	48 85 db             	test   %rbx,%rbx
180051759:	74 13                	je     0x18005176e
18005175b:	48 8b 03             	mov    (%rbx),%rax
18005175e:	ba 01 00 00 00       	mov    $0x1,%edx
180051763:	48 8b cb             	mov    %rbx,%rcx
180051766:	48 8b 00             	mov    (%rax),%rax
180051769:	ff d0                	call   *%rax
18005176b:	0f 1f 00             	nopl   (%rax)
18005176e:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
180051773:	8b c7                	mov    %edi,%eax
180051775:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
18005177a:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
18005177f:	48 83 c4 30          	add    $0x30,%rsp
180051783:	41 5f                	pop    %r15
180051785:	41 5e                	pop    %r14
180051787:	41 5d                	pop    %r13
180051789:	41 5c                	pop    %r12
18005178b:	5f                   	pop    %rdi
18005178c:	c3                   	ret
18005178d:	cc                   	int3
18005178e:	cc                   	int3
18005178f:	cc                   	int3
180051790:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180051795:	57                   	push   %rdi
180051796:	48 83 ec 20          	sub    $0x20,%rsp
18005179a:	8b da                	mov    %edx,%ebx
18005179c:	48 8b f9             	mov    %rcx,%rdi
18005179f:	e8 1c 00 00 00       	call   0x1800517c0
1800517a4:	f6 c3 01             	test   $0x1,%bl
1800517a7:	74 08                	je     0x1800517b1
1800517a9:	48 8b cf             	mov    %rdi,%rcx
1800517ac:	e8 ab 51 ff ff       	call   0x18004695c
1800517b1:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1800517b6:	48 8b c7             	mov    %rdi,%rax
1800517b9:	48 83 c4 20          	add    $0x20,%rsp
1800517bd:	5f                   	pop    %rdi
1800517be:	c3                   	ret
1800517bf:	cc                   	int3
1800517c0:	40 53                	rex push %rbx
1800517c2:	48 83 ec 20          	sub    $0x20,%rsp
1800517c6:	48 8d 05 bb 1e 0f 00 	lea    0xf1ebb(%rip),%rax        # 0x180143688
1800517cd:	48 8b d9             	mov    %rcx,%rbx
1800517d0:	48 89 01             	mov    %rax,(%rcx)
1800517d3:	48 8b 49 40          	mov    0x40(%rcx),%rcx
1800517d7:	48 85 c9             	test   %rcx,%rcx
1800517da:	74 10                	je     0x1800517ec
1800517dc:	48 8b 01             	mov    (%rcx),%rax
1800517df:	ba 01 00 00 00       	mov    $0x1,%edx
1800517e4:	48 8b 00             	mov    (%rax),%rax
1800517e7:	ff d0                	call   *%rax
1800517e9:	0f 1f 00             	nopl   (%rax)
1800517ec:	48 8b 4b 38          	mov    0x38(%rbx),%rcx
1800517f0:	48 85 c9             	test   %rcx,%rcx
1800517f3:	74 09                	je     0x1800517fe
1800517f5:	48 83 c1 f8          	add    $0xfffffffffffffff8,%rcx
1800517f9:	e8 5e 51 ff ff       	call   0x18004695c
1800517fe:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
180051802:	48 85 c9             	test   %rcx,%rcx
180051805:	74 05                	je     0x18005180c
180051807:	e8 50 51 ff ff       	call   0x18004695c
18005180c:	48 8d 05 1d 1c 0f 00 	lea    0xf1c1d(%rip),%rax        # 0x180143430
180051813:	48 89 03             	mov    %rax,(%rbx)
180051816:	48 83 c4 20          	add    $0x20,%rsp
18005181a:	5b                   	pop    %rbx
18005181b:	c3                   	ret
18005181c:	cc                   	int3