1800873fa:	8b f8                	mov    %eax,%edi
1800873fc:	8b 85 30 01 00 00    	mov    0x130(%rbp),%eax
180087402:	eb 05                	jmp    0x180087409
180087404:	bf 0d 00 00 c0       	mov    $0xc000000d,%edi
180087409:	85 ff                	test   %edi,%edi
18008740b:	0f 88 15 01 00 00    	js     0x180087526
180087411:	44 8b 8d e8 00 00 00 	mov    0xe8(%rbp),%r9d
180087418:	49 8b d7             	mov    %r15,%rdx
18008741b:	44 8b 85 e0 00 00 00 	mov    0xe0(%rbp),%r8d
180087422:	8b 8d c0 00 00 00    	mov    0xc0(%rbp),%ecx
180087428:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
18008742d:	89 44 24 30          	mov    %eax,0x30(%rsp)
180087431:	8b 85 28 01 00 00    	mov    0x128(%rbp),%eax
180087437:	89 44 24 28          	mov    %eax,0x28(%rsp)
18008743b:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)
180087440:	e8 63 01 00 00       	call   0x1800875a8
180087445:	8b f8                	mov    %eax,%edi
180087447:	85 c0                	test   %eax,%eax
180087449:	0f 88 d7 00 00 00    	js     0x180087526
18008744f:	48 85 f6             	test   %rsi,%rsi
180087452:	74 3e                	je     0x180087492
180087454:	48 8b 06             	mov    (%rsi),%rax
180087457:	48 85 c0             	test   %rax,%rax
18008745a:	74 36                	je     0x180087492
18008745c:	48 8b 40 40          	mov    0x40(%rax),%rax
180087460:	48 85 c0             	test   %rax,%rax
180087463:	74 2d                	je     0x180087492
180087465:	4c 8d 85 20 01 00 00 	lea    0x120(%rbp),%r8
18008746c:	48 8b cb             	mov    %rbx,%rcx
18008746f:	48 8d 95 18 01 00 00 	lea    0x118(%rbp),%rdx
180087476:	ff d0                	call   *%rax
180087478:	0f 1f 00             	nopl   (%rax)
18008747b:	8b f8                	mov    %eax,%edi
18008747d:	85 c0                	test   %eax,%eax
18008747f:	0f 88 a1 00 00 00    	js     0x180087526
180087485:	8b 85 20 01 00 00    	mov    0x120(%rbp),%eax
18008748b:	b9 01 00 00 00       	mov    $0x1,%ecx
180087490:	eb 44                	jmp    0x1800874d6
180087492:	8b 8d 18 01 00 00    	mov    0x118(%rbp),%ecx
180087498:	b8 00 00 00 04       	mov    $0x4000000,%eax
18008749d:	85 c8                	test   %ecx,%eax
18008749f:	74 05                	je     0x1800874a6
1800874a1:	85 43 68             	test   %eax,0x68(%rbx)
1800874a4:	75 10                	jne    0x1800874b6
1800874a6:	b8 ff ff ff fb       	mov    $0xfbffffff,%eax
1800874ab:	23 c8                	and    %eax,%ecx
1800874ad:	89 8d 18 01 00 00    	mov    %ecx,0x118(%rbp)
1800874b3:	21 43 68             	and    %eax,0x68(%rbx)
1800874b6:	8b 85 20 01 00 00    	mov    0x120(%rbp),%eax
1800874bc:	b9 01 00 00 00       	mov    $0x1,%ecx
1800874c1:	84 c1                	test   %al,%cl
1800874c3:	74 11                	je     0x1800874d6
1800874c5:	84 8b e4 00 00 00    	test   %cl,0xe4(%rbx)
1800874cb:	75 09                	jne    0x1800874d6
1800874cd:	83 e0 fe             	and    $0xfffffffe,%eax
1800874d0:	89 85 20 01 00 00    	mov    %eax,0x120(%rbp)
1800874d6:	09 83 e4 00 00 00    	or     %eax,0xe4(%rbx)
1800874dc:	8b 85 18 01 00 00    	mov    0x118(%rbp),%eax
1800874e2:	09 43 68             	or     %eax,0x68(%rbx)
1800874e5:	66 01 4b 6c          	add    %cx,0x6c(%rbx)
1800874e9:	48 85 f6             	test   %rsi,%rsi
1800874ec:	74 23                	je     0x180087511
1800874ee:	48 8b 06             	mov    (%rsi),%rax
1800874f1:	48 85 c0             	test   %rax,%rax
1800874f4:	74 1b                	je     0x180087511
1800874f6:	48 8b 40 28          	mov    0x28(%rax),%rax
1800874fa:	48 85 c0             	test   %rax,%rax
1800874fd:	74 12                	je     0x180087511
1800874ff:	8b 53 40             	mov    0x40(%rbx),%edx
180087502:	48 8b 4b 30          	mov    0x30(%rbx),%rcx
180087506:	ff d0                	call   *%rax
180087508:	0f 1f 00             	nopl   (%rax)
18008750b:	8b f8                	mov    %eax,%edi
18008750d:	85 c0                	test   %eax,%eax
18008750f:	78 15                	js     0x180087526
180087511:	48 8b 85 00 01 00 00 	mov    0x100(%rbp),%rax
180087518:	48 85 c0             	test   %rax,%rax
18008751b:	74 03                	je     0x180087520
18008751d:	48 89 18             	mov    %rbx,(%rax)
180087520:	33 ff                	xor    %edi,%edi
180087522:	85 ff                	test   %edi,%edi
180087524:	79 25                	jns    0x18008754b
180087526:	48 8b 4d a0          	mov    -0x60(%rbp),%rcx
18008752a:	48 85 c9             	test   %rcx,%rcx
18008752d:	74 0f                	je     0x18008753e
18008752f:	44 8b 85 28 01 00 00 	mov    0x128(%rbp),%r8d
180087536:	8b 55 84             	mov    -0x7c(%rbp),%edx
180087539:	e8 ae 88 ff ff       	call   0x18007fdec
18008753e:	48 85 db             	test   %rbx,%rbx
180087541:	74 08                	je     0x18008754b
180087543:	48 8b cb             	mov    %rbx,%rcx
180087546:	e8 8d 0b 00 00       	call   0x1800880d8
18008754b:	4d 85 ff             	test   %r15,%r15
18008754e:	74 1a                	je     0x18008756a
180087550:	49 8d 4f 10          	lea    0x10(%r15),%rcx
180087554:	e8 cb 68 ff ff       	call   0x18007de24
180087559:	49 8d 4f 20          	lea    0x20(%r15),%rcx
18008755d:	e8 c2 68 ff ff       	call   0x18007de24
180087562:	49 8b cf             	mov    %r15,%rcx
180087565:	e8 92 2a 01 00       	call   0x180099ffc
18008756a:	48 8b 4d b8          	mov    -0x48(%rbp),%rcx
18008756e:	48 85 c9             	test   %rcx,%rcx
180087571:	74 05                	je     0x180087578
180087573:	e8 84 2a 01 00       	call   0x180099ffc
180087578:	48 8b 8d 40 01 00 00 	mov    0x140(%rbp),%rcx
18008757f:	48 85 c9             	test   %rcx,%rcx
180087582:	74 05                	je     0x180087589
180087584:	8b 45 88             	mov    -0x78(%rbp),%eax
180087587:	89 01                	mov    %eax,(%rcx)
180087589:	8b c7                	mov    %edi,%eax
18008758b:	48 8b 9c 24 d0 01 00 	mov    0x1d0(%rsp),%rbx
180087592:	00
180087593:	48 81 c4 80 01 00 00 	add    $0x180,%rsp
18008759a:	41 5f                	pop    %r15
18008759c:	41 5e                	pop    %r14
18008759e:	41 5d                	pop    %r13
1800875a0:	41 5c                	pop    %r12
1800875a2:	5f                   	pop    %rdi
1800875a3:	5e                   	pop    %rsi
1800875a4:	5d                   	pop    %rbp
1800875a5:	c3                   	ret
1800875a6:	cc                   	int3
1800875a7:	cc                   	int3
1800875a8:	48 8b c4             	mov    %rsp,%rax
1800875ab:	44 89 48 20          	mov    %r9d,0x20(%rax)
1800875af:	44 89 40 18          	mov    %r8d,0x18(%rax)
1800875b3:	89 48 08             	mov    %ecx,0x8(%rax)
1800875b6:	55                   	push   %rbp
1800875b7:	53                   	push   %rbx
1800875b8:	56                   	push   %rsi
1800875b9:	57                   	push   %rdi
1800875ba:	41 54                	push   %r12
1800875bc:	41 55                	push   %r13
1800875be:	41 56                	push   %r14
1800875c0:	41 57                	push   %r15
1800875c2:	48 8d 68 b8          	lea    -0x48(%rax),%rbp
1800875c6:	48 81 ec 18 01 00 00 	sub    $0x118,%rsp
1800875cd:	48 8b 4a 30          	mov    0x30(%rdx),%rcx
1800875d1:	4c 8d 4d 84          	lea    -0x7c(%rbp),%r9
1800875d5:	45 33 e4             	xor    %r12d,%r12d
1800875d8:	c7 45 8c 00 00 00 04 	movl   $0x4000000,-0x74(%rbp)
1800875df:	4c 8b ea             	mov    %rdx,%r13
1800875e2:	4c 89 65 d8          	mov    %r12,-0x28(%rbp)
1800875e6:	44 89 65 d0          	mov    %r12d,-0x30(%rbp)
1800875ea:	41 8b dc             	mov    %r12d,%ebx
1800875ed:	4c 89 65 c8          	mov    %r12,-0x38(%rbp)
1800875f1:	45 8d 44 24 01       	lea    0x1(%r12),%r8d
1800875f6:	44 89 65 c0          	mov    %r12d,-0x40(%rbp)
1800875fa:	4c 89 65 f8          	mov    %r12,-0x8(%rbp)
1800875fe:	41 8a d0             	mov    %r8b,%dl
180087601:	44 89 65 f0          	mov    %r12d,-0x10(%rbp)
180087605:	4c 89 65 b8          	mov    %r12,-0x48(%rbp)
180087609:	44 89 65 b0          	mov    %r12d,-0x50(%rbp)
18008760d:	4c 89 65 a8          	mov    %r12,-0x58(%rbp)
180087611:	44 89 65 a0          	mov    %r12d,-0x60(%rbp)
180087615:	4c 89 65 98          	mov    %r12,-0x68(%rbp)
180087619:	44 89 65 90          	mov    %r12d,-0x70(%rbp)
18008761d:	44 89 65 88          	mov    %r12d,-0x78(%rbp)
180087621:	48 8b 49 30          	mov    0x30(%rcx),%rcx
180087625:	e8 42 89 fa ff       	call   0x18002ff6c
18008762a:	4c 8b f8             	mov    %rax,%r15
18008762d:	48 85 c0             	test   %rax,%rax
180087630:	0f 84 87 03 00 00    	je     0x1800879bd
180087636:	49 8d 55 10          	lea    0x10(%r13),%rdx
18008763a:	48 85 d2             	test   %rdx,%rdx
18008763d:	74 0d                	je     0x18008764c
18008763f:	48 8d 4d d0          	lea    -0x30(%rbp),%rcx
180087643:	e8 d8 f7 ff ff       	call   0x180086e20
180087648:	8b d8                	mov    %eax,%ebx
18008764a:	eb 05                	jmp    0x180087651
18008764c:	bb 0d 00 00 c0       	mov    $0xc000000d,%ebx
180087651:	8b b5 80 00 00 00    	mov    0x80(%rbp),%esi
180087657:	48 8b bd 88 00 00 00 	mov    0x88(%rbp),%rdi
18008765e:	83 ce 01             	or     $0x1,%esi
180087661:	89 b5 80 00 00 00    	mov    %esi,0x80(%rbp)
180087667:	c1 ee 02             	shr    $0x2,%esi
18008766a:	40 80 e6 01          	and    $0x1,%sil
18008766e:	48 85 ff             	test   %rdi,%rdi
180087671:	74 42                	je     0x1800876b5
180087673:	48 8b 07             	mov    (%rdi),%rax
180087676:	48 85 c0             	test   %rax,%rax
180087679:	74 3a                	je     0x1800876b5
18008767b:	48 8b 40 50          	mov    0x50(%rax),%rax
18008767f:	48 85 c0             	test   %rax,%rax
180087682:	74 31                	je     0x1800876b5
180087684:	48 8d 4d 88          	lea    -0x78(%rbp),%rcx
180087688:	33 d2                	xor    %edx,%edx
18008768a:	48 89 4c 24 28       	mov    %rcx,0x28(%rsp)
18008768f:	4c 8d 4d 78          	lea    0x78(%rbp),%r9
180087693:	48 8d 4d 8c          	lea    -0x74(%rbp),%rcx
180087697:	48 89 4c 24 20       	mov    %rcx,0x20(%rsp)
18008769c:	4c 8d 85 80 00 00 00 	lea    0x80(%rbp),%r8
1800876a3:	8b 4f 08             	mov    0x8(%rdi),%ecx
1800876a6:	ff d0                	call   *%rax
1800876a8:	0f 1f 00             	nopl   (%rax)
1800876ab:	8b d8                	mov    %eax,%ebx
1800876ad:	85 c0                	test   %eax,%eax
1800876af:	0f 88 08 03 00 00    	js     0x1800879bd
1800876b5:	41 8b 4f 0c          	mov    0xc(%r15),%ecx
1800876b9:	85 c9                	test   %ecx,%ecx
1800876bb:	0f 84 fc 02 00 00    	je     0x1800879bd
1800876c1:	8b 45 84             	mov    -0x7c(%rbp),%eax
1800876c4:	89 45 84             	mov    %eax,-0x7c(%rbp)
1800876c7:	45 39 27             	cmp    %r12d,(%r15)
1800876ca:	0f 84 ed 02 00 00    	je     0x1800879bd
1800876d0:	85 c0                	test   %eax,%eax
1800876d2:	0f 84 e5 02 00 00    	je     0x1800879bd
1800876d8:	49 8b 45 30          	mov    0x30(%r13),%rax
1800876dc:	8b d1                	mov    %ecx,%edx
1800876de:	48 8d 4d b0          	lea    -0x50(%rbp),%rcx
1800876e2:	48 03 50 30          	add    0x30(%rax),%rdx
1800876e6:	e8 f1 67 ff ff       	call   0x18007dedc
1800876eb:	8b d8                	mov    %eax,%ebx
1800876ed:	85 c0                	test   %eax,%eax
1800876ef:	0f 88 c8 02 00 00    	js     0x1800879bd
1800876f5:	44 88 65 58          	mov    %r12b,0x58(%rbp)
1800876f9:	48 85 ff             	test   %rdi,%rdi
1800876fc:	74 55                	je     0x180087753
1800876fe:	48 8b 07             	mov    (%rdi),%rax
180087701:	48 85 c0             	test   %rax,%rax
180087704:	74 4d                	je     0x180087753
180087706:	48 8b 40 20          	mov    0x20(%rax),%rax
18008770a:	48 85 c0             	test   %rax,%rax
18008770d:	74 44                	je     0x180087753
18008770f:	48 8d 55 c0          	lea    -0x40(%rbp),%rdx
180087713:	48 89 54 24 30       	mov    %rdx,0x30(%rsp)
180087718:	4d 8d 4d 20          	lea    0x20(%r13),%r9
18008771c:	48 8d 55 a0          	lea    -0x60(%rbp),%rdx
180087720:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
180087725:	48 8d 4f 08          	lea    0x8(%rdi),%rcx
180087729:	48 8d 55 58          	lea    0x58(%rbp),%rdx
18008772d:	48 89 54 24 20       	mov    %rdx,0x20(%rsp)
180087732:	4c 8d 45 d0          	lea    -0x30(%rbp),%r8
180087736:	48 8d 55 b0          	lea    -0x50(%rbp),%rdx
18008773a:	ff d0                	call   *%rax
18008773c:	0f 1f 00             	nopl   (%rax)
18008773f:	8b d8                	mov    %eax,%ebx
180087741:	85 c0                	test   %eax,%eax
180087743:	0f 88 74 02 00 00    	js     0x1800879bd
180087749:	44 38 65 58          	cmp    %r12b,0x58(%rbp)
18008774d:	0f 85 38 02 00 00    	jne    0x18008798b
180087753:	48 8b 4d a8          	mov    -0x58(%rbp),%rcx
180087757:	48 85 c9             	test   %rcx,%rcx
18008775a:	74 39                	je     0x180087795
18008775c:	48 85 ff             	test   %rdi,%rdi
18008775f:	74 2b                	je     0x18008778c
180087761:	48 8b 07             	mov    (%rdi),%rax
180087764:	48 85 c0             	test   %rax,%rax
180087767:	74 23                	je     0x18008778c
180087769:	48 8b 40 30          	mov    0x30(%rax),%rax
18008776d:	48 85 c0             	test   %rax,%rax
180087770:	74 1a                	je     0x18008778c
180087772:	49 8b 4d 30          	mov    0x30(%r13),%rcx
180087776:	49 8b d7             	mov    %r15,%rdx
180087779:	ff d0                	call   *%rax
18008777b:	0f 1f 00             	nopl   (%rax)
18008777e:	8b d8                	mov    %eax,%ebx
180087780:	85 c0                	test   %eax,%eax
180087782:	0f 88 35 02 00 00    	js     0x1800879bd
180087788:	48 8b 4d a8          	mov    -0x58(%rbp),%rcx
18008778c:	4c 8d 75 a0          	lea    -0x60(%rbp),%r14
180087790:	48 85 c9             	test   %rcx,%rcx
180087793:	75 04                	jne    0x180087799
180087795:	4c 8d 75 b0          	lea    -0x50(%rbp),%r14
180087799:	48 83 7d c8 00       	cmpq   $0x0,-0x38(%rbp)
18008779e:	48 8d 45 d0          	lea    -0x30(%rbp),%rax
1800877a2:	49 8b 56 08          	mov    0x8(%r14),%rdx
1800877a6:	4c 8d 65 c0          	lea    -0x40(%rbp),%r12
1800877aa:	48 8b 4d 70          	mov    0x70(%rbp),%rcx
1800877ae:	4c 0f 44 e0          	cmove  %rax,%r12
1800877b2:	e8 39 08 00 00       	call   0x180087ff0
1800877b7:	49 8d 4d 20          	lea    0x20(%r13),%rcx
1800877bb:	48 89 45 e0          	mov    %rax,-0x20(%rbp)
1800877bf:	41 b0 01             	mov    $0x1,%r8b
1800877c2:	49 8b d6             	mov    %r14,%rdx
1800877c5:	e8 3a 5f ff ff       	call   0x18007d704
1800877ca:	84 c0                	test   %al,%al
1800877cc:	0f 85 b6 01 00 00    	jne    0x180087988
1800877d2:	4c 8d 45 90          	lea    -0x70(%rbp),%r8
1800877d6:	49 8b d4             	mov    %r12,%rdx
1800877d9:	49 8b ce             	mov    %r14,%rcx
1800877dc:	e8 23 07 00 00       	call   0x180087f04
1800877e1:	33 c9                	xor    %ecx,%ecx
1800877e3:	8b d8                	mov    %eax,%ebx
1800877e5:	85 c0                	test   %eax,%eax
1800877e7:	0f 88 d0 01 00 00    	js     0x1800879bd
1800877ed:	8b 85 80 00 00 00    	mov    0x80(%rbp),%eax
1800877f3:	48 8d 55 90          	lea    -0x70(%rbp),%rdx
1800877f7:	48 89 8c 24 80 00 00 	mov    %rcx,0x80(%rsp)
1800877fe:	00
1800877ff:	45 33 c9             	xor    %r9d,%r9d
180087802:	48 89 7c 24 78       	mov    %rdi,0x78(%rsp)
180087807:	4d 8b c6             	mov    %r14,%r8
18008780a:	89 44 24 70          	mov    %eax,0x70(%rsp)
18008780e:	8b 45 78             	mov    0x78(%rbp),%eax
180087811:	89 44 24 68          	mov    %eax,0x68(%rsp)
180087815:	8b 45 88             	mov    -0x78(%rbp),%eax
180087818:	89 44 24 60          	mov    %eax,0x60(%rsp)
18008781c:	8b 45 8c             	mov    -0x74(%rbp),%eax
18008781f:	89 44 24 58          	mov    %eax,0x58(%rsp)
180087823:	48 8d 45 e8          	lea    -0x18(%rbp),%rax
180087827:	89 4c 24 50          	mov    %ecx,0x50(%rsp)
18008782b:	48 89 4c 24 48       	mov    %rcx,0x48(%rsp)
180087830:	8b 4d 50             	mov    0x50(%rbp),%ecx
180087833:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
180087838:	48 8b 45 e0          	mov    -0x20(%rbp),%rax
18008783c:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180087841:	48 8b 45 70          	mov    0x70(%rbp),%rax
180087845:	48 89 44 24 30       	mov    %rax,0x30(%rsp)
18008784a:	8b 45 68             	mov    0x68(%rbp),%eax
18008784d:	89 44 24 28          	mov    %eax,0x28(%rsp)
180087851:	8b 45 60             	mov    0x60(%rbp),%eax
180087854:	89 44 24 20          	mov    %eax,0x20(%rsp)
180087858:	e8 5b f6 ff ff       	call   0x180086eb8
18008785d:	48 8d 4d 90          	lea    -0x70(%rbp),%rcx
180087861:	8b d8                	mov    %eax,%ebx
180087863:	e8 bc 65 ff ff       	call   0x18007de24
180087868:	81 fb 0f 00 00 c0    	cmp    $0xc000000f,%ebx
18008786e:	0f 85 ec 00 00 00    	jne    0x180087960
180087874:	48 85 ff             	test   %rdi,%rdi
180087877:	0f 84 40 01 00 00    	je     0x1800879bd
18008787d:	48 8b 07             	mov    (%rdi),%rax
180087880:	48 85 c0             	test   %rax,%rax
180087883:	0f 84 34 01 00 00    	je     0x1800879bd
180087889:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
18008788e:	0f 84 29 01 00 00    	je     0x1800879bd
180087894:	c6 45 80 00          	movb   $0x0,-0x80(%rbp)
180087898:	4c 8d 45 f0          	lea    -0x10(%rbp),%r8
18008789c:	48 8b 40 08          	mov    0x8(%rax),%rax
1800878a0:	48 8d 55 80          	lea    -0x80(%rbp),%rdx
1800878a4:	49 8b cc             	mov    %r12,%rcx
1800878a7:	ff d0                	call   *%rax
1800878a9:	0f 1f 00             	nopl   (%rax)
1800878ac:	45 33 e4             	xor    %r12d,%r12d
1800878af:	85 c0                	test   %eax,%eax
1800878b1:	0f 88 95 00 00 00    	js     0x18008794c
1800878b7:	44 38 65 80          	cmp    %r12b,-0x80(%rbp)
1800878bb:	0f 84 8b 00 00 00    	je     0x18008794c
1800878c1:	4c 8d 45 90          	lea    -0x70(%rbp),%r8
1800878c5:	49 8b ce             	mov    %r14,%rcx
1800878c8:	48 8d 55 f0          	lea    -0x10(%rbp),%rdx
1800878cc:	e8 33 06 00 00       	call   0x180087f04
1800878d1:	85 c0                	test   %eax,%eax
1800878d3:	78 77                	js     0x18008794c
1800878d5:	8b 85 80 00 00 00    	mov    0x80(%rbp),%eax
1800878db:	48 8d 55 90          	lea    -0x70(%rbp),%rdx
1800878df:	8b 4d 50             	mov    0x50(%rbp),%ecx
1800878e2:	45 33 c9             	xor    %r9d,%r9d
1800878e5:	4c 89 a4 24 80 00 00 	mov    %r12,0x80(%rsp)
1800878ec:	00