45aa75:	51                   	push   %ecx
45aa76:	8d 7e 08             	lea    0x8(%esi),%edi
45aa79:	57                   	push   %edi
45aa7a:	e8 51 83 17 00       	call   0x5d2dd0
45aa7f:	8b 45 f4             	mov    -0xc(%ebp),%eax
45aa82:	8d 4e 08             	lea    0x8(%esi),%ecx
45aa85:	83 c0 08             	add    $0x8,%eax
45aa88:	89 5e 04             	mov    %ebx,0x4(%esi)
45aa8b:	83 c4 0c             	add    $0xc,%esp
45aa8e:	8b df                	mov    %edi,%ebx
45aa90:	03 c6                	add    %esi,%eax
45aa92:	eb 11                	jmp    0x45aaa5
45aa94:	0f 10 00             	movups (%eax),%xmm0
45aa97:	8d 4e 08             	lea    0x8(%esi),%ecx
45aa9a:	89 46 04             	mov    %eax,0x4(%esi)
45aa9d:	0f 11 01             	movups %xmm0,(%ecx)
45aaa0:	8b d9                	mov    %ecx,%ebx
45aaa2:	8d 46 18             	lea    0x18(%esi),%eax
45aaa5:	01 5d f0             	add    %ebx,-0x10(%ebp)
45aaa8:	8b 5d f0             	mov    -0x10(%ebp),%ebx
45aaab:	89 06                	mov    %eax,(%esi)
45aaad:	8b 3e                	mov    (%esi),%edi
45aaaf:	8b c7                	mov    %edi,%eax
45aab1:	3b df                	cmp    %edi,%ebx
45aab3:	72 11                	jb     0x45aac6
45aab5:	80 7e 2c 00          	cmpb   $0x0,0x2c(%esi)
45aab9:	0f 84 42 ff ff ff    	je     0x45aa01
45aabf:	eb 03                	jmp    0x45aac4
45aac1:	8d 4e 08             	lea    0x8(%esi),%ecx
45aac4:	8b d9                	mov    %ecx,%ebx
45aac6:	8b 45 f8             	mov    -0x8(%ebp),%eax
45aac9:	2b fb                	sub    %ebx,%edi
45aacb:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45aace:	83 c7 10             	add    $0x10,%edi
45aad1:	3b f8                	cmp    %eax,%edi
45aad3:	0f 8c 07 ff ff ff    	jl     0x45a9e0
45aad9:	50                   	push   %eax
45aada:	51                   	push   %ecx
45aadb:	53                   	push   %ebx
45aadc:	e8 ef 82 17 00       	call   0x5d2dd0
45aae1:	8b 45 f8             	mov    -0x8(%ebp),%eax
45aae4:	83 c4 0c             	add    $0xc,%esp
45aae7:	03 c3                	add    %ebx,%eax
45aae9:	5f                   	pop    %edi
45aaea:	5e                   	pop    %esi
45aaeb:	5b                   	pop    %ebx
45aaec:	8b e5                	mov    %ebp,%esp
45aaee:	5d                   	pop    %ebp
45aaef:	c2 0c 00             	ret    $0xc
45aaf2:	cc                   	int3
45aaf3:	cc                   	int3
45aaf4:	cc                   	int3
45aaf5:	cc                   	int3
45aaf6:	cc                   	int3
45aaf7:	cc                   	int3
45aaf8:	cc                   	int3
45aaf9:	cc                   	int3
45aafa:	cc                   	int3
45aafb:	cc                   	int3
45aafc:	cc                   	int3
45aafd:	cc                   	int3
45aafe:	cc                   	int3
45aaff:	cc                   	int3
45ab00:	55                   	push   %ebp
45ab01:	8b ec                	mov    %esp,%ebp
45ab03:	83 ec 08             	sub    $0x8,%esp
45ab06:	8b 45 10             	mov    0x10(%ebp),%eax
45ab09:	53                   	push   %ebx
45ab0a:	8b 5d 0c             	mov    0xc(%ebp),%ebx
45ab0d:	56                   	push   %esi
45ab0e:	8b 75 08             	mov    0x8(%ebp),%esi
45ab11:	57                   	push   %edi
45ab12:	8b f9                	mov    %ecx,%edi
45ab14:	89 5d fc             	mov    %ebx,-0x4(%ebp)
45ab17:	3b 07                	cmp    (%edi),%eax
45ab19:	72 06                	jb     0x45ab21
45ab1b:	50                   	push   %eax
45ab1c:	e8 4f ea ff ff       	call   0x459570
45ab21:	8b 5b 10             	mov    0x10(%ebx),%ebx
45ab24:	50                   	push   %eax
45ab25:	8d 04 f5 00 00 00 00 	lea    0x0(,%esi,8),%eax
45ab2c:	83 c8 02             	or     $0x2,%eax
45ab2f:	50                   	push   %eax
45ab30:	e8 8b 5f ff ff       	call   0x450ac0
45ab35:	83 c4 08             	add    $0x8,%esp
45ab38:	8b d3                	mov    %ebx,%edx
45ab3a:	81 fb 80 00 00 00    	cmp    $0x80,%ebx
45ab40:	72 13                	jb     0x45ab55
45ab42:	8a ca                	mov    %dl,%cl
45ab44:	c1 ea 07             	shr    $0x7,%edx
45ab47:	80 c9 80             	or     $0x80,%cl
45ab4a:	88 08                	mov    %cl,(%eax)
45ab4c:	40                   	inc    %eax
45ab4d:	81 fa 80 00 00 00    	cmp    $0x80,%edx
45ab53:	73 ed                	jae    0x45ab42
45ab55:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ab58:	8d 70 01             	lea    0x1(%eax),%esi
45ab5b:	88 10                	mov    %dl,(%eax)
45ab5d:	83 79 14 10          	cmpl   $0x10,0x14(%ecx)
45ab61:	72 05                	jb     0x45ab68
45ab63:	8b 09                	mov    (%ecx),%ecx
45ab65:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45ab68:	8b 17                	mov    (%edi),%edx
45ab6a:	2b d6                	sub    %esi,%edx
45ab6c:	80 7f 2d 00          	cmpb   $0x0,0x2d(%edi)
45ab70:	0f 84 90 00 00 00    	je     0x45ac06
45ab76:	8d 42 10             	lea    0x10(%edx),%eax
45ab79:	3b d8                	cmp    %eax,%ebx
45ab7b:	7d 31                	jge    0x45abae
45ab7d:	3b d3                	cmp    %ebx,%edx
45ab7f:	7d 15                	jge    0x45ab96
45ab81:	56                   	push   %esi
45ab82:	53                   	push   %ebx
45ab83:	51                   	push   %ecx
45ab84:	8b cf                	mov    %edi,%ecx
45ab86:	e8 25 fe ff ff       	call   0x45a9b0
45ab8b:	5f                   	pop    %edi
45ab8c:	8b f0                	mov    %eax,%esi
45ab8e:	5e                   	pop    %esi
45ab8f:	5b                   	pop    %ebx
45ab90:	8b e5                	mov    %ebp,%esp
45ab92:	5d                   	pop    %ebp
45ab93:	c2 0c 00             	ret    $0xc
45ab96:	53                   	push   %ebx
45ab97:	51                   	push   %ecx
45ab98:	56                   	push   %esi
45ab99:	e8 32 82 17 00       	call   0x5d2dd0
45ab9e:	83 c4 0c             	add    $0xc,%esp
45aba1:	03 f3                	add    %ebx,%esi
45aba3:	8b c6                	mov    %esi,%eax
45aba5:	5f                   	pop    %edi
45aba6:	5e                   	pop    %esi
45aba7:	5b                   	pop    %ebx
45aba8:	8b e5                	mov    %ebp,%esp
45abaa:	5d                   	pop    %ebp
45abab:	c2 0c 00             	ret    $0xc
45abae:	80 7f 2c 00          	cmpb   $0x0,0x2c(%edi)
45abb2:	75 22                	jne    0x45abd6
45abb4:	56                   	push   %esi
45abb5:	8b cf                	mov    %edi,%ecx
45abb7:	e8 a4 ea ff ff       	call   0x459660
45abbc:	85 c0                	test   %eax,%eax
45abbe:	74 09                	je     0x45abc9
45abc0:	8b 4f 28             	mov    0x28(%edi),%ecx
45abc3:	50                   	push   %eax
45abc4:	8b 11                	mov    (%ecx),%edx
45abc6:	ff 52 08             	call   *0x8(%edx)
45abc9:	8d 77 08             	lea    0x8(%edi),%esi
45abcc:	89 37                	mov    %esi,(%edi)
45abce:	89 77 04             	mov    %esi,0x4(%edi)
45abd1:	89 75 f8             	mov    %esi,-0x8(%ebp)
45abd4:	eb 06                	jmp    0x45abdc
45abd6:	8d 47 08             	lea    0x8(%edi),%eax
45abd9:	89 45 f8             	mov    %eax,-0x8(%ebp)
45abdc:	8b 4f 28             	mov    0x28(%edi),%ecx
45abdf:	53                   	push   %ebx
45abe0:	8b 5d fc             	mov    -0x4(%ebp),%ebx
45abe3:	53                   	push   %ebx
45abe4:	8b 01                	mov    (%ecx),%eax
45abe6:	8b 40 10             	mov    0x10(%eax),%eax
45abe9:	ff d0                	call   *%eax
45abeb:	84 c0                	test   %al,%al
45abed:	75 0c                	jne    0x45abfb
45abef:	8b 75 f8             	mov    -0x8(%ebp),%esi
45abf2:	8d 47 18             	lea    0x18(%edi),%eax
45abf5:	c6 47 2c 01          	movb   $0x1,0x2c(%edi)
45abf9:	89 07                	mov    %eax,(%edi)
45abfb:	5f                   	pop    %edi
45abfc:	8b c6                	mov    %esi,%eax
45abfe:	5e                   	pop    %esi
45abff:	5b                   	pop    %ebx
45ac00:	8b e5                	mov    %ebp,%esp
45ac02:	5d                   	pop    %ebp
45ac03:	c2 0c 00             	ret    $0xc
45ac06:	3b d3                	cmp    %ebx,%edx
45ac08:	7d 13                	jge    0x45ac1d
45ac0a:	56                   	push   %esi
45ac0b:	53                   	push   %ebx
45ac0c:	51                   	push   %ecx
45ac0d:	8b cf                	mov    %edi,%ecx
45ac0f:	e8 9c fd ff ff       	call   0x45a9b0
45ac14:	5f                   	pop    %edi
45ac15:	5e                   	pop    %esi
45ac16:	5b                   	pop    %ebx
45ac17:	8b e5                	mov    %ebp,%esp
45ac19:	5d                   	pop    %ebp
45ac1a:	c2 0c 00             	ret    $0xc
45ac1d:	53                   	push   %ebx
45ac1e:	51                   	push   %ecx
45ac1f:	56                   	push   %esi
45ac20:	e8 ab 81 17 00       	call   0x5d2dd0
45ac25:	83 c4 0c             	add    $0xc,%esp
45ac28:	8d 04 1e             	lea    (%esi,%ebx,1),%eax
45ac2b:	5f                   	pop    %edi
45ac2c:	5e                   	pop    %esi
45ac2d:	5b                   	pop    %ebx
45ac2e:	8b e5                	mov    %ebp,%esp
45ac30:	5d                   	pop    %ebp
45ac31:	c2 0c 00             	ret    $0xc
45ac34:	cc                   	int3
45ac35:	cc                   	int3
45ac36:	cc                   	int3
45ac37:	cc                   	int3
45ac38:	cc                   	int3
45ac39:	cc                   	int3
45ac3a:	cc                   	int3
45ac3b:	cc                   	int3
45ac3c:	cc                   	int3
45ac3d:	cc                   	int3
45ac3e:	cc                   	int3
45ac3f:	cc                   	int3
45ac40:	55                   	push   %ebp
45ac41:	8b ec                	mov    %esp,%ebp
45ac43:	51                   	push   %ecx
45ac44:	8b 45 10             	mov    0x10(%ebp),%eax
45ac47:	53                   	push   %ebx
45ac48:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ac4b:	56                   	push   %esi
45ac4c:	8b 75 0c             	mov    0xc(%ebp),%esi
45ac4f:	57                   	push   %edi
45ac50:	89 4d fc             	mov    %ecx,-0x4(%ebp)
45ac53:	3b 01                	cmp    (%ecx),%eax
45ac55:	72 06                	jb     0x45ac5d
45ac57:	50                   	push   %eax
45ac58:	e8 13 e9 ff ff       	call   0x459570
45ac5d:	8b 7e 10             	mov    0x10(%esi),%edi
45ac60:	50                   	push   %eax
45ac61:	8d 04 dd 00 00 00 00 	lea    0x0(,%ebx,8),%eax
45ac68:	83 c8 02             	or     $0x2,%eax
45ac6b:	50                   	push   %eax
45ac6c:	e8 4f 5e ff ff       	call   0x450ac0
45ac71:	83 c4 08             	add    $0x8,%esp
45ac74:	8b d7                	mov    %edi,%edx
45ac76:	81 ff 80 00 00 00    	cmp    $0x80,%edi
45ac7c:	72 15                	jb     0x45ac93
45ac7e:	66 90                	xchg   %ax,%ax
45ac80:	8a ca                	mov    %dl,%cl
45ac82:	c1 ea 07             	shr    $0x7,%edx
45ac85:	80 c9 80             	or     $0x80,%cl
45ac88:	88 08                	mov    %cl,(%eax)
45ac8a:	40                   	inc    %eax
45ac8b:	81 fa 80 00 00 00    	cmp    $0x80,%edx
45ac91:	73 ed                	jae    0x45ac80
45ac93:	88 10                	mov    %dl,(%eax)
45ac95:	8d 58 01             	lea    0x1(%eax),%ebx
45ac98:	83 7e 14 10          	cmpl   $0x10,0x14(%esi)
45ac9c:	72 02                	jb     0x45aca0
45ac9e:	8b 36                	mov    (%esi),%esi
45aca0:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45aca3:	8b 01                	mov    (%ecx),%eax
45aca5:	2b c3                	sub    %ebx,%eax
45aca7:	3b c7                	cmp    %edi,%eax
45aca9:	7d 11                	jge    0x45acbc
45acab:	53                   	push   %ebx
45acac:	57                   	push   %edi
45acad:	56                   	push   %esi
45acae:	e8 fd fc ff ff       	call   0x45a9b0
45acb3:	5f                   	pop    %edi
45acb4:	5e                   	pop    %esi
45acb5:	5b                   	pop    %ebx
45acb6:	8b e5                	mov    %ebp,%esp
45acb8:	5d                   	pop    %ebp
45acb9:	c2 0c 00             	ret    $0xc
45acbc:	57                   	push   %edi
45acbd:	56                   	push   %esi
45acbe:	53                   	push   %ebx
45acbf:	e8 0c 81 17 00       	call   0x5d2dd0
45acc4:	83 c4 0c             	add    $0xc,%esp
45acc7:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
45acca:	5f                   	pop    %edi
45accb:	5e                   	pop    %esi
45accc:	5b                   	pop    %ebx
45accd:	8b e5                	mov    %ebp,%esp
45accf:	5d                   	pop    %ebp
45acd0:	c2 0c 00             	ret    $0xc
45acd3:	cc                   	int3
45acd4:	cc                   	int3
45acd5:	cc                   	int3
45acd6:	cc                   	int3
45acd7:	cc                   	int3
45acd8:	cc                   	int3
45acd9:	cc                   	int3
45acda:	cc                   	int3
45acdb:	cc                   	int3
45acdc:	cc                   	int3
45acdd:	cc                   	int3
45acde:	cc                   	int3
45acdf:	cc                   	int3
45ace0:	55                   	push   %ebp
45ace1:	8b ec                	mov    %esp,%ebp
45ace3:	83 ec 08             	sub    $0x8,%esp
45ace6:	56                   	push   %esi
45ace7:	8b f1                	mov    %ecx,%esi
45ace9:	57                   	push   %edi
45acea:	8b 7d 08             	mov    0x8(%ebp),%edi
45aced:	8b 56 10             	mov    0x10(%esi),%edx
45acf0:	89 55 fc             	mov    %edx,-0x4(%ebp)
45acf3:	3b d7                	cmp    %edi,%edx
45acf5:	0f 87 2c 01 00 00    	ja     0x45ae27
45acfb:	53                   	push   %ebx
45acfc:	8b 5e 14             	mov    0x14(%esi),%ebx
45acff:	3b df                	cmp    %edi,%ebx
45ad01:	0f 84 1f 01 00 00    	je     0x45ae26
45ad07:	0f 83 d0 00 00 00    	jae    0x45addd
45ad0d:	8b cf                	mov    %edi,%ecx
45ad0f:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45ad14:	2b ca                	sub    %edx,%ecx
45ad16:	2b c2                	sub    %edx,%eax
45ad18:	3b c1                	cmp    %ecx,%eax
45ad1a:	0f 82 14 01 00 00    	jb     0x45ae34
45ad20:	8b cf                	mov    %edi,%ecx
45ad22:	83 c9 0f             	or     $0xf,%ecx
45ad25:	81 f9 ff ff ff 7f    	cmp    $0x7fffffff,%ecx
45ad2b:	76 07                	jbe    0x45ad34
45ad2d:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
45ad32:	eb 1e                	jmp    0x45ad52
45ad34:	8b d3                	mov    %ebx,%edx
45ad36:	b8 ff ff ff 7f       	mov    $0x7fffffff,%eax
45ad3b:	d1 ea                	shr    $1,%edx
45ad3d:	2b c2                	sub    %edx,%eax
45ad3f:	3b d8                	cmp    %eax,%ebx
45ad41:	76 07                	jbe    0x45ad4a
45ad43:	b9 ff ff ff 7f       	mov    $0x7fffffff,%ecx
45ad48:	eb 08                	jmp    0x45ad52
45ad4a:	8d 04 1a             	lea    (%edx,%ebx,1),%eax
45ad4d:	3b c8                	cmp    %eax,%ecx
45ad4f:	0f 42 c8             	cmovb  %eax,%ecx
45ad52:	8d 41 01             	lea    0x1(%ecx),%eax
45ad55:	89 4d 08             	mov    %ecx,0x8(%ebp)
45ad58:	50                   	push   %eax
45ad59:	8b ce                	mov    %esi,%ecx
45ad5b:	e8 c0 e0 ff ff       	call   0x458e20
45ad60:	8b 4d 08             	mov    0x8(%ebp),%ecx
45ad63:	89 4e 14             	mov    %ecx,0x14(%esi)
45ad66:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ad69:	41                   	inc    %ecx
45ad6a:	89 45 f8             	mov    %eax,-0x8(%ebp)
45ad6d:	89 7e 10             	mov    %edi,0x10(%esi)
45ad70:	51                   	push   %ecx
45ad71:	83 fb 10             	cmp    $0x10,%ebx
45ad74:	72 49                	jb     0x45adbf
45ad76:	8b 3e                	mov    (%esi),%edi
45ad78:	57                   	push   %edi
45ad79:	50                   	push   %eax
45ad7a:	e8 51 80 17 00       	call   0x5d2dd0
45ad7f:	43                   	inc    %ebx
45ad80:	83 c4 0c             	add    $0xc,%esp
45ad83:	81 fb 00 10 00 00    	cmp    $0x1000,%ebx
45ad89:	72 16                	jb     0x45ada1
45ad8b:	8b 4f fc             	mov    -0x4(%edi),%ecx