640d0e:	85 c0                	test   %eax,%eax
640d10:	74 41                	je     0x640d53
640d12:	57                   	push   %edi
640d13:	ff 77 04             	push   0x4(%edi)
640d16:	50                   	push   %eax
640d17:	e8 a4 eb ff ff       	call   0x63f8c0
640d1c:	8b 4f 08             	mov    0x8(%edi),%ecx
640d1f:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640d24:	2b 0f                	sub    (%edi),%ecx
640d26:	83 c4 0c             	add    $0xc,%esp
640d29:	f7 e9                	imul   %ecx
640d2b:	8b cf                	mov    %edi,%ecx
640d2d:	c1 fa 03             	sar    $0x3,%edx
640d30:	8b c2                	mov    %edx,%eax
640d32:	c1 e8 1f             	shr    $0x1f,%eax
640d35:	03 c2                	add    %edx,%eax
640d37:	50                   	push   %eax
640d38:	ff 37                	push   (%edi)
640d3a:	e8 d1 0b 00 00       	call   0x641910
640d3f:	c7 07 00 00 00 00    	movl   $0x0,(%edi)
640d45:	c7 47 04 00 00 00 00 	movl   $0x0,0x4(%edi)
640d4c:	c7 47 08 00 00 00 00 	movl   $0x0,0x8(%edi)
640d53:	53                   	push   %ebx
640d54:	e8 77 f7 ea ff       	call   0x4f04d0
640d59:	83 c4 04             	add    $0x4,%esp
640d5c:	5f                   	pop    %edi
640d5d:	5b                   	pop    %ebx
640d5e:	5d                   	pop    %ebp
640d5f:	c2 04 00             	ret    $0x4
640d62:	cc                   	int3
640d63:	cc                   	int3
640d64:	cc                   	int3
640d65:	cc                   	int3
640d66:	cc                   	int3
640d67:	cc                   	int3
640d68:	cc                   	int3
640d69:	cc                   	int3
640d6a:	cc                   	int3
640d6b:	cc                   	int3
640d6c:	cc                   	int3
640d6d:	cc                   	int3
640d6e:	cc                   	int3
640d6f:	cc                   	int3
640d70:	55                   	push   %ebp
640d71:	8b ec                	mov    %esp,%ebp
640d73:	53                   	push   %ebx
640d74:	56                   	push   %esi
640d75:	8b 75 08             	mov    0x8(%ebp),%esi
640d78:	8b d9                	mov    %ecx,%ebx
640d7a:	57                   	push   %edi
640d7b:	8b fe                	mov    %esi,%edi
640d7d:	80 7e 0d 00          	cmpb   $0x0,0xd(%esi)
640d81:	75 76                	jne    0x640df9
640d83:	ff 77 08             	push   0x8(%edi)
640d86:	8b cb                	mov    %ebx,%ecx
640d88:	e8 e3 ff ff ff       	call   0x640d70
640d8d:	8b 46 14             	mov    0x14(%esi),%eax
640d90:	8b 3f                	mov    (%edi),%edi
640d92:	85 c0                	test   %eax,%eax
640d94:	74 52                	je     0x640de8
640d96:	8b 4e 1c             	mov    0x1c(%esi),%ecx
640d99:	2b c8                	sub    %eax,%ecx
640d9b:	c1 f9 02             	sar    $0x2,%ecx
640d9e:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
640da4:	77 5a                	ja     0x640e00
640da6:	c1 e1 02             	shl    $0x2,%ecx
640da9:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
640daf:	72 19                	jb     0x640dca
640db1:	a8 1f                	test   $0x1f,%al
640db3:	75 4b                	jne    0x640e00
640db5:	8b 48 fc             	mov    -0x4(%eax),%ecx
640db8:	3b c8                	cmp    %eax,%ecx
640dba:	73 44                	jae    0x640e00
640dbc:	2b c1                	sub    %ecx,%eax
640dbe:	83 f8 04             	cmp    $0x4,%eax
640dc1:	72 3d                	jb     0x640e00
640dc3:	83 f8 23             	cmp    $0x23,%eax
640dc6:	77 38                	ja     0x640e00
640dc8:	8b c1                	mov    %ecx,%eax
640dca:	50                   	push   %eax
640dcb:	e8 00 f7 ea ff       	call   0x4f04d0
640dd0:	c7 46 14 00 00 00 00 	movl   $0x0,0x14(%esi)
640dd7:	83 c4 04             	add    $0x4,%esp
640dda:	c7 46 18 00 00 00 00 	movl   $0x0,0x18(%esi)
640de1:	c7 46 1c 00 00 00 00 	movl   $0x0,0x1c(%esi)
640de8:	56                   	push   %esi
640de9:	e8 e2 f6 ea ff       	call   0x4f04d0
640dee:	83 c4 04             	add    $0x4,%esp
640df1:	8b f7                	mov    %edi,%esi
640df3:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
640df7:	74 8a                	je     0x640d83
640df9:	5f                   	pop    %edi
640dfa:	5e                   	pop    %esi
640dfb:	5b                   	pop    %ebx
640dfc:	5d                   	pop    %ebp
640dfd:	c2 04 00             	ret    $0x4
640e00:	e8 2a c1 fa ff       	call   0x5ecf2f
640e05:	cc                   	int3
640e06:	cc                   	int3
640e07:	cc                   	int3
640e08:	cc                   	int3
640e09:	cc                   	int3
640e0a:	cc                   	int3
640e0b:	cc                   	int3
640e0c:	cc                   	int3
640e0d:	cc                   	int3
640e0e:	cc                   	int3
640e0f:	cc                   	int3
640e10:	55                   	push   %ebp
640e11:	8b ec                	mov    %esp,%ebp
640e13:	51                   	push   %ecx
640e14:	53                   	push   %ebx
640e15:	8b 5d 08             	mov    0x8(%ebp),%ebx
640e18:	8b c1                	mov    %ecx,%eax
640e1a:	57                   	push   %edi
640e1b:	89 45 fc             	mov    %eax,-0x4(%ebp)
640e1e:	8b fb                	mov    %ebx,%edi
640e20:	80 7b 0d 00          	cmpb   $0x0,0xd(%ebx)
640e24:	0f 85 a3 00 00 00    	jne    0x640ecd
640e2a:	56                   	push   %esi
640e2b:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
640e30:	ff 77 08             	push   0x8(%edi)
640e33:	8b c8                	mov    %eax,%ecx
640e35:	e8 d6 ff ff ff       	call   0x640e10
640e3a:	8b 43 14             	mov    0x14(%ebx),%eax
640e3d:	8d 73 14             	lea    0x14(%ebx),%esi
640e40:	8b 3f                	mov    (%edi),%edi
640e42:	85 c0                	test   %eax,%eax
640e44:	74 6d                	je     0x640eb3
640e46:	56                   	push   %esi
640e47:	ff 76 04             	push   0x4(%esi)
640e4a:	50                   	push   %eax
640e4b:	e8 70 ea ff ff       	call   0x63f8c0
640e50:	8b 56 08             	mov    0x8(%esi),%edx
640e53:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640e58:	8b 0e                	mov    (%esi),%ecx
640e5a:	83 c4 0c             	add    $0xc,%esp
640e5d:	2b d1                	sub    %ecx,%edx
640e5f:	f7 ea                	imul   %edx
640e61:	c1 fa 03             	sar    $0x3,%edx
640e64:	8b c2                	mov    %edx,%eax
640e66:	c1 e8 1f             	shr    $0x1f,%eax
640e69:	03 c2                	add    %edx,%eax
640e6b:	3d 5d 74 d1 05       	cmp    $0x5d1745d,%eax
640e70:	77 63                	ja     0x640ed5
640e72:	6b c0 2c             	imul   $0x2c,%eax,%eax
640e75:	3d 00 10 00 00       	cmp    $0x1000,%eax
640e7a:	72 1a                	jb     0x640e96
640e7c:	f6 c1 1f             	test   $0x1f,%cl
640e7f:	75 54                	jne    0x640ed5
640e81:	8b 41 fc             	mov    -0x4(%ecx),%eax
640e84:	3b c1                	cmp    %ecx,%eax
640e86:	73 4d                	jae    0x640ed5
640e88:	2b c8                	sub    %eax,%ecx
640e8a:	83 f9 04             	cmp    $0x4,%ecx
640e8d:	72 46                	jb     0x640ed5
640e8f:	83 f9 23             	cmp    $0x23,%ecx
640e92:	77 41                	ja     0x640ed5
640e94:	8b c8                	mov    %eax,%ecx
640e96:	51                   	push   %ecx
640e97:	e8 34 f6 ea ff       	call   0x4f04d0
640e9c:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
640ea2:	83 c4 04             	add    $0x4,%esp
640ea5:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
640eac:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
640eb3:	53                   	push   %ebx
640eb4:	e8 17 f6 ea ff       	call   0x4f04d0
640eb9:	83 c4 04             	add    $0x4,%esp
640ebc:	8b df                	mov    %edi,%ebx
640ebe:	80 7f 0d 00          	cmpb   $0x0,0xd(%edi)
640ec2:	75 08                	jne    0x640ecc
640ec4:	8b 45 fc             	mov    -0x4(%ebp),%eax
640ec7:	e9 64 ff ff ff       	jmp    0x640e30
640ecc:	5e                   	pop    %esi
640ecd:	5f                   	pop    %edi
640ece:	5b                   	pop    %ebx
640ecf:	8b e5                	mov    %ebp,%esp
640ed1:	5d                   	pop    %ebp
640ed2:	c2 04 00             	ret    $0x4
640ed5:	e8 55 c0 fa ff       	call   0x5ecf2f
640eda:	cc                   	int3
640edb:	cc                   	int3
640edc:	cc                   	int3
640edd:	cc                   	int3
640ede:	cc                   	int3
640edf:	cc                   	int3
640ee0:	55                   	push   %ebp
640ee1:	8b ec                	mov    %esp,%ebp
640ee3:	6a ff                	push   $0xffffffff
640ee5:	68 80 47 66 00       	push   $0x664780
640eea:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
640ef0:	50                   	push   %eax
640ef1:	83 ec 10             	sub    $0x10,%esp
640ef4:	53                   	push   %ebx
640ef5:	56                   	push   %esi
640ef6:	57                   	push   %edi
640ef7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
640efc:	33 c5                	xor    %ebp,%eax
640efe:	50                   	push   %eax
640eff:	8d 45 f4             	lea    -0xc(%ebp),%eax
640f02:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
640f08:	89 65 f0             	mov    %esp,-0x10(%ebp)
640f0b:	8b f9                	mov    %ecx,%edi
640f0d:	89 7d e4             	mov    %edi,-0x1c(%ebp)
640f10:	ff 75 08             	push   0x8(%ebp)
640f13:	e8 a8 01 00 00       	call   0x6410c0
640f18:	c6 45 ec 00          	movb   $0x0,-0x14(%ebp)
640f1c:	8b d8                	mov    %eax,%ebx
640f1e:	ff 75 ec             	push   -0x14(%ebp)
640f21:	89 5d e8             	mov    %ebx,-0x18(%ebp)
640f24:	57                   	push   %edi
640f25:	53                   	push   %ebx
640f26:	ff 77 04             	push   0x4(%edi)
640f29:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
640f30:	ff 37                	push   (%edi)
640f32:	e8 d9 f5 ff ff       	call   0x640510
640f37:	8b 37                	mov    (%edi),%esi
640f39:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640f3e:	8b 4f 04             	mov    0x4(%edi),%ecx
640f41:	83 c4 14             	add    $0x14,%esp
640f44:	2b ce                	sub    %esi,%ecx
640f46:	f7 e9                	imul   %ecx
640f48:	c1 fa 03             	sar    $0x3,%edx
640f4b:	8b c2                	mov    %edx,%eax
640f4d:	c1 e8 1f             	shr    $0x1f,%eax
640f50:	03 c2                	add    %edx,%eax
640f52:	89 45 ec             	mov    %eax,-0x14(%ebp)
640f55:	85 f6                	test   %esi,%esi
640f57:	74 2e                	je     0x640f87
640f59:	57                   	push   %edi
640f5a:	ff 77 04             	push   0x4(%edi)
640f5d:	56                   	push   %esi
640f5e:	e8 5d e9 ff ff       	call   0x63f8c0
640f63:	8b 37                	mov    (%edi),%esi
640f65:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640f6a:	8b 4f 08             	mov    0x8(%edi),%ecx
640f6d:	83 c4 0c             	add    $0xc,%esp
640f70:	2b ce                	sub    %esi,%ecx
640f72:	f7 e9                	imul   %ecx
640f74:	8b cf                	mov    %edi,%ecx
640f76:	c1 fa 03             	sar    $0x3,%edx
640f79:	8b c2                	mov    %edx,%eax
640f7b:	c1 e8 1f             	shr    $0x1f,%eax
640f7e:	03 c2                	add    %edx,%eax
640f80:	50                   	push   %eax
640f81:	56                   	push   %esi
640f82:	e8 89 09 00 00       	call   0x641910
640f87:	6b 45 08 2c          	imul   $0x2c,0x8(%ebp),%eax
640f8b:	03 c3                	add    %ebx,%eax
640f8d:	89 47 08             	mov    %eax,0x8(%edi)
640f90:	6b 45 ec 2c          	imul   $0x2c,-0x14(%ebp),%eax
640f94:	03 c3                	add    %ebx,%eax
640f96:	89 47 04             	mov    %eax,0x4(%edi)
640f99:	89 1f                	mov    %ebx,(%edi)
640f9b:	8b 4d f4             	mov    -0xc(%ebp),%ecx
640f9e:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
640fa5:	59                   	pop    %ecx
640fa6:	5f                   	pop    %edi
640fa7:	5e                   	pop    %esi
640fa8:	5b                   	pop    %ebx
640fa9:	8b e5                	mov    %ebp,%esp
640fab:	5d                   	pop    %ebp
640fac:	c2 04 00             	ret    $0x4
640faf:	ff 75 08             	push   0x8(%ebp)
640fb2:	8b 4d e4             	mov    -0x1c(%ebp),%ecx
640fb5:	ff 75 e8             	push   -0x18(%ebp)
640fb8:	e8 53 09 00 00       	call   0x641910
640fbd:	6a 00                	push   $0x0
640fbf:	6a 00                	push   $0x0
640fc1:	e8 6c 1a fa ff       	call   0x5e2a32
640fc6:	cc                   	int3
640fc7:	cc                   	int3
640fc8:	cc                   	int3
640fc9:	cc                   	int3
640fca:	cc                   	int3
640fcb:	cc                   	int3
640fcc:	cc                   	int3
640fcd:	cc                   	int3
640fce:	cc                   	int3
640fcf:	cc                   	int3
640fd0:	55                   	push   %ebp
640fd1:	8b ec                	mov    %esp,%ebp
640fd3:	53                   	push   %ebx
640fd4:	8b d9                	mov    %ecx,%ebx
640fd6:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
640fdb:	56                   	push   %esi
640fdc:	57                   	push   %edi
640fdd:	8b 7d 08             	mov    0x8(%ebp),%edi
640fe0:	8b 53 08             	mov    0x8(%ebx),%edx
640fe3:	8b 73 04             	mov    0x4(%ebx),%esi
640fe6:	2b d6                	sub    %esi,%edx
640fe8:	f7 ea                	imul   %edx
640fea:	c1 fa 03             	sar    $0x3,%edx
640fed:	8b c2                	mov    %edx,%eax
640fef:	c1 e8 1f             	shr    $0x1f,%eax
640ff2:	03 c2                	add    %edx,%eax
640ff4:	3b c7                	cmp    %edi,%eax
640ff6:	73 61                	jae    0x641059
640ff8:	8b 03                	mov    (%ebx),%eax
640ffa:	2b f0                	sub    %eax,%esi
640ffc:	89 45 08             	mov    %eax,0x8(%ebp)
640fff:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
641004:	f7 ee                	imul   %esi
641006:	b8 5d 74 d1 05       	mov    $0x5d1745d,%eax
64100b:	c1 fa 03             	sar    $0x3,%edx
64100e:	8b ca                	mov    %edx,%ecx
641010:	c1 e9 1f             	shr    $0x1f,%ecx
641013:	03 ca                	add    %edx,%ecx
641015:	2b c1                	sub    %ecx,%eax
641017:	3b c7                	cmp    %edi,%eax
641019:	72 45                	jb     0x641060
64101b:	03 f9                	add    %ecx,%edi
64101d:	b8 e9 a2 8b 2e       	mov    $0x2e8ba2e9,%eax
641022:	8b 4b 08             	mov    0x8(%ebx),%ecx
641025:	2b 4d 08             	sub    0x8(%ebp),%ecx
641028:	f7 e9                	imul   %ecx
64102a:	c1 fa 03             	sar    $0x3,%edx
64102d:	8b f2                	mov    %edx,%esi
64102f:	c1 ee 1f             	shr    $0x1f,%esi
641032:	03 f2                	add    %edx,%esi
641034:	ba 5d 74 d1 05       	mov    $0x5d1745d,%edx
641039:	8b c6                	mov    %esi,%eax
64103b:	d1 e8                	shr    $1,%eax
64103d:	2b d0                	sub    %eax,%edx
64103f:	3b d6                	cmp    %esi,%edx
641041:	8d 0c 30             	lea    (%eax,%esi,1),%ecx
641044:	b8 00 00 00 00       	mov    $0x0,%eax
641049:	0f 42 c8             	cmovb  %eax,%ecx
64104c:	3b cf                	cmp    %edi,%ecx
64104e:	0f 42 cf             	cmovb  %edi,%ecx
641051:	51                   	push   %ecx
641052:	8b cb                	mov    %ebx,%ecx
641054:	e8 87 fe ff ff       	call   0x640ee0
641059:	5f                   	pop    %edi
64105a:	5e                   	pop    %esi
64105b:	5b                   	pop    %ebx
64105c:	5d                   	pop    %ebp
64105d:	c2 04 00             	ret    $0x4
641060:	68 50 59 6e 00       	push   $0x6e5950
641065:	e8 20 d3 f8 ff       	call   0x5ce38a
64106a:	cc                   	int3
64106b:	cc                   	int3
64106c:	cc                   	int3
64106d:	cc                   	int3
64106e:	cc                   	int3
64106f:	cc                   	int3
641070:	55                   	push   %ebp
641071:	8b ec                	mov    %esp,%ebp
641073:	83 ec 08             	sub    $0x8,%esp
641076:	53                   	push   %ebx