180039758:	48 8b c8             	mov    %rax,%rcx
18003975b:	e8 08 d8 00 00       	call   0x180046f68
180039760:	48 8b d8             	mov    %rax,%rbx
180039763:	eb 02                	jmp    0x180039767
180039765:	33 db                	xor    %ebx,%ebx
180039767:	48 85 db             	test   %rbx,%rbx
18003976a:	75 0a                	jne    0x180039776
18003976c:	be 9a 00 00 c0       	mov    $0xc000009a,%esi
180039771:	e9 54 01 00 00       	jmp    0x1800398ca
180039776:	48 8b cd             	mov    %rbp,%rcx
180039779:	e8 9a d5 00 00       	call   0x180046d18
18003977e:	45 33 c0             	xor    %r8d,%r8d
180039781:	44 8b f0             	mov    %eax,%r14d
180039784:	48 8d 4b 60          	lea    0x60(%rbx),%rcx
180039788:	44 8b c8             	mov    %eax,%r9d
18003978b:	41 8d 50 03          	lea    0x3(%r8),%edx
18003978f:	e8 08 d4 00 00       	call   0x180046b9c
180039794:	8b f0                	mov    %eax,%esi
180039796:	85 c0                	test   %eax,%eax
180039798:	0f 88 14 01 00 00    	js     0x1800398b2
18003979e:	48 8b 4d 18          	mov    0x18(%rbp),%rcx
1800397a2:	45 8b c6             	mov    %r14d,%r8d
1800397a5:	48 8b 7b 68          	mov    0x68(%rbx),%rdi
1800397a9:	33 d2                	xor    %edx,%edx
1800397ab:	48 8b 45 08          	mov    0x8(%rbp),%rax
1800397af:	48 89 44 24 70       	mov    %rax,0x70(%rsp)
1800397b4:	44 8b 61 0c          	mov    0xc(%rcx),%r12d
1800397b8:	44 8b 69 10          	mov    0x10(%rcx),%r13d
1800397bc:	4c 03 e1             	add    %rcx,%r12
1800397bf:	44 8b 79 08          	mov    0x8(%rcx),%r15d
1800397c3:	48 8b cf             	mov    %rdi,%rcx
1800397c6:	e8 b5 c4 0f 00       	call   0x180135c80
1800397cb:	48 8b 4c 24 70       	mov    0x70(%rsp),%rcx
1800397d0:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
1800397d6:	44 89 07             	mov    %r8d,(%rdi)
1800397d9:	8b 01                	mov    (%rcx),%eax
1800397db:	89 47 04             	mov    %eax,0x4(%rdi)
1800397de:	44 89 7f 08          	mov    %r15d,0x8(%rdi)
1800397e2:	45 85 ed             	test   %r13d,%r13d
1800397e5:	74 39                	je     0x180039820
1800397e7:	8b 49 08             	mov    0x8(%rcx),%ecx
1800397ea:	33 d2                	xor    %edx,%edx
1800397ec:	44 89 6f 10          	mov    %r13d,0x10(%rdi)
1800397f0:	44 8d 49 1b          	lea    0x1b(%rcx),%r9d
1800397f4:	41 8b c1             	mov    %r9d,%eax
1800397f7:	f7 f1                	div    %ecx
1800397f9:	44 2b ca             	sub    %edx,%r9d
1800397fc:	44 89 4f 0c          	mov    %r9d,0xc(%rdi)
180039800:	4d 85 e4             	test   %r12,%r12
180039803:	74 1b                	je     0x180039820
180039805:	41 8b c9             	mov    %r9d,%ecx
180039808:	45 8b c5             	mov    %r13d,%r8d
18003980b:	48 03 cf             	add    %rdi,%rcx
18003980e:	49 8b d4             	mov    %r12,%rdx
180039811:	e8 aa c1 0f 00       	call   0x1801359c0
180039816:	44 8b 7f 08          	mov    0x8(%rdi),%r15d
18003981a:	41 b8 1c 00 00 00    	mov    $0x1c,%r8d
180039820:	4c 8b 4d 38          	mov    0x38(%rbp),%r9
180039824:	4c 8b 55 40          	mov    0x40(%rbp),%r10
180039828:	41 f6 c7 01          	test   $0x1,%r15b
18003982c:	75 52                	jne    0x180039880
18003982e:	8b 57 18             	mov    0x18(%rdi),%edx
180039831:	85 d2                	test   %edx,%edx
180039833:	75 1a                	jne    0x18003984f
180039835:	8b 4f 10             	mov    0x10(%rdi),%ecx
180039838:	85 c9                	test   %ecx,%ecx
18003983a:	74 07                	je     0x180039843
18003983c:	44 8b 47 0c          	mov    0xc(%rdi),%r8d
180039840:	44 03 c1             	add    %ecx,%r8d
180039843:	41 8b c0             	mov    %r8d,%eax
180039846:	48 83 c0 07          	add    $0x7,%rax
18003984a:	83 e0 f8             	and    $0xfffffff8,%eax
18003984d:	eb 05                	jmp    0x180039854
18003984f:	8b 47 14             	mov    0x14(%rdi),%eax
180039852:	03 c2                	add    %edx,%eax
180039854:	44 2b f0             	sub    %eax,%r14d
180039857:	41 83 fe 10          	cmp    $0x10,%r14d
18003985b:	72 23                	jb     0x180039880
18003985d:	8b 4f 14             	mov    0x14(%rdi),%ecx
180039860:	85 c9                	test   %ecx,%ecx
180039862:	75 05                	jne    0x180039869
180039864:	89 47 14             	mov    %eax,0x14(%rdi)
180039867:	8b c8                	mov    %eax,%ecx
180039869:	48 03 cf             	add    %rdi,%rcx
18003986c:	48 8b c2             	mov    %rdx,%rax
18003986f:	48 83 e0 f0          	and    $0xfffffffffffffff0,%rax
180039873:	4c 89 14 08          	mov    %r10,(%rax,%rcx,1)
180039877:	4c 89 4c 08 08       	mov    %r9,0x8(%rax,%rcx,1)
18003987c:	83 47 18 10          	addl   $0x10,0x18(%rdi)
180039880:	48 8b 45 30          	mov    0x30(%rbp),%rax
180039884:	48 8b d3             	mov    %rbx,%rdx
180039887:	48 8b 4c 24 68       	mov    0x68(%rsp),%rcx
18003988c:	48 89 43 70          	mov    %rax,0x70(%rbx)
180039890:	48 8b 45 40          	mov    0x40(%rbp),%rax
180039894:	48 89 43 78          	mov    %rax,0x78(%rbx)
180039898:	48 8b 44 24 60       	mov    0x60(%rsp),%rax
18003989d:	48 89 83 d8 00 00 00 	mov    %rax,0xd8(%rbx)
1800398a4:	c6 83 98 00 00 00 0e 	movb   $0xe,0x98(%rbx)
1800398ab:	e8 fc d7 00 00       	call   0x1800470ac
1800398b0:	33 db                	xor    %ebx,%ebx
1800398b2:	48 85 db             	test   %rbx,%rbx
1800398b5:	74 13                	je     0x1800398ca
1800398b7:	48 8b 03             	mov    (%rbx),%rax
1800398ba:	ba 01 00 00 00       	mov    $0x1,%edx
1800398bf:	48 8b cb             	mov    %rbx,%rcx
1800398c2:	48 8b 00             	mov    (%rax),%rax
1800398c5:	ff d0                	call   *%rax
1800398c7:	0f 1f 00             	nopl   (%rax)
1800398ca:	48 8b 5c 24 78       	mov    0x78(%rsp),%rbx
1800398cf:	8b c6                	mov    %esi,%eax
1800398d1:	48 83 c4 20          	add    $0x20,%rsp
1800398d5:	41 5f                	pop    %r15
1800398d7:	41 5e                	pop    %r14
1800398d9:	41 5d                	pop    %r13
1800398db:	41 5c                	pop    %r12
1800398dd:	5f                   	pop    %rdi
1800398de:	5e                   	pop    %rsi
1800398df:	5d                   	pop    %rbp
1800398e0:	c3                   	ret
1800398e1:	cc                   	int3
1800398e2:	cc                   	int3
1800398e3:	cc                   	int3
1800398e4:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800398e9:	48 89 7c 24 10       	mov    %rdi,0x10(%rsp)
1800398ee:	48 8b 42 10          	mov    0x10(%rdx),%rax
1800398f2:	45 33 d2             	xor    %r10d,%r10d
1800398f5:	44 8b 9a a0 00 00 00 	mov    0xa0(%rdx),%r11d
1800398fc:	48 8b fa             	mov    %rdx,%rdi
1800398ff:	4c 8b 48 70          	mov    0x70(%rax),%r9
180039903:	45 85 db             	test   %r11d,%r11d
180039906:	79 15                	jns    0x18003991d
180039908:	41 81 fb 05 00 00 80 	cmp    $0x80000005,%r11d
18003990f:	0f 85 a1 00 00 00    	jne    0x1800399b6
180039915:	41 c6 41 58 01       	movb   $0x1,0x58(%r9)
18003991a:	45 8b da             	mov    %r10d,%r11d
18003991d:	49 8b 49 28          	mov    0x28(%r9),%rcx
180039921:	41 8b d2             	mov    %r10d,%edx
180039924:	49 8b 41 08          	mov    0x8(%r9),%rax
180039928:	8b 59 1c             	mov    0x1c(%rcx),%ebx
18003992b:	48 03 d9             	add    %rcx,%rbx
18003992e:	44 39 50 18          	cmp    %r10d,0x18(%rax)
180039932:	74 13                	je     0x180039947
180039934:	8b 48 14             	mov    0x14(%rax),%ecx
180039937:	44 8d 41 23          	lea    0x23(%rcx),%r8d
18003993b:	41 8b c0             	mov    %r8d,%eax
18003993e:	f7 f1                	div    %ecx
180039940:	41 03 51 20          	add    0x20(%r9),%edx
180039944:	41 2b d0             	sub    %r8d,%edx
180039947:	48 8b 47 68          	mov    0x68(%rdi),%rax
18003994b:	44 8d 42 f0          	lea    -0x10(%rdx),%r8d
18003994f:	41 c1 e8 05          	shr    $0x5,%r8d
180039953:	8b 50 1c             	mov    0x1c(%rax),%edx
180039956:	48 03 d0             	add    %rax,%rdx
180039959:	8b 02                	mov    (%rdx),%eax
18003995b:	89 03                	mov    %eax,(%rbx)
18003995d:	8b 42 08             	mov    0x8(%rdx),%eax
180039960:	89 43 08             	mov    %eax,0x8(%rbx)
180039963:	44 39 52 04          	cmp    %r10d,0x4(%rdx)
180039967:	76 3d                	jbe    0x1800399a6
180039969:	8b 43 04             	mov    0x4(%rbx),%eax
18003996c:	41 3b c0             	cmp    %r8d,%eax
18003996f:	73 30                	jae    0x1800399a1
180039971:	48 c1 e0 05          	shl    $0x5,%rax
180039975:	41 8b ca             	mov    %r10d,%ecx
180039978:	41 ff c2             	inc    %r10d
18003997b:	48 c1 e1 05          	shl    $0x5,%rcx
18003997f:	0f 10 44 11 10       	movups 0x10(%rcx,%rdx,1),%xmm0
180039984:	0f 11 44 18 10       	movups %xmm0,0x10(%rax,%rbx,1)
180039989:	0f 10 4c 11 20       	movups 0x20(%rcx,%rdx,1),%xmm1
18003998e:	0f 11 4c 18 20       	movups %xmm1,0x20(%rax,%rbx,1)
180039993:	ff 43 04             	incl   0x4(%rbx)
180039996:	8b 43 04             	mov    0x4(%rbx),%eax
180039999:	44 3b 52 04          	cmp    0x4(%rdx),%r10d
18003999d:	72 cd                	jb     0x18003996c
18003999f:	eb 05                	jmp    0x1800399a6
1800399a1:	41 c6 41 58 01       	movb   $0x1,0x58(%r9)
1800399a6:	8b 53 04             	mov    0x4(%rbx),%edx
1800399a9:	49 8b 49 28          	mov    0x28(%r9),%rcx
1800399ad:	c1 e2 05             	shl    $0x5,%edx
1800399b0:	83 c2 10             	add    $0x10,%edx
1800399b3:	89 51 20             	mov    %edx,0x20(%rcx)
1800399b6:	48 8b 5c 24 08       	mov    0x8(%rsp),%rbx
1800399bb:	41 8b c3             	mov    %r11d,%eax
1800399be:	48 8b 7c 24 10       	mov    0x10(%rsp),%rdi
1800399c3:	c3                   	ret
1800399c4:	cc                   	int3
1800399c5:	cc                   	int3
1800399c6:	cc                   	int3
1800399c7:	cc                   	int3
1800399c8:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
1800399cd:	48 89 74 24 10       	mov    %rsi,0x10(%rsp)
1800399d2:	57                   	push   %rdi
1800399d3:	48 83 ec 20          	sub    $0x20,%rsp
1800399d7:	4c 8b c2             	mov    %rdx,%r8
1800399da:	48 8b f2             	mov    %rdx,%rsi
1800399dd:	48 8b f9             	mov    %rcx,%rdi
1800399e0:	e8 0f 01 00 00       	call   0x180039af4
1800399e5:	85 c0                	test   %eax,%eax
1800399e7:	78 27                	js     0x180039a10
1800399e9:	48 81 c7 f8 00 00 00 	add    $0xf8,%rdi
1800399f0:	48 8b 1f             	mov    (%rdi),%rbx
1800399f3:	eb 16                	jmp    0x180039a0b
1800399f5:	48 8d 8b f8 fe ff ff 	lea    -0x108(%rbx),%rcx
1800399fc:	48 8b d6             	mov    %rsi,%rdx
1800399ff:	e8 c4 ff ff ff       	call   0x1800399c8
180039a04:	85 c0                	test   %eax,%eax
180039a06:	78 08                	js     0x180039a10
180039a08:	48 8b 1b             	mov    (%rbx),%rbx
180039a0b:	48 3b df             	cmp    %rdi,%rbx
180039a0e:	75 e5                	jne    0x1800399f5
180039a10:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
180039a15:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
180039a1a:	48 83 c4 20          	add    $0x20,%rsp
180039a1e:	5f                   	pop    %rdi
180039a1f:	c3                   	ret
180039a20:	cc                   	int3
180039a21:	cc                   	int3
180039a22:	cc                   	int3
180039a23:	cc                   	int3
180039a24:	40 53                	rex push %rbx
180039a26:	48 83 ec 20          	sub    $0x20,%rsp
180039a2a:	48 83 64 24 30 00    	andq   $0x0,0x30(%rsp)
180039a30:	48 8b d9             	mov    %rcx,%rbx
180039a33:	48 8b 89 50 01 00 00 	mov    0x150(%rcx),%rcx
180039a3a:	4c 8d 89 e8 00 00 00 	lea    0xe8(%rcx),%r9
180039a41:	e8 7e f5 0f 00       	call   0x180138fc4
180039a46:	44 8b d0             	mov    %eax,%r10d
180039a49:	3d 13 00 e7 c0       	cmp    $0xc0e70013,%eax
180039a4e:	75 32                	jne    0x180039a82
180039a50:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180039a57:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180039a5c:	48 8b 49 20          	mov    0x20(%rcx),%rcx
180039a60:	e8 63 ff ff ff       	call   0x1800399c8
180039a65:	44 8b d0             	mov    %eax,%r10d
180039a68:	85 c0                	test   %eax,%eax
180039a6a:	78 7b                	js     0x180039ae7
180039a6c:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180039a73:	4c 8d 89 e8 00 00 00 	lea    0xe8(%rcx),%r9
180039a7a:	e8 45 f5 0f 00       	call   0x180138fc4
180039a7f:	44 8b d0             	mov    %eax,%r10d
180039a82:	45 85 d2             	test   %r10d,%r10d
180039a85:	78 60                	js     0x180039ae7
180039a87:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180039a8e:	48 8b 91 e8 00 00 00 	mov    0xe8(%rcx),%rdx
180039a95:	e8 b6 f6 0f 00       	call   0x180139150
180039a9a:	44 8b d0             	mov    %eax,%r10d
180039a9d:	3d 13 00 e7 c0       	cmp    $0xc0e70013,%eax
180039aa2:	75 32                	jne    0x180039ad6
180039aa4:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180039aab:	48 8d 54 24 30       	lea    0x30(%rsp),%rdx
180039ab0:	48 8b 49 20          	mov    0x20(%rcx),%rcx
180039ab4:	e8 0f ff ff ff       	call   0x1800399c8
180039ab9:	44 8b d0             	mov    %eax,%r10d
180039abc:	85 c0                	test   %eax,%eax
180039abe:	78 27                	js     0x180039ae7
180039ac0:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180039ac7:	48 8b 91 e8 00 00 00 	mov    0xe8(%rcx),%rdx
180039ace:	e8 7d f6 0f 00       	call   0x180139150
180039ad3:	44 8b d0             	mov    %eax,%r10d
180039ad6:	45 85 d2             	test   %r10d,%r10d
180039ad9:	78 0c                	js     0x180039ae7
180039adb:	48 8b 8b 50 01 00 00 	mov    0x150(%rbx),%rcx
180039ae2:	e8 c5 5f 00 00       	call   0x18003faac
180039ae7:	41 8b c2             	mov    %r10d,%eax
180039aea:	48 83 c4 20          	add    $0x20,%rsp
180039aee:	5b                   	pop    %rbx
180039aef:	c3                   	ret
180039af0:	cc                   	int3
180039af1:	cc                   	int3
180039af2:	cc                   	int3
180039af3:	cc                   	int3
180039af4:	48 8b c4             	mov    %rsp,%rax
180039af7:	48 89 58 08          	mov    %rbx,0x8(%rax)
180039afb:	48 89 70 18          	mov    %rsi,0x18(%rax)
180039aff:	89 50 10             	mov    %edx,0x10(%rax)
180039b02:	57                   	push   %rdi
180039b03:	48 83 ec 30          	sub    $0x30,%rsp
180039b07:	48 8d 51 18          	lea    0x18(%rcx),%rdx
180039b0b:	c6 40 10 00          	movb   $0x0,0x10(%rax)
180039b0f:	48 8b 81 18 01 00 00 	mov    0x118(%rcx),%rax
180039b16:	4d 8b d0             	mov    %r8,%r10
180039b19:	48 8b d9             	mov    %rcx,%rbx
180039b1c:	41 b8 04 00 00 00    	mov    $0x4,%r8d
180039b22:	b9 eb 03 00 00       	mov    $0x3eb,%ecx
180039b27:	4c 8b 48 08          	mov    0x8(%rax),%r9
180039b2b:	4d 8b 49 38          	mov    0x38(%r9),%r9
180039b2f:	e8 44 d0 00 00       	call   0x180046b78
180039b34:	48 8b 8b 18 01 00 00 	mov    0x118(%rbx),%rcx
180039b3b:	e8 70 fd 0f 00       	call   0x1801398b0
180039b40:	48 8b 8b 18 01 00 00 	mov    0x118(%rbx),%rcx
180039b47:	33 d2                	xor    %edx,%edx
180039b49:	b8 00 02 00 00       	mov    $0x200,%eax
180039b4e:	4c 89 54 24 20       	mov    %r10,0x20(%rsp)
180039b53:	4c 8b 41 08          	mov    0x8(%rcx),%r8
180039b57:	41 f7 70 1c          	divl   0x1c(%r8)
180039b5b:	41 8b 50 18          	mov    0x18(%r8),%edx
180039b5f:	2b d0                	sub    %eax,%edx
180039b61:	41 8b 80 98 00 00 00 	mov    0x98(%r8),%eax
180039b68:	8b c8                	mov    %eax,%ecx
180039b6a:	d1 ea                	shr    $1,%edx
180039b6c:	2b ca                	sub    %edx,%ecx
180039b6e:	3b d0                	cmp    %eax,%edx
180039b70:	1b c0                	sbb    %eax,%eax
180039b72:	45 33 c0             	xor    %r8d,%r8d
180039b75:	23 c1                	and    %ecx,%eax
180039b77:	41 89 42 04          	mov    %eax,0x4(%r10)
180039b7b:	48 8b 8b 60 01 00 00 	mov    0x160(%rbx),%rcx
180039b82:	4c 8b 4b 68          	mov    0x68(%rbx),%r9
180039b86:	41 8d 50 19          	lea    0x19(%r8),%edx
180039b8a:	48 8b 01             	mov    (%rcx),%rax
180039b8d:	48 8b 40 60          	mov    0x60(%rax),%rax
180039b91:	ff d0                	call   *%rax
180039b93:	0f 1f 00             	nopl   (%rax)
180039b96:	8b f8                	mov    %eax,%edi
180039b98:	85 c0                	test   %eax,%eax
180039b9a:	78 28                	js     0x180039bc4
180039b9c:	48 8b 8b 18 01 00 00 	mov    0x118(%rbx),%rcx
180039ba3:	48 8d 54 24 48       	lea    0x48(%rsp),%rdx
180039ba8:	e8 13 fd 0f 00       	call   0x1801398c0
180039bad:	8b f8                	mov    %eax,%edi
180039baf:	85 c0                	test   %eax,%eax
180039bb1:	79 6d                	jns    0x180039c20
180039bb3:	48 8d 53 08          	lea    0x8(%rbx),%rdx
180039bb7:	44 8b c0             	mov    %eax,%r8d
180039bba:	b9 2e 01 00 00       	mov    $0x12e,%ecx
180039bbf:	e8 b4 cf 00 00       	call   0x180046b78
180039bc4:	48 8b 8b 18 01 00 00 	mov    0x118(%rbx),%rcx
180039bcb:	e8 dc ff 0f 00       	call   0x180139bac
180039bd0:	48 8b 03             	mov    (%rbx),%rax
180039bd3:	48 8b cb             	mov    %rbx,%rcx
180039bd6:	48 8b 80 c0 00 00 00 	mov    0xc0(%rax),%rax
180039bdd:	ff d0                	call   *%rax
180039bdf:	0f 1f 00             	nopl   (%rax)
180039be2:	48 8b 83 18 01 00 00 	mov    0x118(%rbx),%rax
180039be9:	48 8d 53 18          	lea    0x18(%rbx),%rdx
180039bed:	44 8b cf             	mov    %edi,%r9d
180039bf0:	41 b8 04 00 00 00    	mov    $0x4,%r8d
180039bf6:	48 8b 48 08          	mov    0x8(%rax),%rcx
180039bfa:	48 8b 41 38          	mov    0x38(%rcx),%rax
180039bfe:	b9 ec 03 00 00       	mov    $0x3ec,%ecx
180039c03:	48 89 44 24 20       	mov    %rax,0x20(%rsp)
180039c08:	e8 6b cf 00 00       	call   0x180046b78
180039c0d:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
180039c12:	8b c7                	mov    %edi,%eax
180039c14:	48 8b 74 24 50       	mov    0x50(%rsp),%rsi
180039c19:	48 83 c4 30          	add    $0x30,%rsp
180039c1d:	5f                   	pop    %rdi
180039c1e:	c3                   	ret
180039c1f:	cc                   	int3
180039c20:	48 8b 03             	mov    (%rbx),%rax