1800565b3:	c3                   	ret
1800565b4:	cc                   	int3
1800565b5:	cc                   	int3
1800565b6:	cc                   	int3
1800565b7:	cc                   	int3
1800565b8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800565bd:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
1800565c2:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
1800565c7:	57                   	push   %rdi
1800565c8:	48 81 ec 00 01 00 00 	sub    $0x100,%rsp
1800565cf:	4c 8b d9             	mov    %rcx,%r11
1800565d2:	49 8b e9             	mov    %r9,%rbp
1800565d5:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
1800565da:	4c 8b d2             	mov    %rdx,%r10
1800565dd:	e8 86 09 ff ff       	call   0x180046f68
1800565e2:	49 8b 71 38          	mov    0x38(%r9),%rsi
1800565e6:	48 8d 54 24 20       	lea    0x20(%rsp),%rdx
1800565eb:	49 8b 79 40          	mov    0x40(%r9),%rdi
1800565ef:	49 8b cb             	mov    %r11,%rcx
1800565f2:	83 4c 24 5c 04       	orl    $0x4,0x5c(%rsp)
1800565f7:	4d 89 41 38          	mov    %r8,0x38(%r9)
1800565fb:	41 b0 13             	mov    $0x13,%r8b
1800565fe:	4c 89 8c 24 90 00 00 	mov    %r9,0x90(%rsp)
180056605:	00
180056606:	c6 84 24 b9 00 00 00 	movb   $0x13,0xb9(%rsp)
18005660d:	13
18005660e:	4c 89 9c 24 f0 00 00 	mov    %r11,0xf0(%rsp)
180056615:	00
180056616:	4c 89 9c 24 f8 00 00 	mov    %r11,0xf8(%rsp)
18005661d:	00
18005661e:	4d 89 51 40          	mov    %r10,0x40(%r9)
180056622:	e8 e9 0e ff ff       	call   0x180047510
180056627:	8b 9c 24 c0 00 00 00 	mov    0xc0(%rsp),%ebx
18005662e:	b8 02 00 e7 00       	mov    $0xe70002,%eax
180056633:	85 db                	test   %ebx,%ebx
180056635:	0f 49 d8             	cmovns %eax,%ebx
180056638:	48 8d 4c 24 20       	lea    0x20(%rsp),%rcx
18005663d:	48 89 75 38          	mov    %rsi,0x38(%rbp)
180056641:	48 89 7d 40          	mov    %rdi,0x40(%rbp)
180056645:	e8 ee 09 ff ff       	call   0x180047038
18005664a:	4c 8d 9c 24 00 01 00 	lea    0x100(%rsp),%r11
180056651:	00
180056652:	8b c3                	mov    %ebx,%eax
180056654:	49 8b 5b 10          	mov    0x10(%r11),%rbx
180056658:	49 8b 6b 18          	mov    0x18(%r11),%rbp
18005665c:	49 8b 73 20          	mov    0x20(%r11),%rsi
180056660:	49 8b e3             	mov    %r11,%rsp
180056663:	5f                   	pop    %rdi
180056664:	c3                   	ret
180056665:	cc                   	int3
180056666:	cc                   	int3
180056667:	cc                   	int3
180056668:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
18005666d:	48 89 54 24 10       	mov    %rdx,0x10(%rsp)
180056672:	55                   	push   %rbp
180056673:	56                   	push   %rsi
180056674:	57                   	push   %rdi
180056675:	41 54                	push   %r12
180056677:	41 55                	push   %r13
180056679:	41 56                	push   %r14
18005667b:	41 57                	push   %r15
18005667d:	48 83 ec 60          	sub    $0x60,%rsp
180056681:	45 33 ff             	xor    %r15d,%r15d
180056684:	48 8b f9             	mov    %rcx,%rdi
180056687:	4d 85 c0             	test   %r8,%r8
18005668a:	74 0b                	je     0x180056697
18005668c:	41 bf 02 00 00 c0    	mov    $0xc0000002,%r15d
180056692:	e9 52 03 00 00       	jmp    0x1800569e9
180056697:	4c 8b 6a 70          	mov    0x70(%rdx),%r13
18005669b:	49 8b cd             	mov    %r13,%rcx
18005669e:	4c 89 6c 24 30       	mov    %r13,0x30(%rsp)
1800566a3:	e8 70 06 ff ff       	call   0x180046d18
1800566a8:	49 8b 5d 40          	mov    0x40(%r13),%rbx
1800566ac:	8b f0                	mov    %eax,%esi
1800566ae:	49 8b 55 38          	mov    0x38(%r13),%rdx
1800566b2:	48 03 d3             	add    %rbx,%rdx
1800566b5:	89 84 24 b0 00 00 00 	mov    %eax,0xb0(%rsp)
1800566bc:	48 89 54 24 28       	mov    %rdx,0x28(%rsp)
1800566c1:	45 33 e4             	xor    %r12d,%r12d
1800566c4:	48 89 5c 24 58       	mov    %rbx,0x58(%rsp)
1800566c9:	48 8b 47 20          	mov    0x20(%rdi),%rax
1800566cd:	48 85 c0             	test   %rax,%rax
1800566d0:	74 06                	je     0x1800566d8
1800566d2:	48 83 c0 58          	add    $0x58,%rax
1800566d6:	eb 08                	jmp    0x1800566e0
1800566d8:	48 8b 47 08          	mov    0x8(%rdi),%rax
1800566dc:	48 83 c0 50          	add    $0x50,%rax
1800566e0:	44 3b 60 10          	cmp    0x10(%rax),%r12d
1800566e4:	0f 83 ff 02 00 00    	jae    0x1800569e9
1800566ea:	33 c9                	xor    %ecx,%ecx
1800566ec:	89 8c 24 b8 00 00 00 	mov    %ecx,0xb8(%rsp)
1800566f3:	38 4f 2b             	cmp    %cl,0x2b(%rdi)
1800566f6:	0f 86 c7 02 00 00    	jbe    0x1800569c3
1800566fc:	44 8b c1             	mov    %ecx,%r8d
1800566ff:	41 8b d4             	mov    %r12d,%edx
180056702:	48 8b cf             	mov    %rdi,%rcx
180056705:	e8 46 ac ff ff       	call   0x180051350
18005670a:	48 8b d0             	mov    %rax,%rdx
18005670d:	48 89 44 24 48       	mov    %rax,0x48(%rsp)
180056712:	e8 ed ac ff ff       	call   0x180051404
180056717:	48 89 44 24 50       	mov    %rax,0x50(%rsp)
18005671c:	48 85 c0             	test   %rax,%rax
18005671f:	0f 84 82 02 00 00    	je     0x1800569a7
180056725:	48 83 78 08 00       	cmpq   $0x0,0x8(%rax)
18005672a:	0f 84 77 02 00 00    	je     0x1800569a7
180056730:	48 8b 07             	mov    (%rdi),%rax
180056733:	45 33 c0             	xor    %r8d,%r8d
180056736:	48 8b d3             	mov    %rbx,%rdx
180056739:	48 8b cf             	mov    %rdi,%rcx
18005673c:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180056743:	ff d0                	call   *%rax
180056745:	0f 1f 00             	nopl   (%rax)
180056748:	48 8b 54 24 28       	mov    0x28(%rsp),%rdx
18005674d:	4c 8b f0             	mov    %rax,%r14
180056750:	48 8b 07             	mov    (%rdi),%rax
180056753:	45 33 c0             	xor    %r8d,%r8d
180056756:	48 8b cf             	mov    %rdi,%rcx
180056759:	48 8b 80 80 00 00 00 	mov    0x80(%rax),%rax
180056760:	ff d0                	call   *%rax
180056762:	0f 1f 00             	nopl   (%rax)
180056765:	48 8b e8             	mov    %rax,%rbp
180056768:	4d 8b c6             	mov    %r14,%r8
18005676b:	48 8b 07             	mov    (%rdi),%rax
18005676e:	41 8b d4             	mov    %r12d,%edx
180056771:	48 8b cf             	mov    %rdi,%rcx
180056774:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
18005677b:	ff d0                	call   *%rax
18005677d:	0f 1f 00             	nopl   (%rax)
180056780:	48 3b c3             	cmp    %rbx,%rax
180056783:	73 15                	jae    0x18005679a
180056785:	8a 4f 2a             	mov    0x2a(%rdi),%cl
180056788:	b8 01 00 00 00       	mov    $0x1,%eax
18005678d:	48 d3 e0             	shl    %cl,%rax
180056790:	8b c8                	mov    %eax,%ecx
180056792:	4c 03 f1             	add    %rcx,%r14
180056795:	48 ff c9             	dec    %rcx
180056798:	eb 12                	jmp    0x1800567ac
18005679a:	76 16                	jbe    0x1800567b2
18005679c:	8a 4f 2a             	mov    0x2a(%rdi),%cl
18005679f:	b8 01 00 00 00       	mov    $0x1,%eax
1800567a4:	48 d3 e0             	shl    %cl,%rax
1800567a7:	8b c8                	mov    %eax,%ecx
1800567a9:	48 ff c9             	dec    %rcx
1800567ac:	48 f7 d1             	not    %rcx
1800567af:	4c 23 f1             	and    %rcx,%r14
1800567b2:	48 8b 07             	mov    (%rdi),%rax
1800567b5:	4c 8b c5             	mov    %rbp,%r8
1800567b8:	41 8b d4             	mov    %r12d,%edx
1800567bb:	48 8b cf             	mov    %rdi,%rcx
1800567be:	48 8b 80 88 00 00 00 	mov    0x88(%rax),%rax
1800567c5:	ff d0                	call   *%rax
1800567c7:	0f 1f 00             	nopl   (%rax)
1800567ca:	48 3b 44 24 28       	cmp    0x28(%rsp),%rax
1800567cf:	76 12                	jbe    0x1800567e3
1800567d1:	8a 4f 2a             	mov    0x2a(%rdi),%cl
1800567d4:	b8 01 00 00 00       	mov    $0x1,%eax
1800567d9:	48 d3 e0             	shl    %cl,%rax
1800567dc:	8b c8                	mov    %eax,%ecx
1800567de:	48 ff c9             	dec    %rcx
1800567e1:	eb 15                	jmp    0x1800567f8
1800567e3:	73 19                	jae    0x1800567fe
1800567e5:	8a 4f 2a             	mov    0x2a(%rdi),%cl
1800567e8:	b8 01 00 00 00       	mov    $0x1,%eax
1800567ed:	48 d3 e0             	shl    %cl,%rax
1800567f0:	8b c8                	mov    %eax,%ecx
1800567f2:	48 03 e9             	add    %rcx,%rbp
1800567f5:	48 ff c9             	dec    %rcx
1800567f8:	48 f7 d1             	not    %rcx
1800567fb:	48 23 e9             	and    %rcx,%rbp
1800567fe:	4c 3b f5             	cmp    %rbp,%r14
180056801:	0f 83 a0 01 00 00    	jae    0x1800569a7
180056807:	b9 e0 00 00 00       	mov    $0xe0,%ecx
18005680c:	e8 03 01 ff ff       	call   0x180046914
180056811:	48 85 c0             	test   %rax,%rax
180056814:	74 0d                	je     0x180056823
180056816:	48 8b c8             	mov    %rax,%rcx
180056819:	e8 4a 07 ff ff       	call   0x180046f68
18005681e:	48 8b d8             	mov    %rax,%rbx
180056821:	eb 02                	jmp    0x180056825
180056823:	33 db                	xor    %ebx,%ebx
180056825:	48 85 db             	test   %rbx,%rbx
180056828:	0f 84 9d 01 00 00    	je     0x1800569cb
18005682e:	45 33 c0             	xor    %r8d,%r8d
180056831:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180056835:	44 8b ce             	mov    %esi,%r9d
180056838:	41 8d 50 03          	lea    0x3(%r8),%edx
18005683c:	e8 5b 03 ff ff       	call   0x180046b9c
180056841:	44 8b f8             	mov    %eax,%r15d
180056844:	85 c0                	test   %eax,%eax
180056846:	0f 88 85 01 00 00    	js     0x1800569d1
18005684c:	49 8b 4d 18          	mov    0x18(%r13),%rcx
180056850:	48 8b 73 68          	mov    0x68(%rbx),%rsi
180056854:	44 8b 84 24 b0 00 00 	mov    0xb0(%rsp),%r8d
18005685b:	00
18005685c:	8b 51 10             	mov    0x10(%rcx),%edx
18005685f:	8b 41 0c             	mov    0xc(%rcx),%eax
180056862:	44 8b 69 08          	mov    0x8(%rcx),%r13d
180056866:	48 03 c1             	add    %rcx,%rax
180056869:	48 89 44 24 40       	mov    %rax,0x40(%rsp)
18005686e:	48 8b ce             	mov    %rsi,%rcx
180056871:	48 8b 44 24 30       	mov    0x30(%rsp),%rax
180056876:	89 54 24 20          	mov    %edx,0x20(%rsp)
18005687a:	33 d2                	xor    %edx,%edx
18005687c:	48 8b 40 08          	mov    0x8(%rax),%rax
180056880:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180056885:	e8 f6 f3 0d 00       	call   0x180135c80
18005688a:	48 8b 4c 24 38       	mov    0x38(%rsp),%rcx
18005688f:	44 8b 44 24 20       	mov    0x20(%rsp),%r8d
180056894:	c7 06 1c 00 00 00    	movl   $0x1c,(%rsi)
18005689a:	8b 01                	mov    (%rcx),%eax
18005689c:	89 46 04             	mov    %eax,0x4(%rsi)
18005689f:	44 89 6e 08          	mov    %r13d,0x8(%rsi)
1800568a3:	45 85 c0             	test   %r8d,%r8d
1800568a6:	74 32                	je     0x1800568da
1800568a8:	8b 49 08             	mov    0x8(%rcx),%ecx
1800568ab:	33 d2                	xor    %edx,%edx
1800568ad:	44 89 46 10          	mov    %r8d,0x10(%rsi)
1800568b1:	44 8d 49 1b          	lea    0x1b(%rcx),%r9d
1800568b5:	41 8b c1             	mov    %r9d,%eax
1800568b8:	f7 f1                	div    %ecx
1800568ba:	44 2b ca             	sub    %edx,%r9d
1800568bd:	48 8b 54 24 40       	mov    0x40(%rsp),%rdx
1800568c2:	44 89 4e 0c          	mov    %r9d,0xc(%rsi)
1800568c6:	48 85 d2             	test   %rdx,%rdx
1800568c9:	74 0f                	je     0x1800568da
1800568cb:	41 8b c9             	mov    %r9d,%ecx
1800568ce:	48 03 ce             	add    %rsi,%rcx
1800568d1:	e8 ea f0 0d 00       	call   0x1801359c0
1800568d6:	44 8b 6e 08          	mov    0x8(%rsi),%r13d
1800568da:	4c 8b 44 24 48       	mov    0x48(%rsp),%r8
1800568df:	48 8b 44 24 50       	mov    0x50(%rsp),%rax
1800568e4:	4d 8b 40 08          	mov    0x8(%r8),%r8
1800568e8:	4c 03 40 18          	add    0x18(%rax),%r8
1800568ec:	4d 03 c6             	add    %r14,%r8
1800568ef:	41 f6 c5 01          	test   $0x1,%r13b
1800568f3:	75 64                	jne    0x180056959
1800568f5:	44 8b 4e 18          	mov    0x18(%rsi),%r9d
1800568f9:	45 85 c9             	test   %r9d,%r9d
1800568fc:	75 1c                	jne    0x18005691a
1800568fe:	8b 4e 10             	mov    0x10(%rsi),%ecx
180056901:	85 c9                	test   %ecx,%ecx
180056903:	75 05                	jne    0x18005690a
180056905:	8d 41 1c             	lea    0x1c(%rcx),%eax
180056908:	eb 05                	jmp    0x18005690f
18005690a:	8b 46 0c             	mov    0xc(%rsi),%eax
18005690d:	03 c1                	add    %ecx,%eax
18005690f:	8b c8                	mov    %eax,%ecx
180056911:	48 83 c1 07          	add    $0x7,%rcx
180056915:	83 e1 f8             	and    $0xfffffff8,%ecx
180056918:	eb 06                	jmp    0x180056920
18005691a:	8b 4e 14             	mov    0x14(%rsi),%ecx
18005691d:	41 03 c9             	add    %r9d,%ecx
180056920:	8b 84 24 b0 00 00 00 	mov    0xb0(%rsp),%eax
180056927:	2b c1                	sub    %ecx,%eax
180056929:	83 f8 10             	cmp    $0x10,%eax
18005692c:	72 2b                	jb     0x180056959
18005692e:	8b 46 14             	mov    0x14(%rsi),%eax
180056931:	85 c0                	test   %eax,%eax
180056933:	75 05                	jne    0x18005693a
180056935:	89 4e 14             	mov    %ecx,0x14(%rsi)
180056938:	8b c1                	mov    %ecx,%eax
18005693a:	8b d0                	mov    %eax,%edx
18005693c:	49 8b c9             	mov    %r9,%rcx
18005693f:	48 03 d6             	add    %rsi,%rdx
180056942:	48 83 e1 f0          	and    $0xfffffffffffffff0,%rcx
180056946:	48 8b c5             	mov    %rbp,%rax
180056949:	49 2b c6             	sub    %r14,%rax
18005694c:	4c 89 04 11          	mov    %r8,(%rcx,%rdx,1)
180056950:	48 89 44 11 08       	mov    %rax,0x8(%rcx,%rdx,1)
180056955:	83 46 18 10          	addl   $0x10,0x18(%rsi)
180056959:	8b 84 24 b8 00 00 00 	mov    0xb8(%rsp),%eax
180056960:	49 2b ee             	sub    %r14,%rbp
180056963:	48 8b 8c 24 a8 00 00 	mov    0xa8(%rsp),%rcx
18005696a:	00
18005696b:	48 8b d3             	mov    %rbx,%rdx
18005696e:	48 89 6b 70          	mov    %rbp,0x70(%rbx)
180056972:	4c 89 73 78          	mov    %r14,0x78(%rbx)
180056976:	44 89 a3 84 00 00 00 	mov    %r12d,0x84(%rbx)
18005697d:	89 83 88 00 00 00    	mov    %eax,0x88(%rbx)
180056983:	c6 83 98 00 00 00 0e 	movb   $0xe,0x98(%rbx)
18005698a:	48 89 bb d8 00 00 00 	mov    %rdi,0xd8(%rbx)
180056991:	e8 16 07 ff ff       	call   0x1800470ac
180056996:	4c 8b 6c 24 30       	mov    0x30(%rsp),%r13
18005699b:	48 8b 5c 24 58       	mov    0x58(%rsp),%rbx
1800569a0:	8b b4 24 b0 00 00 00 	mov    0xb0(%rsp),%esi
1800569a7:	8b 8c 24 b8 00 00 00 	mov    0xb8(%rsp),%ecx
1800569ae:	0f b6 47 2b          	movzbl 0x2b(%rdi),%eax
1800569b2:	ff c1                	inc    %ecx
1800569b4:	89 8c 24 b8 00 00 00 	mov    %ecx,0xb8(%rsp)
1800569bb:	3b c8                	cmp    %eax,%ecx
1800569bd:	0f 82 39 fd ff ff    	jb     0x1800566fc
1800569c3:	41 ff c4             	inc    %r12d
1800569c6:	e9 fe fc ff ff       	jmp    0x1800566c9
1800569cb:	41 bf 9a 00 00 c0    	mov    $0xc000009a,%r15d
1800569d1:	48 85 db             	test   %rbx,%rbx
1800569d4:	74 13                	je     0x1800569e9
1800569d6:	48 8b 03             	mov    (%rbx),%rax
1800569d9:	ba 01 00 00 00       	mov    $0x1,%edx
1800569de:	48 8b cb             	mov    %rbx,%rcx
1800569e1:	48 8b 00             	mov    (%rax),%rax
1800569e4:	ff d0                	call   *%rax
1800569e6:	0f 1f 00             	nopl   (%rax)
1800569e9:	48 8b 9c 24 a0 00 00 	mov    0xa0(%rsp),%rbx
1800569f0:	00
1800569f1:	41 8b c7             	mov    %r15d,%eax
1800569f4:	48 83 c4 60          	add    $0x60,%rsp
1800569f8:	41 5f                	pop    %r15
1800569fa:	41 5e                	pop    %r14
1800569fc:	41 5d                	pop    %r13
1800569fe:	41 5c                	pop    %r12
180056a00:	5f                   	pop    %rdi
180056a01:	5e                   	pop    %rsi
180056a02:	5d                   	pop    %rbp
180056a03:	c3                   	ret
180056a04:	cc                   	int3
180056a05:	cc                   	int3
180056a06:	cc                   	int3
180056a07:	cc                   	int3
180056a08:	48 8b c4             	mov    %rsp,%rax
180056a0b:	48 89 58 10          	mov    %rbx,0x10(%rax)
180056a0f:	48 89 68 18          	mov    %rbp,0x18(%rax)
180056a13:	48 89 70 20          	mov    %rsi,0x20(%rax)
180056a17:	48 89 48 08          	mov    %rcx,0x8(%rax)
180056a1b:	57                   	push   %rdi
180056a1c:	41 54                	push   %r12
180056a1e:	41 55                	push   %r13
180056a20:	41 56                	push   %r14
180056a22:	41 57                	push   %r15
180056a24:	48 83 ec 20          	sub    $0x20,%rsp
180056a28:	48 8b 42 10          	mov    0x10(%rdx),%rax
180056a2c:	48 8b ea             	mov    %rdx,%rbp
180056a2f:	44 8b 8a a0 00 00 00 	mov    0xa0(%rdx),%r9d
180056a36:	48 8b 58 70          	mov    0x70(%rax),%rbx
180056a3a:	41 81 f9 05 00 00 80 	cmp    $0x80000005,%r9d
180056a41:	0f 85 3d 01 00 00    	jne    0x180056b84
180056a47:	48 8b 43 18          	mov    0x18(%rbx),%rax
180056a4b:	45 33 c9             	xor    %r9d,%r9d
180056a4e:	f7 40 08 00 00 00 10 	testl  $0x10000000,0x8(%rax)
180056a55:	0f 85 29 01 00 00    	jne    0x180056b84
180056a5b:	48 8b 42 68          	mov    0x68(%rdx),%rax
180056a5f:	8b 48 1c             	mov    0x1c(%rax),%ecx
180056a62:	8b 74 01 08          	mov    0x8(%rcx,%rax,1),%esi
180056a66:	ff c6                	inc    %esi
180056a68:	c1 e6 04             	shl    $0x4,%esi
180056a6b:	03 f1                	add    %ecx,%esi
180056a6d:	48 8d 4a 60          	lea    0x60(%rdx),%rcx
180056a71:	44 8b ce             	mov    %esi,%r9d
180056a74:	e8 3b 04 ff ff       	call   0x180046eb4
180056a79:	44 8b c8             	mov    %eax,%r9d
180056a7c:	85 c0                	test   %eax,%eax