180117570:	49 8b f1             	mov    %r9,%rsi
180117573:	49 8b d8             	mov    %r8,%rbx
180117576:	4c 8b fa             	mov    %rdx,%r15
180117579:	4c 8b f1             	mov    %rcx,%r14
18011757c:	4d 85 c0             	test   %r8,%r8
18011757f:	0f 84 8e 00 00 00    	je     0x180117613
180117585:	49 83 38 00          	cmpq   $0x0,(%r8)
180117589:	0f 84 84 00 00 00    	je     0x180117613
18011758f:	8b 3e                	mov    (%rsi),%edi
180117591:	33 d2                	xor    %edx,%edx
180117593:	48 8b 2b             	mov    (%rbx),%rbp
180117596:	44 8b c7             	mov    %edi,%r8d
180117599:	48 8b cd             	mov    %rbp,%rcx
18011759c:	e8 df e6 01 00       	call   0x180135c80
1801175a1:	41 8b 46 04          	mov    0x4(%r14),%eax
1801175a5:	a8 01                	test   $0x1,%al
1801175a7:	74 63                	je     0x18011760c
1801175a9:	49 8b 56 08          	mov    0x8(%r14),%rdx
1801175ad:	4d 8b c7             	mov    %r15,%r8
1801175b0:	41 8b 0e             	mov    (%r14),%ecx
1801175b3:	48 89 74 24 30       	mov    %rsi,0x30(%rsp)
1801175b8:	89 7c 24 28          	mov    %edi,0x28(%rsp)
1801175bc:	48 89 6c 24 20       	mov    %rbp,0x20(%rsp)
1801175c1:	e8 02 cd ee ff       	call   0x1800042c8
1801175c6:	3d 23 00 00 c0       	cmp    $0xc0000023,%eax
1801175cb:	74 07                	je     0x1801175d4
1801175cd:	3d 05 00 00 80       	cmp    $0x80000005,%eax
1801175d2:	75 44                	jne    0x180117618
1801175d4:	48 8b 0b             	mov    (%rbx),%rcx
1801175d7:	48 85 c9             	test   %rcx,%rcx
1801175da:	74 09                	je     0x1801175e5
1801175dc:	e8 1b 2a f8 ff       	call   0x180099ffc
1801175e1:	48 83 23 00          	andq   $0x0,(%rbx)
1801175e5:	8b 3e                	mov    (%rsi),%edi
1801175e7:	8b cf                	mov    %edi,%ecx
1801175e9:	e8 62 28 f8 ff       	call   0x180099e50
1801175ee:	48 89 03             	mov    %rax,(%rbx)
1801175f1:	48 85 c0             	test   %rax,%rax
1801175f4:	74 0f                	je     0x180117605
1801175f6:	44 8b c7             	mov    %edi,%r8d
1801175f9:	33 d2                	xor    %edx,%edx
1801175fb:	48 8b c8             	mov    %rax,%rcx
1801175fe:	e8 7d e6 01 00       	call   0x180135c80
180117603:	eb 8a                	jmp    0x18011758f
180117605:	b8 17 00 00 c0       	mov    $0xc0000017,%eax
18011760a:	eb 0c                	jmp    0x180117618
18011760c:	b8 22 00 00 c0       	mov    $0xc0000022,%eax
180117611:	eb 05                	jmp    0x180117618
180117613:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180117618:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
18011761d:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
180117622:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
180117627:	48 83 c4 40          	add    $0x40,%rsp
18011762b:	41 5f                	pop    %r15
18011762d:	41 5e                	pop    %r14
18011762f:	5f                   	pop    %rdi
180117630:	c3                   	ret
180117631:	cc                   	int3
180117632:	cc                   	int3
180117633:	cc                   	int3
180117634:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
180117639:	48 89 6c 24 10       	mov    %rbp,0x10(%rsp)
18011763e:	48 89 74 24 18       	mov    %rsi,0x18(%rsp)
180117643:	57                   	push   %rdi
180117644:	41 56                	push   %r14
180117646:	41 57                	push   %r15
180117648:	48 83 ec 40          	sub    $0x40,%rsp
18011764c:	49 8b f9             	mov    %r9,%rdi
18011764f:	4d 8b f8             	mov    %r8,%r15
180117652:	48 8b f2             	mov    %rdx,%rsi
180117655:	48 8b e9             	mov    %rcx,%rbp
180117658:	48 85 c9             	test   %rcx,%rcx
18011765b:	0f 84 5a 01 00 00    	je     0x1801177bb
180117661:	48 85 d2             	test   %rdx,%rdx
180117664:	0f 84 51 01 00 00    	je     0x1801177bb
18011766a:	48 83 3a 00          	cmpq   $0x0,(%rdx)
18011766e:	0f 84 47 01 00 00    	je     0x1801177bb
180117674:	4d 85 c9             	test   %r9,%r9
180117677:	0f 84 3e 01 00 00    	je     0x1801177bb
18011767d:	45 33 f6             	xor    %r14d,%r14d
180117680:	33 d2                	xor    %edx,%edx
180117682:	e9 18 01 00 00       	jmp    0x18011779f
180117687:	85 c0                	test   %eax,%eax
180117689:	0f 88 31 01 00 00    	js     0x1801177c0
18011768f:	48 8b 0e             	mov    (%rsi),%rcx
180117692:	83 64 24 34 00       	andl   $0x0,0x34(%rsp)
180117697:	83 79 04 04          	cmpl   $0x4,0x4(%rcx)
18011769b:	48 8d 41 14          	lea    0x14(%rcx),%rax
18011769f:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
1801176a4:	0f b7 41 10          	movzwl 0x10(%rcx),%eax
1801176a8:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
1801176ad:	66 89 44 24 32       	mov    %ax,0x32(%rsp)
1801176b2:	0f 85 de 00 00 00    	jne    0x180117796
1801176b8:	83 79 0c 04          	cmpl   $0x4,0xc(%rcx)
1801176bc:	0f 85 d4 00 00 00    	jne    0x180117796
1801176c2:	8b 41 08             	mov    0x8(%rcx),%eax
1801176c5:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
1801176ca:	41 b0 01             	mov    $0x1,%r8b
1801176cd:	8b 1c 08             	mov    (%rax,%rcx,1),%ebx
1801176d0:	48 8d 0d 61 5f 04 00 	lea    0x45f61(%rip),%rcx        # 0x18015d638
1801176d7:	e8 28 60 f6 ff       	call   0x18007d704
1801176dc:	84 c0                	test   %al,%al
1801176de:	74 1a                	je     0x1801176fa
1801176e0:	83 fb 02             	cmp    $0x2,%ebx
1801176e3:	0f 87 ad 00 00 00    	ja     0x180117796
1801176e9:	c1 e3 04             	shl    $0x4,%ebx
1801176ec:	33 5f 04             	xor    0x4(%rdi),%ebx
1801176ef:	83 e3 30             	and    $0x30,%ebx
1801176f2:	31 5f 04             	xor    %ebx,0x4(%rdi)
1801176f5:	e9 9c 00 00 00       	jmp    0x180117796
1801176fa:	41 b0 01             	mov    $0x1,%r8b
1801176fd:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117702:	48 8d 0d ff 5e 04 00 	lea    0x45eff(%rip),%rcx        # 0x18015d608
180117709:	e8 f6 5f f6 ff       	call   0x18007d704
18011770e:	84 c0                	test   %al,%al
180117710:	74 10                	je     0x180117722
180117712:	83 fb 01             	cmp    $0x1,%ebx
180117715:	77 7f                	ja     0x180117796
180117717:	c1 e3 06             	shl    $0x6,%ebx
18011771a:	33 5f 04             	xor    0x4(%rdi),%ebx
18011771d:	83 e3 40             	and    $0x40,%ebx
180117720:	eb d0                	jmp    0x1801176f2
180117722:	41 b0 01             	mov    $0x1,%r8b
180117725:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
18011772a:	48 8d 0d e7 5e 04 00 	lea    0x45ee7(%rip),%rcx        # 0x18015d618
180117731:	e8 ce 5f f6 ff       	call   0x18007d704
180117736:	84 c0                	test   %al,%al
180117738:	74 13                	je     0x18011774d
18011773a:	83 fb 40             	cmp    $0x40,%ebx
18011773d:	73 57                	jae    0x180117796
18011773f:	c1 e3 08             	shl    $0x8,%ebx
180117742:	33 5f 04             	xor    0x4(%rdi),%ebx
180117745:	81 e3 00 3f 00 00    	and    $0x3f00,%ebx
18011774b:	eb a5                	jmp    0x1801176f2
18011774d:	41 b0 01             	mov    $0x1,%r8b
180117750:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117755:	48 8d 0d 4c 5f 04 00 	lea    0x45f4c(%rip),%rcx        # 0x18015d6a8
18011775c:	e8 a3 5f f6 ff       	call   0x18007d704
180117761:	84 c0                	test   %al,%al
180117763:	74 16                	je     0x18011777b
180117765:	83 fb 04             	cmp    $0x4,%ebx
180117768:	73 2c                	jae    0x180117796
18011776a:	c1 e3 0e             	shl    $0xe,%ebx
18011776d:	33 5f 04             	xor    0x4(%rdi),%ebx
180117770:	81 e3 00 c0 00 00    	and    $0xc000,%ebx
180117776:	e9 77 ff ff ff       	jmp    0x1801176f2
18011777b:	41 b0 01             	mov    $0x1,%r8b
18011777e:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180117783:	48 8d 0d fe 5e 04 00 	lea    0x45efe(%rip),%rcx        # 0x18015d688
18011778a:	e8 75 5f f6 ff       	call   0x18007d704
18011778f:	84 c0                	test   %al,%al
180117791:	74 03                	je     0x180117796
180117793:	89 5f 08             	mov    %ebx,0x8(%rdi)
180117796:	41 ff c6             	inc    %r14d
180117799:	48 8b cd             	mov    %rbp,%rcx
18011779c:	41 8b d6             	mov    %r14d,%edx
18011779f:	4c 8b ce             	mov    %rsi,%r9
1801177a2:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
1801177a7:	e8 ac fc ff ff       	call   0x180117458
1801177ac:	3d 1a 00 00 80       	cmp    $0x8000001a,%eax
1801177b1:	0f 85 d0 fe ff ff    	jne    0x180117687
1801177b7:	33 c0                	xor    %eax,%eax
1801177b9:	eb 05                	jmp    0x1801177c0
1801177bb:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
1801177c0:	48 8b 5c 24 60       	mov    0x60(%rsp),%rbx
1801177c5:	48 8b 6c 24 68       	mov    0x68(%rsp),%rbp
1801177ca:	48 8b 74 24 70       	mov    0x70(%rsp),%rsi
1801177cf:	48 83 c4 40          	add    $0x40,%rsp
1801177d3:	41 5f                	pop    %r15
1801177d5:	41 5e                	pop    %r14
1801177d7:	5f                   	pop    %rdi
1801177d8:	c3                   	ret
1801177d9:	cc                   	int3
1801177da:	cc                   	int3
1801177db:	cc                   	int3
1801177dc:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1801177e1:	48 89 6c 24 18       	mov    %rbp,0x18(%rsp)
1801177e6:	48 89 74 24 20       	mov    %rsi,0x20(%rsp)
1801177eb:	57                   	push   %rdi
1801177ec:	41 54                	push   %r12
1801177ee:	41 55                	push   %r13
1801177f0:	41 56                	push   %r14
1801177f2:	41 57                	push   %r15
1801177f4:	48 83 ec 40          	sub    $0x40,%rsp
1801177f8:	45 33 ed             	xor    %r13d,%r13d
1801177fb:	4d 8b f9             	mov    %r9,%r15
1801177fe:	49 8b f8             	mov    %r8,%rdi
180117801:	44 8b f2             	mov    %edx,%r14d
180117804:	4c 8b e1             	mov    %rcx,%r12
180117807:	85 d2                	test   %edx,%edx
180117809:	75 07                	jne    0x180117812
18011780b:	33 c0                	xor    %eax,%eax
18011780d:	e9 07 01 00 00       	jmp    0x180117919
180117812:	48 85 ff             	test   %rdi,%rdi
180117815:	0f 84 f9 00 00 00    	je     0x180117914
18011781b:	4d 39 28             	cmp    %r13,(%r8)
18011781e:	0f 84 f0 00 00 00    	je     0x180117914
180117824:	48 8b b4 24 90 00 00 	mov    0x90(%rsp),%rsi
18011782b:	00
18011782c:	48 85 f6             	test   %rsi,%rsi
18011782f:	0f 84 df 00 00 00    	je     0x180117914
180117835:	41 8b ed             	mov    %r13d,%ebp
180117838:	33 d2                	xor    %edx,%edx
18011783a:	4c 8b cf             	mov    %rdi,%r9
18011783d:	4c 89 7c 24 20       	mov    %r15,0x20(%rsp)
180117842:	e8 11 fc ff ff       	call   0x180117458
180117847:	3d 1a 00 00 80       	cmp    $0x8000001a,%eax
18011784c:	0f 84 bd 00 00 00    	je     0x18011790f
180117852:	85 c0                	test   %eax,%eax
180117854:	0f 88 bf 00 00 00    	js     0x180117919
18011785a:	48 8b 1f             	mov    (%rdi),%rbx
18011785d:	0f 57 c0             	xorps  %xmm0,%xmm0
180117860:	0f 11 44 24 30       	movups %xmm0,0x30(%rsp)
180117865:	41 8b cd             	mov    %r13d,%ecx
180117868:	89 4c 24 78          	mov    %ecx,0x78(%rsp)
18011786c:	48 8d 43 14          	lea    0x14(%rbx),%rax
180117870:	48 89 44 24 38       	mov    %rax,0x38(%rsp)
180117875:	0f b7 43 10          	movzwl 0x10(%rbx),%eax
180117879:	66 89 44 24 30       	mov    %ax,0x30(%rsp)
18011787e:	66 89 44 24 32       	mov    %ax,0x32(%rsp)
180117883:	66 85 c0             	test   %ax,%ax
180117886:	74 15                	je     0x18011789d
180117888:	48 8d 54 24 78       	lea    0x78(%rsp),%rdx
18011788d:	48 8d 4c 24 30       	lea    0x30(%rsp),%rcx
180117892:	e8 35 f7 ff ff       	call   0x180116fcc
180117897:	8b 4c 24 78          	mov    0x78(%rsp),%ecx
18011789b:	eb 05                	jmp    0x1801178a2
18011789d:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
1801178a2:	85 c0                	test   %eax,%eax
1801178a4:	78 56                	js     0x1801178fc
1801178a6:	83 7b 04 04          	cmpl   $0x4,0x4(%rbx)
1801178aa:	75 50                	jne    0x1801178fc
1801178ac:	83 7b 0c 04          	cmpl   $0x4,0xc(%rbx)
1801178b0:	75 4a                	jne    0x1801178fc
1801178b2:	8b 43 08             	mov    0x8(%rbx),%eax
1801178b5:	44 8b 04 18          	mov    (%rax,%rbx,1),%r8d
1801178b9:	8b 06                	mov    (%rsi),%eax
1801178bb:	41 3b c6             	cmp    %r14d,%eax
1801178be:	73 48                	jae    0x180117908
1801178c0:	81 f1 ff a8 3e 83    	xor    $0x833ea8ff,%ecx
1801178c6:	48 8d 14 40          	lea    (%rax,%rax,2),%rdx
1801178ca:	8b 44 96 08          	mov    0x8(%rsi,%rdx,4),%eax
1801178ce:	c1 c1 ff             	rol    $0xff,%ecx
1801178d1:	81 f1 4f 3d b2 8f    	xor    $0x8fb23d4f,%ecx
1801178d7:	0f c9                	bswap  %ecx
1801178d9:	81 f1 4e 1a 16 74    	xor    $0x74161a4e,%ecx
1801178df:	89 4c 96 04          	mov    %ecx,0x4(%rsi,%rdx,4)
1801178e3:	41 f7 d8             	neg    %r8d
1801178e6:	1b c9                	sbb    %ecx,%ecx
1801178e8:	83 e0 ca             	and    $0xffffffca,%eax
1801178eb:	83 e1 10             	and    $0x10,%ecx
1801178ee:	83 c1 10             	add    $0x10,%ecx
1801178f1:	0b c8                	or     %eax,%ecx
1801178f3:	83 c9 0a             	or     $0xa,%ecx
1801178f6:	89 4c 96 08          	mov    %ecx,0x8(%rsi,%rdx,4)
1801178fa:	ff 06                	incl   (%rsi)
1801178fc:	ff c5                	inc    %ebp
1801178fe:	49 8b cc             	mov    %r12,%rcx
180117901:	8b d5                	mov    %ebp,%edx
180117903:	e9 32 ff ff ff       	jmp    0x18011783a
180117908:	b8 23 00 00 c0       	mov    $0xc0000023,%eax
18011790d:	eb 0a                	jmp    0x180117919
18011790f:	41 8b c5             	mov    %r13d,%eax
180117912:	eb 05                	jmp    0x180117919
180117914:	b8 0d 00 00 c0       	mov    $0xc000000d,%eax
180117919:	4c 8d 5c 24 40       	lea    0x40(%rsp),%r11
18011791e:	49 8b 5b 30          	mov    0x30(%r11),%rbx
180117922:	49 8b 6b 40          	mov    0x40(%r11),%rbp
180117926:	49 8b 73 48          	mov    0x48(%r11),%rsi
18011792a:	49 8b e3             	mov    %r11,%rsp
18011792d:	41 5f                	pop    %r15
18011792f:	41 5e                	pop    %r14
180117931:	41 5d                	pop    %r13
180117933:	41 5c                	pop    %r12
180117935:	5f                   	pop    %rdi
180117936:	c3                   	ret
180117937:	cc                   	int3
180117938:	48 89 5c 24 10       	mov    %rbx,0x10(%rsp)
18011793d:	55                   	push   %rbp
18011793e:	56                   	push   %rsi
18011793f:	57                   	push   %rdi
180117940:	41 54                	push   %r12
180117942:	41 55                	push   %r13
180117944:	41 56                	push   %r14
180117946:	41 57                	push   %r15
180117948:	48 8d 6c 24 f9       	lea    -0x7(%rsp),%rbp
18011794d:	48 81 ec 90 00 00 00 	sub    $0x90,%rsp
180117954:	48 8b 05 15 50 05 00 	mov    0x55015(%rip),%rax        # 0x18016c970
18011795b:	48 33 c4             	xor    %rsp,%rax
18011795e:	48 89 45 ff          	mov    %rax,-0x1(%rbp)
180117962:	4c 8b 75 67          	mov    0x67(%rbp),%r14
180117966:	33 f6                	xor    %esi,%esi
180117968:	48 8b 45 6f          	mov    0x6f(%rbp),%rax
18011796c:	48 8b d9             	mov    %rcx,%rbx
18011796f:	48 8b 4d 77          	mov    0x77(%rbp),%rcx
180117973:	4d 8b f9             	mov    %r9,%r15
180117976:	4c 8b 6d 7f          	mov    0x7f(%rbp),%r13
18011797a:	44 8b ca             	mov    %edx,%r9d
18011797d:	48 89 4d cf          	mov    %rcx,-0x31(%rbp)
180117981:	8b fe                	mov    %esi,%edi
180117983:	44 89 45 c7          	mov    %r8d,-0x39(%rbp)
180117987:	89 55 cb             	mov    %edx,-0x35(%rbp)
18011798a:	4c 89 75 df          	mov    %r14,-0x21(%rbp)
18011798e:	48 89 45 d7          	mov    %rax,-0x29(%rbp)
180117992:	48 89 75 af          	mov    %rsi,-0x51(%rbp)
180117996:	48 89 75 a7          	mov    %rsi,-0x59(%rbp)
18011799a:	45 85 c0             	test   %r8d,%r8d
18011799d:	75 07                	jne    0x1801179a6
18011799f:	33 c0                	xor    %eax,%eax
1801179a1:	e9 08 02 00 00       	jmp    0x180117bae
1801179a6:	4d 85 ff             	test   %r15,%r15
1801179a9:	0f 84 fa 01 00 00    	je     0x180117ba9
1801179af:	49 39 37             	cmp    %rsi,(%r15)
1801179b2:	0f 84 f1 01 00 00    	je     0x180117ba9
1801179b8:	48 85 c0             	test   %rax,%rax
1801179bb:	0f 84 e8 01 00 00    	je     0x180117ba9
1801179c1:	48 39 30             	cmp    %rsi,(%rax)
1801179c4:	0f 84 df 01 00 00    	je     0x180117ba9
1801179ca:	4d 85 ed             	test   %r13,%r13
1801179cd:	0f 84 d6 01 00 00    	je     0x180117ba9
1801179d3:	48 8d 45 e7          	lea    -0x19(%rbp),%rax
1801179d7:	48 c7 45 b7 00 00 14 	movq   $0x140000,-0x49(%rbp)
1801179de:	00
1801179df:	4c 8d 45 b7          	lea    -0x49(%rbp),%r8
1801179e3:	48 89 45 bf          	mov    %rax,-0x41(%rbp)
1801179e7:	ba 0a 00 00 00       	mov    $0xa,%edx
1801179ec:	41 8b c9             	mov    %r9d,%ecx
1801179ef:	e8 e8 8f f1 ff       	call   0x1800309dc
1801179f4:	85 c0                	test   %eax,%eax
1801179f6:	0f 88 b2 01 00 00    	js     0x180117bae
1801179fc:	4c 8d 4d b7          	lea    -0x49(%rbp),%r9
180117a00:	4c 8b c3             	mov    %rbx,%r8
180117a03:	48 8d 4d af          	lea    -0x51(%rbp),%rcx
180117a07:	e8 dc 40 f0 ff       	call   0x18001bae8
180117a0c:	48 8b 75 af          	mov    -0x51(%rbp),%rsi
180117a10:	33 d2                	xor    %edx,%edx
180117a12:	8b d8                	mov    %eax,%ebx
180117a14:	85 c0                	test   %eax,%eax
180117a16:	79 19                	jns    0x180117a31
180117a18:	3d 34 00 00 c0       	cmp    $0xc0000034,%eax
180117a1d:	74 0b                	je     0x180117a2a
180117a1f:	3d 7c 01 00 c0       	cmp    $0xc000017c,%eax
180117a24:	0f 85 6e 01 00 00    	jne    0x180117b98
180117a2a:	8b da                	mov    %edx,%ebx
180117a2c:	e9 67 01 00 00       	jmp    0x180117b98
180117a31:	44 8b e2             	mov    %edx,%r12d
180117a34:	48 85 f6             	test   %rsi,%rsi
180117a37:	74 1c                	je     0x180117a55
180117a39:	4d 8b cf             	mov    %r15,%r9
180117a3c:	4c 89 74 24 20       	mov    %r14,0x20(%rsp)