1800355f2:	49 8b 5b 20          	mov    0x20(%r11),%rbx
1800355f6:	49 8b 6b 28          	mov    0x28(%r11),%rbp
1800355fa:	49 8b 73 30          	mov    0x30(%r11),%rsi
1800355fe:	49 8b e3             	mov    %r11,%rsp
180035601:	41 5f                	pop    %r15
180035603:	41 5e                	pop    %r14
180035605:	5f                   	pop    %rdi
180035606:	c3                   	ret
180035607:	cc                   	int3
180035608:	48 8b c4             	mov    %rsp,%rax
18003560b:	48 89 58 18          	mov    %rbx,0x18(%rax)
18003560f:	48 89 70 20          	mov    %rsi,0x20(%rax)
180035613:	48 89 50 10          	mov    %rdx,0x10(%rax)
180035617:	48 89 48 08          	mov    %rcx,0x8(%rax)
18003561b:	57                   	push   %rdi
18003561c:	41 54                	push   %r12
18003561e:	41 55                	push   %r13
180035620:	41 56                	push   %r14
180035622:	41 57                	push   %r15
180035624:	48 83 ec 40          	sub    $0x40,%rsp
180035628:	48 8b 99 80 00 00 00 	mov    0x80(%rcx),%rbx
18003562f:	4d 8b f1             	mov    %r9,%r14
180035632:	4d 8b f8             	mov    %r8,%r15
180035635:	f6 43 24 08          	testb  $0x8,0x24(%rbx)
180035639:	8b 83 88 00 00 00    	mov    0x88(%rbx),%eax
18003563f:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180035644:	74 10                	je     0x180035656
180035646:	4c 8b a3 38 01 00 00 	mov    0x138(%rbx),%r12
18003564d:	4c 8b ab 40 01 00 00 	mov    0x140(%rbx),%r13
180035654:	eb 0e                	jmp    0x180035664
180035656:	4c 8d 25 63 56 00 00 	lea    0x5663(%rip),%r12        # 0x18003acc0
18003565d:	4c 8d 2d 7c 56 00 00 	lea    0x567c(%rip),%r13        # 0x18003ace0
180035664:	33 ff                	xor    %edi,%edi
180035666:	89 7c 24 30          	mov    %edi,0x30(%rsp)
18003566a:	83 bc 24 90 00 00 00 	cmpl   $0x1,0x90(%rsp)
180035671:	01
180035672:	4d 8b ce             	mov    %r14,%r9
180035675:	4d 8b c7             	mov    %r15,%r8
180035678:	48 8b cb             	mov    %rbx,%rcx
18003567b:	49 8b c5             	mov    %r13,%rax
18003567e:	74 03                	je     0x180035683
180035680:	49 8b c4             	mov    %r12,%rax
180035683:	ff d0                	call   *%rax
180035685:	0f 1f 00             	nopl   (%rax)
180035688:	48 8b 54 24 38       	mov    0x38(%rsp),%rdx
18003568d:	8b f0                	mov    %eax,%esi
18003568f:	48 8b 44 24 70       	mov    0x70(%rsp),%rax
180035694:	4d 8b ce             	mov    %r14,%r9
180035697:	4d 8b c7             	mov    %r15,%r8
18003569a:	48 8b 88 88 00 00 00 	mov    0x88(%rax),%rcx
1800356a1:	85 f6                	test   %esi,%esi
1800356a3:	79 2f                	jns    0x1800356d4
1800356a5:	8b 84 24 90 00 00 00 	mov    0x90(%rsp),%eax
1800356ac:	ff c8                	dec    %eax
1800356ae:	f7 d8                	neg    %eax
1800356b0:	1b c0                	sbb    %eax,%eax
1800356b2:	83 c0 03             	add    $0x3,%eax
1800356b5:	89 44 24 20          	mov    %eax,0x20(%rsp)
1800356b9:	e8 ae 96 00 00       	call   0x18003ed6c
1800356be:	8b 44 24 30          	mov    0x30(%rsp),%eax
1800356c2:	ff c0                	inc    %eax
1800356c4:	89 44 24 30          	mov    %eax,0x30(%rsp)
1800356c8:	83 f8 03             	cmp    $0x3,%eax
1800356cb:	73 1c                	jae    0x1800356e9
1800356cd:	48 8b 54 24 78       	mov    0x78(%rsp),%rdx
1800356d2:	eb 96                	jmp    0x18003566a
1800356d4:	83 bc 24 90 00 00 00 	cmpl   $0x1,0x90(%rsp)
1800356db:	01
1800356dc:	40 0f 94 c7          	sete   %dil
1800356e0:	89 7c 24 20          	mov    %edi,0x20(%rsp)
1800356e4:	e8 83 96 00 00       	call   0x18003ed6c
1800356e9:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
1800356ee:	8b c6                	mov    %esi,%eax
1800356f0:	49 8b 5b 40          	mov    0x40(%r11),%rbx
1800356f4:	49 8b 73 48          	mov    0x48(%r11),%rsi
1800356f8:	49 8b e3             	mov    %r11,%rsp
1800356fb:	41 5f                	pop    %r15
1800356fd:	41 5e                	pop    %r14
1800356ff:	41 5d                	pop    %r13
180035701:	41 5c                	pop    %r12
180035703:	5f                   	pop    %rdi
180035704:	c3                   	ret
180035705:	cc                   	int3
180035706:	cc                   	int3
180035707:	cc                   	int3
180035708:	48 8b c4             	mov    %rsp,%rax
18003570b:	48 89 58 08          	mov    %rbx,0x8(%rax)
18003570f:	48 89 68 10          	mov    %rbp,0x10(%rax)
180035713:	48 89 70 18          	mov    %rsi,0x18(%rax)
180035717:	48 89 78 20          	mov    %rdi,0x20(%rax)
18003571b:	41 54                	push   %r12
18003571d:	41 56                	push   %r14
18003571f:	41 57                	push   %r15
180035721:	48 83 ec 30          	sub    $0x30,%rsp
180035725:	4c 8b 99 80 00 00 00 	mov    0x80(%rcx),%r11
18003572c:	48 8b da             	mov    %rdx,%rbx
18003572f:	8b 74 24 70          	mov    0x70(%rsp),%esi
180035733:	33 d2                	xor    %edx,%edx
180035735:	49 8b c0             	mov    %r8,%rax
180035738:	41 8b e9             	mov    %r9d,%ebp
18003573b:	4c 8b f1             	mov    %rcx,%r14
18003573e:	48 8b fb             	mov    %rbx,%rdi
180035741:	45 8b 53 30          	mov    0x30(%r11),%r10d
180035745:	49 f7 f2             	div    %r10
180035748:	33 d2                	xor    %edx,%edx
18003574a:	4c 8b f8             	mov    %rax,%r15
18003574d:	41 8b c1             	mov    %r9d,%eax
180035750:	45 8b 4b 34          	mov    0x34(%r11),%r9d
180035754:	41 f7 f2             	div    %r10d
180035757:	44 8b e0             	mov    %eax,%r12d
18003575a:	45 85 c9             	test   %r9d,%r9d
18003575d:	74 44                	je     0x1800357a3
18003575f:	41 8d 51 ff          	lea    -0x1(%r9),%edx
180035763:	48 85 d3             	test   %rdx,%rbx
180035766:	74 3b                	je     0x1800357a3
180035768:	44 8b c5             	mov    %ebp,%r8d
18003576b:	48 8d 15 3a f5 16 00 	lea    0x16f53a(%rip),%rdx        # 0x1801a4cac
180035772:	48 8d 0d 5f f5 16 00 	lea    0x16f55f(%rip),%rcx        # 0x1801a4cd8
180035779:	e8 7e 00 00 00       	call   0x1800357fc
18003577e:	85 c0                	test   %eax,%eax
180035780:	79 07                	jns    0x180035789
180035782:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
180035787:	eb 50                	jmp    0x1800357d9
180035789:	48 8b 3d 48 f5 16 00 	mov    0x16f548(%rip),%rdi        # 0x1801a4cd8
180035790:	83 fe 01             	cmp    $0x1,%esi
180035793:	75 0e                	jne    0x1800357a3
180035795:	4c 8b c5             	mov    %rbp,%r8
180035798:	48 8b d3             	mov    %rbx,%rdx
18003579b:	48 8b cf             	mov    %rdi,%rcx
18003579e:	e8 1d 02 10 00       	call   0x1801359c0
1800357a3:	4d 8b cc             	mov    %r12,%r9
1800357a6:	89 74 24 20          	mov    %esi,0x20(%rsp)
1800357aa:	4d 8b c7             	mov    %r15,%r8
1800357ad:	48 8b d7             	mov    %rdi,%rdx
1800357b0:	49 8b ce             	mov    %r14,%rcx
1800357b3:	e8 50 fe ff ff       	call   0x180035608
1800357b8:	85 c0                	test   %eax,%eax
1800357ba:	78 1d                	js     0x1800357d9
1800357bc:	48 3b fb             	cmp    %rbx,%rdi
1800357bf:	74 16                	je     0x1800357d7
1800357c1:	85 f6                	test   %esi,%esi
1800357c3:	75 12                	jne    0x1800357d7
1800357c5:	48 8b 15 0c f5 16 00 	mov    0x16f50c(%rip),%rdx        # 0x1801a4cd8
1800357cc:	4c 8b c5             	mov    %rbp,%r8
1800357cf:	48 8b cb             	mov    %rbx,%rcx
1800357d2:	e8 e9 01 10 00       	call   0x1801359c0
1800357d7:	33 c0                	xor    %eax,%eax
1800357d9:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
1800357de:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
1800357e3:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
1800357e8:	48 8b 7c 24 68       	mov    0x68(%rsp),%rdi
1800357ed:	48 83 c4 30          	add    $0x30,%rsp
1800357f1:	41 5f                	pop    %r15
1800357f3:	41 5e                	pop    %r14
1800357f5:	41 5c                	pop    %r12
1800357f7:	c3                   	ret
1800357f8:	cc                   	int3
1800357f9:	cc                   	int3
1800357fa:	cc                   	int3
1800357fb:	cc                   	int3
1800357fc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180035801:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
180035806:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
18003580b:	57                   	push   %rdi
18003580c:	48 83 ec 40          	sub    $0x40,%rsp
180035810:	45 85 c9             	test   %r9d,%r9d
180035813:	bf 01 00 00 00       	mov    $0x1,%edi
180035818:	41 8b e8             	mov    %r8d,%ebp
18003581b:	48 8b f2             	mov    %rdx,%rsi
18003581e:	41 0f 45 f9          	cmovne %r9d,%edi
180035822:	48 8b d9             	mov    %rcx,%rbx
180035825:	44 3b 02             	cmp    (%rdx),%r8d
180035828:	77 09                	ja     0x180035833
18003582a:	44 8d 47 ff          	lea    -0x1(%rdi),%r8d
18003582e:	4c 85 01             	test   %r8,(%rcx)
180035831:	74 52                	je     0x180035885
180035833:	83 3a 00             	cmpl   $0x0,(%rdx)
180035836:	74 0c                	je     0x180035844
180035838:	48 8b 09             	mov    (%rcx),%rcx
18003583b:	e8 f0 22 06 00       	call   0x180097b30
180035840:	48 83 23 00          	andq   $0x0,(%rbx)
180035844:	83 64 24 30 00       	andl   $0x0,0x30(%rsp)
180035849:	8d 85 ff 0f 00 00    	lea    0xfff(%rbp),%eax
18003584f:	48 83 64 24 28 00    	andq   $0x0,0x28(%rsp)
180035855:	25 00 f0 ff ff       	and    $0xfffff000,%eax
18003585a:	8b c8                	mov    %eax,%ecx
18003585c:	45 33 c9             	xor    %r9d,%r9d
18003585f:	8b d0                	mov    %eax,%edx
180035861:	41 b8 04 00 00 d0    	mov    $0xd0000004,%r8d
180035867:	89 0e                	mov    %ecx,(%rsi)
180035869:	48 8b cb             	mov    %rbx,%rcx
18003586c:	c1 ef 0c             	shr    $0xc,%edi
18003586f:	48 c1 ea 0c          	shr    $0xc,%rdx
180035873:	89 7c 24 20          	mov    %edi,0x20(%rsp)
180035877:	e8 78 1f 06 00       	call   0x1800977f4
18003587c:	85 c0                	test   %eax,%eax
18003587e:	79 05                	jns    0x180035885
180035880:	83 26 00             	andl   $0x0,(%rsi)
180035883:	eb 02                	jmp    0x180035887
180035885:	33 c0                	xor    %eax,%eax
180035887:	48 8b 5c 24 50       	mov    0x50(%rsp),%rbx
18003588c:	48 8b 6c 24 58       	mov    0x58(%rsp),%rbp
180035891:	48 8b 74 24 60       	mov    0x60(%rsp),%rsi
180035896:	48 83 c4 40          	add    $0x40,%rsp
18003589a:	5f                   	pop    %rdi
18003589b:	c3                   	ret
18003589c:	cc                   	int3
18003589d:	cc                   	int3
18003589e:	cc                   	int3
18003589f:	cc                   	int3
1800358a0:	48 83 ec 28          	sub    $0x28,%rsp
1800358a4:	48 8b 0d f5 f3 16 00 	mov    0x16f3f5(%rip),%rcx        # 0x1801a4ca0
1800358ab:	48 85 c9             	test   %rcx,%rcx
1800358ae:	74 0d                	je     0x1800358bd
1800358b0:	e8 7b 22 06 00       	call   0x180097b30
1800358b5:	48 83 25 e3 f3 16 00 	andq   $0x0,0x16f3e3(%rip)        # 0x1801a4ca0
1800358bc:	00
1800358bd:	c6 05 1c f4 16 00 00 	movb   $0x0,0x16f41c(%rip)        # 0x1801a4ce0
1800358c4:	33 c0                	xor    %eax,%eax
1800358c6:	48 83 c4 28          	add    $0x28,%rsp
1800358ca:	c3                   	ret
1800358cb:	cc                   	int3
1800358cc:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
1800358d1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1800358d6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1800358db:	57                   	push   %rdi
1800358dc:	41 54                	push   %r12
1800358de:	41 55                	push   %r13
1800358e0:	41 56                	push   %r14
1800358e2:	41 57                	push   %r15
1800358e4:	48 83 ec 20          	sub    $0x20,%rsp
1800358e8:	4c 8b a1 80 00 00 00 	mov    0x80(%rcx),%r12
1800358ef:	4c 8b e9             	mov    %rcx,%r13
1800358f2:	4c 8b fa             	mov    %rdx,%r15
1800358f5:	45 8b 74 24 30       	mov    0x30(%r12),%r14d
1800358fa:	43 8d 0c 36          	lea    (%r14,%r14,1),%ecx
1800358fe:	e8 4d 45 06 00       	call   0x180099e50
180035903:	33 ff                	xor    %edi,%edi
180035905:	48 8b f0             	mov    %rax,%rsi
180035908:	48 85 c0             	test   %rax,%rax
18003590b:	75 0a                	jne    0x180035917
18003590d:	bd 17 00 00 c0       	mov    $0xc0000017,%ebp
180035912:	e9 17 01 00 00       	jmp    0x180035a2e
180035917:	49 89 7c 24 40       	mov    %rdi,0x40(%r12)
18003591c:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
180035921:	41 89 7c 24 48       	mov    %edi,0x48(%r12)
180035926:	45 8b c6             	mov    %r14d,%r8d
180035929:	49 8b 45 48          	mov    0x48(%r13),%rax
18003592d:	48 8b d6             	mov    %rsi,%rdx
180035930:	49 8b cd             	mov    %r13,%rcx
180035933:	ff d0                	call   *%rax
180035935:	0f 1f 00             	nopl   (%rax)
180035938:	8b e8                	mov    %eax,%ebp
18003593a:	85 c0                	test   %eax,%eax
18003593c:	0f 88 e4 00 00 00    	js     0x180035a26
180035942:	bb 01 00 00 00       	mov    $0x1,%ebx
180035947:	41 81 fe fe 01 00 00 	cmp    $0x1fe,%r14d
18003594e:	0f 82 ad 00 00 00    	jb     0x180035a01
180035954:	40 38 be be 01 00 00 	cmp    %dil,0x1be(%rsi)
18003595b:	0f 85 a0 00 00 00    	jne    0x180035a01
180035961:	80 be c2 01 00 00 ee 	cmpb   $0xee,0x1c2(%rsi)
180035968:	0f 85 93 00 00 00    	jne    0x180035a01
18003596e:	8b cb                	mov    %ebx,%ecx
180035970:	48 8d 86 d2 01 00 00 	lea    0x1d2(%rsi),%rax
180035977:	40 38 38             	cmp    %dil,(%rax)
18003597a:	0f 85 81 00 00 00    	jne    0x180035a01
180035980:	03 cb                	add    %ebx,%ecx
180035982:	48 83 c0 10          	add    $0x10,%rax
180035986:	83 f9 04             	cmp    $0x4,%ecx
180035989:	72 ec                	jb     0x180035977
18003598b:	41 83 64 24 48 00    	andl   $0x0,0x48(%r12)
180035991:	4a 8d 3c 36          	lea    (%rsi,%r14,1),%rdi
180035995:	49 89 5c 24 40       	mov    %rbx,0x40(%r12)
18003599a:	4c 8d 4c 24 50       	lea    0x50(%rsp),%r9
18003599f:	49 8b 45 48          	mov    0x48(%r13),%rax
1800359a3:	48 8b d7             	mov    %rdi,%rdx
1800359a6:	45 8b c6             	mov    %r14d,%r8d
1800359a9:	49 8b cd             	mov    %r13,%rcx
1800359ac:	ff d0                	call   *%rax
1800359ae:	0f 1f 00             	nopl   (%rax)
1800359b1:	8b e8                	mov    %eax,%ebp
1800359b3:	85 c0                	test   %eax,%eax
1800359b5:	78 6f                	js     0x180035a26
1800359b7:	41 b8 09 00 00 00    	mov    $0x9,%r8d
1800359bd:	48 8d 15 dc 68 11 00 	lea    0x1168dc(%rip),%rdx        # 0x18014c2a0
1800359c4:	48 8b cf             	mov    %rdi,%rcx
1800359c7:	e8 94 e4 0f 00       	call   0x180133e60
1800359cc:	48 83 f8 09          	cmp    $0x9,%rax
1800359d0:	75 4c                	jne    0x180035a1e
1800359d2:	44 8b 5f 10          	mov    0x10(%rdi),%r11d
1800359d6:	48 8b d7             	mov    %rdi,%rdx
1800359d9:	44 8b 47 0c          	mov    0xc(%rdi),%r8d
1800359dd:	83 67 10 00          	andl   $0x0,0x10(%rdi)
1800359e1:	e8 9e e4 ff ff       	call   0x180033e84
1800359e6:	44 89 5f 10          	mov    %r11d,0x10(%rdi)
1800359ea:	b9 02 00 00 00       	mov    $0x2,%ecx
1800359ef:	44 3b d8             	cmp    %eax,%r11d
1800359f2:	75 2f                	jne    0x180035a23
1800359f4:	48 2b 5f 18          	sub    0x18(%rdi),%rbx
1800359f8:	48 f7 db             	neg    %rbx
1800359fb:	1b c0                	sbb    %eax,%eax
1800359fd:	23 c8                	and    %eax,%ecx
1800359ff:	eb 22                	jmp    0x180035a23
180035a01:	41 83 fe 04          	cmp    $0x4,%r14d
180035a05:	72 17                	jb     0x180035a1e
180035a07:	41 8d 4e fe          	lea    -0x2(%r14),%ecx
180035a0b:	b8 55 aa 00 00       	mov    $0xaa55,%eax
180035a10:	48 d1 e9             	shr    $1,%rcx
180035a13:	66 39 04 4e          	cmp    %ax,(%rsi,%rcx,2)
180035a17:	75 05                	jne    0x180035a1e
180035a19:	41 89 1f             	mov    %ebx,(%r15)
180035a1c:	eb 08                	jmp    0x180035a26
180035a1e:	b9 02 00 00 00       	mov    $0x2,%ecx
180035a23:	41 89 0f             	mov    %ecx,(%r15)
180035a26:	48 8b ce             	mov    %rsi,%rcx
180035a29:	e8 ce 45 06 00       	call   0x180099ffc
180035a2e:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
180035a33:	8b c5                	mov    %ebp,%eax
180035a35:	48 8b 6c 24 60       	mov    0x60(%rsp),%rbp
180035a3a:	48 8b 74 24 68       	mov    0x68(%rsp),%rsi
180035a3f:	48 83 c4 20          	add    $0x20,%rsp
180035a43:	41 5f                	pop    %r15
180035a45:	41 5e                	pop    %r14
180035a47:	41 5d                	pop    %r13
180035a49:	41 5c                	pop    %r12
180035a4b:	5f                   	pop    %rdi
180035a4c:	c3                   	ret
180035a4d:	cc                   	int3
180035a4e:	cc                   	int3
180035a4f:	cc                   	int3
180035a50:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180035a55:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
180035a5a:	56                   	push   %rsi
180035a5b:	57                   	push   %rdi
180035a5c:	41 56                	push   %r14
180035a5e:	48 83 ec 20          	sub    $0x20,%rsp
180035a62:	8b 42 50             	mov    0x50(%rdx),%eax
180035a65:	4d 8b f0             	mov    %r8,%r14
180035a68:	8b 7a 54             	mov    0x54(%rdx),%edi
180035a6b:	48 8b f2             	mov    %rdx,%rsi
180035a6e:	48 0f af f8          	imul   %rax,%rdi
180035a72:	b8 ff ff ff ff       	mov    $0xffffffff,%eax
180035a77:	48 8b e9             	mov    %rcx,%rbp
180035a7a:	48 3b f8             	cmp    %rax,%rdi
180035a7d:	77 57                	ja     0x180035ad6
180035a7f:	8b cf                	mov    %edi,%ecx
180035a81:	e8 ca 43 06 00       	call   0x180099e50
180035a86:	48 8b d8             	mov    %rax,%rbx
180035a89:	48 85 c0             	test   %rax,%rax
180035a8c:	75 07                	jne    0x180035a95