45e71e:	83 c4 08             	add    $0x8,%esp
45e721:	85 f6                	test   %esi,%esi
45e723:	74 29                	je     0x45e74e
45e725:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45e728:	0b 4d fc             	or     -0x4(%ebp),%ecx
45e72b:	74 04                	je     0x45e731
45e72d:	b0 01                	mov    $0x1,%al
45e72f:	eb 02                	jmp    0x45e733
45e731:	32 c0                	xor    %al,%al
45e733:	8b 4d 10             	mov    0x10(%ebp),%ecx
45e736:	88 45 0b             	mov    %al,0xb(%ebp)
45e739:	8d 45 0b             	lea    0xb(%ebp),%eax
45e73c:	50                   	push   %eax
45e73d:	e8 5e e9 ff ff       	call   0x45d0a0
45e742:	3b f7                	cmp    %edi,%esi
45e744:	72 cc                	jb     0x45e712
45e746:	5f                   	pop    %edi
45e747:	8b c6                	mov    %esi,%eax
45e749:	5e                   	pop    %esi
45e74a:	8b e5                	mov    %ebp,%esp
45e74c:	5d                   	pop    %ebp
45e74d:	c3                   	ret
45e74e:	5f                   	pop    %edi
45e74f:	33 c0                	xor    %eax,%eax
45e751:	5e                   	pop    %esi
45e752:	8b e5                	mov    %ebp,%esp
45e754:	5d                   	pop    %ebp
45e755:	c3                   	ret
45e756:	cc                   	int3
45e757:	cc                   	int3
45e758:	cc                   	int3
45e759:	cc                   	int3
45e75a:	cc                   	int3
45e75b:	cc                   	int3
45e75c:	cc                   	int3
45e75d:	cc                   	int3
45e75e:	cc                   	int3
45e75f:	cc                   	int3
45e760:	55                   	push   %ebp
45e761:	8b ec                	mov    %esp,%ebp
45e763:	83 ec 28             	sub    $0x28,%esp
45e766:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45e76b:	33 c5                	xor    %ebp,%eax
45e76d:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e770:	8b 45 0c             	mov    0xc(%ebp),%eax
45e773:	53                   	push   %ebx
45e774:	56                   	push   %esi
45e775:	8b 75 08             	mov    0x8(%ebp),%esi
45e778:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e77b:	8d 45 dc             	lea    -0x24(%ebp),%eax
45e77e:	57                   	push   %edi
45e77f:	8b 7d 10             	mov    0x10(%ebp),%edi
45e782:	50                   	push   %eax
45e783:	e8 58 10 00 00       	call   0x45f7e0
45e788:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45e78b:	83 c4 04             	add    $0x4,%esp
45e78e:	8b c8                	mov    %eax,%ecx
45e790:	89 4d d8             	mov    %ecx,-0x28(%ebp)
45e793:	85 db                	test   %ebx,%ebx
45e795:	0f 84 b8 00 00 00    	je     0x45e853
45e79b:	8b 57 04             	mov    0x4(%edi),%edx
45e79e:	8b c2                	mov    %edx,%eax
45e7a0:	2b c3                	sub    %ebx,%eax
45e7a2:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e7a5:	3b c8                	cmp    %eax,%ecx
45e7a7:	7e 79                	jle    0x45e822
45e7a9:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45e7b0:	56                   	push   %esi
45e7b1:	52                   	push   %edx
45e7b2:	53                   	push   %ebx
45e7b3:	e8 b8 fc ff ff       	call   0x45e470
45e7b8:	8b d8                	mov    %eax,%ebx
45e7ba:	83 c4 0c             	add    $0xc,%esp
45e7bd:	85 db                	test   %ebx,%ebx
45e7bf:	0f 84 8e 00 00 00    	je     0x45e853
45e7c5:	8b 55 d8             	mov    -0x28(%ebp),%edx
45e7c8:	8b ca                	mov    %edx,%ecx
45e7ca:	8b 45 dc             	mov    -0x24(%ebp),%eax
45e7cd:	2b c8                	sub    %eax,%ecx
45e7cf:	2b 5f 04             	sub    0x4(%edi),%ebx
45e7d2:	83 f9 10             	cmp    $0x10,%ecx
45e7d5:	0f 8e 8b 00 00 00    	jle    0x45e866
45e7db:	03 c3                	add    %ebx,%eax
45e7dd:	2b d0                	sub    %eax,%edx
45e7df:	83 7f 10 10          	cmpl   $0x10,0x10(%edi)
45e7e3:	89 55 d8             	mov    %edx,-0x28(%ebp)
45e7e6:	7e 6b                	jle    0x45e853
45e7e8:	6a ff                	push   $0xffffffff
45e7ea:	6a 00                	push   $0x0
45e7ec:	8b cf                	mov    %edi,%ecx
45e7ee:	e8 6d 0a 00 00       	call   0x45f260
45e7f3:	8b 57 04             	mov    0x4(%edi),%edx
45e7f6:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e7f9:	85 c0                	test   %eax,%eax
45e7fb:	74 4d                	je     0x45e84a
45e7fd:	8b c8                	mov    %eax,%ecx
45e7ff:	b8 00 00 00 00       	mov    $0x0,%eax
45e804:	2b ca                	sub    %edx,%ecx
45e806:	01 4f 10             	add    %ecx,0x10(%edi)
45e809:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45e80c:	0f 48 47 10          	cmovs  0x10(%edi),%eax
45e810:	03 c2                	add    %edx,%eax
45e812:	89 07                	mov    %eax,(%edi)
45e814:	8b c2                	mov    %edx,%eax
45e816:	03 5d dc             	add    -0x24(%ebp),%ebx
45e819:	2b c3                	sub    %ebx,%eax
45e81b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e81e:	3b c8                	cmp    %eax,%ecx
45e820:	7f 8e                	jg     0x45e7b0
45e822:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
45e825:	56                   	push   %esi
45e826:	57                   	push   %edi
45e827:	53                   	push   %ebx
45e828:	e8 43 fc ff ff       	call   0x45e470
45e82d:	83 c4 0c             	add    $0xc,%esp
45e830:	33 c9                	xor    %ecx,%ecx
45e832:	3b f8                	cmp    %eax,%edi
45e834:	0f 44 c8             	cmove  %eax,%ecx
45e837:	5f                   	pop    %edi
45e838:	5e                   	pop    %esi
45e839:	8b c1                	mov    %ecx,%eax
45e83b:	5b                   	pop    %ebx
45e83c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e83f:	33 cd                	xor    %ebp,%ecx
45e841:	e8 e0 31 17 00       	call   0x5d1a26
45e846:	8b e5                	mov    %ebp,%esp
45e848:	5d                   	pop    %ebp
45e849:	c3                   	ret
45e84a:	c7 47 3c 01 00 00 00 	movl   $0x1,0x3c(%edi)
45e851:	89 17                	mov    %edx,(%edi)
45e853:	5f                   	pop    %edi
45e854:	5e                   	pop    %esi
45e855:	33 c0                	xor    %eax,%eax
45e857:	5b                   	pop    %ebx
45e858:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e85b:	33 cd                	xor    %ebp,%ecx
45e85d:	e8 c4 31 17 00       	call   0x5d1a26
45e862:	8b e5                	mov    %ebp,%esp
45e864:	5d                   	pop    %ebp
45e865:	c3                   	ret
45e866:	33 c0                	xor    %eax,%eax
45e868:	0f 57 c0             	xorps  %xmm0,%xmm0
45e86b:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
45e86f:	8b 47 04             	mov    0x4(%edi),%eax
45e872:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
45e877:	56                   	push   %esi
45e878:	0f 10 00             	movups (%eax),%xmm0
45e87b:	8d 45 e0             	lea    -0x20(%ebp),%eax
45e87e:	03 c1                	add    %ecx,%eax
45e880:	50                   	push   %eax
45e881:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e884:	8d 45 e0             	lea    -0x20(%ebp),%eax
45e887:	03 c3                	add    %ebx,%eax
45e889:	50                   	push   %eax
45e88a:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
45e88e:	e8 dd fb ff ff       	call   0x45e470
45e893:	8b c8                	mov    %eax,%ecx
45e895:	83 c4 0c             	add    $0xc,%esp
45e898:	85 c9                	test   %ecx,%ecx
45e89a:	74 b7                	je     0x45e853
45e89c:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
45e89f:	75 b2                	jne    0x45e853
45e8a1:	8b 47 04             	mov    0x4(%edi),%eax
45e8a4:	8d 55 e0             	lea    -0x20(%ebp),%edx
45e8a7:	2b c2                	sub    %edx,%eax
45e8a9:	03 c1                	add    %ecx,%eax
45e8ab:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e8ae:	5f                   	pop    %edi
45e8af:	5e                   	pop    %esi
45e8b0:	33 cd                	xor    %ebp,%ecx
45e8b2:	5b                   	pop    %ebx
45e8b3:	e8 6e 31 17 00       	call   0x5d1a26
45e8b8:	8b e5                	mov    %ebp,%esp
45e8ba:	5d                   	pop    %ebp
45e8bb:	c3                   	ret
45e8bc:	cc                   	int3
45e8bd:	cc                   	int3
45e8be:	cc                   	int3
45e8bf:	cc                   	int3
45e8c0:	55                   	push   %ebp
45e8c1:	8b ec                	mov    %esp,%ebp
45e8c3:	83 ec 28             	sub    $0x28,%esp
45e8c6:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45e8cb:	33 c5                	xor    %ebp,%eax
45e8cd:	89 45 fc             	mov    %eax,-0x4(%ebp)
45e8d0:	8b 45 0c             	mov    0xc(%ebp),%eax
45e8d3:	53                   	push   %ebx
45e8d4:	56                   	push   %esi
45e8d5:	8b 75 08             	mov    0x8(%ebp),%esi
45e8d8:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e8db:	8d 45 dc             	lea    -0x24(%ebp),%eax
45e8de:	57                   	push   %edi
45e8df:	8b 7d 10             	mov    0x10(%ebp),%edi
45e8e2:	50                   	push   %eax
45e8e3:	e8 f8 0e 00 00       	call   0x45f7e0
45e8e8:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45e8eb:	83 c4 04             	add    $0x4,%esp
45e8ee:	8b c8                	mov    %eax,%ecx
45e8f0:	89 4d d8             	mov    %ecx,-0x28(%ebp)
45e8f3:	85 db                	test   %ebx,%ebx
45e8f5:	0f 84 b8 00 00 00    	je     0x45e9b3
45e8fb:	8b 57 04             	mov    0x4(%edi),%edx
45e8fe:	8b c2                	mov    %edx,%eax
45e900:	2b c3                	sub    %ebx,%eax
45e902:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e905:	3b c8                	cmp    %eax,%ecx
45e907:	7e 79                	jle    0x45e982
45e909:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45e910:	56                   	push   %esi
45e911:	52                   	push   %edx
45e912:	53                   	push   %ebx
45e913:	e8 98 fc ff ff       	call   0x45e5b0
45e918:	8b d8                	mov    %eax,%ebx
45e91a:	83 c4 0c             	add    $0xc,%esp
45e91d:	85 db                	test   %ebx,%ebx
45e91f:	0f 84 8e 00 00 00    	je     0x45e9b3
45e925:	8b 55 d8             	mov    -0x28(%ebp),%edx
45e928:	8b ca                	mov    %edx,%ecx
45e92a:	8b 45 dc             	mov    -0x24(%ebp),%eax
45e92d:	2b c8                	sub    %eax,%ecx
45e92f:	2b 5f 04             	sub    0x4(%edi),%ebx
45e932:	83 f9 10             	cmp    $0x10,%ecx
45e935:	0f 8e 8b 00 00 00    	jle    0x45e9c6
45e93b:	03 c3                	add    %ebx,%eax
45e93d:	2b d0                	sub    %eax,%edx
45e93f:	83 7f 10 10          	cmpl   $0x10,0x10(%edi)
45e943:	89 55 d8             	mov    %edx,-0x28(%ebp)
45e946:	7e 6b                	jle    0x45e9b3
45e948:	6a ff                	push   $0xffffffff
45e94a:	6a 00                	push   $0x0
45e94c:	8b cf                	mov    %edi,%ecx
45e94e:	e8 0d 09 00 00       	call   0x45f260
45e953:	8b 57 04             	mov    0x4(%edi),%edx
45e956:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e959:	85 c0                	test   %eax,%eax
45e95b:	74 4d                	je     0x45e9aa
45e95d:	8b c8                	mov    %eax,%ecx
45e95f:	b8 00 00 00 00       	mov    $0x0,%eax
45e964:	2b ca                	sub    %edx,%ecx
45e966:	01 4f 10             	add    %ecx,0x10(%edi)
45e969:	8b 4d d8             	mov    -0x28(%ebp),%ecx
45e96c:	0f 48 47 10          	cmovs  0x10(%edi),%eax
45e970:	03 c2                	add    %edx,%eax
45e972:	89 07                	mov    %eax,(%edi)
45e974:	8b c2                	mov    %edx,%eax
45e976:	03 5d dc             	add    -0x24(%ebp),%ebx
45e979:	2b c3                	sub    %ebx,%eax
45e97b:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e97e:	3b c8                	cmp    %eax,%ecx
45e980:	7f 8e                	jg     0x45e910
45e982:	8d 3c 19             	lea    (%ecx,%ebx,1),%edi
45e985:	56                   	push   %esi
45e986:	57                   	push   %edi
45e987:	53                   	push   %ebx
45e988:	e8 23 fc ff ff       	call   0x45e5b0
45e98d:	83 c4 0c             	add    $0xc,%esp
45e990:	33 c9                	xor    %ecx,%ecx
45e992:	3b f8                	cmp    %eax,%edi
45e994:	0f 44 c8             	cmove  %eax,%ecx
45e997:	5f                   	pop    %edi
45e998:	5e                   	pop    %esi
45e999:	8b c1                	mov    %ecx,%eax
45e99b:	5b                   	pop    %ebx
45e99c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e99f:	33 cd                	xor    %ebp,%ecx
45e9a1:	e8 80 30 17 00       	call   0x5d1a26
45e9a6:	8b e5                	mov    %ebp,%esp
45e9a8:	5d                   	pop    %ebp
45e9a9:	c3                   	ret
45e9aa:	c7 47 3c 01 00 00 00 	movl   $0x1,0x3c(%edi)
45e9b1:	89 17                	mov    %edx,(%edi)
45e9b3:	5f                   	pop    %edi
45e9b4:	5e                   	pop    %esi
45e9b5:	33 c0                	xor    %eax,%eax
45e9b7:	5b                   	pop    %ebx
45e9b8:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45e9bb:	33 cd                	xor    %ebp,%ecx
45e9bd:	e8 64 30 17 00       	call   0x5d1a26
45e9c2:	8b e5                	mov    %ebp,%esp
45e9c4:	5d                   	pop    %ebp
45e9c5:	c3                   	ret
45e9c6:	33 c0                	xor    %eax,%eax
45e9c8:	0f 57 c0             	xorps  %xmm0,%xmm0
45e9cb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
45e9cf:	8b 47 04             	mov    0x4(%edi),%eax
45e9d2:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
45e9d7:	56                   	push   %esi
45e9d8:	0f 10 00             	movups (%eax),%xmm0
45e9db:	8d 45 e0             	lea    -0x20(%ebp),%eax
45e9de:	03 c1                	add    %ecx,%eax
45e9e0:	50                   	push   %eax
45e9e1:	89 45 dc             	mov    %eax,-0x24(%ebp)
45e9e4:	8d 45 e0             	lea    -0x20(%ebp),%eax
45e9e7:	03 c3                	add    %ebx,%eax
45e9e9:	50                   	push   %eax
45e9ea:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
45e9ee:	e8 bd fb ff ff       	call   0x45e5b0
45e9f3:	8b c8                	mov    %eax,%ecx
45e9f5:	83 c4 0c             	add    $0xc,%esp
45e9f8:	85 c9                	test   %ecx,%ecx
45e9fa:	74 b7                	je     0x45e9b3
45e9fc:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
45e9ff:	75 b2                	jne    0x45e9b3
45ea01:	8b 47 04             	mov    0x4(%edi),%eax
45ea04:	8d 55 e0             	lea    -0x20(%ebp),%edx
45ea07:	2b c2                	sub    %edx,%eax
45ea09:	03 c1                	add    %ecx,%eax
45ea0b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ea0e:	5f                   	pop    %edi
45ea0f:	5e                   	pop    %esi
45ea10:	33 cd                	xor    %ebp,%ecx
45ea12:	5b                   	pop    %ebx
45ea13:	e8 0e 30 17 00       	call   0x5d1a26
45ea18:	8b e5                	mov    %ebp,%esp
45ea1a:	5d                   	pop    %ebp
45ea1b:	c3                   	ret
45ea1c:	cc                   	int3
45ea1d:	cc                   	int3
45ea1e:	cc                   	int3
45ea1f:	cc                   	int3
45ea20:	55                   	push   %ebp
45ea21:	8b ec                	mov    %esp,%ebp
45ea23:	83 ec 28             	sub    $0x28,%esp
45ea26:	a1 c0 14 69 00       	mov    0x6914c0,%eax
45ea2b:	33 c5                	xor    %ebp,%eax
45ea2d:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ea30:	8b 45 0c             	mov    0xc(%ebp),%eax
45ea33:	53                   	push   %ebx
45ea34:	56                   	push   %esi
45ea35:	8b 75 08             	mov    0x8(%ebp),%esi
45ea38:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ea3b:	8d 45 dc             	lea    -0x24(%ebp),%eax
45ea3e:	57                   	push   %edi
45ea3f:	8b 7d 10             	mov    0x10(%ebp),%edi
45ea42:	50                   	push   %eax
45ea43:	e8 98 0d 00 00       	call   0x45f7e0
45ea48:	8b 5d dc             	mov    -0x24(%ebp),%ebx
45ea4b:	83 c4 04             	add    $0x4,%esp
45ea4e:	8b c8                	mov    %eax,%ecx
45ea50:	89 4d d8             	mov    %ecx,-0x28(%ebp)
45ea53:	85 db                	test   %ebx,%ebx
45ea55:	0f 84 b8 00 00 00    	je     0x45eb13
45ea5b:	8b 57 04             	mov    0x4(%edi),%edx
45ea5e:	8b c2                	mov    %edx,%eax
45ea60:	2b c3                	sub    %ebx,%eax
45ea62:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ea65:	3b c8                	cmp    %eax,%ecx
45ea67:	7e 79                	jle    0x45eae2
45ea69:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
45ea70:	56                   	push   %esi