41d953:	8d 4d ac             	lea    -0x54(%ebp),%ecx
41d956:	e8 0f e0 ff ff       	call   0x41b96a
41d95b:	68 c8 ea 49 00       	push   $0x49eac8
41d960:	8d 45 ac             	lea    -0x54(%ebp),%eax
41d963:	50                   	push   %eax
41d964:	e8 32 2b 07 00       	call   0x49049b
41d969:	cc                   	int3
41d96a:	8b ff                	mov    %edi,%edi
41d96c:	55                   	push   %ebp
41d96d:	8b ec                	mov    %esp,%ebp
41d96f:	8b 4d 08             	mov    0x8(%ebp),%ecx
41d972:	83 ec 0c             	sub    $0xc,%esp
41d975:	85 c9                	test   %ecx,%ecx
41d977:	75 11                	jne    0x41d98a
41d979:	8b c1                	mov    %ecx,%eax
41d97b:	c1 e0 03             	shl    $0x3,%eax
41d97e:	50                   	push   %eax
41d97f:	ff 15 14 74 4a 00    	call   *0x4a7414
41d985:	59                   	pop    %ecx
41d986:	c9                   	leave
41d987:	c2 04 00             	ret    $0x4
41d98a:	83 c8 ff             	or     $0xffffffff,%eax
41d98d:	33 d2                	xor    %edx,%edx
41d98f:	f7 f1                	div    %ecx
41d991:	83 f8 08             	cmp    $0x8,%eax
41d994:	73 e3                	jae    0x41d979
41d996:	6a 00                	push   $0x0
41d998:	8d 4d f4             	lea    -0xc(%ebp),%ecx
41d99b:	e8 2c eb ff ff       	call   0x41c4cc
41d9a0:	68 4c eb 49 00       	push   $0x49eb4c
41d9a5:	8d 45 f4             	lea    -0xc(%ebp),%eax
41d9a8:	50                   	push   %eax
41d9a9:	e8 ed 2a 07 00       	call   0x49049b
41d9ae:	cc                   	int3
41d9af:	8b ff                	mov    %edi,%edi
41d9b1:	55                   	push   %ebp
41d9b2:	8b ec                	mov    %esp,%ebp
41d9b4:	ff 75 08             	push   0x8(%ebp)
41d9b7:	ff 15 10 74 4a 00    	call   *0x4a7410
41d9bd:	59                   	pop    %ecx
41d9be:	5d                   	pop    %ebp
41d9bf:	c2 08 00             	ret    $0x8
41d9c2:	8b ff                	mov    %edi,%edi
41d9c4:	55                   	push   %ebp
41d9c5:	8b ec                	mov    %esp,%ebp
41d9c7:	83 ec 0c             	sub    $0xc,%esp
41d9ca:	8b 45 10             	mov    0x10(%ebp),%eax
41d9cd:	53                   	push   %ebx
41d9ce:	8b d9                	mov    %ecx,%ebx
41d9d0:	56                   	push   %esi
41d9d1:	8b 00                	mov    (%eax),%eax
41d9d3:	33 f6                	xor    %esi,%esi
41d9d5:	57                   	push   %edi
41d9d6:	8b 53 04             	mov    0x4(%ebx),%edx
41d9d9:	89 45 fc             	mov    %eax,-0x4(%ebp)
41d9dc:	85 d2                	test   %edx,%edx
41d9de:	75 06                	jne    0x41d9e6
41d9e0:	8b ce                	mov    %esi,%ecx
41d9e2:	8b fe                	mov    %esi,%edi
41d9e4:	eb 10                	jmp    0x41d9f6
41d9e6:	8b 4b 0c             	mov    0xc(%ebx),%ecx
41d9e9:	8b 7b 08             	mov    0x8(%ebx),%edi
41d9ec:	2b ca                	sub    %edx,%ecx
41d9ee:	2b fa                	sub    %edx,%edi
41d9f0:	c1 f9 02             	sar    $0x2,%ecx
41d9f3:	c1 ff 02             	sar    $0x2,%edi
41d9f6:	b8 ff ff ff 3f       	mov    $0x3fffffff,%eax
41d9fb:	2b c7                	sub    %edi,%eax
41d9fd:	83 f8 01             	cmp    $0x1,%eax
41da00:	0f 82 8e 01 00 00    	jb     0x41db94
41da06:	85 d2                	test   %edx,%edx
41da08:	75 04                	jne    0x41da0e
41da0a:	8b c6                	mov    %esi,%eax
41da0c:	eb 08                	jmp    0x41da16
41da0e:	8b 43 08             	mov    0x8(%ebx),%eax
41da11:	2b c2                	sub    %edx,%eax
41da13:	c1 f8 02             	sar    $0x2,%eax
41da16:	40                   	inc    %eax
41da17:	3b c8                	cmp    %eax,%ecx
41da19:	0f 83 cc 00 00 00    	jae    0x41daeb
41da1f:	8b c1                	mov    %ecx,%eax
41da21:	bf ff ff ff 3f       	mov    $0x3fffffff,%edi
41da26:	d1 e8                	shr    $1,%eax
41da28:	2b f8                	sub    %eax,%edi
41da2a:	03 c1                	add    %ecx,%eax
41da2c:	3b f9                	cmp    %ecx,%edi
41da2e:	8b 4b 08             	mov    0x8(%ebx),%ecx
41da31:	1b ff                	sbb    %edi,%edi
41da33:	f7 d7                	not    %edi
41da35:	23 f8                	and    %eax,%edi
41da37:	89 7d f8             	mov    %edi,-0x8(%ebp)
41da3a:	85 d2                	test   %edx,%edx
41da3c:	75 04                	jne    0x41da42
41da3e:	8b c6                	mov    %esi,%eax
41da40:	eb 07                	jmp    0x41da49
41da42:	8b c1                	mov    %ecx,%eax
41da44:	2b c2                	sub    %edx,%eax
41da46:	c1 f8 02             	sar    $0x2,%eax
41da49:	40                   	inc    %eax
41da4a:	3b f8                	cmp    %eax,%edi
41da4c:	73 13                	jae    0x41da61
41da4e:	85 d2                	test   %edx,%edx
41da50:	75 04                	jne    0x41da56
41da52:	8b ce                	mov    %esi,%ecx
41da54:	eb 05                	jmp    0x41da5b
41da56:	2b ca                	sub    %edx,%ecx
41da58:	c1 f9 02             	sar    $0x2,%ecx
41da5b:	8d 79 01             	lea    0x1(%ecx),%edi
41da5e:	89 7d f8             	mov    %edi,-0x8(%ebp)
41da61:	57                   	push   %edi
41da62:	e8 95 05 00 00       	call   0x41dffc
41da67:	8b 4d 08             	mov    0x8(%ebp),%ecx
41da6a:	8b f8                	mov    %eax,%edi
41da6c:	2b 4b 04             	sub    0x4(%ebx),%ecx
41da6f:	c1 f9 02             	sar    $0x2,%ecx
41da72:	8b c1                	mov    %ecx,%eax
41da74:	c1 e0 02             	shl    $0x2,%eax
41da77:	89 45 f4             	mov    %eax,-0xc(%ebp)
41da7a:	85 c9                	test   %ecx,%ecx
41da7c:	74 12                	je     0x41da90
41da7e:	50                   	push   %eax
41da7f:	ff 73 04             	push   0x4(%ebx)
41da82:	50                   	push   %eax
41da83:	57                   	push   %edi
41da84:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41da8a:	8b 45 f4             	mov    -0xc(%ebp),%eax
41da8d:	83 c4 10             	add    $0x10,%esp
41da90:	8b 55 fc             	mov    -0x4(%ebp),%edx
41da93:	8d 4f 04             	lea    0x4(%edi),%ecx
41da96:	03 c8                	add    %eax,%ecx
41da98:	89 14 38             	mov    %edx,(%eax,%edi,1)
41da9b:	8b 43 08             	mov    0x8(%ebx),%eax
41da9e:	2b 45 08             	sub    0x8(%ebp),%eax
41daa1:	c1 f8 02             	sar    $0x2,%eax
41daa4:	85 c0                	test   %eax,%eax
41daa6:	74 12                	je     0x41daba
41daa8:	c1 e0 02             	shl    $0x2,%eax
41daab:	50                   	push   %eax
41daac:	ff 75 08             	push   0x8(%ebp)
41daaf:	50                   	push   %eax
41dab0:	51                   	push   %ecx
41dab1:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41dab7:	83 c4 10             	add    $0x10,%esp
41daba:	8b 43 04             	mov    0x4(%ebx),%eax
41dabd:	85 c0                	test   %eax,%eax
41dabf:	74 10                	je     0x41dad1
41dac1:	8b 73 08             	mov    0x8(%ebx),%esi
41dac4:	2b f0                	sub    %eax,%esi
41dac6:	50                   	push   %eax
41dac7:	c1 fe 02             	sar    $0x2,%esi
41daca:	ff 15 10 74 4a 00    	call   *0x4a7410
41dad0:	59                   	pop    %ecx
41dad1:	8b 45 f8             	mov    -0x8(%ebp),%eax
41dad4:	89 7b 04             	mov    %edi,0x4(%ebx)
41dad7:	8d 04 87             	lea    (%edi,%eax,4),%eax
41dada:	89 43 0c             	mov    %eax,0xc(%ebx)
41dadd:	8d 46 01             	lea    0x1(%esi),%eax
41dae0:	8d 04 87             	lea    (%edi,%eax,4),%eax
41dae3:	89 43 08             	mov    %eax,0x8(%ebx)
41dae6:	e9 a2 00 00 00       	jmp    0x41db8d
41daeb:	8b 7b 08             	mov    0x8(%ebx),%edi
41daee:	33 c9                	xor    %ecx,%ecx
41daf0:	8b 55 08             	mov    0x8(%ebp),%edx
41daf3:	8b c7                	mov    %edi,%eax
41daf5:	2b c2                	sub    %edx,%eax
41daf7:	41                   	inc    %ecx
41daf8:	c1 f8 02             	sar    $0x2,%eax
41dafb:	3b c1                	cmp    %ecx,%eax
41dafd:	73 3f                	jae    0x41db3e
41daff:	8b c7                	mov    %edi,%eax
41db01:	2b c2                	sub    %edx,%eax
41db03:	c1 f8 02             	sar    $0x2,%eax
41db06:	2b c8                	sub    %eax,%ecx
41db08:	74 0b                	je     0x41db15
41db0a:	8b 45 fc             	mov    -0x4(%ebp),%eax
41db0d:	f3 ab                	rep stos %eax,%es:(%edi)
41db0f:	8b 7b 08             	mov    0x8(%ebx),%edi
41db12:	8b 55 08             	mov    0x8(%ebp),%edx
41db15:	8d 47 04             	lea    0x4(%edi),%eax
41db18:	89 43 08             	mov    %eax,0x8(%ebx)
41db1b:	8b c7                	mov    %edi,%eax
41db1d:	2b c2                	sub    %edx,%eax
41db1f:	83 c0 03             	add    $0x3,%eax
41db22:	c1 e8 02             	shr    $0x2,%eax
41db25:	3b fa                	cmp    %edx,%edi
41db27:	1b c9                	sbb    %ecx,%ecx
41db29:	f7 d1                	not    %ecx
41db2b:	23 c8                	and    %eax,%ecx
41db2d:	74 5e                	je     0x41db8d
41db2f:	8b 45 fc             	mov    -0x4(%ebp),%eax
41db32:	46                   	inc    %esi
41db33:	89 02                	mov    %eax,(%edx)
41db35:	8d 52 04             	lea    0x4(%edx),%edx
41db38:	3b f1                	cmp    %ecx,%esi
41db3a:	75 f6                	jne    0x41db32
41db3c:	eb 4f                	jmp    0x41db8d
41db3e:	6a 04                	push   $0x4
41db40:	8d 47 fc             	lea    -0x4(%edi),%eax
41db43:	50                   	push   %eax
41db44:	6a 04                	push   $0x4
41db46:	57                   	push   %edi
41db47:	8d 77 04             	lea    0x4(%edi),%esi
41db4a:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41db50:	8b 4d 08             	mov    0x8(%ebp),%ecx
41db53:	8d 47 fc             	lea    -0x4(%edi),%eax
41db56:	2b c1                	sub    %ecx,%eax
41db58:	89 73 08             	mov    %esi,0x8(%ebx)
41db5b:	c1 f8 02             	sar    $0x2,%eax
41db5e:	83 c4 10             	add    $0x10,%esp
41db61:	85 c0                	test   %eax,%eax
41db63:	7e 15                	jle    0x41db7a
41db65:	c1 e0 02             	shl    $0x2,%eax
41db68:	50                   	push   %eax
41db69:	51                   	push   %ecx
41db6a:	50                   	push   %eax
41db6b:	2b f8                	sub    %eax,%edi
41db6d:	57                   	push   %edi
41db6e:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41db74:	8b 4d 08             	mov    0x8(%ebp),%ecx
41db77:	83 c4 10             	add    $0x10,%esp
41db7a:	8d 41 04             	lea    0x4(%ecx),%eax
41db7d:	3b c8                	cmp    %eax,%ecx
41db7f:	74 0c                	je     0x41db8d
41db81:	8b 55 fc             	mov    -0x4(%ebp),%edx
41db84:	89 11                	mov    %edx,(%ecx)
41db86:	83 c1 04             	add    $0x4,%ecx
41db89:	3b c8                	cmp    %eax,%ecx
41db8b:	75 f7                	jne    0x41db84
41db8d:	5f                   	pop    %edi
41db8e:	5e                   	pop    %esi
41db8f:	5b                   	pop    %ebx
41db90:	c9                   	leave
41db91:	c2 0c 00             	ret    $0xc
41db94:	e8 99 fd ff ff       	call   0x41d932
41db99:	cc                   	int3
41db9a:	8b ff                	mov    %edi,%edi
41db9c:	55                   	push   %ebp
41db9d:	8b ec                	mov    %esp,%ebp
41db9f:	83 ec 10             	sub    $0x10,%esp
41dba2:	8b 45 10             	mov    0x10(%ebp),%eax
41dba5:	53                   	push   %ebx
41dba6:	56                   	push   %esi
41dba7:	57                   	push   %edi
41dba8:	dd 00                	fldl   (%eax)
41dbaa:	8b f9                	mov    %ecx,%edi
41dbac:	33 db                	xor    %ebx,%ebx
41dbae:	89 7d f8             	mov    %edi,-0x8(%ebp)
41dbb1:	dd 55 f0             	fstl   -0x10(%ebp)
41dbb4:	8b 57 04             	mov    0x4(%edi),%edx
41dbb7:	85 d2                	test   %edx,%edx
41dbb9:	75 06                	jne    0x41dbc1
41dbbb:	8b cb                	mov    %ebx,%ecx
41dbbd:	8b f3                	mov    %ebx,%esi
41dbbf:	eb 10                	jmp    0x41dbd1
41dbc1:	8b 4f 0c             	mov    0xc(%edi),%ecx
41dbc4:	8b 77 08             	mov    0x8(%edi),%esi
41dbc7:	2b ca                	sub    %edx,%ecx
41dbc9:	2b f2                	sub    %edx,%esi
41dbcb:	c1 f9 03             	sar    $0x3,%ecx
41dbce:	c1 fe 03             	sar    $0x3,%esi
41dbd1:	b8 ff ff ff 1f       	mov    $0x1fffffff,%eax
41dbd6:	2b c6                	sub    %esi,%eax
41dbd8:	33 f6                	xor    %esi,%esi
41dbda:	46                   	inc    %esi
41dbdb:	3b c6                	cmp    %esi,%eax
41dbdd:	0f 82 a4 01 00 00    	jb     0x41dd87
41dbe3:	85 d2                	test   %edx,%edx
41dbe5:	75 04                	jne    0x41dbeb
41dbe7:	8b c3                	mov    %ebx,%eax
41dbe9:	eb 08                	jmp    0x41dbf3
41dbeb:	8b 47 08             	mov    0x8(%edi),%eax
41dbee:	2b c2                	sub    %edx,%eax
41dbf0:	c1 f8 03             	sar    $0x3,%eax
41dbf3:	40                   	inc    %eax
41dbf4:	3b c8                	cmp    %eax,%ecx
41dbf6:	0f 83 ce 00 00 00    	jae    0x41dcca
41dbfc:	8b c1                	mov    %ecx,%eax
41dbfe:	be ff ff ff 1f       	mov    $0x1fffffff,%esi
41dc03:	d1 e8                	shr    $1,%eax
41dc05:	dd d8                	fstp   %st(0)
41dc07:	2b f0                	sub    %eax,%esi
41dc09:	03 c1                	add    %ecx,%eax
41dc0b:	3b f1                	cmp    %ecx,%esi
41dc0d:	8b 4f 08             	mov    0x8(%edi),%ecx
41dc10:	1b f6                	sbb    %esi,%esi
41dc12:	f7 d6                	not    %esi
41dc14:	23 f0                	and    %eax,%esi
41dc16:	89 75 fc             	mov    %esi,-0x4(%ebp)
41dc19:	85 d2                	test   %edx,%edx
41dc1b:	75 04                	jne    0x41dc21
41dc1d:	8b c3                	mov    %ebx,%eax
41dc1f:	eb 07                	jmp    0x41dc28
41dc21:	8b c1                	mov    %ecx,%eax
41dc23:	2b c2                	sub    %edx,%eax
41dc25:	c1 f8 03             	sar    $0x3,%eax
41dc28:	40                   	inc    %eax
41dc29:	3b f0                	cmp    %eax,%esi
41dc2b:	73 13                	jae    0x41dc40
41dc2d:	85 d2                	test   %edx,%edx
41dc2f:	75 04                	jne    0x41dc35
41dc31:	8b cb                	mov    %ebx,%ecx
41dc33:	eb 05                	jmp    0x41dc3a
41dc35:	2b ca                	sub    %edx,%ecx
41dc37:	c1 f9 03             	sar    $0x3,%ecx
41dc3a:	8d 71 01             	lea    0x1(%ecx),%esi
41dc3d:	89 75 fc             	mov    %esi,-0x4(%ebp)
41dc40:	56                   	push   %esi
41dc41:	e8 24 fd ff ff       	call   0x41d96a
41dc46:	8b 4d 08             	mov    0x8(%ebp),%ecx
41dc49:	8b f0                	mov    %eax,%esi
41dc4b:	2b 4f 04             	sub    0x4(%edi),%ecx
41dc4e:	c1 f9 03             	sar    $0x3,%ecx
41dc51:	8b c1                	mov    %ecx,%eax
41dc53:	c1 e0 03             	shl    $0x3,%eax
41dc56:	89 45 f8             	mov    %eax,-0x8(%ebp)
41dc59:	85 c9                	test   %ecx,%ecx
41dc5b:	74 12                	je     0x41dc6f
41dc5d:	50                   	push   %eax
41dc5e:	ff 77 04             	push   0x4(%edi)
41dc61:	50                   	push   %eax
41dc62:	56                   	push   %esi
41dc63:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41dc69:	8b 45 f8             	mov    -0x8(%ebp),%eax
41dc6c:	83 c4 10             	add    $0x10,%esp
41dc6f:	dd 45 f0             	fldl   -0x10(%ebp)
41dc72:	8d 4e 08             	lea    0x8(%esi),%ecx
41dc75:	03 c8                	add    %eax,%ecx
41dc77:	dd 1c 30             	fstpl  (%eax,%esi,1)
41dc7a:	8b 47 08             	mov    0x8(%edi),%eax
41dc7d:	2b 45 08             	sub    0x8(%ebp),%eax
41dc80:	c1 f8 03             	sar    $0x3,%eax
41dc83:	85 c0                	test   %eax,%eax
41dc85:	74 12                	je     0x41dc99
41dc87:	c1 e0 03             	shl    $0x3,%eax
41dc8a:	50                   	push   %eax
41dc8b:	ff 75 08             	push   0x8(%ebp)
41dc8e:	50                   	push   %eax
41dc8f:	51                   	push   %ecx
41dc90:	ff 15 c4 80 4a 00    	call   *0x4a80c4
41dc96:	83 c4 10             	add    $0x10,%esp
41dc99:	8b 47 04             	mov    0x4(%edi),%eax
41dc9c:	85 c0                	test   %eax,%eax
41dc9e:	74 10                	je     0x41dcb0
41dca0:	8b 5f 08             	mov    0x8(%edi),%ebx
41dca3:	2b d8                	sub    %eax,%ebx
41dca5:	50                   	push   %eax
41dca6:	c1 fb 03             	sar    $0x3,%ebx
41dca9:	ff 15 10 74 4a 00    	call   *0x4a7410
41dcaf:	59                   	pop    %ecx
41dcb0:	8b 45 fc             	mov    -0x4(%ebp),%eax