45a6c0:	33 cd                	xor    %ebp,%ecx
45a6c2:	e8 5f 73 17 00       	call   0x5d1a26
45a6c7:	8b e5                	mov    %ebp,%esp
45a6c9:	5d                   	pop    %ebp
45a6ca:	c2 04 00             	ret    $0x4
45a6cd:	8b 46 0c             	mov    0xc(%esi),%eax
45a6d0:	2b c1                	sub    %ecx,%eax
45a6d2:	8b 4e 24             	mov    0x24(%esi),%ecx
45a6d5:	3b c1                	cmp    %ecx,%eax
45a6d7:	7c c4                	jl     0x45a69d
45a6d9:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
45a6dc:	74 bf                	je     0x45a69d
45a6de:	68 c1 00 00 00       	push   $0xc1
45a6e3:	68 98 64 60 00       	push   $0x606498
45a6e8:	6a 02                	push   $0x2
45a6ea:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45a6ed:	e8 ee ab 01 00       	call   0x4752e0
45a6f2:	68 48 65 60 00       	push   $0x606548
45a6f7:	ff 76 24             	push   0x24(%esi)
45a6fa:	8b c8                	mov    %eax,%ecx
45a6fc:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45a703:	68 00 65 60 00       	push   $0x606500
45a708:	e8 e3 b1 01 00       	call   0x4758f0
45a70d:	8b c8                	mov    %eax,%ecx
45a70f:	e8 fc b0 01 00       	call   0x475810
45a714:	8b c8                	mov    %eax,%ecx
45a716:	e8 d5 b1 01 00       	call   0x4758f0
45a71b:	50                   	push   %eax
45a71c:	8d 4d a6             	lea    -0x5a(%ebp),%ecx
45a71f:	e8 5c af 01 00       	call   0x475680
45a724:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45a727:	e8 e4 ae 01 00       	call   0x475610
45a72c:	e9 6c ff ff ff       	jmp    0x45a69d
45a731:	8b 45 8c             	mov    -0x74(%ebp),%eax
45a734:	8b 55 94             	mov    -0x6c(%ebp),%edx
45a737:	89 10                	mov    %edx,(%eax)
45a739:	89 48 04             	mov    %ecx,0x4(%eax)
45a73c:	b0 01                	mov    $0x1,%al
45a73e:	e9 6c ff ff ff       	jmp    0x45a6af
45a743:	cc                   	int3
45a744:	cc                   	int3
45a745:	cc                   	int3
45a746:	cc                   	int3
45a747:	cc                   	int3
45a748:	cc                   	int3
45a749:	cc                   	int3
45a74a:	cc                   	int3
45a74b:	cc                   	int3
45a74c:	cc                   	int3
45a74d:	cc                   	int3
45a74e:	cc                   	int3
45a74f:	cc                   	int3
45a750:	8b 51 04             	mov    0x4(%ecx),%edx
45a753:	03 51 20             	add    0x20(%ecx),%edx
45a756:	8b 41 0c             	mov    0xc(%ecx),%eax
45a759:	89 51 04             	mov    %edx,0x4(%ecx)
45a75c:	56                   	push   %esi
45a75d:	8b 71 1c             	mov    0x1c(%ecx),%esi
45a760:	39 71 24             	cmp    %esi,0x24(%ecx)
45a763:	0f 4c 71 24          	cmovl  0x24(%ecx),%esi
45a767:	3b f0                	cmp    %eax,%esi
45a769:	7d 0c                	jge    0x45a777
45a76b:	2b c6                	sub    %esi,%eax
45a76d:	2b d0                	sub    %eax,%edx
45a76f:	89 51 04             	mov    %edx,0x4(%ecx)
45a772:	89 41 20             	mov    %eax,0x20(%ecx)
45a775:	5e                   	pop    %esi
45a776:	c3                   	ret
45a777:	c7 41 20 00 00 00 00 	movl   $0x0,0x20(%ecx)
45a77e:	5e                   	pop    %esi
45a77f:	c3                   	ret
45a780:	55                   	push   %ebp
45a781:	8b ec                	mov    %esp,%ebp
45a783:	6a ff                	push   $0xffffffff
45a785:	68 56 89 5f 00       	push   $0x5f8956
45a78a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
45a790:	50                   	push   %eax
45a791:	83 ec 5c             	sub    $0x5c,%esp
45a794:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45a799:	33 c5                	xor    %ebp,%eax
45a79b:	89 45 f0             	mov    %eax,-0x10(%ebp)
45a79e:	53                   	push   %ebx
45a79f:	56                   	push   %esi
45a7a0:	57                   	push   %edi
45a7a1:	50                   	push   %eax
45a7a2:	8d 45 f4             	lea    -0xc(%ebp),%eax
45a7a5:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
45a7ab:	8b f1                	mov    %ecx,%esi
45a7ad:	33 db                	xor    %ebx,%ebx
45a7af:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a7b2:	8b 4e 20             	mov    0x20(%esi),%ecx
45a7b5:	85 c9                	test   %ecx,%ecx
45a7b7:	0f 8f e3 00 00 00    	jg     0x45a8a0
45a7bd:	39 5e 10             	cmp    %ebx,0x10(%esi)
45a7c0:	0f 8f da 00 00 00    	jg     0x45a8a0
45a7c6:	8b 46 0c             	mov    0xc(%esi),%eax
45a7c9:	3b 46 1c             	cmp    0x1c(%esi),%eax
45a7cc:	0f 84 ce 00 00 00    	je     0x45a8a0
45a7d2:	8b 7e 08             	mov    0x8(%esi),%edi
45a7d5:	8b 07                	mov    (%edi),%eax
45a7d7:	8d 4d a0             	lea    -0x60(%ebp),%ecx
45a7da:	51                   	push   %ecx
45a7db:	8d 4d 9c             	lea    -0x64(%ebp),%ecx
45a7de:	51                   	push   %ecx
45a7df:	8b 40 04             	mov    0x4(%eax),%eax
45a7e2:	8b cf                	mov    %edi,%ecx
45a7e4:	ff d0                	call   *%eax
45a7e6:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a7e9:	84 c0                	test   %al,%al
45a7eb:	0f 84 a8 00 00 00    	je     0x45a899
45a7f1:	85 c9                	test   %ecx,%ecx
45a7f3:	74 e0                	je     0x45a7d5
45a7f5:	84 c0                	test   %al,%al
45a7f7:	0f 84 9c 00 00 00    	je     0x45a899
45a7fd:	8b 45 9c             	mov    -0x64(%ebp),%eax
45a800:	89 06                	mov    %eax,(%esi)
45a802:	03 c1                	add    %ecx,%eax
45a804:	89 46 04             	mov    %eax,0x4(%esi)
45a807:	85 c9                	test   %ecx,%ecx
45a809:	79 3b                	jns    0x45a846
45a80b:	68 7e 02 00 00       	push   $0x27e
45a810:	68 98 64 60 00       	push   $0x606498
45a815:	6a 03                	push   $0x3
45a817:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45a81a:	e8 c1 aa 01 00       	call   0x4752e0
45a81f:	bb 02 00 00 00       	mov    $0x2,%ebx
45a824:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
45a82b:	68 f4 65 60 00       	push   $0x6065f4
45a830:	8b c8                	mov    %eax,%ecx
45a832:	89 5d 98             	mov    %ebx,-0x68(%ebp)
45a835:	e8 b6 b0 01 00       	call   0x4758f0
45a83a:	50                   	push   %eax
45a83b:	8d 4d a7             	lea    -0x59(%ebp),%ecx
45a83e:	e8 3d ae 01 00       	call   0x475680
45a843:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a846:	f6 c3 02             	test   $0x2,%bl
45a849:	74 0b                	je     0x45a856
45a84b:	8d 4d cc             	lea    -0x34(%ebp),%ecx
45a84e:	e8 bd ad 01 00       	call   0x475610
45a853:	8b 4d a0             	mov    -0x60(%ebp),%ecx
45a856:	8b 56 0c             	mov    0xc(%esi),%edx
45a859:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45a85e:	2b c1                	sub    %ecx,%eax
45a860:	3b d0                	cmp    %eax,%edx
45a862:	7f 14                	jg     0x45a878
45a864:	8d 04 0a             	lea    (%edx,%ecx,1),%eax
45a867:	8b ce                	mov    %esi,%ecx
45a869:	89 46 0c             	mov    %eax,0xc(%esi)
45a86c:	e8 df fe ff ff       	call   0x45a750
45a871:	b0 01                	mov    $0x1,%al
45a873:	e9 89 00 00 00       	jmp    0x45a901
45a878:	8d 82 01 00 00 80    	lea    -0x7fffffff(%edx),%eax
45a87e:	03 c1                	add    %ecx,%eax
45a880:	8b ce                	mov    %esi,%ecx
45a882:	29 46 04             	sub    %eax,0x4(%esi)
45a885:	89 46 10             	mov    %eax,0x10(%esi)
45a888:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45a88d:	89 46 0c             	mov    %eax,0xc(%esi)
45a890:	e8 bb fe ff ff       	call   0x45a750
45a895:	b0 01                	mov    $0x1,%al
45a897:	eb 68                	jmp    0x45a901
45a899:	89 1e                	mov    %ebx,(%esi)
45a89b:	89 5e 04             	mov    %ebx,0x4(%esi)
45a89e:	eb 5f                	jmp    0x45a8ff
45a8a0:	8b 46 0c             	mov    0xc(%esi),%eax
45a8a3:	2b c1                	sub    %ecx,%eax
45a8a5:	8b 4e 24             	mov    0x24(%esi),%ecx
45a8a8:	3b c1                	cmp    %ecx,%eax
45a8aa:	7c 53                	jl     0x45a8ff
45a8ac:	3b 4e 1c             	cmp    0x1c(%esi),%ecx
45a8af:	74 4e                	je     0x45a8ff
45a8b1:	68 c1 00 00 00       	push   $0xc1
45a8b6:	68 98 64 60 00       	push   $0x606498
45a8bb:	6a 02                	push   $0x2
45a8bd:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45a8c0:	e8 1b aa 01 00       	call   0x4752e0
45a8c5:	68 48 65 60 00       	push   $0x606548
45a8ca:	ff 76 24             	push   0x24(%esi)
45a8cd:	8b c8                	mov    %eax,%ecx
45a8cf:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
45a8d6:	68 00 65 60 00       	push   $0x606500
45a8db:	e8 10 b0 01 00       	call   0x4758f0
45a8e0:	8b c8                	mov    %eax,%ecx
45a8e2:	e8 29 af 01 00       	call   0x475810
45a8e7:	8b c8                	mov    %eax,%ecx
45a8e9:	e8 02 b0 01 00       	call   0x4758f0
45a8ee:	50                   	push   %eax
45a8ef:	8d 4d a6             	lea    -0x5a(%ebp),%ecx
45a8f2:	e8 89 ad 01 00       	call   0x475680
45a8f7:	8d 4d a8             	lea    -0x58(%ebp),%ecx
45a8fa:	e8 11 ad 01 00       	call   0x475610
45a8ff:	32 c0                	xor    %al,%al
45a901:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45a904:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
45a90b:	59                   	pop    %ecx
45a90c:	5f                   	pop    %edi
45a90d:	5e                   	pop    %esi
45a90e:	5b                   	pop    %ebx
45a90f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
45a912:	33 cd                	xor    %ebp,%ecx
45a914:	e8 0d 71 17 00       	call   0x5d1a26
45a919:	8b e5                	mov    %ebp,%esp
45a91b:	5d                   	pop    %ebp
45a91c:	c3                   	ret
45a91d:	cc                   	int3
45a91e:	cc                   	int3
45a91f:	cc                   	int3
45a920:	55                   	push   %ebp
45a921:	8b ec                	mov    %esp,%ebp
45a923:	56                   	push   %esi
45a924:	8b f1                	mov    %ecx,%esi
45a926:	83 7e 20 00          	cmpl   $0x0,0x20(%esi)
45a92a:	7e 0c                	jle    0x45a938
45a92c:	8b 45 0c             	mov    0xc(%ebp),%eax
45a92f:	01 06                	add    %eax,(%esi)
45a931:	32 c0                	xor    %al,%al
45a933:	5e                   	pop    %esi
45a934:	5d                   	pop    %ebp
45a935:	c2 08 00             	ret    $0x8
45a938:	57                   	push   %edi
45a939:	8b 7d 08             	mov    0x8(%ebp),%edi
45a93c:	2b 7d 0c             	sub    0xc(%ebp),%edi
45a93f:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
45a945:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45a94c:	8b 46 24             	mov    0x24(%esi),%eax
45a94f:	8b 4e 1c             	mov    0x1c(%esi),%ecx
45a952:	3b c1                	cmp    %ecx,%eax
45a954:	0f 4c c8             	cmovl  %eax,%ecx
45a957:	8b d1                	mov    %ecx,%edx
45a959:	2b 56 0c             	sub    0xc(%esi),%edx
45a95c:	3b d7                	cmp    %edi,%edx
45a95e:	7d 18                	jge    0x45a978
45a960:	85 d2                	test   %edx,%edx
45a962:	7e 0c                	jle    0x45a970
45a964:	89 4e 0c             	mov    %ecx,0xc(%esi)
45a967:	8b 4e 08             	mov    0x8(%esi),%ecx
45a96a:	52                   	push   %edx
45a96b:	8b 01                	mov    (%ecx),%eax
45a96d:	ff 50 0c             	call   *0xc(%eax)
45a970:	5f                   	pop    %edi
45a971:	32 c0                	xor    %al,%al
45a973:	5e                   	pop    %esi
45a974:	5d                   	pop    %ebp
45a975:	c2 08 00             	ret    $0x8
45a978:	8b 4e 08             	mov    0x8(%esi),%ecx
45a97b:	57                   	push   %edi
45a97c:	8b 01                	mov    (%ecx),%eax
45a97e:	8b 40 0c             	mov    0xc(%eax),%eax
45a981:	ff d0                	call   *%eax
45a983:	84 c0                	test   %al,%al
45a985:	75 15                	jne    0x45a99c
45a987:	8b 4e 08             	mov    0x8(%esi),%ecx
45a98a:	8b 01                	mov    (%ecx),%eax
45a98c:	8b 40 10             	mov    0x10(%eax),%eax
45a98f:	ff d0                	call   *%eax
45a991:	89 46 0c             	mov    %eax,0xc(%esi)
45a994:	32 c0                	xor    %al,%al
45a996:	5f                   	pop    %edi
45a997:	5e                   	pop    %esi
45a998:	5d                   	pop    %ebp
45a999:	c2 08 00             	ret    $0x8
45a99c:	01 7e 0c             	add    %edi,0xc(%esi)
45a99f:	b0 01                	mov    $0x1,%al
45a9a1:	5f                   	pop    %edi
45a9a2:	5e                   	pop    %esi
45a9a3:	5d                   	pop    %ebp
45a9a4:	c2 08 00             	ret    $0x8
45a9a7:	cc                   	int3
45a9a8:	cc                   	int3
45a9a9:	cc                   	int3
45a9aa:	cc                   	int3
45a9ab:	cc                   	int3
45a9ac:	cc                   	int3
45a9ad:	cc                   	int3
45a9ae:	cc                   	int3
45a9af:	cc                   	int3
45a9b0:	55                   	push   %ebp
45a9b1:	8b ec                	mov    %esp,%ebp
45a9b3:	83 ec 14             	sub    $0x14,%esp
45a9b6:	8b 45 0c             	mov    0xc(%ebp),%eax
45a9b9:	53                   	push   %ebx
45a9ba:	8b 5d 10             	mov    0x10(%ebp),%ebx
45a9bd:	56                   	push   %esi
45a9be:	8b f1                	mov    %ecx,%esi
45a9c0:	89 45 f8             	mov    %eax,-0x8(%ebp)
45a9c3:	8b 4d 08             	mov    0x8(%ebp),%ecx
45a9c6:	57                   	push   %edi
45a9c7:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45a9ca:	8b 3e                	mov    (%esi),%edi
45a9cc:	2b fb                	sub    %ebx,%edi
45a9ce:	83 c7 10             	add    $0x10,%edi
45a9d1:	3b f8                	cmp    %eax,%edi
45a9d3:	0f 8d 00 01 00 00    	jge    0x45aad9
45a9d9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45a9e0:	57                   	push   %edi
45a9e1:	51                   	push   %ecx
45a9e2:	53                   	push   %ebx
45a9e3:	e8 e8 83 17 00       	call   0x5d2dd0
45a9e8:	29 7d f8             	sub    %edi,-0x8(%ebp)
45a9eb:	03 df                	add    %edi,%ebx
45a9ed:	01 7d fc             	add    %edi,-0x4(%ebp)
45a9f0:	83 c4 0c             	add    $0xc,%esp
45a9f3:	80 7e 2c 00          	cmpb   $0x0,0x2c(%esi)
45a9f7:	8b 3e                	mov    (%esi),%edi
45a9f9:	0f 85 c2 00 00 00    	jne    0x45aac1
45a9ff:	8b c7                	mov    %edi,%eax
45aa01:	2b d8                	sub    %eax,%ebx
45aa03:	83 7e 28 00          	cmpl   $0x0,0x28(%esi)
45aa07:	89 5d f0             	mov    %ebx,-0x10(%ebp)
45aa0a:	75 0c                	jne    0x45aa18
45aa0c:	c6 46 2c 01          	movb   $0x1,0x2c(%esi)
45aa10:	8d 4e 08             	lea    0x8(%esi),%ecx
45aa13:	e9 88 00 00 00       	jmp    0x45aaa0
45aa18:	8b 4e 04             	mov    0x4(%esi),%ecx
45aa1b:	85 c9                	test   %ecx,%ecx
45aa1d:	74 75                	je     0x45aa94
45aa1f:	2b c6                	sub    %esi,%eax
45aa21:	83 e8 08             	sub    $0x8,%eax
45aa24:	50                   	push   %eax
45aa25:	8d 46 08             	lea    0x8(%esi),%eax
45aa28:	50                   	push   %eax
45aa29:	51                   	push   %ecx
45aa2a:	e8 a1 83 17 00       	call   0x5d2dd0
45aa2f:	83 c4 0c             	add    $0xc,%esp
45aa32:	8b 4e 28             	mov    0x28(%esi),%ecx
45aa35:	8d 55 f4             	lea    -0xc(%ebp),%edx
45aa38:	52                   	push   %edx
45aa39:	8d 55 ec             	lea    -0x14(%ebp),%edx
45aa3c:	52                   	push   %edx
45aa3d:	8b 01                	mov    (%ecx),%eax
45aa3f:	8b 40 04             	mov    0x4(%eax),%eax
45aa42:	ff d0                	call   *%eax
45aa44:	84 c0                	test   %al,%al
45aa46:	74 c4                	je     0x45aa0c
45aa48:	8b 45 f4             	mov    -0xc(%ebp),%eax
45aa4b:	8b 5d ec             	mov    -0x14(%ebp),%ebx
45aa4e:	85 c0                	test   %eax,%eax
45aa50:	74 e0                	je     0x45aa32
45aa52:	8b 0e                	mov    (%esi),%ecx
45aa54:	83 f8 10             	cmp    $0x10,%eax
45aa57:	7e 1a                	jle    0x45aa73
45aa59:	0f 10 01             	movups (%ecx),%xmm0
45aa5c:	8d 4e 08             	lea    0x8(%esi),%ecx
45aa5f:	0f 11 03             	movups %xmm0,(%ebx)
45aa62:	8b 45 f4             	mov    -0xc(%ebp),%eax
45aa65:	83 c0 f0             	add    $0xfffffff0,%eax
45aa68:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
45aa6f:	03 c3                	add    %ebx,%eax
45aa71:	eb 32                	jmp    0x45aaa5
45aa73:	6a 10                	push   $0x10