45eddd:	e8 44 2c 17 00       	call   0x5d1a26
45ede2:	8b e5                	mov    %ebp,%esp
45ede4:	5d                   	pop    %ebp
45ede5:	c3                   	ret
45ede6:	33 c0                	xor    %eax,%eax
45ede8:	0f 57 c0             	xorps  %xmm0,%xmm0
45edeb:	66 89 45 f8          	mov    %ax,-0x8(%ebp)
45edef:	8b 47 04             	mov    0x4(%edi),%eax
45edf2:	66 0f 13 45 f0       	movlpd %xmm0,-0x10(%ebp)
45edf7:	56                   	push   %esi
45edf8:	0f 10 00             	movups (%eax),%xmm0
45edfb:	8d 45 e0             	lea    -0x20(%ebp),%eax
45edfe:	03 c1                	add    %ecx,%eax
45ee00:	50                   	push   %eax
45ee01:	89 45 dc             	mov    %eax,-0x24(%ebp)
45ee04:	8d 45 e0             	lea    -0x20(%ebp),%eax
45ee07:	03 c3                	add    %ebx,%eax
45ee09:	50                   	push   %eax
45ee0a:	0f 11 45 e0          	movups %xmm0,-0x20(%ebp)
45ee0e:	e8 ed f8 ff ff       	call   0x45e700
45ee13:	8b c8                	mov    %eax,%ecx
45ee15:	83 c4 0c             	add    $0xc,%esp
45ee18:	85 c9                	test   %ecx,%ecx
45ee1a:	74 b7                	je     0x45edd3
45ee1c:	3b 4d dc             	cmp    -0x24(%ebp),%ecx
45ee1f:	75 b2                	jne    0x45edd3
45ee21:	8b 47 04             	mov    0x4(%edi),%eax
45ee24:	8d 55 e0             	lea    -0x20(%ebp),%edx
45ee27:	2b c2                	sub    %edx,%eax
45ee29:	03 c1                	add    %ecx,%eax
45ee2b:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45ee2e:	5f                   	pop    %edi
45ee2f:	5e                   	pop    %esi
45ee30:	33 cd                	xor    %ebp,%ecx
45ee32:	5b                   	pop    %ebx
45ee33:	e8 ee 2b 17 00       	call   0x5d1a26
45ee38:	8b e5                	mov    %ebp,%esp
45ee3a:	5d                   	pop    %ebp
45ee3b:	c3                   	ret
45ee3c:	cc                   	int3
45ee3d:	cc                   	int3
45ee3e:	cc                   	int3
45ee3f:	cc                   	int3
45ee40:	55                   	push   %ebp
45ee41:	8b ec                	mov    %esp,%ebp
45ee43:	83 ec 0c             	sub    $0xc,%esp
45ee46:	8b 55 0c             	mov    0xc(%ebp),%edx
45ee49:	53                   	push   %ebx
45ee4a:	8b 5d 10             	mov    0x10(%ebp),%ebx
45ee4d:	56                   	push   %esi
45ee4e:	8b 75 08             	mov    0x8(%ebp),%esi
45ee51:	57                   	push   %edi
45ee52:	89 75 fc             	mov    %esi,-0x4(%ebp)
45ee55:	3b 13                	cmp    (%ebx),%edx
45ee57:	72 2a                	jb     0x45ee83
45ee59:	8b c2                	mov    %edx,%eax
45ee5b:	2b 43 04             	sub    0x4(%ebx),%eax
45ee5e:	3b 43 10             	cmp    0x10(%ebx),%eax
45ee61:	0f 84 9e 00 00 00    	je     0x45ef05
45ee67:	ff 73 48             	push   0x48(%ebx)
45ee6a:	8b cb                	mov    %ebx,%ecx
45ee6c:	50                   	push   %eax
45ee6d:	8d 45 f4             	lea    -0xc(%ebp),%eax
45ee70:	50                   	push   %eax
45ee71:	e8 ba 00 00 00       	call   0x45ef30
45ee76:	80 7d f8 00          	cmpb   $0x0,-0x8(%ebp)
45ee7a:	8b 55 f4             	mov    -0xc(%ebp),%edx
45ee7d:	0f 85 8e 00 00 00    	jne    0x45ef11
45ee83:	0f b6 3a             	movzbl (%edx),%edi
45ee86:	8d 42 01             	lea    0x1(%edx),%eax
45ee89:	81 ff 80 00 00 00    	cmp    $0x80,%edi
45ee8f:	72 41                	jb     0x45eed2
45ee91:	0f b6 08             	movzbl (%eax),%ecx
45ee94:	8b c1                	mov    %ecx,%eax
45ee96:	c1 e0 07             	shl    $0x7,%eax
45ee99:	83 c0 80             	add    $0xffffff80,%eax
45ee9c:	03 f8                	add    %eax,%edi
45ee9e:	8d 42 02             	lea    0x2(%edx),%eax
45eea1:	81 f9 80 00 00 00    	cmp    $0x80,%ecx
45eea7:	72 29                	jb     0x45eed2
45eea9:	b9 0e 00 00 00       	mov    $0xe,%ecx
45eeae:	66 90                	xchg   %ax,%ax
45eeb0:	0f b6 30             	movzbl (%eax),%esi
45eeb3:	40                   	inc    %eax
45eeb4:	8d 56 ff             	lea    -0x1(%esi),%edx
45eeb7:	d3 e2                	shl    %cl,%edx
45eeb9:	03 fa                	add    %edx,%edi
45eebb:	81 fe 80 00 00 00    	cmp    $0x80,%esi
45eec1:	72 0c                	jb     0x45eecf
45eec3:	83 c1 07             	add    $0x7,%ecx
45eec6:	83 f9 23             	cmp    $0x23,%ecx
45eec9:	72 e5                	jb     0x45eeb0
45eecb:	33 c0                	xor    %eax,%eax
45eecd:	33 ff                	xor    %edi,%edi
45eecf:	8b 75 fc             	mov    -0x4(%ebp),%esi
45eed2:	85 c0                	test   %eax,%eax
45eed4:	74 26                	je     0x45eefc
45eed6:	85 ff                	test   %edi,%edi
45eed8:	74 40                	je     0x45ef1a
45eeda:	8b cf                	mov    %edi,%ecx
45eedc:	80 e1 07             	and    $0x7,%cl
45eedf:	80 f9 04             	cmp    $0x4,%cl
45eee2:	74 36                	je     0x45ef1a
45eee4:	53                   	push   %ebx
45eee5:	50                   	push   %eax
45eee6:	56                   	push   %esi
45eee7:	6a 00                	push   $0x0
45eee9:	57                   	push   %edi
45eeea:	e8 e1 f0 ff ff       	call   0x45dfd0
45eeef:	8b d0                	mov    %eax,%edx
45eef1:	83 c4 14             	add    $0x14,%esp
45eef4:	85 d2                	test   %edx,%edx
45eef6:	0f 85 59 ff ff ff    	jne    0x45ee55
45eefc:	5f                   	pop    %edi
45eefd:	5e                   	pop    %esi
45eefe:	33 c0                	xor    %eax,%eax
45ef00:	5b                   	pop    %ebx
45ef01:	8b e5                	mov    %ebp,%esp
45ef03:	5d                   	pop    %ebp
45ef04:	c3                   	ret
45ef05:	85 c0                	test   %eax,%eax
45ef07:	7e 08                	jle    0x45ef11
45ef09:	33 c0                	xor    %eax,%eax
45ef0b:	39 43 08             	cmp    %eax,0x8(%ebx)
45ef0e:	0f 44 d0             	cmove  %eax,%edx
45ef11:	5f                   	pop    %edi
45ef12:	5e                   	pop    %esi
45ef13:	8b c2                	mov    %edx,%eax
45ef15:	5b                   	pop    %ebx
45ef16:	8b e5                	mov    %ebp,%esp
45ef18:	5d                   	pop    %ebp
45ef19:	c3                   	ret
45ef1a:	8d 4f ff             	lea    -0x1(%edi),%ecx
45ef1d:	5f                   	pop    %edi
45ef1e:	5e                   	pop    %esi
45ef1f:	89 4b 3c             	mov    %ecx,0x3c(%ebx)
45ef22:	5b                   	pop    %ebx
45ef23:	8b e5                	mov    %ebp,%esp
45ef25:	5d                   	pop    %ebp
45ef26:	c3                   	ret
45ef27:	cc                   	int3
45ef28:	cc                   	int3
45ef29:	cc                   	int3
45ef2a:	cc                   	int3
45ef2b:	cc                   	int3
45ef2c:	cc                   	int3
45ef2d:	cc                   	int3
45ef2e:	cc                   	int3
45ef2f:	cc                   	int3
45ef30:	55                   	push   %ebp
45ef31:	8b ec                	mov    %esp,%ebp
45ef33:	83 ec 0c             	sub    $0xc,%esp
45ef36:	8b 45 0c             	mov    0xc(%ebp),%eax
45ef39:	53                   	push   %ebx
45ef3a:	8b 5d 08             	mov    0x8(%ebp),%ebx
45ef3d:	56                   	push   %esi
45ef3e:	8b f1                	mov    %ecx,%esi
45ef40:	89 5d f8             	mov    %ebx,-0x8(%ebp)
45ef43:	89 45 fc             	mov    %eax,-0x4(%ebp)
45ef46:	3b 46 10             	cmp    0x10(%esi),%eax
45ef49:	7e 14                	jle    0x45ef5f
45ef4b:	5e                   	pop    %esi
45ef4c:	c7 03 00 00 00 00    	movl   $0x0,(%ebx)
45ef52:	8b c3                	mov    %ebx,%eax
45ef54:	c6 43 04 01          	movb   $0x1,0x4(%ebx)
45ef58:	5b                   	pop    %ebx
45ef59:	8b e5                	mov    %ebp,%esp
45ef5b:	5d                   	pop    %ebp
45ef5c:	c2 0c 00             	ret    $0xc
45ef5f:	57                   	push   %edi
45ef60:	8b 56 08             	mov    0x8(%esi),%edx
45ef63:	85 d2                	test   %edx,%edx
45ef65:	0f 84 4a 01 00 00    	je     0x45f0b5
45ef6b:	8d 7e 18             	lea    0x18(%esi),%edi
45ef6e:	8d 5e 18             	lea    0x18(%esi),%ebx
45ef71:	3b d7                	cmp    %edi,%edx
45ef73:	74 22                	je     0x45ef97
45ef75:	8d 7a f0             	lea    -0x10(%edx),%edi
45ef78:	89 5e 08             	mov    %ebx,0x8(%esi)
45ef7b:	03 7e 0c             	add    0xc(%esi),%edi
45ef7e:	83 7e 38 01          	cmpl   $0x1,0x38(%esi)
45ef82:	89 7e 04             	mov    %edi,0x4(%esi)
45ef85:	0f 85 ee 00 00 00    	jne    0x45f079
45ef8b:	c7 46 38 02 00 00 00 	movl   $0x2,0x38(%esi)
45ef92:	e9 e2 00 00 00       	jmp    0x45f079
45ef97:	6a 10                	push   $0x10
45ef99:	ff 76 04             	push   0x4(%esi)
45ef9c:	53                   	push   %ebx
45ef9d:	e8 2e 3e 17 00       	call   0x5d2dd0
45efa2:	83 c4 0c             	add    $0xc,%esp
45efa5:	83 7e 40 00          	cmpl   $0x0,0x40(%esi)
45efa9:	0f 8e 9f 00 00 00    	jle    0x45f04e
45efaf:	8b 45 10             	mov    0x10(%ebp),%eax
45efb2:	85 c0                	test   %eax,%eax
45efb4:	78 15                	js     0x45efcb
45efb6:	50                   	push   %eax
45efb7:	ff 75 fc             	push   -0x4(%ebp)
45efba:	53                   	push   %ebx
45efbb:	e8 30 04 00 00       	call   0x45f3f0
45efc0:	83 c4 0c             	add    $0xc,%esp
45efc3:	84 c0                	test   %al,%al
45efc5:	0f 85 83 00 00 00    	jne    0x45f04e
45efcb:	8d 56 0c             	lea    0xc(%esi),%edx
45efce:	66 90                	xchg   %ax,%ax
45efd0:	8b 4e 14             	mov    0x14(%esi),%ecx
45efd3:	52                   	push   %edx
45efd4:	8d 55 f4             	lea    -0xc(%ebp),%edx
45efd7:	52                   	push   %edx
45efd8:	8b 01                	mov    (%ecx),%eax
45efda:	8b 40 04             	mov    0x4(%eax),%eax
45efdd:	ff d0                	call   *%eax
45efdf:	84 c0                	test   %al,%al
45efe1:	74 64                	je     0x45f047
45efe3:	8b 46 0c             	mov    0xc(%esi),%eax
45efe6:	29 46 40             	sub    %eax,0x40(%esi)
45efe9:	83 f8 10             	cmp    $0x10,%eax
45efec:	7f 35                	jg     0x45f023
45efee:	8d 56 0c             	lea    0xc(%esi),%edx
45eff1:	85 c0                	test   %eax,%eax
45eff3:	7e db                	jle    0x45efd0
45eff5:	50                   	push   %eax
45eff6:	ff 75 f4             	push   -0xc(%ebp)
45eff9:	8d 46 28             	lea    0x28(%esi),%eax
45effc:	50                   	push   %eax
45effd:	e8 ce 3d 17 00       	call   0x5d2dd0
45f002:	89 7e 08             	mov    %edi,0x8(%esi)
45f005:	83 c4 0c             	add    $0xc,%esp
45f008:	8d 7e 18             	lea    0x18(%esi),%edi
45f00b:	03 7e 0c             	add    0xc(%esi),%edi
45f00e:	83 7e 38 02          	cmpl   $0x2,0x38(%esi)
45f012:	89 7e 04             	mov    %edi,0x4(%esi)
45f015:	72 2b                	jb     0x45f042
45f017:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
45f01e:	8d 56 18             	lea    0x18(%esi),%edx
45f021:	eb 52                	jmp    0x45f075
45f023:	83 7e 38 02          	cmpl   $0x2,0x38(%esi)
45f027:	8d 7e 28             	lea    0x28(%esi),%edi
45f02a:	8b 45 f4             	mov    -0xc(%ebp),%eax
45f02d:	0f 10 00             	movups (%eax),%xmm0
45f030:	89 46 08             	mov    %eax,0x8(%esi)
45f033:	89 7e 04             	mov    %edi,0x4(%esi)
45f036:	0f 11 07             	movups %xmm0,(%edi)
45f039:	72 07                	jb     0x45f042
45f03b:	c7 46 38 01 00 00 00 	movl   $0x1,0x38(%esi)
45f042:	8d 56 18             	lea    0x18(%esi),%edx
45f045:	eb 2e                	jmp    0x45f075
45f047:	c7 46 40 00 00 00 00 	movl   $0x0,0x40(%esi)
45f04e:	83 7e 38 02          	cmpl   $0x2,0x38(%esi)
45f052:	75 0b                	jne    0x45f05f
45f054:	8b 46 04             	mov    0x4(%esi),%eax
45f057:	2b c6                	sub    %esi,%eax
45f059:	83 e8 18             	sub    $0x18,%eax
45f05c:	89 46 38             	mov    %eax,0x38(%esi)
45f05f:	8d 7e 28             	lea    0x28(%esi),%edi
45f062:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
45f069:	89 7e 04             	mov    %edi,0x4(%esi)
45f06c:	8b d3                	mov    %ebx,%edx
45f06e:	c7 46 0c 00 00 00 00 	movl   $0x0,0xc(%esi)
45f075:	85 d2                	test   %edx,%edx
45f077:	74 39                	je     0x45f0b2
45f079:	8b ca                	mov    %edx,%ecx
45f07b:	03 55 fc             	add    -0x4(%ebp),%edx
45f07e:	2b cf                	sub    %edi,%ecx
45f080:	8b c2                	mov    %edx,%eax
45f082:	03 4e 10             	add    0x10(%esi),%ecx
45f085:	2b c7                	sub    %edi,%eax
45f087:	89 4e 10             	mov    %ecx,0x10(%esi)
45f08a:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f08d:	0f 89 cd fe ff ff    	jns    0x45ef60
45f093:	33 c0                	xor    %eax,%eax
45f095:	85 c9                	test   %ecx,%ecx
45f097:	0f 48 c1             	cmovs  %ecx,%eax
45f09a:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45f09d:	03 c7                	add    %edi,%eax
45f09f:	89 06                	mov    %eax,(%esi)
45f0a1:	8b c1                	mov    %ecx,%eax
45f0a3:	5f                   	pop    %edi
45f0a4:	5e                   	pop    %esi
45f0a5:	89 11                	mov    %edx,(%ecx)
45f0a7:	c6 41 04 00          	movb   $0x0,0x4(%ecx)
45f0ab:	5b                   	pop    %ebx
45f0ac:	8b e5                	mov    %ebp,%esp
45f0ae:	5d                   	pop    %ebp
45f0af:	c2 0c 00             	ret    $0xc
45f0b2:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f0b5:	8b 4d f8             	mov    -0x8(%ebp),%ecx
45f0b8:	85 c0                	test   %eax,%eax
45f0ba:	74 15                	je     0x45f0d1
45f0bc:	5f                   	pop    %edi
45f0bd:	5e                   	pop    %esi
45f0be:	c7 01 00 00 00 00    	movl   $0x0,(%ecx)
45f0c4:	8b c1                	mov    %ecx,%eax
45f0c6:	c6 41 04 01          	movb   $0x1,0x4(%ecx)
45f0ca:	5b                   	pop    %ebx
45f0cb:	8b e5                	mov    %ebp,%esp
45f0cd:	5d                   	pop    %ebp
45f0ce:	c2 0c 00             	ret    $0xc
45f0d1:	8b 46 04             	mov    0x4(%esi),%eax
45f0d4:	89 06                	mov    %eax,(%esi)
45f0d6:	c7 46 3c 01 00 00 00 	movl   $0x1,0x3c(%esi)
45f0dd:	5f                   	pop    %edi
45f0de:	5e                   	pop    %esi
45f0df:	89 01                	mov    %eax,(%ecx)
45f0e1:	8b c1                	mov    %ecx,%eax
45f0e3:	c6 41 04 01          	movb   $0x1,0x4(%ecx)
45f0e7:	5b                   	pop    %ebx
45f0e8:	8b e5                	mov    %ebp,%esp
45f0ea:	5d                   	pop    %ebp
45f0eb:	c2 0c 00             	ret    $0xc
45f0ee:	cc                   	int3
45f0ef:	cc                   	int3
45f0f0:	55                   	push   %ebp
45f0f1:	8b ec                	mov    %esp,%ebp
45f0f3:	83 ec 08             	sub    $0x8,%esp
45f0f6:	8b 45 0c             	mov    0xc(%ebp),%eax
45f0f9:	53                   	push   %ebx
45f0fa:	56                   	push   %esi
45f0fb:	8b 75 10             	mov    0x10(%ebp),%esi
45f0fe:	89 45 fc             	mov    %eax,-0x4(%ebp)
45f101:	8d 45 fc             	lea    -0x4(%ebp),%eax
45f104:	57                   	push   %edi
45f105:	8b 7d 08             	mov    0x8(%ebp),%edi
45f108:	50                   	push   %eax
45f109:	89 7d f8             	mov    %edi,-0x8(%ebp)
45f10c:	e8 cf 06 00 00       	call   0x45f7e0
45f111:	8b 4d fc             	mov    -0x4(%ebp),%ecx
45f114:	83 c4 04             	add    $0x4,%esp
45f117:	8b d8                	mov    %eax,%ebx
45f119:	85 c9                	test   %ecx,%ecx
45f11b:	0f 84 e0 00 00 00    	je     0x45f201
45f121:	8b 46 04             	mov    0x4(%esi),%eax
45f124:	2b c1                	sub    %ecx,%eax
45f126:	83 c0 10             	add    $0x10,%eax
45f129:	3b d8                	cmp    %eax,%ebx
45f12b:	7f 15                	jg     0x45f142
45f12d:	53                   	push   %ebx
45f12e:	51                   	push   %ecx
45f12f:	8b cf                	mov    %edi,%ecx
45f131:	e8 ea 84 fe ff       	call   0x447620
45f136:	8b 45 fc             	mov    -0x4(%ebp),%eax
45f139:	5f                   	pop    %edi
45f13a:	5e                   	pop    %esi
45f13b:	03 c3                	add    %ebx,%eax
45f13d:	5b                   	pop    %ebx
45f13e:	8b e5                	mov    %ebp,%esp
45f140:	5d                   	pop    %ebp
45f141:	c3                   	ret
45f142:	8b d7                	mov    %edi,%edx
45f144:	8b c2                	mov    %edx,%eax
45f146:	c7 42 10 00 00 00 00 	movl   $0x0,0x10(%edx)